diff --git a/src/com/android/settings/network/MobileDataPreference.kt b/src/com/android/settings/network/MobileDataPreference.kt index d1df73d711a..04649d9b809 100644 --- a/src/com/android/settings/network/MobileDataPreference.kt +++ b/src/com/android/settings/network/MobileDataPreference.kt @@ -16,6 +16,7 @@ package com.android.settings.network +import android.Manifest import android.content.Context import android.telephony.SubscriptionManager import com.android.settings.R @@ -45,6 +46,21 @@ class MobileDataPreference : override fun storage(context: Context): KeyValueStore = MobileDataStorage(context) + override fun getReadPermissions(context: Context) = + arrayOf( + // required by TelephonyManager.isDataEnabledForReason + Manifest.permission.ACCESS_NETWORK_STATE, + Manifest.permission.READ_PHONE_STATE, + Manifest.permission.MODIFY_PHONE_STATE, + Manifest.permission.READ_BASIC_PHONE_STATE, + ) + + override fun getWritePermissions(context: Context) = + arrayOf( + // required by TelephonyManager.setDataEnabledForReason + Manifest.permission.MODIFY_PHONE_STATE + ) + override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) = ReadWritePermit.ALLOW