[Catalyst] Allow external SET for Display/Sound settings

NO_IFTTT=Catalyst only

Bug: 360015496
Bug: 368359268
Flag: com.android.settings.flags.catalyst
Test: devtool
Change-Id: I61b2b4b78eba1ca41aa3e5cbfea41c0be9474d0b
This commit is contained in:
Jacky Wang
2024-11-04 04:09:50 +08:00
parent dbcdbe85e7
commit 5329552b74
6 changed files with 30 additions and 1 deletions

View File

@@ -37,6 +37,7 @@ import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.preferenceHierarchy 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
@@ -66,6 +67,9 @@ class AutoBrightnessScreen :
override fun storage(context: Context): KeyValueStore = override fun storage(context: Context): KeyValueStore =
AutoBrightnessDataStore(SettingsSystemStore.get(context)) AutoBrightnessDataStore(SettingsSystemStore.get(context))
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun isAvailable(context: Context) = override fun isAvailable(context: Context) =
context.resources.getBoolean( context.resources.getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available com.android.internal.R.bool.config_automatic_brightness_available

View File

@@ -33,6 +33,7 @@ import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
import kotlin.math.roundToInt import kotlin.math.roundToInt
@@ -48,6 +49,9 @@ class PeakRefreshRateSwitchPreference :
override fun storage(context: Context): KeyValueStore = override fun storage(context: Context): KeyValueStore =
PeakRefreshRateStore(context, SettingsSystemStore.get(context)) PeakRefreshRateStore(context, SettingsSystemStore.get(context))
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun isAvailable(context: Context) = override fun isAvailable(context: Context) =
context.resources.getBoolean(R.bool.config_show_smooth_display) && context.resources.getBoolean(R.bool.config_show_smooth_display) &&
context.peakRefreshRate > DEFAULT_REFRESH_RATE context.peakRefreshRate > DEFAULT_REFRESH_RATE

View File

@@ -36,6 +36,7 @@ import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceMetadata 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.ReadWritePermit
import com.android.settingslib.metadata.preferenceHierarchy 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
@@ -69,6 +70,9 @@ class DarkModeScreen :
override val keywords: Int override val keywords: Int
get() = R.string.keywords_dark_ui_mode get() = R.string.keywords_dark_ui_mode
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun isFlagEnabled(context: Context) = Flags.catalystDarkUiMode() override fun isFlagEnabled(context: Context) = Flags.catalystDarkUiMode()
override fun fragmentClass() = DarkModeSettingsFragment::class.java override fun fragmentClass() = DarkModeSettingsFragment::class.java

View File

@@ -33,6 +33,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.RangeValue import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange // LINT.IfChange
@@ -82,6 +83,9 @@ open class CallVolumePreference :
} }
} }
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun getMinValue(context: Context) = override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(getAudioStream(context)) createAudioHelper(context).getMinVolume(getAudioStream(context))

View File

@@ -25,7 +25,13 @@ import com.android.settings.R
import com.android.settingslib.RestrictedLockUtilsInternal import com.android.settingslib.RestrictedLockUtilsInternal
import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.KeyValueStore
import com.android.settingslib.datastore.NoOpKeyedObservable import com.android.settingslib.datastore.NoOpKeyedObservable
import com.android.settingslib.metadata.* import com.android.settingslib.metadata.PersistentPreference
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange // LINT.IfChange
@@ -79,6 +85,9 @@ open class MediaVolumePreference :
} }
} }
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun getMinValue(context: Context) = override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(STREAM_MUSIC) createAudioHelper(context).getMinVolume(STREAM_MUSIC)

View File

@@ -40,6 +40,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceRestrictionProvider import com.android.settingslib.metadata.PreferenceRestrictionProvider
import com.android.settingslib.metadata.RangeValue import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange // LINT.IfChange
@@ -94,6 +95,9 @@ open class SeparateRingVolumePreference :
} }
} }
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW
override fun getMinValue(context: Context) = override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(STREAM_RING) createAudioHelper(context).getMinVolume(STREAM_RING)