[Catalyst] Update getRead/WritePermissions return type
NO_IFTTT=Catalyst only Bug: 374115149 Flag: com.android.settings.flags.catalyst_mobile_network_list Test: devtool Change-Id: I30c93cc1c07691c1e0498916bbdfb423fa1734a0
This commit is contained in:
@@ -24,6 +24,7 @@ import com.android.settings.network.telephony.MobileDataRepository
|
|||||||
import com.android.settings.network.telephony.SubscriptionRepository
|
import com.android.settings.network.telephony.SubscriptionRepository
|
||||||
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.datastore.Permissions
|
||||||
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
||||||
import com.android.settingslib.metadata.ReadWritePermit
|
import com.android.settingslib.metadata.ReadWritePermit
|
||||||
import com.android.settingslib.metadata.SensitivityLevel
|
import com.android.settingslib.metadata.SensitivityLevel
|
||||||
@@ -47,7 +48,7 @@ class MobileDataPreference :
|
|||||||
override fun storage(context: Context): KeyValueStore = MobileDataStorage(context)
|
override fun storage(context: Context): KeyValueStore = MobileDataStorage(context)
|
||||||
|
|
||||||
override fun getReadPermissions(context: Context) =
|
override fun getReadPermissions(context: Context) =
|
||||||
arrayOf(
|
Permissions.allOf(
|
||||||
// required by TelephonyManager.isDataEnabledForReason
|
// required by TelephonyManager.isDataEnabledForReason
|
||||||
Manifest.permission.ACCESS_NETWORK_STATE,
|
Manifest.permission.ACCESS_NETWORK_STATE,
|
||||||
Manifest.permission.READ_PHONE_STATE,
|
Manifest.permission.READ_PHONE_STATE,
|
||||||
@@ -56,7 +57,7 @@ class MobileDataPreference :
|
|||||||
)
|
)
|
||||||
|
|
||||||
override fun getWritePermissions(context: Context) =
|
override fun getWritePermissions(context: Context) =
|
||||||
arrayOf(
|
Permissions.allOf(
|
||||||
// required by TelephonyManager.setDataEnabledForReason
|
// required by TelephonyManager.setDataEnabledForReason
|
||||||
Manifest.permission.MODIFY_PHONE_STATE
|
Manifest.permission.MODIFY_PHONE_STATE
|
||||||
)
|
)
|
||||||
|
@@ -31,12 +31,13 @@ import com.android.settingslib.graph.PreferenceGetterRequest
|
|||||||
import com.android.settingslib.graph.PreferenceGetterResponse
|
import com.android.settingslib.graph.PreferenceGetterResponse
|
||||||
import com.android.settingslib.graph.PreferenceSetterRequest
|
import com.android.settingslib.graph.PreferenceSetterRequest
|
||||||
import com.android.settingslib.graph.PreferenceSetterResult
|
import com.android.settingslib.graph.PreferenceSetterResult
|
||||||
import com.android.settingslib.graph.preferenceValueProto
|
import com.android.settingslib.graph.getAllPermissions
|
||||||
import com.android.settingslib.graph.proto.PreferenceProto
|
|
||||||
import com.android.settingslib.graph.proto.PreferenceValueProto
|
|
||||||
import com.android.settingslib.graph.getText
|
import com.android.settingslib.graph.getText
|
||||||
|
import com.android.settingslib.graph.preferenceValueProto
|
||||||
import com.android.settingslib.graph.proto.PreferenceGraphProto
|
import com.android.settingslib.graph.proto.PreferenceGraphProto
|
||||||
import com.android.settingslib.graph.proto.PreferenceOrGroupProto
|
import com.android.settingslib.graph.proto.PreferenceOrGroupProto
|
||||||
|
import com.android.settingslib.graph.proto.PreferenceProto
|
||||||
|
import com.android.settingslib.graph.proto.PreferenceValueProto
|
||||||
import com.android.settingslib.graph.toIntent
|
import com.android.settingslib.graph.toIntent
|
||||||
import com.android.settingslib.metadata.SensitivityLevel
|
import com.android.settingslib.metadata.SensitivityLevel
|
||||||
|
|
||||||
@@ -204,7 +205,8 @@ private fun PreferenceProto.toMetadata(
|
|||||||
.setWritable(persistent)
|
.setWritable(persistent)
|
||||||
.setLaunchIntent(launchIntent.toIntent())
|
.setLaunchIntent(launchIntent.toIntent())
|
||||||
.setWriteSensitivity(sensitivity)
|
.setWriteSensitivity(sensitivity)
|
||||||
.setReadPermissions(readPermissionsList)
|
// Returns all the permissions that are used, some of which are exclusive (e.g. p1 or p2)
|
||||||
.setWritePermissions(writePermissionsList)
|
.setReadPermissions(readPermissions.getAllPermissions())
|
||||||
|
.setWritePermissions(writePermissions.getAllPermissions())
|
||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
@@ -31,6 +31,7 @@ import android.service.settings.preferences.SettingsPreferenceValue
|
|||||||
import androidx.test.core.app.ApplicationProvider
|
import androidx.test.core.app.ApplicationProvider
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import com.android.settings.homepage.SettingsHomepageActivity
|
import com.android.settings.homepage.SettingsHomepageActivity
|
||||||
|
import com.android.settingslib.datastore.Permissions
|
||||||
import com.android.settingslib.flags.Flags.FLAG_SETTINGS_CATALYST
|
import com.android.settingslib.flags.Flags.FLAG_SETTINGS_CATALYST
|
||||||
import com.android.settingslib.graph.PreferenceCoordinate
|
import com.android.settingslib.graph.PreferenceCoordinate
|
||||||
import com.android.settingslib.graph.PreferenceGetterErrorCode
|
import com.android.settingslib.graph.PreferenceGetterErrorCode
|
||||||
@@ -156,8 +157,8 @@ class PreferenceServiceRequestTransformerTest {
|
|||||||
restricted = true
|
restricted = true
|
||||||
persistent = true
|
persistent = true
|
||||||
sensitivityLevel = SensitivityLevel.LOW_SENSITIVITY
|
sensitivityLevel = SensitivityLevel.LOW_SENSITIVITY
|
||||||
addReadPermissions("read_permission")
|
readPermissions = Permissions.allOf("read_permission").toProto()
|
||||||
addWritePermissions("write_permission")
|
writePermissions = Permissions.anyOf("write_permission").toProto()
|
||||||
launchIntent =
|
launchIntent =
|
||||||
Intent(context, SettingsHomepageActivity::class.java).toProto()
|
Intent(context, SettingsHomepageActivity::class.java).toProto()
|
||||||
value = preferenceValueProto { booleanValue = true }
|
value = preferenceValueProto { booleanValue = true }
|
||||||
|
Reference in New Issue
Block a user