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
This commit is contained in:
Tommy Webb
2023-03-22 15:29:53 -04:00
committed by Michael Bestas
parent dda1cd68c0
commit a3e4298433

View File

@@ -15,6 +15,7 @@
package com.android.settings.datausage; package com.android.settings.datausage;
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; 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_CELLULAR;
import static android.net.NetworkPolicyManager.POLICY_REJECT_VPN; import static android.net.NetworkPolicyManager.POLICY_REJECT_VPN;
import static android.net.NetworkPolicyManager.POLICY_REJECT_WIFI; 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.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.ConnectivitySettingsManager;
import android.net.NetworkPolicyManager; import android.net.NetworkPolicyManager;
import android.net.NetworkTemplate; import android.net.NetworkTemplate;
import android.os.Bundle; import android.os.Bundle;
@@ -247,14 +247,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
updatePrefs(); updatePrefs();
return true; return true;
} else if (preference == mRestrictAll) { } else if (preference == mRestrictAll) {
Set<Integer> uids = setAppRestrictAll(!(Boolean) newValue);
ConnectivitySettingsManager.getUidsAllowedOnRestrictedNetworks(mContext);
if (!(Boolean) newValue) {
uids.remove(mAppItem.key);
} else {
uids.add(mAppItem.key);
}
ConnectivitySettingsManager.setUidsAllowedOnRestrictedNetworks(mContext, uids);
updatePrefs(); updatePrefs();
return true; return true;
} else if (preference == mRestrictCellular) { } else if (preference == mRestrictCellular) {
@@ -396,8 +389,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
} }
private boolean getAppRestrictAll() { private boolean getAppRestrictAll() {
return !ConnectivitySettingsManager.getUidsAllowedOnRestrictedNetworks(mContext) return getAppRestriction(POLICY_REJECT_ALL);
.contains(mAppItem.key);
} }
private boolean getUnrestrictData() { private boolean getUnrestrictData() {
@@ -418,6 +410,10 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
== PackageManager.PERMISSION_GRANTED; == PackageManager.PERMISSION_GRANTED;
} }
private void setAppRestrictAll(boolean restrict) {
setAppRestriction(POLICY_REJECT_ALL, restrict);
}
private void setAppRestrictCellular(boolean restrict) { private void setAppRestrictCellular(boolean restrict) {
setAppRestriction(POLICY_REJECT_CELLULAR, restrict); setAppRestriction(POLICY_REJECT_CELLULAR, restrict);
} }