diff options
| author | 2019-11-07 11:15:49 -0800 | |
|---|---|---|
| committer | 2019-11-07 11:15:49 -0800 | |
| commit | 9f55ed0eec3ac0bae791a0318b8d2b6c20dc6c3c (patch) | |
| tree | 2712b1eed32b8096fa91aa47514b516983a55c60 | |
| parent | 4f88828b9a979240dea7bac05d252d5ab2e74537 (diff) | |
| parent | 320b1fedf21da392ebcb5d56f25bf1338dfe70df (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.java | 18 |
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(); + } } } } |