Refactor(Enum): Change all caps to camel case

This commit is contained in:
2024-08-14 15:18:00 +08:00
parent 627a32c7a3
commit f5cfbd7296
19 changed files with 101 additions and 104 deletions

View File

@@ -46,8 +46,6 @@ import top.fatweb.oxygen.toolbox.ui.util.LocalTimeZone
import top.fatweb.oxygen.toolbox.ui.util.LocaleUtils import top.fatweb.oxygen.toolbox.ui.util.LocaleUtils
import javax.inject.Inject import javax.inject.Inject
const val TAG = "MainActivity"
@OptIn(ExperimentalMaterial3WindowSizeClassApi::class) @OptIn(ExperimentalMaterial3WindowSizeClassApi::class)
@AndroidEntryPoint @AndroidEntryPoint
class MainActivity : ComponentActivity() { class MainActivity : ComponentActivity() {
@@ -153,9 +151,9 @@ private fun shouldUseDarkTheme(
): Boolean = when (uiState) { ): Boolean = when (uiState) {
MainActivityUiState.Loading -> isSystemInDarkTheme() MainActivityUiState.Loading -> isSystemInDarkTheme()
is MainActivityUiState.Success -> when (uiState.userData.darkThemeConfig) { is MainActivityUiState.Success -> when (uiState.userData.darkThemeConfig) {
DarkThemeConfig.FOLLOW_SYSTEM -> isSystemInDarkTheme() DarkThemeConfig.FollowSystem -> isSystemInDarkTheme()
DarkThemeConfig.LIGHT -> false DarkThemeConfig.Light -> false
DarkThemeConfig.DARK -> true DarkThemeConfig.Dark -> true
} }
} }
@@ -165,8 +163,8 @@ private fun shouldUseAndroidTheme(
): Boolean = when (uiState) { ): Boolean = when (uiState) {
MainActivityUiState.Loading -> false MainActivityUiState.Loading -> false
is MainActivityUiState.Success -> when (uiState.userData.themeBrandConfig) { is MainActivityUiState.Success -> when (uiState.userData.themeBrandConfig) {
ThemeBrandConfig.DEFAULT -> false ThemeBrandConfig.Default -> false
ThemeBrandConfig.ANDROID -> true ThemeBrandConfig.Android -> true
} }
} }
@@ -182,7 +180,7 @@ private fun shouldUseDynamicColor(
private fun whatLocale( private fun whatLocale(
uiState: MainActivityUiState uiState: MainActivityUiState
): LanguageConfig = when (uiState) { ): LanguageConfig = when (uiState) {
MainActivityUiState.Loading -> LanguageConfig.FOLLOW_SYSTEM MainActivityUiState.Loading -> LanguageConfig.FollowSystem
is MainActivityUiState.Success -> uiState.userData.languageConfig is MainActivityUiState.Success -> uiState.userData.languageConfig
} }
@@ -190,6 +188,6 @@ private fun whatLocale(
private fun whatLaunchPage( private fun whatLaunchPage(
uiState: MainActivityUiState uiState: MainActivityUiState
): LaunchPageConfig = when (uiState) { ): LaunchPageConfig = when (uiState) {
MainActivityUiState.Loading -> LaunchPageConfig.TOOLS MainActivityUiState.Loading -> LaunchPageConfig.Tools
is MainActivityUiState.Success -> uiState.userData.launchPageConfig is MainActivityUiState.Success -> uiState.userData.launchPageConfig
} }

View File

@@ -17,6 +17,6 @@ interface OxygenNetworkDataSource {
username: String, username: String,
toolId: String, toolId: String,
ver: String = "latest", ver: String = "latest",
platform: ToolBaseVo.Platform = ToolBaseVo.Platform.ANDROID platform: ToolBaseVo.Platform = ToolBaseVo.Platform.Android
): Flow<Result<ToolVo>> ): Flow<Result<ToolVo>>
} }

View File

