[Catalyst] Implement get{Read,Write}Permissions for Use Wi-Fi Calling
Bug: 385288187 Flag: com.android.settings.flags.catalyst_wifi_calling Test: devtool Change-Id: I28d51248285ee153bdbfe04dd31e137107bef501
This commit is contained in:
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.wifi.calling
|
||||
|
||||
import android.Manifest.permission.MODIFY_PHONE_STATE
|
||||
import android.Manifest.permission.READ_PRECISE_PHONE_STATE
|
||||
import android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
|
||||
import android.content.Context
|
||||
import android.telephony.SubscriptionManager
|
||||
import android.telephony.TelephonyManager
|
||||
@@ -28,6 +31,8 @@ import com.android.settings.widget.SettingsMainSwitchPreference
|
||||
import com.android.settings.wifi.calling.WifiCallingSettingsForSub.getCarrierActivityIntent
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.NoOpKeyedObservable
|
||||
import com.android.settingslib.datastore.Permissions
|
||||
import com.android.settingslib.datastore.and
|
||||
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
||||
import com.android.settingslib.metadata.ReadWritePermit
|
||||
import com.android.settingslib.metadata.SensitivityLevel
|
||||
@@ -60,9 +65,16 @@ class WifiCallingMainSwitchPreference(private val subId: Int) :
|
||||
|
||||
override fun createWidget(context: Context) = SettingsMainSwitchPreference(context)
|
||||
|
||||
override fun getReadPermissions(context: Context) =
|
||||
Permissions.anyOf(READ_PRIVILEGED_PHONE_STATE, READ_PRECISE_PHONE_STATE)
|
||||
|
||||
override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =
|
||||
ReadWritePermit.ALLOW
|
||||
|
||||
override fun getWritePermissions(context: Context) =
|
||||
Permissions.anyOf(READ_PRIVILEGED_PHONE_STATE, READ_PRECISE_PHONE_STATE) and
|
||||
MODIFY_PHONE_STATE
|
||||
|
||||
override fun getWritePermit(
|
||||
context: Context,
|
||||
value: Boolean?,
|
||||
|
Reference in New Issue
Block a user