Migrate “pref_smartSpaceEnable” to Preferences DataStore
This commit is contained in:
@@ -51,7 +51,6 @@ class PreferenceManager private constructor(private val context: Context) : Base
|
||||
val folderColumns = IdpIntPref("pref_folderColumns", { numFolderColumns }, reloadGrid)
|
||||
val folderRows = IdpIntPref("pref_folderRows", { numFolderRows }, reloadGrid)
|
||||
val allAppsColumns = IdpIntPref("pref_allAppsColumns", { numAllAppsColumns }, reloadGrid)
|
||||
val smartSpaceEnable = BoolPref("pref_smartSpaceEnable", true, restart)
|
||||
val minusOneEnable = BoolPref("pref_enableMinusOne", true, recreate)
|
||||
|
||||
// TODO: Add the ability to manually delete empty pages.
|
||||
|
||||
@@ -187,6 +187,12 @@ class PreferenceManager2(private val context: Context) : PreferenceManager {
|
||||
defaultValue = false,
|
||||
)
|
||||
|
||||
val enableSmartspace = preference(
|
||||
key = booleanPreferencesKey(name = "enable_smartspace"),
|
||||
defaultValue = true,
|
||||
onSet = { reloadHelper.restart() },
|
||||
)
|
||||
|
||||
companion object {
|
||||
private val Context.preferencesDataStore by preferencesDataStore(
|
||||
name = "preferences",
|
||||
|
||||
@@ -37,7 +37,7 @@ class SharedPreferencesMigration(private val context: Context) {
|
||||
"pref_showHomeLabels" to "show_icon_labels_on_home_screen", "pref_allAppsIconSizeFactor" to "drawer_icon_size_factor",
|
||||
"pref_allAppsIconLabels" to "show_icon_labels_in_drawer", "pref_textSizeFactor" to "home_icon_label_size_factor",
|
||||
"pref_allAppsTextSizeFactor" to "drawer_icon_label_size_factor", "pref_allAppsCellHeightMultiplier" to "drawer_cell_height_factor",
|
||||
"pref_useFuzzySearch" to "enable_fuzzy_search",
|
||||
"pref_useFuzzySearch" to "enable_fuzzy_search", "pref_smartSpaceEnable" to "enable_smartspace",
|
||||
)
|
||||
|
||||
fun produceMigration() = androidx.datastore.migrations.SharedPreferencesMigration(
|
||||
|
||||
@@ -54,6 +54,7 @@ interface HomeScreenPreferenceCollectorScope : PreferenceCollectorScope {
|
||||
val homeIconSizeFactor: Float
|
||||
val showIconLabelsOnHomeScreen: Boolean
|
||||
val homeIconLabelSizeFactor: Float
|
||||
val enableSmartspace: Boolean
|
||||
}
|
||||
|
||||
@Composable
|
||||
@@ -67,11 +68,13 @@ fun HomeScreenPreferenceCollector(content: @Composable HomeScreenPreferenceColle
|
||||
val homeIconSizeFactor by preferenceManager.homeIconSizeFactor.state()
|
||||
val showIconLabelsOnHomeScreen by preferenceManager.showIconLabelsOnHomeScreen.state()
|
||||
val homeIconLabelSizeFactor by preferenceManager.homeIconLabelSizeFactor.state()
|
||||
val enableSmartspace by preferenceManager.enableSmartspace.state()
|
||||
ifNotNull(
|
||||
darkStatusBar, roundedWidgets,
|
||||
showStatusBar, showTopShadow,
|
||||
dt2s, homeIconSizeFactor,
|
||||
showIconLabelsOnHomeScreen, homeIconLabelSizeFactor,
|
||||
enableSmartspace,
|
||||
) {
|
||||
object : HomeScreenPreferenceCollectorScope {
|
||||
override val darkStatusBar = it[0] as Boolean
|
||||
@@ -82,6 +85,7 @@ fun HomeScreenPreferenceCollector(content: @Composable HomeScreenPreferenceColle
|
||||
override val homeIconSizeFactor = it[5] as Float
|
||||
override val showIconLabelsOnHomeScreen = it[6] as Boolean
|
||||
override val homeIconLabelSizeFactor = it[7] as Float
|
||||
override val enableSmartspace = it[8] as Boolean
|
||||
override val coroutineScope = rememberCoroutineScope()
|
||||
override val preferenceManager = preferenceManager
|
||||
}.content()
|
||||
@@ -132,8 +136,9 @@ fun HomeScreenPreferences() {
|
||||
description = if (feedAvailable) null else stringResource(id = R.string.minus_one_unavailable),
|
||||
enabled = feedAvailable,
|
||||
)
|
||||
SwitchPreference(
|
||||
prefs.smartSpaceEnable.getAdapter(),
|
||||
SwitchPreference2(
|
||||
checked = enableSmartspace,
|
||||
edit = { enableSmartspace.set(value = it) },
|
||||
label = stringResource(id = R.string.smart_space_enable),
|
||||
)
|
||||
SwitchPreference2(
|
||||
|
||||
@@ -21,12 +21,14 @@ import android.content.Context;
|
||||
import com.android.launcher3.BuildConfig;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.uioverrides.DeviceFlag;
|
||||
import com.patrykmichalik.preferencemanager.PreferenceExtensionsKt;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import app.lawnchair.preferences.PreferenceManager;
|
||||
import app.lawnchair.preferences2.PreferenceManager2;
|
||||
|
||||
/**
|
||||
* Defines a set of flags used to control various launcher behaviors.
|
||||
@@ -55,8 +57,8 @@ public final class FeatureFlags {
|
||||
* and should be modified at a project level.
|
||||
*/
|
||||
public static boolean topQsbOnFirstScreenEnabled(Context context) {
|
||||
PreferenceManager prefs = PreferenceManager.getInstance(context);
|
||||
return prefs.getSmartSpaceEnable().get();
|
||||
PreferenceManager2 preferenceManager2 = PreferenceManager2.getInstance(context);
|
||||
return PreferenceExtensionsKt.firstBlocking(preferenceManager2.getEnableSmartspace());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user