@@ -26,23 +26,23 @@ class OxygenPreferencesDataSource @Inject constructor(
LanguageConfigProto.UNRECOGNIZED, LanguageConfigProto.UNRECOGNIZED,
LanguageConfigProto.LANGUAGE_CONFIG_UNSPECIFIED, LanguageConfigProto.LANGUAGE_CONFIG_UNSPECIFIED,
LanguageConfigProto.LANGUAGE_CONFIG_FOLLOW_SYSTEM LanguageConfigProto.LANGUAGE_CONFIG_FOLLOW_SYSTEM
-> LanguageConfig.FOLLOW_SYSTEM -> LanguageConfig.FollowSystem
LanguageConfigProto.LANGUAGE_CONFIG_CHINESE LanguageConfigProto.LANGUAGE_CONFIG_CHINESE
-> LanguageConfig.CHINESE -> LanguageConfig.Chinese
LanguageConfigProto.LANGUAGE_CONFIG_ENGLISH LanguageConfigProto.LANGUAGE_CONFIG_ENGLISH
-> LanguageConfig.ENGLISH -> LanguageConfig.English
}, },
launchPageConfig = when (it.launchPageConfig) { launchPageConfig = when (it.launchPageConfig) {
null, null,
LaunchPageConfigProto.UNRECOGNIZED, LaunchPageConfigProto.UNRECOGNIZED,
LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_UNSPECIFIED, LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_UNSPECIFIED,
LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_TOOLS LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_TOOLS
-> LaunchPageConfig.TOOLS -> LaunchPageConfig.Tools
LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_STAR LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_STAR
-> LaunchPageConfig.STAR -> LaunchPageConfig.Star
}, },
themeBrandConfig = when (it.themeBrandConfig) { themeBrandConfig = when (it.themeBrandConfig) {
null, null,
@@ -50,10 +50,10 @@ class OxygenPreferencesDataSource @Inject constructor(
ThemeBrandConfigProto.THEME_BRAND_CONFIG_UNSPECIFIED, ThemeBrandConfigProto.THEME_BRAND_CONFIG_UNSPECIFIED,
ThemeBrandConfigProto.THEME_BRAND_CONFIG_DEFAULT ThemeBrandConfigProto.THEME_BRAND_CONFIG_DEFAULT
-> ->
ThemeBrandConfig.DEFAULT ThemeBrandConfig.Default
ThemeBrandConfigProto.THEME_BRAND_CONFIG_ANDROID ThemeBrandConfigProto.THEME_BRAND_CONFIG_ANDROID
-> ThemeBrandConfig.ANDROID -> ThemeBrandConfig.Android
}, },
darkThemeConfig = when (it.darkThemeConfig) { darkThemeConfig = when (it.darkThemeConfig) {
null, null,
@@ -61,13 +61,13 @@ class OxygenPreferencesDataSource @Inject constructor(
DarkThemeConfigProto.DARK_THEME_CONFIG_UNSPECIFIED, DarkThemeConfigProto.DARK_THEME_CONFIG_UNSPECIFIED,
DarkThemeConfigProto.DARK_THEME_CONFIG_FOLLOW_SYSTEM DarkThemeConfigProto.DARK_THEME_CONFIG_FOLLOW_SYSTEM
-> ->
DarkThemeConfig.FOLLOW_SYSTEM DarkThemeConfig.FollowSystem
DarkThemeConfigProto.DARK_THEME_CONFIG_LIGHT DarkThemeConfigProto.DARK_THEME_CONFIG_LIGHT
-> DarkThemeConfig.LIGHT -> DarkThemeConfig.Light
DarkThemeConfigProto.DARK_THEME_CONFIG_DARK DarkThemeConfigProto.DARK_THEME_CONFIG_DARK
-> DarkThemeConfig.DARK -> DarkThemeConfig.Dark
}, },
useDynamicColor = it.useDynamicColor useDynamicColor = it.useDynamicColor
) )
@@ -77,9 +77,9 @@ class OxygenPreferencesDataSource @Inject constructor(
userPreferences.updateData { userPreferences.updateData {
it.copy { it.copy {
this.languageConfig = when (languageConfig) { this.languageConfig = when (languageConfig) {
LanguageConfig.FOLLOW_SYSTEM -> LanguageConfigProto.LANGUAGE_CONFIG_FOLLOW_SYSTEM LanguageConfig.FollowSystem -> LanguageConfigProto.LANGUAGE_CONFIG_FOLLOW_SYSTEM
LanguageConfig.CHINESE -> LanguageConfigProto.LANGUAGE_CONFIG_CHINESE LanguageConfig.Chinese -> LanguageConfigProto.LANGUAGE_CONFIG_CHINESE
LanguageConfig.ENGLISH -> LanguageConfigProto.LANGUAGE_CONFIG_ENGLISH LanguageConfig.English -> LanguageConfigProto.LANGUAGE_CONFIG_ENGLISH
} }
} }
} }
@@ -89,8 +89,8 @@ class OxygenPreferencesDataSource @Inject constructor(
userPreferences.updateData { userPreferences.updateData {
it.copy { it.copy {
this.launchPageConfig = when (launchPageConfig) { this.launchPageConfig = when (launchPageConfig) {
LaunchPageConfig.TOOLS -> LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_TOOLS LaunchPageConfig.Tools -> LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_TOOLS
LaunchPageConfig.STAR -> LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_STAR LaunchPageConfig.Star -> LaunchPageConfigProto.LAUNCH_PAGE_CONFIG_STAR
} }
} }
} }
@@ -100,8 +100,8 @@ class OxygenPreferencesDataSource @Inject constructor(
userPreferences.updateData { userPreferences.updateData {
it.copy { it.copy {
this.themeBrandConfig = when (themeBrandConfig) { this.themeBrandConfig = when (themeBrandConfig) {
ThemeBrandConfig.DEFAULT -> ThemeBrandConfigProto.THEME_BRAND_CONFIG_DEFAULT ThemeBrandConfig.Default -> ThemeBrandConfigProto.THEME_BRAND_CONFIG_DEFAULT
ThemeBrandConfig.ANDROID -> ThemeBrandConfigProto.THEME_BRAND_CONFIG_ANDROID ThemeBrandConfig.Android -> ThemeBrandConfigProto.THEME_BRAND_CONFIG_ANDROID
} }
} }
} }
@@ -111,9 +111,9 @@ class OxygenPreferencesDataSource @Inject constructor(
userPreferences.updateData { userPreferences.updateData {
it.copy { it.copy {
this.darkThemeConfig = when (darkThemeConfig) { this.darkThemeConfig = when (darkThemeConfig) {
DarkThemeConfig.FOLLOW_SYSTEM -> DarkThemeConfigProto.DARK_THEME_CONFIG_FOLLOW_SYSTEM DarkThemeConfig.FollowSystem -> DarkThemeConfigProto.DARK_THEME_CONFIG_FOLLOW_SYSTEM
DarkThemeConfig.LIGHT -> DarkThemeConfigProto.DARK_THEME_CONFIG_LIGHT DarkThemeConfig.Light -> DarkThemeConfigProto.DARK_THEME_CONFIG_LIGHT
DarkThemeConfig.DARK -> DarkThemeConfigProto.DARK_THEME_CONFIG_DARK DarkThemeConfig.Dark -> DarkThemeConfigProto.DARK_THEME_CONFIG_DARK
} }
} }
} }

View File

@@ -55,10 +55,10 @@ data class ToolEntity(
val upgrade: String? = null val upgrade: String? = null
) { ) {
enum class Platform { enum class Platform {
WEB, Web,
DESKTOP, Desktop,
ANDROID Android
} }
} }

View File

@@ -1,7 +1,7 @@
package top.fatweb.oxygen.toolbox.model.userdata package top.fatweb.oxygen.toolbox.model.userdata
enum class DarkThemeConfig { enum class DarkThemeConfig {
FOLLOW_SYSTEM, FollowSystem,
LIGHT, Light,
DARK, Dark,
} }

View File

@@ -1,7 +1,7 @@
package top.fatweb.oxygen.toolbox.model.userdata package top.fatweb.oxygen.toolbox.model.userdata
enum class LanguageConfig(val code: String? = null) { enum class LanguageConfig(val code: String? = null) {
FOLLOW_SYSTEM, FollowSystem,
CHINESE("cn"), Chinese("cn"),
ENGLISH("en") English("en")
} }

View File

@@ -1,6 +1,6 @@
package top.fatweb.oxygen.toolbox.model.userdata package top.fatweb.oxygen.toolbox.model.userdata
enum class LaunchPageConfig { enum class LaunchPageConfig {
TOOLS, Tools,
STAR Star
} }

View File

@@ -1,6 +1,6 @@
package top.fatweb.oxygen.toolbox.model.userdata package top.fatweb.oxygen.toolbox.model.userdata
enum class ThemeBrandConfig { enum class ThemeBrandConfig {
DEFAULT, Default,
ANDROID Android
} }

View File

@@ -34,7 +34,7 @@ fun OxygenNavHost(
toolsScreen( toolsScreen(
onShowSnackbar = onShowSnackbar, onShowSnackbar = onShowSnackbar,
onNavigateToToolView = navController::navigateToToolView, onNavigateToToolView = navController::navigateToToolView,
onNavigateToToolStore = { appState.navigateToTopLevelDestination(TopLevelDestination.TOOL_STORE) } onNavigateToToolStore = { appState.navigateToTopLevelDestination(TopLevelDestination.ToolStore) }
) )
toolViewScreen( toolViewScreen(
onBackClick = navController::popBackStack onBackClick = navController::popBackStack

View File

@@ -11,21 +11,21 @@ enum class TopLevelDestination(
@StringRes val iconTextId: Int, @StringRes val iconTextId: Int,
@StringRes val titleTextId: Int @StringRes val titleTextId: Int
) { ) {
TOOL_STORE( ToolStore(
selectedIcon = OxygenIcons.Store, selectedIcon = OxygenIcons.Store,
unselectedIcon = OxygenIcons.StoreBorder, unselectedIcon = OxygenIcons.StoreBorder,
iconTextId = R.string.feature_store_title, iconTextId = R.string.feature_store_title,
titleTextId = R.string.feature_store_title titleTextId = R.string.feature_store_title
), ),
TOOLS( Tools(
selectedIcon = OxygenIcons.Home, selectedIcon = OxygenIcons.Home,
unselectedIcon = OxygenIcons.HomeBorder, unselectedIcon = OxygenIcons.HomeBorder,
iconTextId = R.string.feature_tools_title, iconTextId = R.string.feature_tools_title,
titleTextId = R.string.feature_tools_title titleTextId = R.string.feature_tools_title
), ),
STAR( Star(
selectedIcon = OxygenIcons.Star, selectedIcon = OxygenIcons.Star,
unselectedIcon = OxygenIcons.StarBorder, unselectedIcon = OxygenIcons.StarBorder,
iconTextId = R.string.feature_star_title, iconTextId = R.string.feature_star_title,

View File

@@ -29,13 +29,16 @@ data class ToolBaseVo(
@Serializable @Serializable
enum class Platform { enum class Platform {
@SerialName("WEB") @SerialName("WEB")
WEB, Web,
@SerialName("DESKTOP") @SerialName("DESKTOP")
DESKTOP, Desktop,
@SerialName("ANDROID") @SerialName("ANDROID")
ANDROID Android;
override fun toString(): String =
javaClass.getField(name).getAnnotation(SerialName::class.java)!!.value
} }
} }

View File

@@ -49,16 +49,16 @@ data class ToolVo(
@Serializable @Serializable
enum class ReviewType { enum class ReviewType {
@SerialName("NONE") @SerialName("NONE")
NONE, None,
@SerialName("PROCESSING") @SerialName("PROCESSING")
PROCESSING, Processing,
@SerialName("PASS") @SerialName("PASS")
PASS, Pass,
@SerialName("REJECT") @SerialName("REJECT")
REJECT Reject
} }
} }

View File

@@ -25,7 +25,7 @@ private interface RetrofitOxygenNetworkApi {
suspend fun getStore( suspend fun getStore(
@Query("currentPage") currentPage: Int, @Query("currentPage") currentPage: Int,
@Query("searchValue") searchValue: String, @Query("searchValue") searchValue: String,
@Query("platform") platform: ToolBaseVo.Platform? = ToolBaseVo.Platform.ANDROID @Query("platform") platform: ToolBaseVo.Platform? = ToolBaseVo.Platform.Android
): ResponseResult<PageVo<ToolVo>> ): ResponseResult<PageVo<ToolVo>>
@GET(value = "/tool/detail/{username}/{toolId}/{ver}") @GET(value = "/tool/detail/{username}/{toolId}/{ver}")
@@ -33,7 +33,7 @@ private interface RetrofitOxygenNetworkApi {
@Path("username") username: String, @Path("username") username: String,
@Path("toolId") toolId: String, @Path("toolId") toolId: String,
@Path("ver") ver: String, @Path("ver") ver: String,
@Query("platform") platform: String @Query("platform") platform: ToolBaseVo.Platform? = ToolBaseVo.Platform.Android
): ResponseResult<ToolVo> ): ResponseResult<ToolVo>
} }
@@ -69,7 +69,7 @@ internal class RetrofitOxygenNetwork @Inject constructor(
username = username, username = username,
toolId = toolId, toolId = toolId,
ver = ver, ver = ver,
platform = platform.name platform = platform
) )
) )
}.asResult() }.asResult()

