Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70c56ec8 authored by Jacky Wang's avatar Jacky Wang
Browse files

[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
parent 75cae486
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.network.telephony.SubscriptionRepository
import com.android.settingslib.datastore.KeyValueStore
import com.android.settingslib.datastore.NoOpKeyedObservable
import com.android.settingslib.datastore.Permissions
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
@@ -47,7 +48,7 @@ class MobileDataPreference :
    override fun storage(context: Context): KeyValueStore = MobileDataStorage(context)

    override fun getReadPermissions(context: Context) =
        arrayOf(
        Permissions.allOf(
            // required by TelephonyManager.isDataEnabledForReason
            Manifest.permission.ACCESS_NETWORK_STATE,
            Manifest.permission.READ_PHONE_STATE,
@@ -56,7 +57,7 @@ class MobileDataPreference :
        )

    override fun getWritePermissions(context: Context) =
        arrayOf(
        Permissions.allOf(
            // required by TelephonyManager.setDataEnabledForReason
            Manifest.permission.MODIFY_PHONE_STATE
        )
+7 −5
Original line number Diff line number Diff line
@@ -31,12 +31,13 @@ import com.android.settingslib.graph.PreferenceGetterRequest
import com.android.settingslib.graph.PreferenceGetterResponse
import com.android.settingslib.graph.PreferenceSetterRequest
import com.android.settingslib.graph.PreferenceSetterResult
import com.android.settingslib.graph.preferenceValueProto
import com.android.settingslib.graph.proto.PreferenceProto
import com.android.settingslib.graph.proto.PreferenceValueProto
import com.android.settingslib.graph.getAllPermissions
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.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.metadata.SensitivityLevel

@@ -204,7 +205,8 @@ private fun PreferenceProto.toMetadata(
        .setWritable(persistent)
        .setLaunchIntent(launchIntent.toIntent())
        .setWriteSensitivity(sensitivity)
        .setReadPermissions(readPermissionsList)
        .setWritePermissions(writePermissionsList)
        // Returns all the permissions that are used, some of which are exclusive (e.g. p1 or p2)
        .setReadPermissions(readPermissions.getAllPermissions())
        .setWritePermissions(writePermissions.getAllPermissions())
        .build()
}
+3 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.service.settings.preferences.SettingsPreferenceValue
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
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.graph.PreferenceCoordinate
import com.android.settingslib.graph.PreferenceGetterErrorCode
@@ -156,8 +157,8 @@ class PreferenceServiceRequestTransformerTest {
                            restricted = true
                            persistent = true
                            sensitivityLevel = SensitivityLevel.LOW_SENSITIVITY
                            addReadPermissions("read_permission")
                            addWritePermissions("write_permission")
                            readPermissions = Permissions.allOf("read_permission").toProto()
                            writePermissions = Permissions.anyOf("write_permission").toProto()
                            launchIntent =
                                Intent(context, SettingsHomepageActivity::class.java).toProto()
                            value = preferenceValueProto { booleanValue = true }