summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author liulvping <liulvping@xiaomi.com> 2019-11-07 10:52:11 -0800
committer android-build-merger <android-build-merger@google.com> 2019-11-07 10:52:11 -0800
commit320b1fedf21da392ebcb5d56f25bf1338dfe70df (patch)
tree3ee77fe992cd3b663d547ce700fe186d8977faf0
parentb7fb13500a25c45f3e9a4dc9a6d959fc3956fa9c (diff)
parentcaa1953235135215bee90f71ff1d96be8fb84a0a (diff)
Merge "BugFix: add synchronized protection" am: 0bc7ae7069
am: caa1953235 Change-Id: I74322787b089f51361c539b91a366c3dcfd4d871
-rw-r--r--services/core/java/com/android/server/AppStateTracker.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/AppStateTracker.java b/services/core/java/com/android/server/AppStateTracker.java
index 3a7b5d683507..207e007cc62f 100644
--- a/services/core/java/com/android/server/AppStateTracker.java
+++ b/services/core/java/com/android/server/AppStateTracker.java
@@ -700,14 +700,16 @@ public class AppStateTracker {
Slog.d(TAG,"onAppIdleStateChanged: " + packageName + " u" + userId
+ (idle ? " idle" : " active") + " " + bucket);
}
- final boolean changed;
- if (bucket == UsageStatsManager.STANDBY_BUCKET_EXEMPTED) {
- changed = mExemptedPackages.add(userId, packageName);
- } else {
- changed = mExemptedPackages.remove(userId, packageName);
- }
- if (changed) {
- mHandler.notifyExemptChanged();
+ synchronized (mLock) {
+ final boolean changed;
+ if (bucket == UsageStatsManager.STANDBY_BUCKET_EXEMPTED) {
+ changed = mExemptedPackages.add(userId, packageName);
+ } else {
+ changed = mExemptedPackages.remove(userId, packageName);
+ }
+ if (changed) {
+ mHandler.notifyExemptChanged();
+ }
}
}