View File

@@ -11,7 +11,6 @@ interface StoreRepository {
fun detail( fun detail(
username: String, username: String,
toolId: String, toolId: String,
ver: String = "latest", ver: String = "latest"
platform: ToolEntity.Platform = ToolEntity.Platform.ANDROID
): Flow<Result<ToolEntity>> ): Flow<Result<ToolEntity>>
} }

View File

@@ -10,7 +10,6 @@ import top.fatweb.oxygen.toolbox.data.tool.dao.ToolDao
import top.fatweb.oxygen.toolbox.model.Result import top.fatweb.oxygen.toolbox.model.Result
import top.fatweb.oxygen.toolbox.model.asExternalModel import top.fatweb.oxygen.toolbox.model.asExternalModel
import top.fatweb.oxygen.toolbox.model.tool.ToolEntity import top.fatweb.oxygen.toolbox.model.tool.ToolEntity
import top.fatweb.oxygen.toolbox.network.model.ToolBaseVo
import top.fatweb.oxygen.toolbox.network.model.ToolVo import top.fatweb.oxygen.toolbox.network.model.ToolVo
import top.fatweb.oxygen.toolbox.network.model.asExternalModel import top.fatweb.oxygen.toolbox.network.model.asExternalModel
import top.fatweb.oxygen.toolbox.network.paging.ToolStorePagingSource import top.fatweb.oxygen.toolbox.network.paging.ToolStorePagingSource
@@ -42,14 +41,12 @@ internal class NetworkStoreRepository @Inject constructor(
override fun detail( override fun detail(
username: String, username: String,
toolId: String, toolId: String,
ver: String, ver: String
platform: ToolEntity.Platform
): Flow<Result<ToolEntity>> = ): Flow<Result<ToolEntity>> =
oxygenNetworkDataSource.detail( oxygenNetworkDataSource.detail(
username, username,
toolId, toolId,
ver, ver
ToolBaseVo.Platform.valueOf(platform.name)
).map { ).map {
it.asExternalModel(ToolVo::asExternalModel) it.asExternalModel(ToolVo::asExternalModel)
} }

View File

@@ -60,7 +60,7 @@ import top.fatweb.oxygen.toolbox.ui.theme.LocalGradientColors
@Composable @Composable
fun OxygenApp(appState: OxygenAppState) { fun OxygenApp(appState: OxygenAppState) {
val shouldShowGradientBackground = val shouldShowGradientBackground =
appState.currentTopLevelDestination == TopLevelDestination.TOOLS appState.currentTopLevelDestination == TopLevelDestination.Tools
var showSettingsDialog by rememberSaveable { var showSettingsDialog by rememberSaveable {
mutableStateOf(false) mutableStateOf(false)
} }
@@ -171,8 +171,8 @@ fun OxygenApp(appState: OxygenAppState) {
) == SnackbarResult.ActionPerformed ) == SnackbarResult.ActionPerformed
}, },
startDestination = when (appState.launchPageConfig) { startDestination = when (appState.launchPageConfig) {
LaunchPageConfig.TOOLS -> TOOLS_ROUTE LaunchPageConfig.Tools -> TOOLS_ROUTE
LaunchPageConfig.STAR -> STAR_ROUTE LaunchPageConfig.Star -> STAR_ROUTE
} }
) )
} }

