[Catalyst] Remove PreferenceScreenBinding
By removing PreferenceScreenBinding, PreferenceScreenMetadata with not Preference entry point is greatly simplified. NO_IFTTT=Catalyst only Bug: 388167106 Flag: EXEMPT refactor Test: manual Change-Id: Ie62313c9c6737a4aad8e363f947a68eada4393f5
This commit is contained in:
@@ -21,8 +21,6 @@ import android.os.UserManager
|
|||||||
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE
|
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE
|
||||||
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
|
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
|
||||||
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL
|
import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL
|
||||||
import androidx.preference.Preference
|
|
||||||
import androidx.preference.PreferenceScreen
|
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.android.settings.contract.KEY_ADAPTIVE_BRIGHTNESS
|
import com.android.settings.contract.KEY_ADAPTIVE_BRIGHTNESS
|
||||||
import com.android.settings.flags.Flags
|
import com.android.settings.flags.Flags
|
||||||
@@ -37,19 +35,16 @@ import com.android.settingslib.datastore.SettingsStore
|
|||||||
import com.android.settingslib.datastore.SettingsSystemStore
|
import com.android.settingslib.datastore.SettingsSystemStore
|
||||||
import com.android.settingslib.metadata.BooleanValuePreference
|
import com.android.settingslib.metadata.BooleanValuePreference
|
||||||
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
||||||
import com.android.settingslib.metadata.PreferenceMetadata
|
|
||||||
import com.android.settingslib.metadata.ProvidePreferenceScreen
|
import com.android.settingslib.metadata.ProvidePreferenceScreen
|
||||||
import com.android.settingslib.metadata.ReadWritePermit
|
import com.android.settingslib.metadata.ReadWritePermit
|
||||||
import com.android.settingslib.metadata.SensitivityLevel
|
import com.android.settingslib.metadata.SensitivityLevel
|
||||||
import com.android.settingslib.metadata.preferenceHierarchy
|
import com.android.settingslib.metadata.preferenceHierarchy
|
||||||
import com.android.settingslib.preference.PreferenceScreenBinding
|
|
||||||
import com.android.settingslib.preference.PreferenceScreenCreator
|
import com.android.settingslib.preference.PreferenceScreenCreator
|
||||||
|
|
||||||
@ProvidePreferenceScreen(AutoBrightnessScreen.KEY)
|
@ProvidePreferenceScreen(AutoBrightnessScreen.KEY)
|
||||||
class AutoBrightnessScreen :
|
class AutoBrightnessScreen :
|
||||||
PreferenceScreenCreator,
|
PreferenceScreenCreator,
|
||||||
PreferenceScreenBinding, // binding for screen page
|
PrimarySwitchPreferenceBinding,
|
||||||
PrimarySwitchPreferenceBinding, // binding for screen entry point widget
|
|
||||||
PreferenceActionMetricsProvider,
|
PreferenceActionMetricsProvider,
|
||||||
PreferenceAvailabilityProvider,
|
PreferenceAvailabilityProvider,
|
||||||
PreferenceRestrictionMixin,
|
PreferenceRestrictionMixin,
|
||||||
@@ -106,12 +101,6 @@ class AutoBrightnessScreen :
|
|||||||
override val useAdminDisabledSummary: Boolean
|
override val useAdminDisabledSummary: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
|
|
||||||
override fun bind(preference: Preference, metadata: PreferenceMetadata) =
|
|
||||||
when (preference) {
|
|
||||||
is PreferenceScreen -> super<PreferenceScreenBinding>.bind(preference, metadata)
|
|
||||||
else -> super<PrimarySwitchPreferenceBinding>.bind(preference, metadata)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The datastore for brightness, which is persisted as integer but the external type is boolean.
|
* The datastore for brightness, which is persisted as integer but the external type is boolean.
|
||||||
*/
|
*/
|
||||||
|
@@ -21,7 +21,6 @@ import android.app.settings.SettingsEnums.ACTION_DARK_THEME
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceScreen
|
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.android.settings.contract.KEY_DARK_THEME
|
import com.android.settings.contract.KEY_DARK_THEME
|
||||||
import com.android.settings.flags.Flags
|
import com.android.settings.flags.Flags
|
||||||
@@ -36,15 +35,13 @@ import com.android.settingslib.metadata.ProvidePreferenceScreen
|
|||||||
import com.android.settingslib.metadata.ReadWritePermit
|
import com.android.settingslib.metadata.ReadWritePermit
|
||||||
import com.android.settingslib.metadata.SensitivityLevel
|
import com.android.settingslib.metadata.SensitivityLevel
|
||||||
import com.android.settingslib.metadata.preferenceHierarchy
|
import com.android.settingslib.metadata.preferenceHierarchy
|
||||||
import com.android.settingslib.preference.PreferenceScreenBinding
|
|
||||||
import com.android.settingslib.preference.PreferenceScreenCreator
|
import com.android.settingslib.preference.PreferenceScreenCreator
|
||||||
|
|
||||||
// LINT.IfChange
|
// LINT.IfChange
|
||||||
@ProvidePreferenceScreen(DarkModeScreen.KEY)
|
@ProvidePreferenceScreen(DarkModeScreen.KEY)
|
||||||
class DarkModeScreen(context: Context) :
|
class DarkModeScreen(context: Context) :
|
||||||
PreferenceScreenCreator,
|
PreferenceScreenCreator,
|
||||||
PreferenceScreenBinding, // binding for screen page
|
PrimarySwitchPreferenceBinding,
|
||||||
PrimarySwitchPreferenceBinding, // binding for screen entry point widget
|
|
||||||
PreferenceActionMetricsProvider,
|
PreferenceActionMetricsProvider,
|
||||||
BooleanValuePreference,
|
BooleanValuePreference,
|
||||||
PreferenceSummaryProvider {
|
PreferenceSummaryProvider {
|
||||||
@@ -94,11 +91,8 @@ class DarkModeScreen(context: Context) :
|
|||||||
override fun storage(context: Context): KeyValueStore = darkModeStorage
|
override fun storage(context: Context): KeyValueStore = darkModeStorage
|
||||||
|
|
||||||
override fun bind(preference: Preference, metadata: PreferenceMetadata) {
|
override fun bind(preference: Preference, metadata: PreferenceMetadata) {
|
||||||
|
super.bind(preference, metadata)
|
||||||
if (preference is DarkModePreference) preference.setCatalystEnabled(true)
|
if (preference is DarkModePreference) preference.setCatalystEnabled(true)
|
||||||
when (preference) {
|
|
||||||
is PreferenceScreen -> super<PreferenceScreenBinding>.bind(preference, metadata)
|
|
||||||
else -> super<PrimarySwitchPreferenceBinding>.bind(preference, metadata)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isEnabled(context: Context) = !context.isPowerSaveMode()
|
override fun isEnabled(context: Context) = !context.isPowerSaveMode()
|
||||||
|
@@ -43,13 +43,13 @@ import com.android.settingslib.metadata.PreferenceMetadata
|
|||||||
import com.android.settingslib.metadata.PreferenceSummaryProvider
|
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.PreferenceScreenBinding
|
import com.android.settingslib.preference.PreferenceBinding
|
||||||
import com.android.settingslib.preference.PreferenceScreenCreator
|
import com.android.settingslib.preference.PreferenceScreenCreator
|
||||||
|
|
||||||
@ProvidePreferenceScreen(MobileNetworkListScreen.KEY)
|
@ProvidePreferenceScreen(MobileNetworkListScreen.KEY)
|
||||||
class MobileNetworkListScreen :
|
class MobileNetworkListScreen :
|
||||||
PreferenceScreenCreator,
|
PreferenceScreenCreator,
|
||||||
PreferenceScreenBinding,
|
PreferenceBinding,
|
||||||
PreferenceAvailabilityProvider,
|
PreferenceAvailabilityProvider,
|
||||||
PreferenceSummaryProvider,
|
PreferenceSummaryProvider,
|
||||||
PreferenceLifecycleProvider,
|
PreferenceLifecycleProvider,
|
||||||
|
Reference in New Issue
Block a user