refactor: Replace old PreferenceGroup
PreferenceGroupPositionAware is now stable enough, replace the old PreferenceGroup with this
This commit is contained in:
@@ -47,7 +47,7 @@ import androidx.compose.ui.unit.dp
|
||||
import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupHeading
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.theme.preferenceGroupColor
|
||||
import app.lawnchair.ui.util.addIf
|
||||
@@ -144,7 +144,7 @@ fun <T> DraggablePreferenceGroup(
|
||||
}
|
||||
|
||||
ExpandAndShrink(visible = localItems != defaultList) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
ClickablePreference(label = stringResource(id = R.string.action_reset)) {
|
||||
onOrderChange(defaultList)
|
||||
|
||||
@@ -38,21 +38,11 @@ import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateListOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.snapshots.SnapshotStateList
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.drawBehind
|
||||
import androidx.compose.ui.geometry.Size
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.Shape
|
||||
import androidx.compose.ui.graphics.drawOutline
|
||||
import androidx.compose.ui.graphics.drawscope.translate
|
||||
import androidx.compose.ui.layout.Layout
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.semantics.heading
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
@@ -60,52 +50,12 @@ import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import app.lawnchair.ui.theme.preferenceGroupColor
|
||||
|
||||
@Composable
|
||||
fun PreferenceGroup(
|
||||
modifier: Modifier = Modifier,
|
||||
heading: String? = null,
|
||||
description: String? = null,
|
||||
showDescription: Boolean = true,
|
||||
showDividers: Boolean = true,
|
||||
dividerStartIndent: Dp = 0.dp,
|
||||
dividerEndIndent: Dp = 0.dp,
|
||||
dividersToSkip: Int = 0,
|
||||
dividerColor: Color = MaterialTheme.colorScheme.surface,
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
Column(
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupHeading(heading)
|
||||
Surface(
|
||||
modifier = Modifier.padding(horizontal = 16.dp),
|
||||
shape = RoundedCornerShape(24.dp),
|
||||
color = preferenceGroupColor(),
|
||||
) {
|
||||
if (showDividers) {
|
||||
DividerColumn(
|
||||
startIndent = dividerStartIndent,
|
||||
endIndent = dividerEndIndent,
|
||||
content = content,
|
||||
dividersToSkip = dividersToSkip,
|
||||
color = dividerColor,
|
||||
)
|
||||
} else {
|
||||
Column {
|
||||
content()
|
||||
}
|
||||
}
|
||||
}
|
||||
PreferenceGroupDescription(description = description, showDescription = showDescription)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PreferenceGroup with scope-based content for position-aware items.
|
||||
* Items added via scope automatically get isFirst/isLast tracking
|
||||
*/
|
||||
@Composable
|
||||
fun PreferenceGroupPositionAware(
|
||||
fun PreferenceGroup(
|
||||
modifier: Modifier = Modifier,
|
||||
heading: String? = null,
|
||||
description: String? = null,
|
||||
|
||||
+4
-4
@@ -30,7 +30,7 @@ import app.lawnchair.ui.preferences.components.controls.ListPreferenceEntry
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.preferences.destinations.DockPreferencesPreview
|
||||
import app.lawnchair.ui.preferences.navigation.DockSearchProvider
|
||||
@@ -54,7 +54,7 @@ fun DockSearchPreference(
|
||||
val isLawnchairHotseat = hotseatModeAdapter.state.value == LawnchairHotseat
|
||||
if (hotseatEnabled) {
|
||||
Column {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
HotseatModePreference(
|
||||
adapter = hotseatModeAdapter,
|
||||
@@ -69,7 +69,7 @@ fun DockSearchPreference(
|
||||
ExpandAndShrink(visible = isLawnchairHotseat) {
|
||||
Column {
|
||||
val hotseatQsbProviderAdapter by preferenceManager2().hotseatQsbProvider.getAdapter()
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(R.string.search_bar_settings),
|
||||
) {
|
||||
item { _ ->
|
||||
@@ -84,7 +84,7 @@ fun DockSearchPreference(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(R.string.style),
|
||||
) {
|
||||
item { _ ->
|
||||
|
||||
+3
-3
@@ -21,7 +21,7 @@ import app.lawnchair.ui.preferences.components.controls.ListPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.ListPreferenceEntry
|
||||
import app.lawnchair.ui.preferences.components.controls.MainSwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.navigation.SearchProviderPreference
|
||||
import app.lawnchair.util.FileAccessManager
|
||||
import com.android.launcher3.R
|
||||
@@ -45,7 +45,7 @@ fun DrawerSearchPreference(
|
||||
label = stringResource(id = R.string.show_app_search_bar),
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupPositionAware(heading = stringResource(R.string.general_label)) {
|
||||
PreferenceGroup(heading = stringResource(R.string.general_label)) {
|
||||
if (hiddenApps.isNotEmpty()) {
|
||||
item { _ -> HiddenAppsInSearchPreference() }
|
||||
}
|
||||
@@ -71,7 +71,7 @@ fun DrawerSearchPreference(
|
||||
|
||||
val searchAlgorithm = preferenceManager2().searchAlgorithm.getAdapter().state.value
|
||||
val navController = LocalNavController.current
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.show_search_result_types)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.show_search_result_types)) {
|
||||
if (searchAlgorithm != LawnchairSearchAlgorithm.ASI_SEARCH) {
|
||||
val canDisable = searchAlgorithm != LawnchairSearchAlgorithm.APP_SEARCH
|
||||
val adapter = prefs.searchResultApps.getAdapter()
|
||||
|
||||
@@ -52,7 +52,7 @@ import app.lawnchair.ui.preferences.components.controls.MainSwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.theme.dividerColor
|
||||
import app.lawnchair.ui.util.isPlayStoreFlavor
|
||||
@@ -109,7 +109,7 @@ fun FileSearchProvider(
|
||||
enabled = hasAnyPermissions,
|
||||
modifier = modifier,
|
||||
)
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(R.string.search_pref_files_search_on),
|
||||
) {
|
||||
val allFilesAccessState by viewModel.allFilesAccessState.collectAsStateWithLifecycle()
|
||||
@@ -158,7 +158,7 @@ fun FileSearchProvider(
|
||||
}
|
||||
|
||||
ExpandAndShrink(hasAnyPermissions) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(id = R.string.max_file_result_count_title),
|
||||
|
||||
+3
-3
@@ -39,7 +39,7 @@ import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.controls.MainSwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.theme.dividerColor
|
||||
@@ -172,7 +172,7 @@ fun ContactsSearchProvider(
|
||||
modifier = modifier,
|
||||
enabled = contactsPermissionState.status.isGranted,
|
||||
) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(R.string.max_people_result_count_title),
|
||||
@@ -224,7 +224,7 @@ fun GenericSearchProviderPreference(
|
||||
label = stringResource(getProviderName(provider)),
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(
|
||||
|
||||
+3
-4
@@ -47,7 +47,6 @@ import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.LoadingScreen
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.preferences.navigation.AppDrawerAppListToFolder
|
||||
@@ -63,7 +62,7 @@ fun AppDrawerFolderPreferenceItem(
|
||||
) {
|
||||
val navController = LocalNavController.current
|
||||
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
modifier = modifier,
|
||||
) {
|
||||
item { _ ->
|
||||
@@ -153,7 +152,7 @@ fun AppDrawerFoldersPreference(
|
||||
label = stringResource(id = R.string.app_drawer_folder),
|
||||
backArrowVisible = true,
|
||||
) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(R.string.settings),
|
||||
) {
|
||||
item { _ ->
|
||||
@@ -164,7 +163,7 @@ fun AppDrawerFoldersPreference(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(R.string.folders_label)) {
|
||||
PreferenceGroup(heading = stringResource(R.string.folders_label)) {
|
||||
item { _ ->
|
||||
PreferenceTemplate(
|
||||
title = {},
|
||||
|
||||
@@ -47,7 +47,7 @@ import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreferenceWithPreview
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.navigation.AppDrawerHiddenApps
|
||||
import com.android.launcher3.R
|
||||
@@ -76,7 +76,7 @@ fun AppDrawerPreferences(
|
||||
AppDrawerFolderPreferenceItem()
|
||||
}
|
||||
val hiddenApps = prefs2.hiddenApps.getAdapter().state.value
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.general_label)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.general_label)) {
|
||||
item { _ ->
|
||||
NavigationActionPreference(
|
||||
label = stringResource(id = R.string.hidden_apps_label),
|
||||
@@ -87,7 +87,7 @@ fun AppDrawerPreferences(
|
||||
item { _ -> SearchBarPreference(SearchRoute.DRAWER_SEARCH, showLabel = false) }
|
||||
item { _ -> SuggestionsPreference() }
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(R.string.style)) {
|
||||
PreferenceGroup(heading = stringResource(R.string.style)) {
|
||||
item { _ -> ColorPreference(preference = prefs2.appDrawerBackgroundColor) }
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
@@ -105,7 +105,7 @@ fun AppDrawerPreferences(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.grid)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.grid)) {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(id = R.string.app_drawer_columns),
|
||||
@@ -134,7 +134,7 @@ fun AppDrawerPreferences(
|
||||
}
|
||||
}
|
||||
val showDrawerLabels = prefs2.showIconLabelsInDrawer.getAdapter()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.icons)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.icons)) {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(id = R.string.icon_sizes),
|
||||
@@ -168,7 +168,7 @@ fun AppDrawerPreferences(
|
||||
}
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.advanced)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.advanced)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
label = stringResource(id = R.string.pref_all_apps_bulk_icon_loading_title),
|
||||
|
||||
+3
-3
@@ -49,7 +49,7 @@ import app.lawnchair.ui.preferences.components.controls.getSteps
|
||||
import app.lawnchair.ui.preferences.components.controls.snapSliderValue
|
||||
import app.lawnchair.ui.preferences.components.layout.BottomSpacer
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceDivider
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.util.LocalBottomSheetHandler
|
||||
@@ -133,7 +133,7 @@ private fun IconShapeCornerPreferenceGroup(
|
||||
modifier: Modifier = Modifier,
|
||||
onSelectedIconShapeChange: (IconShape) -> Unit,
|
||||
) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
modifier = modifier,
|
||||
heading = stringResource(id = R.string.color_sliders),
|
||||
) {
|
||||
@@ -200,7 +200,7 @@ private fun IconShapeClipboardPreferenceGroup(
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
val importErrorMessage = stringResource(id = R.string.icon_shape_clipboard_import_error)
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
modifier = modifier,
|
||||
heading = stringResource(id = R.string.clipboard),
|
||||
) {
|
||||
|
||||
@@ -21,7 +21,7 @@ import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.controls.MainSwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.TextPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.data.liveinfo.liveInformationManager
|
||||
import app.lawnchair.ui.preferences.data.liveinfo.model.LiveInformation
|
||||
@@ -57,7 +57,7 @@ fun DebugMenuPreferences(
|
||||
modifier = modifier,
|
||||
) {
|
||||
MainSwitchPreference(adapter = enableDebug, label = "Show debug menu") {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
ClickablePreference(
|
||||
label = "Feature flags (Views)",
|
||||
@@ -107,7 +107,7 @@ fun DebugMenuPreferences(
|
||||
}
|
||||
}
|
||||
|
||||
PreferenceGroupPositionAware(heading = "Debug flags") {
|
||||
PreferenceGroup(heading = "Debug flags") {
|
||||
flags2.forEach {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
@@ -141,7 +141,7 @@ fun DebugMenuPreferences(
|
||||
}
|
||||
|
||||
val apmSupport = context.checkCallingOrSelfPermission(Manifest.permission.PACKAGE_USAGE_STATS) == PackageManager.PERMISSION_GRANTED
|
||||
PreferenceGroupPositionAware(heading = "Supported features") {
|
||||
PreferenceGroup(heading = "Supported features") {
|
||||
item { _ ->
|
||||
ClickablePreference(
|
||||
label = "Window blurs",
|
||||
|
||||
+3
-3
@@ -18,7 +18,7 @@ import app.lawnchair.ui.preferences.components.WallpaperAccessPermissionDialog
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.WarningPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.util.FileAccessManager
|
||||
import app.lawnchair.util.FileAccessState
|
||||
@@ -47,7 +47,7 @@ fun ExperimentalFeaturesPreferences(
|
||||
val hasPermission = wallpaperAccessState != FileAccessState.Denied
|
||||
var showPermissionDialog by remember { mutableStateOf(false) }
|
||||
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
Modifier,
|
||||
stringResource(R.string.workspace_label),
|
||||
) {
|
||||
@@ -148,7 +148,7 @@ fun ExperimentalFeaturesPreferences(
|
||||
val alwaysReloadIconsAdapter = prefs2.alwaysReloadIcons.getAdapter()
|
||||
val enableGncAdapter = prefs.enableGnc.getAdapter()
|
||||
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
Modifier,
|
||||
stringResource(R.string.internal_label),
|
||||
stringResource(R.string.internal_description),
|
||||
|
||||
@@ -26,7 +26,7 @@ import app.lawnchair.ui.preferences.LocalIsExpandedScreen
|
||||
import app.lawnchair.ui.preferences.components.colorpreference.ColorPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import com.android.launcher3.R
|
||||
|
||||
@@ -41,7 +41,7 @@ fun FolderPreferences(
|
||||
) {
|
||||
val prefs = preferenceManager()
|
||||
val prefs2 = preferenceManager2()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.general_label)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.general_label)) {
|
||||
item { _ -> ColorPreference(preference = prefs2.folderColor) }
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
@@ -62,7 +62,7 @@ fun FolderPreferences(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.grid)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.grid)) {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(id = R.string.max_folder_columns),
|
||||
@@ -82,7 +82,7 @@ fun FolderPreferences(
|
||||
}
|
||||
|
||||
val homeScreenLabelsAdapter = prefs2.showIconLabelsOnHomeScreenFolder.getAdapter()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.icons)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.icons)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = homeScreenLabelsAdapter,
|
||||
|
||||
@@ -44,7 +44,7 @@ import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.WarningPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.notificationDotsEnabled
|
||||
import app.lawnchair.ui.preferences.components.notificationServiceEnabled
|
||||
@@ -88,7 +88,7 @@ fun GeneralPreferences() {
|
||||
backArrowVisible = !LocalIsExpandedScreen.current,
|
||||
label = stringResource(id = R.string.general_label),
|
||||
) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = prefs.allowRotation.getAdapter(),
|
||||
@@ -98,7 +98,7 @@ fun GeneralPreferences() {
|
||||
}
|
||||
}
|
||||
ExpandAndShrink(visible = prefs2.enableFontSelection.asState().value) {
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.font_label)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.font_label)) {
|
||||
item { _ ->
|
||||
FontPreference(
|
||||
fontPref = prefs.fontWorkspace,
|
||||
@@ -133,7 +133,7 @@ fun GeneralPreferences() {
|
||||
}
|
||||
val wrapAdaptiveIcons = prefs.wrapAdaptiveIcons.getAdapter()
|
||||
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.icons),
|
||||
description = stringResource(id = (R.string.adaptive_icon_background_description)),
|
||||
showDescription = wrapAdaptiveIcons.state.value,
|
||||
@@ -194,7 +194,7 @@ fun GeneralPreferences() {
|
||||
val showColorStyle = !(Utilities.ATLEAST_S && accentColorAdapter.state.value == ColorOption.SystemAccent) ||
|
||||
!Utilities.ATLEAST_S
|
||||
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.colors)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.colors)) {
|
||||
item { _ -> ThemePreference() }
|
||||
item { _ -> ColorPreference(preference = prefs2.accentColor) }
|
||||
if (showColorStyle) {
|
||||
@@ -209,7 +209,7 @@ fun GeneralPreferences() {
|
||||
val dotColor = prefs2.notificationDotColor.asState().value
|
||||
val dotTextColor = prefs2.notificationDotTextColor.asState().value
|
||||
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.notification_dots)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.notification_dots)) {
|
||||
item { _ -> NotificationDotsPreference(enabled = notificationEnabled, serviceEnabled = serviceEnabled) }
|
||||
if (notificationEnabled && serviceEnabled) {
|
||||
item { _ -> ColorPreference(preference = prefs2.notificationDotColor) }
|
||||
|
||||
@@ -7,7 +7,7 @@ import app.lawnchair.preferences.getAdapter
|
||||
import app.lawnchair.preferences2.preferenceManager2
|
||||
import app.lawnchair.ui.preferences.LocalIsExpandedScreen
|
||||
import app.lawnchair.ui.preferences.components.GestureHandlerPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import com.android.launcher3.R
|
||||
|
||||
@@ -21,7 +21,7 @@ fun GesturePreferences(
|
||||
backArrowVisible = !LocalIsExpandedScreen.current,
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
GestureHandlerPreference(
|
||||
adapter = prefs.doubleTapGestureHandler.getAdapter(),
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ import app.lawnchair.preferences.preferenceManager
|
||||
import app.lawnchair.ui.preferences.LocalNavController
|
||||
import app.lawnchair.ui.preferences.components.GridOverridesPreview
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import com.android.launcher3.LauncherAppState
|
||||
import com.android.launcher3.R
|
||||
@@ -61,7 +61,7 @@ fun HomeScreenGridPreferences(
|
||||
|
||||
val maxGridSize = if (increaseMaxGridSize.state.value) 20 else 10
|
||||
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(id = R.string.columns),
|
||||
|
||||
@@ -40,7 +40,7 @@ import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.controls.ListPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.navigation.HomeScreenGrid
|
||||
import app.lawnchair.util.collectAsStateBlocking
|
||||
@@ -72,7 +72,7 @@ fun HomeScreenPreferences(
|
||||
HomeLayoutSettings()
|
||||
}
|
||||
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.general_label)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.general_label)) {
|
||||
val addIconToHomeAdapter = prefs.addIconToHome.getAdapter()
|
||||
val isDeckLayoutAdapter = prefs2.deckLayout.getAdapter()
|
||||
if (!isDeckLayoutAdapter.state.value) {
|
||||
@@ -102,7 +102,7 @@ fun HomeScreenPreferences(
|
||||
}
|
||||
val feedAvailable = OverlayCallbackImpl.minusOneAvailable(LocalContext.current)
|
||||
val enableFeedAdapter = prefs2.enableFeed.getAdapter()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.minus_one)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.minus_one)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = enableFeedAdapter,
|
||||
@@ -118,7 +118,7 @@ fun HomeScreenPreferences(
|
||||
FeedPreference()
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(R.string.style)) {
|
||||
PreferenceGroup(heading = stringResource(R.string.style)) {
|
||||
item { _ -> HomeScreenTextColorPreference() }
|
||||
item { _ ->
|
||||
OverlayHandlerPreference(
|
||||
@@ -127,7 +127,7 @@ fun HomeScreenPreferences(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.wallpaper)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.wallpaper)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
prefs.wallpaperScrolling.getAdapter(),
|
||||
@@ -152,7 +152,7 @@ fun HomeScreenPreferences(
|
||||
}
|
||||
val columns by prefs.workspaceColumns.getAdapter()
|
||||
val rows by prefs.workspaceRows.getAdapter()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.layout)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.layout)) {
|
||||
item { _ ->
|
||||
NavigationActionPreference(
|
||||
label = stringResource(id = R.string.home_screen_grid),
|
||||
@@ -168,11 +168,11 @@ fun HomeScreenPreferences(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.popup_menu)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.popup_menu)) {
|
||||
item { _ -> LauncherPopupPreferenceItem() }
|
||||
}
|
||||
val showStatusBarAdapter = prefs2.showStatusBar.getAdapter()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.status_bar_label)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.status_bar_label)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = showStatusBarAdapter,
|
||||
@@ -198,7 +198,7 @@ fun HomeScreenPreferences(
|
||||
}
|
||||
}
|
||||
val homeScreenLabelsAdapter = prefs2.showIconLabelsOnHomeScreen.getAdapter()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.icons)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.icons)) {
|
||||
item { _ ->
|
||||
SliderPreference(
|
||||
label = stringResource(id = R.string.icon_sizes),
|
||||
@@ -229,7 +229,7 @@ fun HomeScreenPreferences(
|
||||
val overrideRepo = IconOverrideRepository.INSTANCE.get(LocalContext.current)
|
||||
val customIconsCount by remember { overrideRepo.observeCount() }.collectAsStateBlocking()
|
||||
if (customIconsCount > 0) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
ClickablePreference(
|
||||
label = stringResource(id = R.string.reset_custom_icons),
|
||||
@@ -239,7 +239,7 @@ fun HomeScreenPreferences(
|
||||
}
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.widget_button_text)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.widget_button_text)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = prefs2.roundedWidgets.getAdapter(),
|
||||
|
||||
@@ -72,7 +72,7 @@ import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.invariantDeviceProfile
|
||||
import app.lawnchair.ui.preferences.components.layout.Chip
|
||||
import app.lawnchair.ui.preferences.components.layout.NestedScrollStretch
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.theme.preferenceGroupColor
|
||||
import app.lawnchair.util.Constants
|
||||
@@ -203,7 +203,7 @@ fun IconPackPreferences(
|
||||
adapter = iconPackAdapter,
|
||||
false,
|
||||
)
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = prefs.tintIconPackBackgrounds.getAdapter(),
|
||||
@@ -228,7 +228,7 @@ fun IconPackPreferences(
|
||||
true,
|
||||
)
|
||||
}
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
ListPreference(
|
||||
enabled = themedIconsAvailable,
|
||||
|
||||
@@ -55,7 +55,7 @@ import app.lawnchair.preferences2.asState
|
||||
import app.lawnchair.preferences2.preferenceManager2
|
||||
import app.lawnchair.ui.preferences.LocalNavController
|
||||
import app.lawnchair.ui.preferences.components.controls.ListPreferenceEntry
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.preferences.navigation.GeneralCustomIconShapeCreator
|
||||
@@ -104,7 +104,7 @@ fun IconShapePreference(
|
||||
label = stringResource(id = R.string.icon_shape_label),
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.custom),
|
||||
) {
|
||||
item { _ ->
|
||||
@@ -118,7 +118,7 @@ fun IconShapePreference(
|
||||
)
|
||||
}
|
||||
}
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.presets),
|
||||
) {
|
||||
entries.forEach { item ->
|
||||
|
||||
@@ -52,7 +52,7 @@ import app.lawnchair.ui.preferences.components.AnnouncementPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.PreferenceCategory
|
||||
import app.lawnchair.ui.preferences.components.controls.WarningPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.ClickableIcon
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.preferences.data.liveinfo.SyncLiveInformation
|
||||
@@ -114,7 +114,7 @@ fun PreferencesDashboard(
|
||||
}
|
||||
|
||||
val deckLayout = prefs2.deckLayout.getAdapter()
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item {
|
||||
PreferenceCategory(
|
||||
label = stringResource(R.string.general_label),
|
||||
|
||||
@@ -20,9 +20,7 @@ import app.lawnchair.ui.preferences.components.RecentsQuickAction
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.WarningPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.util.preview.PreviewLawnchair
|
||||
import app.lawnchair.util.isOnePlusStock
|
||||
@@ -75,7 +73,7 @@ fun QuickstepPreferences(
|
||||
) {
|
||||
if (!LawnchairApp.isRecentsEnabled) QuickSwitchIgnoredWarning()
|
||||
val recentsTranslucentBackground by prefs.recentsTranslucentBackground.observeAsState()
|
||||
PreferenceGroupPositionAware(heading = stringResource(id = R.string.general_label)) {
|
||||
PreferenceGroup(heading = stringResource(id = R.string.general_label)) {
|
||||
item { _ ->
|
||||
SwitchPreference(
|
||||
adapter = prefs.recentsTranslucentBackground.getAdapter(),
|
||||
@@ -101,7 +99,7 @@ fun QuickstepPreferences(
|
||||
)
|
||||
|
||||
val overrideWindowCornerRadius by prefs.overrideWindowCornerRadius.observeAsState()
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.window_corner_radius_label),
|
||||
description = stringResource(id = (R.string.window_corner_radius_description)),
|
||||
showDescription = overrideWindowCornerRadius,
|
||||
@@ -125,7 +123,7 @@ fun QuickstepPreferences(
|
||||
}
|
||||
|
||||
if (Utilities.ATLEAST_S_V2) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.taskbar_label),
|
||||
) {
|
||||
item { _ ->
|
||||
|
||||
@@ -12,7 +12,7 @@ import androidx.compose.ui.unit.dp
|
||||
import app.lawnchair.ui.preferences.LocalIsExpandedScreen
|
||||
import app.lawnchair.ui.preferences.LocalNavController
|
||||
import app.lawnchair.ui.preferences.components.controls.ClickablePreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.TwoTabPreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.search.DockSearchPreference
|
||||
import app.lawnchair.ui.preferences.components.search.DrawerSearchPreference
|
||||
@@ -44,7 +44,7 @@ fun SearchBarPreference(
|
||||
}
|
||||
|
||||
if (showLabel) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.search_bar_label),
|
||||
) {
|
||||
item { _ -> preference() }
|
||||
|
||||
+2
-2
@@ -28,7 +28,7 @@ import app.lawnchair.ui.preferences.components.layout.ClickableIcon
|
||||
import app.lawnchair.ui.preferences.components.layout.DividerColumn
|
||||
import app.lawnchair.ui.preferences.components.layout.ExpandAndShrink
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceDivider
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceTemplate
|
||||
import app.lawnchair.ui.util.LocalBottomSheetHandler
|
||||
@@ -47,7 +47,7 @@ fun SearchProviderPreferences(
|
||||
label = stringResource(R.string.search_provider),
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
QsbSearchProvider.values().forEach { qsbSearchProvider ->
|
||||
item { _ ->
|
||||
val appInstalled = qsbSearchProvider.isDownloaded(context)
|
||||
|
||||
@@ -34,7 +34,7 @@ import app.lawnchair.ui.preferences.components.controls.ListPreferenceEntry
|
||||
import app.lawnchair.ui.preferences.components.controls.MainSwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SliderPreference
|
||||
import app.lawnchair.ui.preferences.components.controls.SwitchPreference
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroupPositionAware
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceGroup
|
||||
import app.lawnchair.ui.preferences.components.layout.PreferenceLayout
|
||||
import app.lawnchair.ui.theme.isSelectedThemeDark
|
||||
import com.android.launcher3.R
|
||||
@@ -69,7 +69,7 @@ fun SmartspacePreferences(
|
||||
if (modeIsLawnchair) {
|
||||
SmartspacePreview()
|
||||
}
|
||||
PreferenceGroupPositionAware {
|
||||
PreferenceGroup {
|
||||
item { _ ->
|
||||
SmartspaceProviderPreference(
|
||||
adapter = smartspaceModeAdapter,
|
||||
@@ -106,7 +106,7 @@ private fun LawnchairSmartspaceSettings(
|
||||
Column(
|
||||
modifier = modifier,
|
||||
) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.what_to_show),
|
||||
modifier = Modifier.padding(top = 8.dp),
|
||||
) {
|
||||
@@ -161,7 +161,7 @@ fun SmartspacePreview(
|
||||
val context = LocalContext.current
|
||||
val themedContext = remember(themeRes) { ContextThemeWrapper(context, themeRes) }
|
||||
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.preview_label),
|
||||
modifier = modifier,
|
||||
) {
|
||||
@@ -201,7 +201,7 @@ fun SmartspaceDateAndTimePreferences(
|
||||
val calendarHasMinimumContent = !showDateAdapter.state.value || !showTimeAdapter.state.value
|
||||
val calendar = calendarAdapter.state.value
|
||||
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.smartspace_date_and_time),
|
||||
modifier = modifier.padding(top = 8.dp),
|
||||
) {
|
||||
@@ -278,7 +278,7 @@ fun SmartspacerSettings(
|
||||
val prefs2 = preferenceManager2()
|
||||
|
||||
Column(modifier) {
|
||||
PreferenceGroupPositionAware(
|
||||
PreferenceGroup(
|
||||
heading = stringResource(id = R.string.smartspacer_settings),
|
||||
) {
|
||||
item { _ ->
|
||||
|
||||
Reference in New Issue
Block a user