From a3e42984339afdee465ef13c6ea318626e5a441a Mon Sep 17 00:00:00 2001 From: Tommy Webb Date: Wed, 22 Mar 2023 15:29:53 -0400 Subject: [PATCH] POLICY_REJECT_ALL restricts all network access Read and write POLICY_REJECT_ALL instead of manipulating the setting designated for the restricted mode allowlist. Requires: I74407c21cd4ed2cdd932d634577ae07d0bad67b1 Change-Id: I354fae215dcb15e1bf3a67ff4c94803eb60fcac1 --- .../settings/datausage/AppDataUsage.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java index a2e91a5cc66..71533738582 100644 --- a/src/com/android/settings/datausage/AppDataUsage.java +++ b/src/com/android/settings/datausage/AppDataUsage.java @@ -15,6 +15,7 @@ package com.android.settings.datausage; import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; +import static android.net.NetworkPolicyManager.POLICY_REJECT_ALL; import static android.net.NetworkPolicyManager.POLICY_REJECT_CELLULAR; import static android.net.NetworkPolicyManager.POLICY_REJECT_VPN; import static android.net.NetworkPolicyManager.POLICY_REJECT_WIFI; @@ -30,7 +31,6 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; -import android.net.ConnectivitySettingsManager; import android.net.NetworkPolicyManager; import android.net.NetworkTemplate; import android.os.Bundle; @@ -247,14 +247,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC updatePrefs(); return true; } else if (preference == mRestrictAll) { - Set uids = - ConnectivitySettingsManager.getUidsAllowedOnRestrictedNetworks(mContext); - if (!(Boolean) newValue) { - uids.remove(mAppItem.key); - } else { - uids.add(mAppItem.key); - } - ConnectivitySettingsManager.setUidsAllowedOnRestrictedNetworks(mContext, uids); + setAppRestrictAll(!(Boolean) newValue); updatePrefs(); return true; } else if (preference == mRestrictCellular) { @@ -396,8 +389,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC } private boolean getAppRestrictAll() { - return !ConnectivitySettingsManager.getUidsAllowedOnRestrictedNetworks(mContext) - .contains(mAppItem.key); + return getAppRestriction(POLICY_REJECT_ALL); } private boolean getUnrestrictData() { @@ -418,6 +410,10 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC == PackageManager.PERMISSION_GRANTED; } + private void setAppRestrictAll(boolean restrict) { + setAppRestriction(POLICY_REJECT_ALL, restrict); + } + private void setAppRestrictCellular(boolean restrict) { setAppRestriction(POLICY_REJECT_CELLULAR, restrict); }