Merge \"Ignore system apps on enforceMeteredApnPolicy().\" into nyc-dev
am: fa2715e03b Change-Id: I98440b2ae3371661ed8b1b2f29b0ba18e1b6e6c3
This commit is contained in:
@@ -30,8 +30,6 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED;
|
|||||||
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
|
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
|
||||||
import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL;
|
import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL;
|
||||||
import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED;
|
import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED;
|
||||||
import static android.net.NetworkPolicyManager.MASK_METERED_NETWORKS;
|
|
||||||
import static android.net.NetworkPolicyManager.MASK_ALL_NETWORKS;
|
|
||||||
import static android.net.NetworkPolicyManager.RULE_NONE;
|
import static android.net.NetworkPolicyManager.RULE_NONE;
|
||||||
import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
|
import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
|
||||||
import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
|
import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
|
||||||
@@ -921,7 +919,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// Networks aren't blocked when ignoring blocked status
|
// Networks aren't blocked when ignoring blocked status
|
||||||
if (ignoreBlocked) return false;
|
if (ignoreBlocked) return false;
|
||||||
// Networks are never blocked for system services
|
// Networks are never blocked for system services
|
||||||
if (uid < Process.FIRST_APPLICATION_UID) return false;
|
if (isSystem(uid)) return false;
|
||||||
|
|
||||||
final boolean networkMetered;
|
final boolean networkMetered;
|
||||||
final int uidRules;
|
final int uidRules;
|
||||||
@@ -4032,12 +4030,18 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isSystem(int uid) {
|
||||||
|
return uid < Process.FIRST_APPLICATION_UID;
|
||||||
|
}
|
||||||
|
|
||||||
private void enforceMeteredApnPolicy(NetworkCapabilities networkCapabilities) {
|
private void enforceMeteredApnPolicy(NetworkCapabilities networkCapabilities) {
|
||||||
|
final int uid = Binder.getCallingUid();
|
||||||
|
if (isSystem(uid)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
// if UID is restricted, don't allow them to bring up metered APNs
|
// if UID is restricted, don't allow them to bring up metered APNs
|
||||||
if (networkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED) == false) {
|
if (networkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED) == false) {
|
||||||
final int uidRules;
|
final int uidRules;
|
||||||
final int uid = Binder.getCallingUid();
|
|
||||||
synchronized(mRulesLock) {
|
synchronized(mRulesLock) {
|
||||||
uidRules = mUidRules.get(uid, RULE_ALLOW_ALL);
|
uidRules = mUidRules.get(uid, RULE_ALLOW_ALL);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user