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

Commit 0fe22277 authored by Jason Chiu's avatar Jason Chiu
Browse files

[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
parent 0fef86f3
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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