[Catalyst] Provide screen key to @ProvidePreferenceScreen

NO_IFTTT=Catalyst only

Bug: 386179791
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: Ie8106ec45a32e4a61826512fc62746c9ffc47d9c
This commit is contained in:
Jacky Wang
2024-12-27 08:00:44 +08:00
parent 11a5a8b27a
commit cfcf20c70a
27 changed files with 67 additions and 70 deletions

View File

@@ -43,7 +43,8 @@ import com.android.settings.overlay.FeatureFactoryImpl;
import com.android.settings.spa.SettingsSpaEnvironment; import com.android.settings.spa.SettingsSpaEnvironment;
import com.android.settingslib.applications.AppIconCacheManager; import com.android.settingslib.applications.AppIconCacheManager;
import com.android.settingslib.datastore.BackupRestoreStorageManager; import com.android.settingslib.datastore.BackupRestoreStorageManager;
import com.android.settingslib.metadata.PreferenceScreenMetadata; import com.android.settingslib.metadata.FixedArrayMap;
import com.android.settingslib.metadata.PreferenceScreenMetadataCreator;
import com.android.settingslib.metadata.PreferenceScreenRegistry; import com.android.settingslib.metadata.PreferenceScreenRegistry;
import com.android.settingslib.metadata.ProvidePreferenceScreenOptions; import com.android.settingslib.metadata.ProvidePreferenceScreenOptions;
import com.android.settingslib.preference.PreferenceBindingFactory; import com.android.settingslib.preference.PreferenceBindingFactory;
@@ -52,7 +53,6 @@ import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory;
import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupcompat.util.WizardManagerHelper;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.List;
/** Settings application which sets up activity embedding rules for the large screen device. */ /** Settings application which sets up activity embedding rules for the large screen device. */
@ProvidePreferenceScreenOptions( @ProvidePreferenceScreenOptions(
@@ -75,8 +75,8 @@ public class SettingsApplication extends Application {
super.onCreate(); super.onCreate();
if (Flags.catalyst()) { if (Flags.catalyst()) {
PreferenceScreenRegistry.INSTANCE.setPreferenceScreensSupplier( PreferenceScreenRegistry.INSTANCE.setPreferenceScreenMetadataCreators(
this::getPreferenceScreens); getPreferenceScreenCreators());
PreferenceBindingFactory.setDefaultFactory(new SettingsPreferenceBindingFactory()); PreferenceBindingFactory.setDefaultFactory(new SettingsPreferenceBindingFactory());
} }
@@ -106,11 +106,11 @@ public class SettingsApplication extends Application {
registerActivityLifecycleCallbacks(new DeveloperOptionsActivityLifecycle()); registerActivityLifecycleCallbacks(new DeveloperOptionsActivityLifecycle());
} }
/** Returns the screens using metadata. */ /** Returns the creators of preference screen metadata. */
protected List<PreferenceScreenMetadata> getPreferenceScreens() { protected FixedArrayMap<String, PreferenceScreenMetadataCreator> getPreferenceScreenCreators() {
// PreferenceScreenCollector is generated by annotation processor from classes annotated // PreferenceScreenCollector is generated by annotation processor from classes annotated
// with @ProvidePreferenceScreen // with @ProvidePreferenceScreen
return PreferenceScreenCollector.get(this); return PreferenceScreenCollector.get();
} }
@Override @Override

View File

@@ -26,7 +26,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(ColorAndMotionScreen.KEY)
class ColorAndMotionScreen : PreferenceScreenCreator { class ColorAndMotionScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -44,7 +44,7 @@ class ColorAndMotionScreen : PreferenceScreenCreator {
override fun fragmentClass() = ColorAndMotionFragment::class.java override fun fragmentClass() = ColorAndMotionFragment::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+RemoveAnimationsPreference() +RemoveAnimationsPreference()
} }

View File

@@ -22,7 +22,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(TextReadingScreen.KEY)
class TextReadingScreen : PreferenceScreenCreator { class TextReadingScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -36,7 +36,7 @@ class TextReadingScreen : PreferenceScreenCreator {
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
companion object { companion object {
const val KEY = "text_reading_screen" const val KEY = "text_reading_screen"

View File

@@ -31,7 +31,7 @@ import com.android.settingslib.preference.PreferenceScreenCreator
// We might be able to consolidate this into VibrationScreen with PreferenceHierarchy choosing // We might be able to consolidate this into VibrationScreen with PreferenceHierarchy choosing
// between toggle or slider preferences based on device config, depending on how overlays are done. // between toggle or slider preferences based on device config, depending on how overlays are done.
// LINT.IfChange // LINT.IfChange
@ProvidePreferenceScreen @ProvidePreferenceScreen(VibrationIntensityScreen.KEY)
class VibrationIntensityScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider { class VibrationIntensityScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -52,7 +52,7 @@ class VibrationIntensityScreen : PreferenceScreenCreator, PreferenceAvailability
override fun fragmentClass(): Class<out Fragment>? = override fun fragmentClass(): Class<out Fragment>? =
VibrationIntensitySettingsFragment::class.java VibrationIntensitySettingsFragment::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) { override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {
+VibrationMainSwitchPreference() +VibrationMainSwitchPreference()
} }

View File

@@ -29,7 +29,7 @@ import com.android.settingslib.preference.PreferenceScreenCreator
* Accessibility settings for vibration. * Accessibility settings for vibration.
*/ */
// LINT.IfChange // LINT.IfChange
@ProvidePreferenceScreen @ProvidePreferenceScreen(VibrationScreen.KEY)
class VibrationScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider { class VibrationScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -49,7 +49,7 @@ class VibrationScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider
override fun fragmentClass(): Class<out Fragment>? = VibrationSettings::class.java override fun fragmentClass(): Class<out Fragment>? = VibrationSettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) { override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {
+VibrationMainSwitchPreference() +VibrationMainSwitchPreference()
} }

View File

@@ -25,7 +25,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(BluetoothDashboardScreen.KEY)
class BluetoothDashboardScreen : PreferenceScreenCreator { class BluetoothDashboardScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -46,7 +46,7 @@ class BluetoothDashboardScreen : PreferenceScreenCreator {
makeLaunchIntent(context, BluetoothDashboardActivity::class.java, metadata?.key) makeLaunchIntent(context, BluetoothDashboardActivity::class.java, metadata?.key)
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
val bluetoothDataStore = BluetoothPreference.createDataStore(context) val bluetoothDataStore = BluetoothPreference.createDataStore(context)
+BluetoothPreference(bluetoothDataStore) +BluetoothPreference(bluetoothDataStore)
+BluetoothFooterPreference(bluetoothDataStore) +BluetoothFooterPreference(bluetoothDataStore)

View File

@@ -20,6 +20,7 @@ import android.content.Context
import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID
import com.android.settings.R import com.android.settings.R
import com.android.settings.Settings.DataSaverSummaryActivity import com.android.settings.Settings.DataSaverSummaryActivity
import com.android.settings.datausage.DataSaverMainSwitchPreference.Companion.KEY as DATA_SAVER_KEY
import com.android.settings.flags.Flags import com.android.settings.flags.Flags
import com.android.settings.utils.makeLaunchIntent import com.android.settings.utils.makeLaunchIntent
import com.android.settingslib.datastore.HandlerExecutor import com.android.settingslib.datastore.HandlerExecutor
@@ -32,9 +33,8 @@ import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settings.datausage.DataSaverMainSwitchPreference.Companion.KEY as DATA_SAVER_KEY
@ProvidePreferenceScreen @ProvidePreferenceScreen(DataSaverScreen.KEY)
class DataSaverScreen(context: Context) : class DataSaverScreen(context: Context) :
PreferenceScreenCreator, PreferenceScreenCreator,
PreferenceAvailabilityProvider, PreferenceAvailabilityProvider,
@@ -75,7 +75,7 @@ class DataSaverScreen(context: Context) :
makeLaunchIntent(context, DataSaverSummaryActivity::class.java, metadata?.key) makeLaunchIntent(context, DataSaverSummaryActivity::class.java, metadata?.key)
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { +DataSaverMainSwitchPreference() } preferenceHierarchy(context, this) { +DataSaverMainSwitchPreference() }
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false

View File

@@ -27,7 +27,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(MyDeviceInfoScreen.KEY)
class MyDeviceInfoScreen : class MyDeviceInfoScreen :
PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider { PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider {
override val key: String override val key: String
@@ -52,7 +52,7 @@ class MyDeviceInfoScreen :
override fun fragmentClass() = MyDeviceInfoFragment::class.java override fun fragmentClass() = MyDeviceInfoFragment::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false

View File

@@ -25,7 +25,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(FirmwareVersionScreen.KEY)
class FirmwareVersionScreen : PreferenceScreenCreator, PreferenceSummaryProvider { class FirmwareVersionScreen : PreferenceScreenCreator, PreferenceSummaryProvider {
override fun isFlagEnabled(context: Context) = Flags.catalystFirmwareVersion() override fun isFlagEnabled(context: Context) = Flags.catalystFirmwareVersion()
@@ -45,7 +45,7 @@ class FirmwareVersionScreen : PreferenceScreenCreator, PreferenceSummaryProvider
override fun fragmentClass() = FirmwareVersionSettings::class.java override fun fragmentClass() = FirmwareVersionSettings::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+FirmwareVersionDetailPreference() +FirmwareVersionDetailPreference()
+SecurityPatchLevelPreference() +SecurityPatchLevelPreference()
+MainlineModuleVersionPreference() +MainlineModuleVersionPreference()

View File

@@ -23,7 +23,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(LegalSettingsScreen.KEY)
open class LegalSettingsScreen : PreferenceScreenCreator { open class LegalSettingsScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -36,7 +36,7 @@ open class LegalSettingsScreen : PreferenceScreenCreator {
override fun fragmentClass() = LegalSettings::class.java override fun fragmentClass() = LegalSettings::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+LegalPreference("copyright", R.string.copyright_title, "android.settings.COPYRIGHT") +LegalPreference("copyright", R.string.copyright_title, "android.settings.COPYRIGHT")
+LegalPreference("license", R.string.license_title, "android.settings.LICENSE") +LegalPreference("license", R.string.license_title, "android.settings.LICENSE")
+LegalPreference("terms", R.string.terms_title, "android.settings.TERMS") +LegalPreference("terms", R.string.terms_title, "android.settings.TERMS")

View File

@@ -23,7 +23,7 @@ import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
// LINT.IfChange // LINT.IfChange
@ProvidePreferenceScreen @ProvidePreferenceScreen(ModuleLicensesScreen.KEY)
class ModuleLicensesScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider { class ModuleLicensesScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -39,7 +39,7 @@ class ModuleLicensesScreen : PreferenceScreenCreator, PreferenceAvailabilityProv
override fun fragmentClass() = ModuleLicensesDashboard::class.java override fun fragmentClass() = ModuleLicensesDashboard::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
override fun isAvailable(context: Context): Boolean { override fun isAvailable(context: Context): Boolean {
val modules = context.packageManager.getInstalledModules(/* flags= */ 0) val modules = context.packageManager.getInstalledModules(/* flags= */ 0)

View File

@@ -40,7 +40,7 @@ import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenBinding import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(AutoBrightnessScreen.KEY)
class AutoBrightnessScreen : class AutoBrightnessScreen :
PreferenceScreenCreator, PreferenceScreenCreator,
PreferenceScreenBinding, PreferenceScreenBinding,
@@ -60,7 +60,7 @@ class AutoBrightnessScreen :
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
override fun storage(context: Context): KeyValueStore = override fun storage(context: Context): KeyValueStore =
AutoBrightnessDataStore(SettingsSystemStore.get(context)) AutoBrightnessDataStore(SettingsSystemStore.get(context))

View File

@@ -30,7 +30,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(DisplayScreen.KEY)
open class DisplayScreen : open class DisplayScreen :
PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceIconProvider { PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceIconProvider {
override val key: String override val key: String
@@ -52,7 +52,7 @@ open class DisplayScreen :
override fun fragmentClass() = DisplaySettings::class.java override fun fragmentClass() = DisplaySettings::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+BrightnessLevelPreference() +BrightnessLevelPreference()
+AutoBrightnessScreen.KEY +AutoBrightnessScreen.KEY
+LockScreenPreferenceScreen.KEY +LockScreenPreferenceScreen.KEY

View File

@@ -27,7 +27,7 @@ import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
// TODO(b/368359967): The entry point logic is not yet migrated // TODO(b/368359967): The entry point logic is not yet migrated
@ProvidePreferenceScreen @ProvidePreferenceScreen(ScreenTimeoutScreen.KEY)
class ScreenTimeoutScreen : PreferenceScreenCreator { class ScreenTimeoutScreen : PreferenceScreenCreator {
override val key: String override val key: String
@@ -43,7 +43,7 @@ class ScreenTimeoutScreen : PreferenceScreenCreator {
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { +AdaptiveSleepPreference() } preferenceHierarchy(context, this) { +AdaptiveSleepPreference() }
override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) = override fun getLaunchIntent(context: Context, metadata: PreferenceMetadata?) =
makeLaunchIntent(context, ScreenTimeoutActivity::class.java, metadata?.key) makeLaunchIntent(context, ScreenTimeoutActivity::class.java, metadata?.key)

View File

@@ -37,7 +37,7 @@ import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
// LINT.IfChange // LINT.IfChange
@ProvidePreferenceScreen @ProvidePreferenceScreen(DarkModeScreen.KEY)
class DarkModeScreen(context: Context) : class DarkModeScreen(context: Context) :
PreferenceScreenCreator, PreferenceScreenCreator,
PreferenceScreenBinding, PreferenceScreenBinding,
@@ -80,7 +80,7 @@ class DarkModeScreen(context: Context) :
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
override fun storage(context: Context): KeyValueStore = darkModeStorage override fun storage(context: Context): KeyValueStore = darkModeStorage
@@ -89,8 +89,8 @@ class DarkModeScreen(context: Context) :
override fun bind(preference: Preference, metadata: PreferenceMetadata) { override fun bind(preference: Preference, metadata: PreferenceMetadata) {
super.bind(preference, metadata) super.bind(preference, metadata)
if (preference is DarkModePreference) preference.setCatalystEnabled(true) if (preference is DarkModePreference) preference.setCatalystEnabled(true)
(preference as PrimarySwitchPreference).apply { (preference as? PrimarySwitchPreference)?.apply {
isSwitchEnabled = isEnabled() isSwitchEnabled = isEnabled
isChecked = darkModeStorage.getBoolean(KEY) == true isChecked = darkModeStorage.getBoolean(KEY) == true
} }
} }

View File

@@ -22,7 +22,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(BatterySaverScreen.KEY)
open class BatterySaverScreen : PreferenceScreenCreator { open class BatterySaverScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -40,7 +40,7 @@ open class BatterySaverScreen : PreferenceScreenCreator {
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { +BatterySaverPreference() order -100 } preferenceHierarchy(context, this) { +BatterySaverPreference() order -100 }
companion object { companion object {
const val KEY = "battery_saver_screen" const val KEY = "battery_saver_screen"

View File

@@ -26,7 +26,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(PowerUsageSummaryScreen.KEY)
class PowerUsageSummaryScreen : class PowerUsageSummaryScreen :
PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceIconProvider { PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceIconProvider {
override val key: String override val key: String
@@ -54,10 +54,11 @@ class PowerUsageSummaryScreen :
R.drawable.ic_settings_battery_white R.drawable.ic_settings_battery_white
} }
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) { override fun getPreferenceHierarchy(context: Context) =
+BatteryHeaderPreference() preferenceHierarchy(context, this) {
+BatteryPercentageSwitchPreference() +BatteryHeaderPreference()
} +BatteryPercentageSwitchPreference()
}
companion object { companion object {
const val KEY = "power_usage_summary_screen" const val KEY = "power_usage_summary_screen"

View File

@@ -15,19 +15,15 @@
*/ */
package com.android.settings.language package com.android.settings.language
import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.pm.PackageManager
import com.android.settings.R import com.android.settings.R
import com.android.settings.Settings.LanguageSettingsActivity
import com.android.settings.flags.Flags import com.android.settings.flags.Flags
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(LanguageSettingScreen.KEY)
class LanguageSettingScreen: PreferenceScreenCreator { class LanguageSettingScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -46,7 +42,7 @@ class LanguageSettingScreen: PreferenceScreenCreator {
override fun fragmentClass() = LanguageSettings::class.java override fun fragmentClass() = LanguageSettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
companion object { companion object {
const val KEY = "language_setting" const val KEY = "language_setting"

View File

@@ -25,7 +25,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(LocationScreen.KEY)
class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider { class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -57,7 +57,7 @@ class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, Prefe
override fun fragmentClass() = LocationSettings::class.java override fun fragmentClass() = LocationSettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {} override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {}
companion object { companion object {
const val KEY = "location_settings" const val KEY = "location_settings"

View File

@@ -23,7 +23,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(AdaptiveConnectivityScreen.KEY)
class AdaptiveConnectivityScreen : PreferenceScreenCreator { class AdaptiveConnectivityScreen : PreferenceScreenCreator {
override val key override val key
get() = KEY get() = KEY
@@ -35,7 +35,7 @@ class AdaptiveConnectivityScreen : PreferenceScreenCreator {
override fun fragmentClass() = AdaptiveConnectivitySettings::class.java override fun fragmentClass() = AdaptiveConnectivitySettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) { override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {
+AdaptiveConnectivityTogglePreference() +AdaptiveConnectivityTogglePreference()
} }

View File

@@ -46,7 +46,7 @@ import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenBinding import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(MobileNetworkListScreen.KEY)
class MobileNetworkListScreen : class MobileNetworkListScreen :
PreferenceScreenCreator, PreferenceScreenCreator,
PreferenceScreenBinding, PreferenceScreenBinding,
@@ -160,7 +160,7 @@ class MobileNetworkListScreen :
override fun fragmentClass() = MobileNetworkListFragment::class.java override fun fragmentClass() = MobileNetworkListFragment::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { +MobileDataPreference() } preferenceHierarchy(context, this) { +MobileDataPreference() }
companion object { companion object {
const val KEY = "mobile_network_list" const val KEY = "mobile_network_list"

View File

@@ -27,7 +27,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(NetworkDashboardScreen.KEY)
class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider { class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -51,7 +51,7 @@ class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider {
makeLaunchIntent(context, NetworkDashboardActivity::class.java, metadata?.key) makeLaunchIntent(context, NetworkDashboardActivity::class.java, metadata?.key)
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+MobileNetworkListScreen.KEY order -15 +MobileNetworkListScreen.KEY order -15
+AirplaneModePreference() order -5 +AirplaneModePreference() order -5
+DataSaverScreen.KEY order 10 +DataSaverScreen.KEY order 10

View File

@@ -26,7 +26,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(NetworkProviderScreen.KEY)
class NetworkProviderScreen : class NetworkProviderScreen :
PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceRestrictionMixin { PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceRestrictionMixin {
override val key: String override val key: String
@@ -55,7 +55,7 @@ class NetworkProviderScreen :
override fun fragmentClass() = NetworkProviderSettings::class.java override fun fragmentClass() = NetworkProviderSettings::class.java
override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) { override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(context, this) {
+WifiSwitchPreference() +WifiSwitchPreference()
} }

View File

@@ -35,7 +35,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(TetherScreen.KEY)
class TetherScreen : class TetherScreen :
PreferenceScreenCreator, PreferenceScreenCreator,
PreferenceTitleProvider, PreferenceTitleProvider,
@@ -76,7 +76,7 @@ class TetherScreen :
makeLaunchIntent(context, TetherSettingsActivity::class.java, metadata?.key) makeLaunchIntent(context, TetherSettingsActivity::class.java, metadata?.key)
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
val dataSaverStore = DataSaverMainSwitchPreference.createDataStore(context) val dataSaverStore = DataSaverMainSwitchPreference.createDataStore(context)
+WifiHotspotSwitchPreference(context, dataSaverStore) +WifiHotspotSwitchPreference(context, dataSaverStore)
} }

View File

@@ -27,7 +27,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(SoundScreen.KEY)
class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider { class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -51,7 +51,7 @@ class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider {
override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+MediaVolumePreference() order -180 +MediaVolumePreference() order -180
+CallVolumePreference() order -170 +CallVolumePreference() order -170
+SeparateRingVolumePreference() order -155 +SeparateRingVolumePreference() order -155

View File

@@ -28,7 +28,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(LockScreenPreferenceScreen.KEY)
open class LockScreenPreferenceScreen : PreferenceScreenCreator, PreferenceSummaryProvider { open class LockScreenPreferenceScreen : PreferenceScreenCreator, PreferenceSummaryProvider {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -52,7 +52,7 @@ open class LockScreenPreferenceScreen : PreferenceScreenCreator, PreferenceSumma
makeLaunchIntent(context, LockScreenSettingsActivity::class.java, metadata?.key) makeLaunchIntent(context, LockScreenSettingsActivity::class.java, metadata?.key)
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
+AmbientDisplayAlwaysOnPreference() +AmbientDisplayAlwaysOnPreference()
} }

View File

@@ -23,7 +23,7 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@ProvidePreferenceScreen @ProvidePreferenceScreen(WifiCallingScreen.KEY)
class WifiCallingScreen : PreferenceScreenCreator { class WifiCallingScreen : PreferenceScreenCreator {
override val key: String override val key: String
get() = KEY get() = KEY
@@ -41,7 +41,7 @@ class WifiCallingScreen : PreferenceScreenCreator {
override fun hasCompleteHierarchy() = false override fun hasCompleteHierarchy() = false
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(this) { preferenceHierarchy(context, this) {
val subId = SubscriptionManager.getDefaultSubscriptionId() val subId = SubscriptionManager.getDefaultSubscriptionId()
if (SubscriptionManager.isValidSubscriptionId(subId)) { if (SubscriptionManager.isValidSubscriptionId(subId)) {
+WifiCallingMainSwitchPreference(subId) +WifiCallingMainSwitchPreference(subId)