Merge "Simplify the permission update conditions" am: 5e3ef685ef am: 192f0c63f1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1903462
Change-Id: I19beea0b0ae98c5456377aefa2cdc49dd95313f3
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);
+ }
}
}