View File

@@ -75,9 +75,9 @@ class OxygenAppState(
val currentTopLevelDestination: TopLevelDestination? val currentTopLevelDestination: TopLevelDestination?
@Composable get() = when (currentDestination?.route) { @Composable get() = when (currentDestination?.route) {
TOOL_STORE_ROUTE -> TopLevelDestination.TOOL_STORE TOOL_STORE_ROUTE -> TopLevelDestination.ToolStore
TOOLS_ROUTE -> TopLevelDestination.TOOLS TOOLS_ROUTE -> TopLevelDestination.Tools
STAR_ROUTE -> TopLevelDestination.STAR STAR_ROUTE -> TopLevelDestination.Star
else -> null else -> null
} }
@@ -113,9 +113,9 @@ class OxygenAppState(
} }
when (topLevelDestination) { when (topLevelDestination) {
TopLevelDestination.TOOL_STORE -> navController.navigateToToolStore(topLevelNavOptions) TopLevelDestination.ToolStore -> navController.navigateToToolStore(topLevelNavOptions)
TopLevelDestination.TOOLS -> navController.navigateToTools(topLevelNavOptions) TopLevelDestination.Tools -> navController.navigateToTools(topLevelNavOptions)
TopLevelDestination.STAR -> navController.navigateToStar(topLevelNavOptions) TopLevelDestination.Star -> navController.navigateToStar(topLevelNavOptions)
} }
} }

