Simplify the permission update conditions
Bug: 192431153
Test: atest FrameworksNetTests
Change-Id: Ibef4f3b26932a3d12959e2e1d585e184a4ec73cb
diff --git a/service/src/com/android/server/connectivity/PermissionMonitor.java b/service/src/com/android/server/connectivity/PermissionMonitor.java
index 67846bc..439db89 100755
--- a/service/src/com/android/server/connectivity/PermissionMonitor.java
+++ b/service/src/com/android/server/connectivity/PermissionMonitor.java
@@ -648,24 +648,17 @@
+ ", nPerm=(" + permissionToString(permission) + "/"
+ permissionToString(currentPermission) + ")"
+ ", tPerm=" + permissionToString(trafficPerm));
- if (permission == PERMISSION_SYSTEM) {
- // An app with this UID still has the SYSTEM permission.
- // Therefore, this UID must already have the SYSTEM permission.
- // Nothing to do.
- return;
- }
- // If the permissions of this UID have not changed, do nothing.
- if (permission == currentPermission) return;
-
- final SparseIntArray apps = new SparseIntArray();
- if (permission != PERMISSION_NONE) {
- mUidToNetworkPerm.put(uid, permission);
- apps.put(uid, permission);
- sendUidsNetworkPermission(apps, true);
- } else {
- mUidToNetworkPerm.delete(uid);
- apps.put(uid, PERMISSION_NETWORK); // doesn't matter which permission we pick here
- sendUidsNetworkPermission(apps, false);
+ if (permission != currentPermission) {
+ final SparseIntArray apps = new SparseIntArray();
+ if (permission == PERMISSION_NONE) {
+ mUidToNetworkPerm.delete(uid);
+ apps.put(uid, PERMISSION_NETWORK); // doesn't matter which permission we pick here
+ sendUidsNetworkPermission(apps, false);
+ } else {
+ mUidToNetworkPerm.put(uid, permission);
+ apps.put(uid, permission);
+ sendUidsNetworkPermission(apps, true);
+ }
}
}