[Catalyst] Take write permit into account for SettingsPreferenceMetadata.writable
NO_IFTTT=Catalyst only Fix: 394973168 Flag: com.android.settings.flags.catalyst Test: manual Change-Id: I4c09ab50d3a08ab50f4fced29ea70bb50b14e5d7
This commit is contained in:
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.android.settings.display
|
||||
|
||||
import android.Manifest
|
||||
import android.app.ActivityOptions
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -111,7 +110,7 @@ class BrightnessLevelPreference :
|
||||
override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||
ReadWritePermit.ALLOW
|
||||
|
||||
override fun getWritePermit(context: Context, value: Int?, callingPid: Int, callingUid: Int) =
|
||||
override fun getWritePermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||
ReadWritePermit.DISALLOW
|
||||
|
||||
override val sensitivityLevel
|
||||
|
@@ -37,9 +37,7 @@ import com.android.settingslib.widget.UsageProgressBarPreference
|
||||
|
||||
// LINT.IfChange
|
||||
class BatteryHeaderPreference :
|
||||
IntRangeValuePreference,
|
||||
PreferenceBinding,
|
||||
PreferenceLifecycleProvider {
|
||||
IntRangeValuePreference, PreferenceBinding, PreferenceLifecycleProvider {
|
||||
|
||||
@VisibleForTesting var batteryBroadcastReceiver: BatteryBroadcastReceiver? = null
|
||||
|
||||
@@ -108,7 +106,7 @@ class BatteryHeaderPreference :
|
||||
|
||||
override fun getWritePermissions(context: Context) = Permissions.EMPTY
|
||||
|
||||
override fun getWritePermit(context: Context, value: Int?, callingPid: Int, callingUid: Int) =
|
||||
override fun getWritePermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||
ReadWritePermit.DISALLOW
|
||||
|
||||
override val sensitivityLevel: Int
|
||||
|
@@ -40,6 +40,7 @@ import com.android.settingslib.graph.proto.PreferenceProto
|
||||
import com.android.settingslib.graph.proto.PreferenceValueProto
|
||||
import com.android.settingslib.graph.toIntent
|
||||
import com.android.settingslib.metadata.PreferenceCoordinate
|
||||
import com.android.settingslib.metadata.ReadWritePermit
|
||||
import com.android.settingslib.metadata.SensitivityLevel
|
||||
|
||||
/** Transform Catalyst Graph result to Framework GET METADATA result */
|
||||
@@ -215,13 +216,14 @@ private fun PreferenceProto.toMetadata(
|
||||
extras.putBundle(KEY_INT_RANGE, intRange)
|
||||
}
|
||||
if (tagsCount > 0) extras.putStringArray(KEY_TAGS, tagsList.toTypedArray())
|
||||
val writePermit = ReadWritePermit.getWritePermit(readWritePermit)
|
||||
return SettingsPreferenceMetadata.Builder(screenKey, key)
|
||||
.setTitle(title.getText(context))
|
||||
.setSummary(summary.getText(context))
|
||||
.setEnabled(enabled)
|
||||
.setAvailable(available)
|
||||
.setRestricted(restricted)
|
||||
.setWritable(persistent)
|
||||
.setWritable(persistent && writePermit == ReadWritePermit.ALLOW)
|
||||
.setLaunchIntent(launchIntent.toIntent())
|
||||
.setWriteSensitivity(sensitivity)
|
||||
// Returns all the permissions that are used, some of which are exclusive (e.g. p1 or p2)
|
||||
|
@@ -39,12 +39,8 @@ class SupervisionMainSwitchPreference :
|
||||
override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||
ReadWritePermit.DISALLOW
|
||||
|
||||
override fun getWritePermit(
|
||||
context: Context,
|
||||
value: Boolean?,
|
||||
callingPid: Int,
|
||||
callingUid: Int,
|
||||
) = ReadWritePermit.DISALLOW
|
||||
override fun getWritePermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||
ReadWritePermit.DISALLOW
|
||||
|
||||
override val sensitivityLevel: Int
|
||||
get() = SensitivityLevel.HIGH_SENSITIVITY
|
||||
|
Reference in New Issue
Block a user