fix: Migrate fallback styling to Material 3 Expressive for consistent look in Backup & Restore
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
This commit is contained in:
@@ -16,6 +16,8 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -42,9 +44,11 @@ import app.lawnchair.ui.preferences.components.DummyLauncherBox
|
||||
import app.lawnchair.ui.preferences.components.WallpaperAccessPermissionDialog
|
||||
import app.lawnchair.ui.preferences.components.WallpaperPreview
|
||||
import app.lawnchair.ui.preferences.components.WithWallpaper
|
||||
import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.controls.FlagSwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.navigation.AppDrawerFolder
|
||||
import app.lawnchair.util.BackHandler
|
||||
import app.lawnchair.util.FileAccessState
|
||||
import app.lawnchair.util.hasFlag
|
||||
@@ -52,6 +56,7 @@ import app.lawnchair.util.removeFlag
|
||||
import com.android.launcher3.R
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
|
||||
@Composable
|
||||
fun CreateBackupScreen(
|
||||
viewModel: CreateBackupViewModel,
|
||||
@@ -151,25 +156,29 @@ fun CreateBackupScreen(
|
||||
}
|
||||
|
||||
PreferenceGroup(heading = stringResource(id = R.string.what_to_backup)) {
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = viewModel::setBackupContents,
|
||||
mask = LawnchairBackup.INCLUDE_LAYOUT_AND_SETTINGS,
|
||||
label = stringResource(id = R.string.backup_content_layout_and_settings),
|
||||
)
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = {
|
||||
if (it.hasFlag(LawnchairBackup.INCLUDE_WALLPAPER) && !hasWallpaperPermission) {
|
||||
showPermissionDialog = true
|
||||
} else {
|
||||
viewModel.setBackupContents(it)
|
||||
}
|
||||
},
|
||||
mask = LawnchairBackup.INCLUDE_WALLPAPER,
|
||||
label = stringResource(id = R.string.backup_content_wallpaper),
|
||||
enabled = !hasLiveWallpaper,
|
||||
)
|
||||
Item {
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = viewModel::setBackupContents,
|
||||
mask = LawnchairBackup.INCLUDE_LAYOUT_AND_SETTINGS,
|
||||
label = stringResource(id = R.string.backup_content_layout_and_settings),
|
||||
)
|
||||
}
|
||||
Item {
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = {
|
||||
if (it.hasFlag(LawnchairBackup.INCLUDE_WALLPAPER) && !hasWallpaperPermission) {
|
||||
showPermissionDialog = true
|
||||
} else {
|
||||
viewModel.setBackupContents(it)
|
||||
}
|
||||
},
|
||||
mask = LawnchairBackup.INCLUDE_WALLPAPER,
|
||||
label = stringResource(id = R.string.backup_content_wallpaper),
|
||||
enabled = !hasLiveWallpaper,
|
||||
)
|
||||
}
|
||||
}
|
||||
Box(
|
||||
modifier = Modifier
|
||||
@@ -183,6 +192,7 @@ fun CreateBackupScreen(
|
||||
.align(Alignment.CenterEnd)
|
||||
.fillMaxWidth(),
|
||||
enabled = contents != 0 && screenshotDone && !creatingBackup,
|
||||
shapes = ButtonDefaults.shapes()
|
||||
) {
|
||||
Text(text = stringResource(id = R.string.action_create))
|
||||
}
|
||||
|
||||
@@ -16,7 +16,9 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -110,6 +112,7 @@ fun RestoreBackupScreen(
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
|
||||
@Composable
|
||||
fun ColumnScope.RestoreBackupOptions(
|
||||
isPortrait: Boolean,
|
||||
@@ -177,20 +180,24 @@ fun ColumnScope.RestoreBackupOptions(
|
||||
modifier = modifier,
|
||||
heading = stringResource(id = R.string.what_to_restore),
|
||||
) {
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = viewModel::setBackupContents,
|
||||
mask = LawnchairBackup.INCLUDE_LAYOUT_AND_SETTINGS,
|
||||
label = stringResource(id = R.string.backup_content_layout_and_settings),
|
||||
enabled = backupContents.hasFlag(LawnchairBackup.INCLUDE_LAYOUT_AND_SETTINGS),
|
||||
)
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = viewModel::setBackupContents,
|
||||
mask = LawnchairBackup.INCLUDE_WALLPAPER,
|
||||
label = stringResource(id = R.string.backup_content_wallpaper),
|
||||
enabled = backupContents.hasFlag(LawnchairBackup.INCLUDE_WALLPAPER),
|
||||
)
|
||||
Item {
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = viewModel::setBackupContents,
|
||||
mask = LawnchairBackup.INCLUDE_LAYOUT_AND_SETTINGS,
|
||||
label = stringResource(id = R.string.backup_content_layout_and_settings),
|
||||
enabled = backupContents.hasFlag(LawnchairBackup.INCLUDE_LAYOUT_AND_SETTINGS),
|
||||
)
|
||||
}
|
||||
Item {
|
||||
FlagSwitchPreference(
|
||||
flags = contents,
|
||||
setFlags = viewModel::setBackupContents,
|
||||
mask = LawnchairBackup.INCLUDE_WALLPAPER,
|
||||
label = stringResource(id = R.string.backup_content_wallpaper),
|
||||
enabled = backupContents.hasFlag(LawnchairBackup.INCLUDE_WALLPAPER),
|
||||
)
|
||||
}
|
||||
}
|
||||
Box(
|
||||
modifier = Modifier
|
||||
@@ -204,6 +211,7 @@ fun ColumnScope.RestoreBackupOptions(
|
||||
.align(Alignment.CenterEnd)
|
||||
.fillMaxWidth(),
|
||||
enabled = contents != 0 && !restoringBackup,
|
||||
shapes = ButtonDefaults.shapes()
|
||||
) {
|
||||
Text(text = stringResource(id = R.string.action_restore))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user