Rename settings screens

This commit is contained in:
MM20 2022-01-04 18:53:41 +01:00
parent b2f7e34fd3
commit c360753904
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
9 changed files with 23 additions and 31 deletions

View File

@ -1,7 +1,6 @@
package de.mm20.launcher2.ui.activity package de.mm20.launcher2.ui.activity
import android.appwidget.AppWidgetHost import android.appwidget.AppWidgetHost
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.activity.compose.setContent import androidx.activity.compose.setContent
@ -18,7 +17,6 @@ import com.google.accompanist.insets.ProvideWindowInsets
import com.google.accompanist.navigation.animation.AnimatedNavHost import com.google.accompanist.navigation.animation.AnimatedNavHost
import com.google.accompanist.navigation.animation.composable import com.google.accompanist.navigation.animation.composable
import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.google.accompanist.navigation.animation.rememberAnimatedNavController
import de.mm20.launcher2.ktx.isAtLeastApiLevel
import de.mm20.launcher2.preferences.Settings import de.mm20.launcher2.preferences.Settings
import de.mm20.launcher2.ui.LauncherTheme import de.mm20.launcher2.ui.LauncherTheme
import de.mm20.launcher2.ui.locals.LocalAppWidgetHost import de.mm20.launcher2.ui.locals.LocalAppWidgetHost
@ -27,10 +25,8 @@ import de.mm20.launcher2.ui.locals.LocalNavController
import de.mm20.launcher2.ui.locals.LocalWindowSize import de.mm20.launcher2.ui.locals.LocalWindowSize
import de.mm20.launcher2.ui.screens.LauncherMainScreen import de.mm20.launcher2.ui.screens.LauncherMainScreen
import de.mm20.launcher2.ui.screens.settings.* import de.mm20.launcher2.ui.screens.settings.*
import de.mm20.launcher2.ui.settings.appearance.AppearanceScreen import de.mm20.launcher2.ui.settings.appearance.AppearanceSettingsScreen
import de.mm20.launcher2.ui.theme.colors.* import de.mm20.launcher2.ui.theme.colors.*
import de.mm20.launcher2.ui.theme.wallpaperColorsAsState
import kotlinx.coroutines.flow.map
class ComposeActivity : AppCompatActivity() { class ComposeActivity : AppCompatActivity() {
@ -96,7 +92,7 @@ class ComposeActivity : AppCompatActivity() {
SettingsAccountScreen() SettingsAccountScreen()
} }
composable("settings/appearance") { composable("settings/appearance") {
AppearanceScreen() AppearanceSettingsScreen()
} }
composable( composable(
"settings/license?library={libraryName}", "settings/license?library={libraryName}",

View File

@ -21,11 +21,11 @@ import de.mm20.launcher2.ui.LegacyLauncherTheme
import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.base.BaseActivity import de.mm20.launcher2.ui.base.BaseActivity
import de.mm20.launcher2.ui.locals.LocalNavController import de.mm20.launcher2.ui.locals.LocalNavController
import de.mm20.launcher2.ui.settings.about.AboutScreen import de.mm20.launcher2.ui.settings.about.AboutSettingsScreen
import de.mm20.launcher2.ui.settings.appearance.AppearanceScreen import de.mm20.launcher2.ui.settings.appearance.AppearanceSettingsScreen
import de.mm20.launcher2.ui.settings.license.LicenseScreen import de.mm20.launcher2.ui.settings.license.LicenseScreen
import de.mm20.launcher2.ui.settings.main.MainScreen import de.mm20.launcher2.ui.settings.main.MainSettingsScreen
import de.mm20.launcher2.ui.settings.weather.WeatherScreen import de.mm20.launcher2.ui.settings.weatherwidget.WeatherWidgetSettingsScreen
class SettingsActivity : BaseActivity() { class SettingsActivity : BaseActivity() {
@ -76,16 +76,16 @@ class SettingsActivity : BaseActivity() {
popExitTransition = { fadeOut(tween(200)) }, popExitTransition = { fadeOut(tween(200)) },
) { ) {
composable("settings") { composable("settings") {
MainScreen() MainSettingsScreen()
} }
composable("settings/appearance") { composable("settings/appearance") {
AppearanceScreen() AppearanceSettingsScreen()
} }
composable("settings/weather") { composable("settings/weather") {
WeatherScreen() WeatherWidgetSettingsScreen()
} }
composable("settings/about") { composable("settings/about") {
AboutScreen() AboutSettingsScreen()
} }
composable( composable(
"settings/license?library={libraryName}", "settings/license?library={libraryName}",

View File

@ -21,8 +21,8 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@Composable @Composable
fun AboutScreen() { fun AboutSettingsScreen() {
val viewModel: AboutScreenVM = viewModel() val viewModel: AboutSettingsScreenVM = viewModel()
val navController = LocalNavController.current val navController = LocalNavController.current
val context = LocalContext.current val context = LocalContext.current
PreferenceScreen(title = stringResource(R.string.preference_screen_about)) { PreferenceScreen(title = stringResource(R.string.preference_screen_about)) {

View File

@ -2,4 +2,4 @@ package de.mm20.launcher2.ui.settings.about
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
class AboutScreenVM : ViewModel() class AboutSettingsScreenVM : ViewModel()

View File

@ -4,19 +4,16 @@ import androidx.compose.runtime.*
import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import de.mm20.launcher2.preferences.Settings
import de.mm20.launcher2.preferences.Settings.AppearanceSettings.ColorScheme import de.mm20.launcher2.preferences.Settings.AppearanceSettings.ColorScheme
import de.mm20.launcher2.preferences.Settings.AppearanceSettings.Theme import de.mm20.launcher2.preferences.Settings.AppearanceSettings.Theme
import de.mm20.launcher2.ui.R import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.preferences.ListPreference import de.mm20.launcher2.ui.component.preferences.ListPreference
import de.mm20.launcher2.ui.component.preferences.Preference
import de.mm20.launcher2.ui.component.preferences.PreferenceCategory import de.mm20.launcher2.ui.component.preferences.PreferenceCategory
import de.mm20.launcher2.ui.component.preferences.PreferenceScreen import de.mm20.launcher2.ui.component.preferences.PreferenceScreen
import de.mm20.launcher2.ui.locals.LocalNavController
@Composable @Composable
fun AppearanceScreen() { fun AppearanceSettingsScreen() {
val viewModel: AppearanceScreenVM = viewModel() val viewModel: AppearanceSettingsScreenVM = viewModel()
PreferenceScreen(title = stringResource(id = R.string.preference_screen_appearance)) { PreferenceScreen(title = stringResource(id = R.string.preference_screen_appearance)) {
item { item {
PreferenceCategory { PreferenceCategory {

View File

@ -11,7 +11,7 @@ import kotlinx.coroutines.launch
import org.koin.core.component.KoinComponent import org.koin.core.component.KoinComponent
import org.koin.core.component.inject import org.koin.core.component.inject
class AppearanceScreenVM : ViewModel(), KoinComponent { class AppearanceSettingsScreenVM : ViewModel(), KoinComponent {
private val dataStore: LauncherDataStore by inject() private val dataStore: LauncherDataStore by inject()
val theme = dataStore.data.map { it.appearance.theme }.asLiveData() val theme = dataStore.data.map { it.appearance.theme }.asLiveData()

View File

@ -14,7 +14,7 @@ import de.mm20.launcher2.ui.icons.NotificationBadge
import de.mm20.launcher2.ui.locals.LocalNavController import de.mm20.launcher2.ui.locals.LocalNavController
@Composable @Composable
fun MainScreen() { fun MainSettingsScreen() {
val navController = LocalNavController.current val navController = LocalNavController.current
PreferenceScreen( PreferenceScreen(
title = stringResource(R.string.settings), title = stringResource(R.string.settings),

View File

@ -1,4 +1,4 @@
package de.mm20.launcher2.ui.settings.weather package de.mm20.launcher2.ui.settings.weatherwidget
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.AnimatedVisibility
@ -19,8 +19,8 @@ import de.mm20.launcher2.ui.component.preferences.*
import de.mm20.launcher2.weather.WeatherLocation import de.mm20.launcher2.weather.WeatherLocation
@Composable @Composable
fun WeatherScreen() { fun WeatherWidgetSettingsScreen() {
val viewModel: WeatherScreenVM = viewModel() val viewModel: WeatherWidgetSettingsScreenVM = viewModel()
val context = LocalContext.current val context = LocalContext.current
PreferenceScreen(title = stringResource(R.string.preference_screen_weather)) { PreferenceScreen(title = stringResource(R.string.preference_screen_weather)) {

View File

@ -1,4 +1,4 @@
package de.mm20.launcher2.ui.settings.weather package de.mm20.launcher2.ui.settings.weatherwidget
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
@ -17,9 +17,8 @@ import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import org.koin.core.component.KoinComponent import org.koin.core.component.KoinComponent
import org.koin.core.component.inject import org.koin.core.component.inject
import kotlin.coroutines.coroutineContext
class WeatherScreenVM : ViewModel(), KoinComponent { class WeatherWidgetSettingsScreenVM : ViewModel(), KoinComponent {
private val repository: WeatherRepository by inject() private val repository: WeatherRepository by inject()
private val dataStore: LauncherDataStore by inject() private val dataStore: LauncherDataStore by inject()
private val permissionsManager: PermissionsManager by inject() private val permissionsManager: PermissionsManager by inject()
@ -63,7 +62,7 @@ class WeatherScreenVM : ViewModel(), KoinComponent {
if (autoLoc) lastLoc if (autoLoc) lastLoc
else loc else loc
}.collectLatest { }.collectLatest {
this@WeatherScreenVM.location.postValue(it) this@WeatherWidgetSettingsScreenVM.location.postValue(it)
} }
} }
} }