Change settings screen to object (#8604)
(cherry picked from commit 7d34ff214cad896abc2a834300d632ddce0a732f) # Conflicts: # app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt
This commit is contained in:
parent
36b1b4ed5f
commit
46b0bec926
@ -54,7 +54,7 @@ import java.text.SimpleDateFormat
|
|||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import java.util.TimeZone
|
import java.util.TimeZone
|
||||||
|
|
||||||
class AboutScreen : Screen {
|
object AboutScreen : Screen {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
override fun Content() {
|
override fun Content() {
|
||||||
@ -205,7 +205,6 @@ class AboutScreen : Screen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
|
||||||
fun getVersionName(withBuildDate: Boolean): String {
|
fun getVersionName(withBuildDate: Boolean): String {
|
||||||
return when {
|
return when {
|
||||||
BuildConfig.DEBUG -> {
|
BuildConfig.DEBUG -> {
|
||||||
@ -259,4 +258,3 @@ class AboutScreen : Screen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -98,7 +98,7 @@ import uy.kohesive.injekt.Injekt
|
|||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class SettingsAdvancedScreen : SearchableSettings {
|
object SettingsAdvancedScreen : SearchableSettings {
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
@StringRes
|
@StringRes
|
||||||
@ -735,8 +735,6 @@ class SettingsAdvancedScreen : SearchableSettings {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
|
||||||
private var job: Job? = null
|
private var job: Job? = null
|
||||||
}
|
|
||||||
// SY <--
|
// SY <--
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ import uy.kohesive.injekt.Injekt
|
|||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
class SettingsAppearanceScreen : SearchableSettings {
|
object SettingsAppearanceScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -59,7 +59,7 @@ import kotlinx.coroutines.launch
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsBackupScreen : SearchableSettings {
|
object SettingsBackupScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -26,7 +26,7 @@ import eu.kanade.tachiyomi.util.system.AuthenticatorUtil.authenticate
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsBrowseScreen : SearchableSettings {
|
object SettingsBrowseScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -32,7 +32,7 @@ import uy.kohesive.injekt.Injekt
|
|||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class SettingsDownloadScreen : SearchableSettings {
|
object SettingsDownloadScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -83,7 +83,7 @@ import kotlin.time.Duration.Companion.milliseconds
|
|||||||
import kotlin.time.Duration.Companion.minutes
|
import kotlin.time.Duration.Companion.minutes
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
class SettingsEhScreen : SearchableSettings {
|
object SettingsEhScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -27,7 +27,7 @@ import org.xmlpull.v1.XmlPullParser
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsGeneralScreen : SearchableSettings {
|
object SettingsGeneralScreen : SearchableSettings {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
|
@ -64,7 +64,7 @@ import kotlinx.coroutines.runBlocking
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsLibraryScreen : SearchableSettings {
|
object SettingsLibraryScreen : SearchableSettings {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
|
@ -181,7 +181,6 @@ object SettingsMainScreen : Screen {
|
|||||||
private fun Navigator.navigate(screen: Screen, twoPane: Boolean) {
|
private fun Navigator.navigate(screen: Screen, twoPane: Boolean) {
|
||||||
if (twoPane) replaceAll(screen) else push(screen)
|
if (twoPane) replaceAll(screen) else push(screen)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private data class Item(
|
private data class Item(
|
||||||
@StringRes val titleRes: Int,
|
@StringRes val titleRes: Int,
|
||||||
@ -196,75 +195,75 @@ private val items = listOf(
|
|||||||
titleRes = R.string.pref_category_general,
|
titleRes = R.string.pref_category_general,
|
||||||
subtitleRes = R.string.pref_general_summary,
|
subtitleRes = R.string.pref_general_summary,
|
||||||
icon = Icons.Outlined.Tune,
|
icon = Icons.Outlined.Tune,
|
||||||
screen = SettingsGeneralScreen(),
|
screen = SettingsGeneralScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_appearance,
|
titleRes = R.string.pref_category_appearance,
|
||||||
subtitleRes = R.string.pref_appearance_summary,
|
subtitleRes = R.string.pref_appearance_summary,
|
||||||
icon = Icons.Outlined.Palette,
|
icon = Icons.Outlined.Palette,
|
||||||
screen = SettingsAppearanceScreen(),
|
screen = SettingsAppearanceScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_library,
|
titleRes = R.string.pref_category_library,
|
||||||
subtitleRes = R.string.pref_library_summary,
|
subtitleRes = R.string.pref_library_summary,
|
||||||
icon = Icons.Outlined.CollectionsBookmark,
|
icon = Icons.Outlined.CollectionsBookmark,
|
||||||
screen = SettingsLibraryScreen(),
|
screen = SettingsLibraryScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_reader,
|
titleRes = R.string.pref_category_reader,
|
||||||
subtitleRes = R.string.pref_reader_summary,
|
subtitleRes = R.string.pref_reader_summary,
|
||||||
icon = Icons.Outlined.ChromeReaderMode,
|
icon = Icons.Outlined.ChromeReaderMode,
|
||||||
screen = SettingsReaderScreen(),
|
screen = SettingsReaderScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_downloads,
|
titleRes = R.string.pref_category_downloads,
|
||||||
subtitleRes = R.string.pref_downloads_summary,
|
subtitleRes = R.string.pref_downloads_summary,
|
||||||
icon = Icons.Outlined.GetApp,
|
icon = Icons.Outlined.GetApp,
|
||||||
screen = SettingsDownloadScreen(),
|
screen = SettingsDownloadScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_tracking,
|
titleRes = R.string.pref_category_tracking,
|
||||||
subtitleRes = R.string.pref_tracking_summary,
|
subtitleRes = R.string.pref_tracking_summary,
|
||||||
icon = Icons.Outlined.Sync,
|
icon = Icons.Outlined.Sync,
|
||||||
screen = SettingsTrackingScreen(),
|
screen = SettingsTrackingScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.browse,
|
titleRes = R.string.browse,
|
||||||
subtitleRes = R.string.pref_browse_summary,
|
subtitleRes = R.string.pref_browse_summary,
|
||||||
icon = Icons.Outlined.Explore,
|
icon = Icons.Outlined.Explore,
|
||||||
screen = SettingsBrowseScreen(),
|
screen = SettingsBrowseScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.label_backup,
|
titleRes = R.string.label_backup,
|
||||||
subtitleRes = R.string.pref_backup_summary,
|
subtitleRes = R.string.pref_backup_summary,
|
||||||
icon = Icons.Outlined.SettingsBackupRestore,
|
icon = Icons.Outlined.SettingsBackupRestore,
|
||||||
screen = SettingsBackupScreen(),
|
screen = SettingsBackupScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_security,
|
titleRes = R.string.pref_category_security,
|
||||||
subtitleRes = R.string.pref_security_summary,
|
subtitleRes = R.string.pref_security_summary,
|
||||||
icon = Icons.Outlined.Security,
|
icon = Icons.Outlined.Security,
|
||||||
screen = SettingsSecurityScreen(),
|
screen = SettingsSecurityScreen,
|
||||||
),
|
),
|
||||||
// SY -->
|
// SY -->
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_eh,
|
titleRes = R.string.pref_category_eh,
|
||||||
subtitleRes = R.string.pref_ehentai_summary,
|
subtitleRes = R.string.pref_ehentai_summary,
|
||||||
icon = EhAssets.EhLogo,
|
icon = EhAssets.EhLogo,
|
||||||
screen = SettingsEhScreen(),
|
screen = SettingsEhScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_mangadex,
|
titleRes = R.string.pref_category_mangadex,
|
||||||
subtitleRes = R.string.pref_mangadex_summary,
|
subtitleRes = R.string.pref_mangadex_summary,
|
||||||
icon = EhAssets.MangadexLogo,
|
icon = EhAssets.MangadexLogo,
|
||||||
screen = SettingsMangadexScreen(),
|
screen = SettingsMangadexScreen,
|
||||||
),
|
),
|
||||||
// SY <--
|
// SY <--
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_advanced,
|
titleRes = R.string.pref_category_advanced,
|
||||||
subtitleRes = R.string.pref_advanced_summary,
|
subtitleRes = R.string.pref_advanced_summary,
|
||||||
icon = Icons.Outlined.Code,
|
icon = Icons.Outlined.Code,
|
||||||
screen = SettingsAdvancedScreen(),
|
screen = SettingsAdvancedScreen,
|
||||||
),
|
),
|
||||||
Item(
|
Item(
|
||||||
titleRes = R.string.pref_category_about,
|
titleRes = R.string.pref_category_about,
|
||||||
@ -273,6 +272,7 @@ private val items = listOf(
|
|||||||
"${stringResource(R.string.app_name)} ${AboutScreen.getVersionName(withBuildDate = false)}"
|
"${stringResource(R.string.app_name)} ${AboutScreen.getVersionName(withBuildDate = false)}"
|
||||||
},
|
},
|
||||||
icon = Icons.Outlined.Info,
|
icon = Icons.Outlined.Info,
|
||||||
screen = AboutScreen(),
|
screen = AboutScreen,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
@ -58,7 +58,7 @@ import logcat.LogPriority
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsMangadexScreen : SearchableSettings {
|
object SettingsMangadexScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -23,7 +23,7 @@ import eu.kanade.tachiyomi.util.system.isReleaseBuildType
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsReaderScreen : SearchableSettings {
|
object SettingsReaderScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -285,20 +285,20 @@ private fun getLocalizedBreadcrumb(path: String, node: String?): String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val settingScreens = listOf(
|
private val settingScreens = listOf(
|
||||||
SettingsGeneralScreen(),
|
SettingsGeneralScreen,
|
||||||
SettingsAppearanceScreen(),
|
SettingsAppearanceScreen,
|
||||||
SettingsLibraryScreen(),
|
SettingsLibraryScreen,
|
||||||
SettingsReaderScreen(),
|
SettingsReaderScreen,
|
||||||
SettingsDownloadScreen(),
|
SettingsDownloadScreen,
|
||||||
SettingsTrackingScreen(),
|
SettingsTrackingScreen,
|
||||||
SettingsBrowseScreen(),
|
SettingsBrowseScreen,
|
||||||
SettingsBackupScreen(),
|
SettingsBackupScreen,
|
||||||
SettingsSecurityScreen(),
|
SettingsSecurityScreen,
|
||||||
// SY -->
|
// SY -->
|
||||||
SettingsEhScreen(),
|
SettingsEhScreen,
|
||||||
SettingsMangadexScreen(),
|
SettingsMangadexScreen,
|
||||||
// SY <--
|
// SY <--
|
||||||
SettingsAdvancedScreen(),
|
SettingsAdvancedScreen,
|
||||||
)
|
)
|
||||||
|
|
||||||
private data class SettingsData(
|
private data class SettingsData(
|
||||||
|
@ -40,7 +40,7 @@ import eu.kanade.tachiyomi.util.system.AuthenticatorUtil.isAuthenticationSupport
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsSecurityScreen : SearchableSettings {
|
object SettingsSecurityScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -59,7 +59,7 @@ import eu.kanade.tachiyomi.util.system.toast
|
|||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
class SettingsTrackingScreen : SearchableSettings {
|
object SettingsTrackingScreen : SearchableSettings {
|
||||||
|
|
||||||
@ReadOnlyComposable
|
@ReadOnlyComposable
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -45,9 +45,9 @@ class SettingsMainController(bundle: Bundle = bundleOf()) : BasicFullComposeCont
|
|||||||
if (!isTabletUi) {
|
if (!isTabletUi) {
|
||||||
Navigator(
|
Navigator(
|
||||||
screen = if (toBackupScreen) {
|
screen = if (toBackupScreen) {
|
||||||
SettingsBackupScreen()
|
SettingsBackupScreen
|
||||||
} else if (toAboutScreen) {
|
} else if (toAboutScreen) {
|
||||||
AboutScreen()
|
AboutScreen
|
||||||
} else {
|
} else {
|
||||||
SettingsMainScreen
|
SettingsMainScreen
|
||||||
},
|
},
|
||||||
@ -63,11 +63,11 @@ class SettingsMainController(bundle: Bundle = bundleOf()) : BasicFullComposeCont
|
|||||||
} else {
|
} else {
|
||||||
Navigator(
|
Navigator(
|
||||||
screen = if (toBackupScreen) {
|
screen = if (toBackupScreen) {
|
||||||
SettingsBackupScreen()
|
SettingsBackupScreen
|
||||||
} else if (toAboutScreen) {
|
} else if (toAboutScreen) {
|
||||||
AboutScreen()
|
AboutScreen
|
||||||
} else {
|
} else {
|
||||||
SettingsGeneralScreen()
|
SettingsGeneralScreen
|
||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
TwoPanelBox(
|
TwoPanelBox(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user