Minor cleanup
(cherry picked from commit 3892c4caac18c0203a3906545bc4cdd1687f0919) # Conflicts: # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
This commit is contained in:
parent
78e3330215
commit
1abbda5f0b
@ -49,7 +49,6 @@ object SettingsAppearanceScreen : SearchableSettings {
|
|||||||
return listOf(
|
return listOf(
|
||||||
getThemeGroup(context = context, uiPreferences = uiPreferences),
|
getThemeGroup(context = context, uiPreferences = uiPreferences),
|
||||||
getDisplayGroup(context = context, uiPreferences = uiPreferences),
|
getDisplayGroup(context = context, uiPreferences = uiPreferences),
|
||||||
getTimestampGroup(uiPreferences = uiPreferences),
|
|
||||||
// SY -->
|
// SY -->
|
||||||
getNavbarGroup(uiPreferences = uiPreferences),
|
getNavbarGroup(uiPreferences = uiPreferences),
|
||||||
getForkGroup(uiPreferences = uiPreferences),
|
getForkGroup(uiPreferences = uiPreferences),
|
||||||
@ -126,6 +125,7 @@ object SettingsAppearanceScreen : SearchableSettings {
|
|||||||
): Preference.PreferenceGroup {
|
): Preference.PreferenceGroup {
|
||||||
val langs = remember { getLangs(context) }
|
val langs = remember { getLangs(context) }
|
||||||
var currentLanguage by remember { mutableStateOf(AppCompatDelegate.getApplicationLocales().get(0)?.toLanguageTag() ?: "") }
|
var currentLanguage by remember { mutableStateOf(AppCompatDelegate.getApplicationLocales().get(0)?.toLanguageTag() ?: "") }
|
||||||
|
val now = remember { Date().time }
|
||||||
|
|
||||||
LaunchedEffect(currentLanguage) {
|
LaunchedEffect(currentLanguage) {
|
||||||
val locale = if (currentLanguage.isEmpty()) {
|
val locale = if (currentLanguage.isEmpty()) {
|
||||||
@ -157,25 +157,6 @@ object SettingsAppearanceScreen : SearchableSettings {
|
|||||||
true
|
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(
|
Preference.PreferenceItem.ListPreference(
|
||||||
pref = uiPreferences.dateFormat(),
|
pref = uiPreferences.dateFormat(),
|
||||||
title = stringResource(R.string.pref_date_format),
|
title = stringResource(R.string.pref_date_format),
|
||||||
@ -185,10 +166,18 @@ object SettingsAppearanceScreen : SearchableSettings {
|
|||||||
"${it.ifEmpty { stringResource(R.string.label_default) }} ($formattedDate)"
|
"${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> {
|
private fun getLangs(context: Context): Map<String, String> {
|
||||||
val langs = mutableListOf<Pair<String, String>>()
|
val langs = mutableListOf<Pair<String, String>>()
|
||||||
val parser = context.resources.getXml(R.xml.locales_config)
|
val parser = context.resources.getXml(R.xml.locales_config)
|
||||||
|
@ -72,7 +72,7 @@ fun WebViewScreenContent(
|
|||||||
super.onPageFinished(view, url)
|
super.onPageFinished(view, url)
|
||||||
scope.launch {
|
scope.launch {
|
||||||
val html = view.getHtml()
|
val html = view.getHtml()
|
||||||
showCloudflareHelp = "Checking if the site connection is secure" in html
|
showCloudflareHelp = "window._cf_chl_opt" in html
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,6 @@ import tachiyomi.core.util.lang.withNonCancellableContext
|
|||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.domain.UnsortedPreferences
|
import tachiyomi.domain.UnsortedPreferences
|
||||||
import tachiyomi.domain.chapter.model.Chapter
|
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.domain.manga.model.Manga
|
||||||
import tachiyomi.domain.source.service.SourceManager
|
import tachiyomi.domain.source.service.SourceManager
|
||||||
import tachiyomi.presentation.core.screens.LoadingScreen
|
import tachiyomi.presentation.core.screens.LoadingScreen
|
||||||
@ -171,8 +170,8 @@ class MangaScreen(
|
|||||||
onCoverClicked = screenModel::showCoverDialog,
|
onCoverClicked = screenModel::showCoverDialog,
|
||||||
onShareClicked = { shareManga(context, screenModel.manga, screenModel.source) }.takeIf { isHttpSource },
|
onShareClicked = { shareManga(context, screenModel.manga, screenModel.source) }.takeIf { isHttpSource },
|
||||||
onDownloadActionClicked = screenModel::runDownloadAction.takeIf { !successState.source.isLocalOrStub() },
|
onDownloadActionClicked = screenModel::runDownloadAction.takeIf { !successState.source.isLocalOrStub() },
|
||||||
onEditCategoryClicked = screenModel::promptChangeCategories.takeIf { successState.manga.favorite },
|
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 },
|
||||||
// SY -->
|
// SY -->
|
||||||
onMigrateClicked = { migrateManga(navigator, screenModel.manga!!) }.takeIf { successState.manga.favorite },
|
onMigrateClicked = { migrateManga(navigator, screenModel.manga!!) }.takeIf { successState.manga.favorite },
|
||||||
onMetadataViewerClicked = { openMetadataViewer(navigator, successState.manga) },
|
onMetadataViewerClicked = { openMetadataViewer(navigator, successState.manga) },
|
||||||
|
@ -128,9 +128,9 @@ class MangaScreenModel(
|
|||||||
private val isFromSource: Boolean,
|
private val isFromSource: Boolean,
|
||||||
val smartSearched: Boolean,
|
val smartSearched: Boolean,
|
||||||
private val downloadPreferences: DownloadPreferences = Injekt.get(),
|
private val downloadPreferences: DownloadPreferences = Injekt.get(),
|
||||||
val libraryPreferences: LibraryPreferences = Injekt.get(),
|
private val libraryPreferences: LibraryPreferences = Injekt.get(),
|
||||||
val readerPreferences: ReaderPreferences = Injekt.get(),
|
readerPreferences: ReaderPreferences = Injekt.get(),
|
||||||
val uiPreferences: UiPreferences = Injekt.get(),
|
uiPreferences: UiPreferences = Injekt.get(),
|
||||||
private val trackManager: TrackManager = Injekt.get(),
|
private val trackManager: TrackManager = Injekt.get(),
|
||||||
private val downloadManager: DownloadManager = Injekt.get(),
|
private val downloadManager: DownloadManager = Injekt.get(),
|
||||||
private val downloadCache: DownloadCache = Injekt.get(),
|
private val downloadCache: DownloadCache = Injekt.get(),
|
||||||
@ -194,6 +194,10 @@ class MangaScreenModel(
|
|||||||
val dateFormat by mutableStateOf(UiPreferences.dateFormat(uiPreferences.dateFormat().get()))
|
val dateFormat by mutableStateOf(UiPreferences.dateFormat(uiPreferences.dateFormat().get()))
|
||||||
private val skipFiltered by readerPreferences.skipFiltered().asState(coroutineScope)
|
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 selectedPositions: Array<Int> = arrayOf(-1, -1) // first and last selected index in list
|
||||||
private val selectedChapterIds: HashSet<Long> = HashSet()
|
private val selectedChapterIds: HashSet<Long> = HashSet()
|
||||||
|
|
||||||
@ -782,10 +786,8 @@ class MangaScreenModel(
|
|||||||
|
|
||||||
// TODO: this should be in the state/composables
|
// TODO: this should be in the state/composables
|
||||||
fun intervalDisplay(): Pair<Int, Int>? {
|
fun intervalDisplay(): Pair<Int, Int>? {
|
||||||
val state = successState ?: return null
|
val manga = successState?.manga ?: return null
|
||||||
val leadDay = libraryPreferences.leadingExpectedDays().get()
|
val effInterval = manga.calculateInterval
|
||||||
val followDay = libraryPreferences.followingExpectedDays().get()
|
|
||||||
val effInterval = state.manga.calculateInterval
|
|
||||||
return 1.coerceAtLeast(effInterval.absoluteValue - leadDay) to (effInterval.absoluteValue + followDay)
|
return 1.coerceAtLeast(effInterval.absoluteValue - leadDay) to (effInterval.absoluteValue + followDay)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,7 +201,6 @@
|
|||||||
<string name="theme_yotsuba">Yotsuba</string>
|
<string name="theme_yotsuba">Yotsuba</string>
|
||||||
<string name="theme_tidalwave">Tidal Wave</string>
|
<string name="theme_tidalwave">Tidal Wave</string>
|
||||||
<string name="pref_dark_theme_pure_black">Pure black dark mode</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_format">Relative timestamps</string>
|
||||||
<string name="pref_relative_time_short">Short (Today, Yesterday)</string>
|
<string name="pref_relative_time_short">Short (Today, Yesterday)</string>
|
||||||
<string name="pref_relative_time_long">Long (Short+, n days ago)</string>
|
<string name="pref_relative_time_long">Long (Short+, n days ago)</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user