summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author liulvping <liulvping@xiaomi.com> 2019-11-07 11:15:49 -0800
committer android-build-merger <android-build-merger@google.com> 2019-11-07 11:15:49 -0800
commit9f55ed0eec3ac0bae791a0318b8d2b6c20dc6c3c (patch)
tree2712b1eed32b8096fa91aa47514b516983a55c60
parent4f88828b9a979240dea7bac05d252d5ab2e74537 (diff)
parent320b1fedf21da392ebcb5d56f25bf1338dfe70df (diff)
Merge "BugFix: add synchronized protection" am: 0bc7ae7069 am: caa1953235
am: 320b1fedf2 Change-Id: I38f26eb0bcb75202a12e15fba7da3fa3fcba392f
-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 486cd5fee01c..7d5b17684843 100644
--- a/services/core/java/com/android/server/AppStateTracker.java
+++ b/services/core/java/com/android/server/AppStateTracker.java
@@ -699,14 +699,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();
+ }
}
}
}