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

Commit 1c0cc389 authored by Jason Chiu's avatar Jason Chiu
Browse files

[Catalyst] Implement get{Read,Write}Permissions for Data Saver

NO_IFTTT=Catalyst only

Fix: 385050976
Flag: com.android.settings.flags.catalyst_restrict_background_parent_entry
Test: devtool
Change-Id: I3799007586f5a5b26fa20f077a311313bb35e2c3
parent 0fef86f3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -16,12 +16,14 @@

package com.android.settings.datausage

import android.Manifest
import android.content.Context
import com.android.settings.R
import com.android.settings.widget.MainSwitchBarMetadata
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.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
@@ -36,6 +38,12 @@ class DataSaverMainSwitchPreference : MainSwitchBarMetadata, PreferenceLifecycle

    override fun storage(context: Context) = createDataStore(context)

    override fun getReadPermissions(context: Context) =
        Permissions.allOf(Manifest.permission.MANAGE_NETWORK_POLICY)

    override fun getWritePermissions(context: Context) =
        Permissions.allOf(Manifest.permission.MANAGE_NETWORK_POLICY)

    override fun getReadPermit(context: Context, callingPid: Int, callingUid: Int) =
        ReadWritePermit.ALLOW