From 0fe222774d199565d628dd7905f8c5af3a7467d4 Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Thu, 26 Dec 2024 11:37:04 +0800 Subject: [PATCH] [Catalyst] Implement get{Read,Write}Permissions for Wi-Fi NO_IFTTT=Catalyst only Fix: 385268791 Flag: com.android.settings.flags.catalyst_internet_settings Test: devtool Change-Id: I136aacd63d079a8d3bfafba3b0aa3fd92bd582a4 --- src/com/android/settings/wifi/WifiSwitchPreference.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/com/android/settings/wifi/WifiSwitchPreference.kt b/src/com/android/settings/wifi/WifiSwitchPreference.kt index 0eef999ff8e..627a78b7e2c 100644 --- a/src/com/android/settings/wifi/WifiSwitchPreference.kt +++ b/src/com/android/settings/wifi/WifiSwitchPreference.kt @@ -16,6 +16,7 @@ package com.android.settings.wifi +import android.Manifest import android.content.BroadcastReceiver import android.content.Context import android.content.Intent @@ -37,6 +38,7 @@ import com.android.settingslib.WirelessUtils import com.android.settingslib.datastore.AbstractKeyedDataObservable import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore +import com.android.settingslib.datastore.Permissions import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ReadWritePermit @@ -94,6 +96,15 @@ class WifiSwitchPreference : return true } + override fun getReadPermissions(context: Context) = + Permissions.allOf(Manifest.permission.ACCESS_WIFI_STATE) + + override fun getWritePermissions(context: Context) = + Permissions.anyOf( + Manifest.permission.NETWORK_SETTINGS, + Manifest.permission.CHANGE_WIFI_STATE, + ) + override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) = ReadWritePermit.ALLOW