diff options
| author | 2023-12-01 06:34:19 +0000 | |
|---|---|---|
| committer | 2023-12-01 06:34:19 +0000 | |
| commit | b1c0fa205e06f25ae99057e1635f6492defaf6b5 (patch) | |
| tree | 3c32d05bbf0de684fdc7c0b4a2e522e814a3c129 | |
| parent | 9ea2396512e30e00f5d906acce2a3aaa0512a31d (diff) | |
| parent | ee2998b3cb867caa468eebf11ba613670aed7da3 (diff) | |
Merge "Reduce unnecessary callbacks in AppOpsService." into main am: baa658bced am: ee2998b3cb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2843775
Change-Id: I14bc98b0d595467d72a21317927e32f3ffd09458
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java b/services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java index 4dfd9b076354..f0dd23ce832a 100644 --- a/services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java +++ b/services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java @@ -221,20 +221,24 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface synchronized (mLock) { SparseIntArray opModes = mUidModes.get(uid, null); if (opModes == null) { - if (mode != defaultMode) { - opModes = new SparseIntArray(); - mUidModes.put(uid, opModes); - opModes.put(op, mode); - scheduleWriteLocked(); + if (mode == defaultMode) { + return false; } + opModes = new SparseIntArray(); + mUidModes.put(uid, opModes); + opModes.put(op, mode); + scheduleWriteLocked(); } else { - if (opModes.indexOfKey(op) >= 0 && opModes.get(op) == mode) { + if (opModes.indexOfKey(op) >= 0) { + if (opModes.get(op) == mode) { + return false; + } + } else if (mode == defaultMode) { return false; } if (mode == defaultMode) { opModes.delete(op); if (opModes.size() <= 0) { - opModes = null; mUidModes.delete(uid); } } else { |