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;
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<Integer> 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);
}