View File

@@ -175,47 +175,47 @@ private fun ColumnScope.SettingsPanel(
DialogSectionGroup { DialogSectionGroup {
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_language_system_default), text = stringResource(R.string.feature_settings_language_system_default),
selected = settings.languageConfig == LanguageConfig.FOLLOW_SYSTEM, selected = settings.languageConfig == LanguageConfig.FollowSystem,
onClick = { onChangeLanguageConfig(LanguageConfig.FOLLOW_SYSTEM) } onClick = { onChangeLanguageConfig(LanguageConfig.FollowSystem) }
) )
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_language_chinese), text = stringResource(R.string.feature_settings_language_chinese),
selected = settings.languageConfig == LanguageConfig.CHINESE, selected = settings.languageConfig == LanguageConfig.Chinese,
onClick = { onChangeLanguageConfig(LanguageConfig.CHINESE) } onClick = { onChangeLanguageConfig(LanguageConfig.Chinese) }
) )
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_language_english), text = stringResource(R.string.feature_settings_language_english),
selected = settings.languageConfig == LanguageConfig.ENGLISH, selected = settings.languageConfig == LanguageConfig.English,
onClick = { onChangeLanguageConfig(LanguageConfig.ENGLISH) } onClick = { onChangeLanguageConfig(LanguageConfig.English) }
) )
} }
DialogSectionTitle(text = stringResource(R.string.feature_settings_launch_page)) DialogSectionTitle(text = stringResource(R.string.feature_settings_launch_page))
DialogSectionGroup { DialogSectionGroup {
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_launch_page_tools), text = stringResource(R.string.feature_settings_launch_page_tools),
selected = settings.launchPageConfig == LaunchPageConfig.TOOLS, selected = settings.launchPageConfig == LaunchPageConfig.Tools,
onClick = { onChangeLaunchPageConfig(LaunchPageConfig.TOOLS) } onClick = { onChangeLaunchPageConfig(LaunchPageConfig.Tools) }
) )
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_launch_page_star), text = stringResource(R.string.feature_settings_launch_page_star),
selected = settings.launchPageConfig == LaunchPageConfig.STAR, selected = settings.launchPageConfig == LaunchPageConfig.Star,
onClick = { onChangeLaunchPageConfig(LaunchPageConfig.STAR) } onClick = { onChangeLaunchPageConfig(LaunchPageConfig.Star) }
) )
} }
DialogSectionTitle(text = stringResource(R.string.feature_settings_theme_brand)) DialogSectionTitle(text = stringResource(R.string.feature_settings_theme_brand))
DialogSectionGroup { DialogSectionGroup {
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_theme_brand_default), text = stringResource(R.string.feature_settings_theme_brand_default),
selected = settings.themeBrandConfig == ThemeBrandConfig.DEFAULT, selected = settings.themeBrandConfig == ThemeBrandConfig.Default,
onClick = { onchangeThemeBrandConfig(ThemeBrandConfig.DEFAULT) } onClick = { onchangeThemeBrandConfig(ThemeBrandConfig.Default) }
) )
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_theme_brand_android), text = stringResource(R.string.feature_settings_theme_brand_android),
selected = settings.themeBrandConfig == ThemeBrandConfig.ANDROID, selected = settings.themeBrandConfig == ThemeBrandConfig.Android,
onClick = { onchangeThemeBrandConfig(ThemeBrandConfig.ANDROID) } onClick = { onchangeThemeBrandConfig(ThemeBrandConfig.Android) }
) )
} }
AnimatedVisibility(visible = settings.themeBrandConfig == ThemeBrandConfig.DEFAULT && supportDynamicColor) { AnimatedVisibility(visible = settings.themeBrandConfig == ThemeBrandConfig.Default && supportDynamicColor) {
DialogSectionGroup { DialogSectionGroup {
DialogSectionTitle(text = stringResource(R.string.feature_settings_dynamic_color)) DialogSectionTitle(text = stringResource(R.string.feature_settings_dynamic_color))
DialogChooserRow( DialogChooserRow(
@@ -234,18 +234,18 @@ private fun ColumnScope.SettingsPanel(
DialogSectionGroup { DialogSectionGroup {
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_dark_mode_system_default), text = stringResource(R.string.feature_settings_dark_mode_system_default),
selected = settings.darkThemeConfig == DarkThemeConfig.FOLLOW_SYSTEM, selected = settings.darkThemeConfig == DarkThemeConfig.FollowSystem,
onClick = { onChangeDarkThemeConfig(DarkThemeConfig.FOLLOW_SYSTEM) } onClick = { onChangeDarkThemeConfig(DarkThemeConfig.FollowSystem) }
) )
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_dark_mode_light), text = stringResource(R.string.feature_settings_dark_mode_light),
selected = settings.darkThemeConfig == DarkThemeConfig.LIGHT, selected = settings.darkThemeConfig == DarkThemeConfig.Light,
onClick = { onChangeDarkThemeConfig(DarkThemeConfig.LIGHT) } onClick = { onChangeDarkThemeConfig(DarkThemeConfig.Light) }
) )
DialogChooserRow( DialogChooserRow(
text = stringResource(R.string.feature_settings_dark_mode_dark), text = stringResource(R.string.feature_settings_dark_mode_dark),
selected = settings.darkThemeConfig == DarkThemeConfig.DARK, selected = settings.darkThemeConfig == DarkThemeConfig.Dark,
onClick = { onChangeDarkThemeConfig(DarkThemeConfig.DARK) } onClick = { onChangeDarkThemeConfig(DarkThemeConfig.Dark) }
) )
} }
DialogSectionTitle(text = stringResource(R.string.feature_settings_more)) DialogSectionTitle(text = stringResource(R.string.feature_settings_more))
@@ -296,10 +296,10 @@ private fun SettingDialogPreview() {
onDismiss = {}, onDismiss = {},
settingsUiState = SettingsUiState.Success( settingsUiState = SettingsUiState.Success(
UserData( UserData(
languageConfig = LanguageConfig.FOLLOW_SYSTEM, languageConfig = LanguageConfig.FollowSystem,
launchPageConfig = LaunchPageConfig.TOOLS, launchPageConfig = LaunchPageConfig.Tools,
themeBrandConfig = ThemeBrandConfig.DEFAULT, themeBrandConfig = ThemeBrandConfig.Default,
darkThemeConfig = DarkThemeConfig.FOLLOW_SYSTEM, darkThemeConfig = DarkThemeConfig.FollowSystem,
useDynamicColor = true useDynamicColor = true
) )
), ),

View File

@@ -11,9 +11,9 @@ import java.util.Locale
object LocaleUtils { object LocaleUtils {
fun switchLocale(activity: Activity, languageConfig: LanguageConfig) { fun switchLocale(activity: Activity, languageConfig: LanguageConfig) {
val newLanguage = when (languageConfig) { val newLanguage = when (languageConfig) {
LanguageConfig.FOLLOW_SYSTEM -> ResourcesUtils.getSystemLocale().get(0)!!.language LanguageConfig.FollowSystem -> ResourcesUtils.getSystemLocale().get(0)!!.language
LanguageConfig.CHINESE -> "zh" LanguageConfig.Chinese -> "zh"
LanguageConfig.ENGLISH -> "en" LanguageConfig.English -> "en"
} }
val currentLanguage = ResourcesUtils.getAppLocale(activity).language val currentLanguage = ResourcesUtils.getAppLocale(activity).language
if (newLanguage != currentLanguage) { if (newLanguage != currentLanguage) {
@@ -33,9 +33,9 @@ object LocaleUtils {
private fun getLocaleFromLanguageConfig(languageConfig: LanguageConfig): Locale = private fun getLocaleFromLanguageConfig(languageConfig: LanguageConfig): Locale =
when (languageConfig) { when (languageConfig) {
LanguageConfig.FOLLOW_SYSTEM -> ResourcesUtils.getSystemLocale().get(0)!! LanguageConfig.FollowSystem -> ResourcesUtils.getSystemLocale().get(0)!!
LanguageConfig.CHINESE -> Locale("zh") LanguageConfig.Chinese -> Locale("zh")
LanguageConfig.ENGLISH -> Locale("en") LanguageConfig.English -> Locale("en")
} }
@RequiresApi(Build.VERSION_CODES.N) @RequiresApi(Build.VERSION_CODES.N)