arkon 1 éve
szülő
commit
3892c4caac

+ 10 - 21
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt

@@ -49,7 +49,6 @@ object SettingsAppearanceScreen : SearchableSettings {
         return listOf(
             getThemeGroup(context = context, uiPreferences = uiPreferences),
             getDisplayGroup(context = context, uiPreferences = uiPreferences),
-            getTimestampGroup(uiPreferences = uiPreferences),
         )
     }
 
@@ -122,6 +121,7 @@ object SettingsAppearanceScreen : SearchableSettings {
     ): Preference.PreferenceGroup {
         val langs = remember { getLangs(context) }
         var currentLanguage by remember { mutableStateOf(AppCompatDelegate.getApplicationLocales().get(0)?.toLanguageTag() ?: "") }
+        val now = remember { Date().time }
 
         LaunchedEffect(currentLanguage) {
             val locale = if (currentLanguage.isEmpty()) {
@@ -153,25 +153,6 @@ object SettingsAppearanceScreen : SearchableSettings {
                         true
                     },
                 ),
-            ),
-        )
-    }
-
-    @Composable
-    private fun getTimestampGroup(uiPreferences: UiPreferences): Preference.PreferenceGroup {
-        val now = remember { Date().time }
-        return Preference.PreferenceGroup(
-            title = stringResource(R.string.pref_category_timestamps),
-            preferenceItems = listOf(
-                Preference.PreferenceItem.ListPreference(
-                    pref = uiPreferences.relativeTime(),
-                    title = stringResource(R.string.pref_relative_format),
-                    entries = mapOf(
-                        0 to stringResource(R.string.off),
-                        2 to stringResource(R.string.pref_relative_time_short),
-                        7 to stringResource(R.string.pref_relative_time_long),
-                    ),
-                ),
                 Preference.PreferenceItem.ListPreference(
                     pref = uiPreferences.dateFormat(),
                     title = stringResource(R.string.pref_date_format),
@@ -181,10 +162,18 @@ object SettingsAppearanceScreen : SearchableSettings {
                             "${it.ifEmpty { stringResource(R.string.label_default) }} ($formattedDate)"
                         },
                 ),
+                Preference.PreferenceItem.ListPreference(
+                    pref = uiPreferences.relativeTime(),
+                    title = stringResource(R.string.pref_relative_format),
+                    entries = mapOf(
+                        0 to stringResource(R.string.off),
+                        2 to stringResource(R.string.pref_relative_time_short),
+                        7 to stringResource(R.string.pref_relative_time_long),
+                    ),
+                ),
             ),
         )
     }
-
     private fun getLangs(context: Context): Map<String, String> {
         val langs = mutableListOf<Pair<String, String>>()
         val parser = context.resources.getXml(R.xml.locales_config)

+ 1 - 1
app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt

@@ -72,7 +72,7 @@ fun WebViewScreenContent(
                 super.onPageFinished(view, url)
                 scope.launch {
                     val html = view.getHtml()
-                    showCloudflareHelp = "Checking if the site connection is secure" in html
+                    showCloudflareHelp = "window._cf_chl_opt" in html
                 }
             }
 

+ 1 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt

@@ -54,7 +54,6 @@ import logcat.LogPriority
 import tachiyomi.core.util.lang.withIOContext
 import tachiyomi.core.util.system.logcat
 import tachiyomi.domain.chapter.model.Chapter
-import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_OUTSIDE_RELEASE_PERIOD
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.presentation.core.screens.LoadingScreen
 
@@ -125,7 +124,7 @@ class MangaScreen(
             onShareClicked = { shareManga(context, screenModel.manga, screenModel.source) }.takeIf { isHttpSource },
             onDownloadActionClicked = screenModel::runDownloadAction.takeIf { !successState.source.isLocalOrStub() },
             onEditCategoryClicked = screenModel::showChangeCategoryDialog.takeIf { successState.manga.favorite },
-            onEditIntervalClicked = screenModel::showSetMangaIntervalDialog.takeIf { MANGA_OUTSIDE_RELEASE_PERIOD in screenModel.libraryPreferences.libraryUpdateMangaRestriction().get() && successState.manga.favorite },
+            onEditIntervalClicked = screenModel::showSetMangaIntervalDialog.takeIf { screenModel.isIntervalEnabled && successState.manga.favorite },
             onMigrateClicked = { navigator.push(MigrateSearchScreen(successState.manga.id)) }.takeIf { successState.manga.favorite },
             onMultiBookmarkClicked = screenModel::bookmarkChapters,
             onMultiMarkAsReadClicked = screenModel::markChaptersRead,

+ 10 - 8
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt

@@ -82,9 +82,9 @@ class MangaScreenModel(
     val mangaId: Long,
     private val isFromSource: Boolean,
     private val downloadPreferences: DownloadPreferences = Injekt.get(),
-    val libraryPreferences: LibraryPreferences = Injekt.get(),
-    val readerPreferences: ReaderPreferences = Injekt.get(),
-    val uiPreferences: UiPreferences = Injekt.get(),
+    private val libraryPreferences: LibraryPreferences = Injekt.get(),
+    readerPreferences: ReaderPreferences = Injekt.get(),
+    uiPreferences: UiPreferences = Injekt.get(),
     private val trackManager: TrackManager = Injekt.get(),
     private val downloadManager: DownloadManager = Injekt.get(),
     private val downloadCache: DownloadCache = Injekt.get(),
@@ -130,6 +130,10 @@ class MangaScreenModel(
     val dateFormat by mutableStateOf(UiPreferences.dateFormat(uiPreferences.dateFormat().get()))
     private val skipFiltered by readerPreferences.skipFiltered().asState(coroutineScope)
 
+    val isIntervalEnabled = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in libraryPreferences.libraryUpdateMangaRestriction().get()
+    private val leadDay = libraryPreferences.leadingExpectedDays().get()
+    private val followDay = libraryPreferences.followingExpectedDays().get()
+
     private val selectedPositions: Array<Int> = arrayOf(-1, -1) // first and last selected index in list
     private val selectedChapterIds: HashSet<Long> = HashSet()
 
@@ -361,10 +365,8 @@ class MangaScreenModel(
 
     // TODO: this should be in the state/composables
     fun intervalDisplay(): Pair<Int, Int>? {
-        val state = successState ?: return null
-        val leadDay = libraryPreferences.leadingExpectedDays().get()
-        val followDay = libraryPreferences.followingExpectedDays().get()
-        val effInterval = state.manga.calculateInterval
+        val manga = successState?.manga ?: return null
+        val effInterval = manga.calculateInterval
         return 1.coerceAtLeast(effInterval.absoluteValue - leadDay) to (effInterval.absoluteValue + followDay)
     }
 
@@ -1010,7 +1012,7 @@ class MangaScreenModel(
 
     sealed interface State {
         @Immutable
-        object Loading : State
+        data object Loading : State
 
         @Immutable
         data class Success(

+ 0 - 1
i18n/src/main/res/values/strings.xml

@@ -201,7 +201,6 @@
     <string name="theme_yotsuba">Yotsuba</string>
     <string name="theme_tidalwave">Tidal Wave</string>
     <string name="pref_dark_theme_pure_black">Pure black dark mode</string>
-    <string name="pref_category_timestamps">Timestamps</string>
     <string name="pref_relative_format">Relative timestamps</string>
     <string name="pref_relative_time_short">Short (Today, Yesterday)</string>
     <string name="pref_relative_time_long">Long (Short+, n days ago)</string>