Refactor(Enum): Change all caps to camel case
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>>
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
}
|
}
|
||||||
@@ -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")
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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>>
|
||||||
}
|
}
|
||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user