Icon settings: use correct shape for preview
This commit is contained in:
parent
234bfd51df
commit
6ea9751535
@ -7,7 +7,6 @@ import androidx.compose.animation.fadeIn
|
|||||||
import androidx.compose.animation.fadeOut
|
import androidx.compose.animation.fadeOut
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.collectAsState
|
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.navigation.navArgument
|
import androidx.navigation.navArgument
|
||||||
@ -17,13 +16,11 @@ import com.google.accompanist.navigation.animation.rememberAnimatedNavController
|
|||||||
import de.mm20.launcher2.licenses.AppLicense
|
import de.mm20.launcher2.licenses.AppLicense
|
||||||
import de.mm20.launcher2.licenses.OpenSourceLicenses
|
import de.mm20.launcher2.licenses.OpenSourceLicenses
|
||||||
import de.mm20.launcher2.preferences.LauncherDataStore
|
import de.mm20.launcher2.preferences.LauncherDataStore
|
||||||
import de.mm20.launcher2.preferences.Settings
|
|
||||||
import de.mm20.launcher2.ui.base.BaseActivity
|
import de.mm20.launcher2.ui.base.BaseActivity
|
||||||
import de.mm20.launcher2.ui.locals.LocalCardStyle
|
import de.mm20.launcher2.ui.base.ProvideSettings
|
||||||
import de.mm20.launcher2.ui.locals.LocalNavController
|
import de.mm20.launcher2.ui.locals.LocalNavController
|
||||||
import de.mm20.launcher2.ui.locals.LocalWallpaperColors
|
import de.mm20.launcher2.ui.locals.LocalWallpaperColors
|
||||||
import de.mm20.launcher2.ui.settings.about.AboutSettingsScreen
|
import de.mm20.launcher2.ui.settings.about.AboutSettingsScreen
|
||||||
import de.mm20.launcher2.ui.settings.integrations.IntegrationsSettingsScreen
|
|
||||||
import de.mm20.launcher2.ui.settings.appearance.AppearanceSettingsScreen
|
import de.mm20.launcher2.ui.settings.appearance.AppearanceSettingsScreen
|
||||||
import de.mm20.launcher2.ui.settings.backup.BackupSettingsScreen
|
import de.mm20.launcher2.ui.settings.backup.BackupSettingsScreen
|
||||||
import de.mm20.launcher2.ui.settings.buildinfo.BuildInfoSettingsScreen
|
import de.mm20.launcher2.ui.settings.buildinfo.BuildInfoSettingsScreen
|
||||||
@ -41,6 +38,7 @@ import de.mm20.launcher2.ui.settings.gestures.GestureSettingsScreen
|
|||||||
import de.mm20.launcher2.ui.settings.hiddenitems.HiddenItemsSettingsScreen
|
import de.mm20.launcher2.ui.settings.hiddenitems.HiddenItemsSettingsScreen
|
||||||
import de.mm20.launcher2.ui.settings.homescreen.HomescreenSettingsScreen
|
import de.mm20.launcher2.ui.settings.homescreen.HomescreenSettingsScreen
|
||||||
import de.mm20.launcher2.ui.settings.icons.IconsSettingsScreen
|
import de.mm20.launcher2.ui.settings.icons.IconsSettingsScreen
|
||||||
|
import de.mm20.launcher2.ui.settings.integrations.IntegrationsSettingsScreen
|
||||||
import de.mm20.launcher2.ui.settings.license.LicenseScreen
|
import de.mm20.launcher2.ui.settings.license.LicenseScreen
|
||||||
import de.mm20.launcher2.ui.settings.log.LogScreen
|
import de.mm20.launcher2.ui.settings.log.LogScreen
|
||||||
import de.mm20.launcher2.ui.settings.main.MainSettingsScreen
|
import de.mm20.launcher2.ui.settings.main.MainSettingsScreen
|
||||||
@ -53,8 +51,6 @@ import de.mm20.launcher2.ui.settings.weather.WeatherIntegrationSettingsScreen
|
|||||||
import de.mm20.launcher2.ui.settings.wikipedia.WikipediaSettingsScreen
|
import de.mm20.launcher2.ui.settings.wikipedia.WikipediaSettingsScreen
|
||||||
import de.mm20.launcher2.ui.theme.LauncherTheme
|
import de.mm20.launcher2.ui.theme.LauncherTheme
|
||||||
import de.mm20.launcher2.ui.theme.wallpaperColorsAsState
|
import de.mm20.launcher2.ui.theme.wallpaperColorsAsState
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
|
||||||
import kotlinx.coroutines.flow.map
|
|
||||||
import org.koin.android.ext.android.inject
|
import org.koin.android.ext.android.inject
|
||||||
import java.net.URLDecoder
|
import java.net.URLDecoder
|
||||||
|
|
||||||
@ -72,135 +68,130 @@ class SettingsActivity : BaseActivity() {
|
|||||||
intent.getStringExtra(EXTRA_ROUTE)
|
intent.getStringExtra(EXTRA_ROUTE)
|
||||||
?.let { navController.navigate(it) }
|
?.let { navController.navigate(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
val cardStyle by remember {
|
|
||||||
dataStore.data.map { it.cards }.distinctUntilChanged()
|
|
||||||
}.collectAsState(
|
|
||||||
Settings.CardSettings.getDefaultInstance()
|
|
||||||
)
|
|
||||||
val wallpaperColors by wallpaperColorsAsState()
|
val wallpaperColors by wallpaperColorsAsState()
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalNavController provides navController,
|
LocalNavController provides navController,
|
||||||
LocalCardStyle provides cardStyle,
|
|
||||||
LocalWallpaperColors provides wallpaperColors,
|
LocalWallpaperColors provides wallpaperColors,
|
||||||
) {
|
) {
|
||||||
LauncherTheme {
|
ProvideSettings {
|
||||||
AnimatedNavHost(
|
LauncherTheme {
|
||||||
navController = navController,
|
AnimatedNavHost(
|
||||||
startDestination = "settings",
|
navController = navController,
|
||||||
exitTransition = { fadeOut(tween(300, 300)) },
|
startDestination = "settings",
|
||||||
enterTransition = { fadeIn(tween(200)) },
|
exitTransition = { fadeOut(tween(300, 300)) },
|
||||||
popEnterTransition = { fadeIn(tween(0)) },
|
enterTransition = { fadeIn(tween(200)) },
|
||||||
popExitTransition = { fadeOut(tween(200)) },
|
popEnterTransition = { fadeIn(tween(0)) },
|
||||||
) {
|
popExitTransition = { fadeOut(tween(200)) },
|
||||||
composable("settings") {
|
|
||||||
MainSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/appearance") {
|
|
||||||
AppearanceSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/homescreen") {
|
|
||||||
HomescreenSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/icons") {
|
|
||||||
IconsSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/appearance/colorscheme") {
|
|
||||||
ColorSchemeSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/appearance/colorscheme/custom") {
|
|
||||||
CustomColorSchemeSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/appearance/cards") {
|
|
||||||
CardsSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search") {
|
|
||||||
SearchSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/gestures") {
|
|
||||||
GestureSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search/unitconverter") {
|
|
||||||
UnitConverterSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search/wikipedia") {
|
|
||||||
WikipediaSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search/files") {
|
|
||||||
FileSearchSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search/searchactions") {
|
|
||||||
SearchActionsSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search/hiddenitems") {
|
|
||||||
HiddenItemsSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/search/tags") {
|
|
||||||
TagsSettingsScreen()
|
|
||||||
}
|
|
||||||
composable(ROUTE_WEATHER_INTEGRATION) {
|
|
||||||
WeatherIntegrationSettingsScreen()
|
|
||||||
}
|
|
||||||
composable(ROUTE_MEDIA_INTEGRATION) {
|
|
||||||
MediaIntegrationSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/homescreen/clock") {
|
|
||||||
ClockWidgetSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/favorites") {
|
|
||||||
FavoritesSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/integrations") {
|
|
||||||
IntegrationsSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/about") {
|
|
||||||
AboutSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/about/buildinfo") {
|
|
||||||
BuildInfoSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/about/easteregg") {
|
|
||||||
EasterEggSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/debug") {
|
|
||||||
DebugSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/backup") {
|
|
||||||
BackupSettingsScreen()
|
|
||||||
}
|
|
||||||
composable("settings/debug/crashreporter") {
|
|
||||||
CrashReporterScreen()
|
|
||||||
}
|
|
||||||
composable("settings/debug/logs") {
|
|
||||||
LogScreen()
|
|
||||||
}
|
|
||||||
composable(
|
|
||||||
"settings/debug/crashreporter/report?fileName={fileName}",
|
|
||||||
arguments = listOf(navArgument("fileName") {
|
|
||||||
nullable = false
|
|
||||||
})
|
|
||||||
) {
|
) {
|
||||||
val fileName = it.arguments?.getString("fileName")
|
composable("settings") {
|
||||||
?.let {
|
MainSettingsScreen()
|
||||||
URLDecoder.decode(it, "utf8")
|
}
|
||||||
}
|
composable("settings/appearance") {
|
||||||
CrashReportScreen(fileName!!)
|
AppearanceSettingsScreen()
|
||||||
}
|
}
|
||||||
composable(
|
composable("settings/homescreen") {
|
||||||
"settings/license?library={libraryName}",
|
HomescreenSettingsScreen()
|
||||||
arguments = listOf(navArgument("libraryName") {
|
}
|
||||||
nullable = true
|
composable("settings/icons") {
|
||||||
})
|
IconsSettingsScreen()
|
||||||
) {
|
}
|
||||||
val libraryName = it.arguments?.getString("libraryName")
|
composable("settings/appearance/colorscheme") {
|
||||||
val library = remember(libraryName) {
|
ColorSchemeSettingsScreen()
|
||||||
if (libraryName == null) {
|
}
|
||||||
AppLicense.get(this@SettingsActivity)
|
composable("settings/appearance/colorscheme/custom") {
|
||||||
} else {
|
CustomColorSchemeSettingsScreen()
|
||||||
OpenSourceLicenses.first { it.name == libraryName }
|
}
|
||||||
}
|
composable("settings/appearance/cards") {
|
||||||
|
CardsSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search") {
|
||||||
|
SearchSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/gestures") {
|
||||||
|
GestureSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search/unitconverter") {
|
||||||
|
UnitConverterSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search/wikipedia") {
|
||||||
|
WikipediaSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search/files") {
|
||||||
|
FileSearchSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search/searchactions") {
|
||||||
|
SearchActionsSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search/hiddenitems") {
|
||||||
|
HiddenItemsSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/search/tags") {
|
||||||
|
TagsSettingsScreen()
|
||||||
|
}
|
||||||
|
composable(ROUTE_WEATHER_INTEGRATION) {
|
||||||
|
WeatherIntegrationSettingsScreen()
|
||||||
|
}
|
||||||
|
composable(ROUTE_MEDIA_INTEGRATION) {
|
||||||
|
MediaIntegrationSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/homescreen/clock") {
|
||||||
|
ClockWidgetSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/favorites") {
|
||||||
|
FavoritesSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/integrations") {
|
||||||
|
IntegrationsSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/about") {
|
||||||
|
AboutSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/about/buildinfo") {
|
||||||
|
BuildInfoSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/about/easteregg") {
|
||||||
|
EasterEggSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/debug") {
|
||||||
|
DebugSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/backup") {
|
||||||
|
BackupSettingsScreen()
|
||||||
|
}
|
||||||
|
composable("settings/debug/crashreporter") {
|
||||||
|
CrashReporterScreen()
|
||||||
|
}
|
||||||
|
composable("settings/debug/logs") {
|
||||||
|
LogScreen()
|
||||||
|
}
|
||||||
|
composable(
|
||||||
|
"settings/debug/crashreporter/report?fileName={fileName}",
|
||||||
|
arguments = listOf(navArgument("fileName") {
|
||||||
|
nullable = false
|
||||||
|
})
|
||||||
|
) {
|
||||||
|
val fileName = it.arguments?.getString("fileName")
|
||||||
|
?.let {
|
||||||
|
URLDecoder.decode(it, "utf8")
|
||||||
|
}
|
||||||
|
CrashReportScreen(fileName!!)
|
||||||
|
}
|
||||||
|
composable(
|
||||||
|
"settings/license?library={libraryName}",
|
||||||
|
arguments = listOf(navArgument("libraryName") {
|
||||||
|
nullable = true
|
||||||
|
})
|
||||||
|
) {
|
||||||
|
val libraryName = it.arguments?.getString("libraryName")
|
||||||
|
val library = remember(libraryName) {
|
||||||
|
if (libraryName == null) {
|
||||||
|
AppLicense.get(this@SettingsActivity)
|
||||||
|
} else {
|
||||||
|
OpenSourceLicenses.first { it.name == libraryName }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LicenseScreen(library)
|
||||||
}
|
}
|
||||||
LicenseScreen(library)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user