Rename settings screens
This commit is contained in:
parent
b2f7e34fd3
commit
c360753904
@ -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}",
|
||||||
|
|||||||
@ -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}",
|
||||||
|
|||||||
@ -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)) {
|
||||||
@ -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()
|
||||||
@ -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 {
|
||||||
@ -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()
|
||||||
@ -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),
|
||||||
@ -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)) {
|
||||||
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user