diff options
| author | 2019-11-07 10:52:11 -0800 | |
|---|---|---|
| committer | 2019-11-07 10:52:11 -0800 | |
| commit | 320b1fedf21da392ebcb5d56f25bf1338dfe70df (patch) | |
| tree | 3ee77fe992cd3b663d547ce700fe186d8977faf0 | |
| parent | b7fb13500a25c45f3e9a4dc9a6d959fc3956fa9c (diff) | |
| parent | caa1953235135215bee90f71ff1d96be8fb84a0a (diff) | |
Merge "BugFix: add synchronized protection" am: 0bc7ae7069
am: caa1953235
Change-Id: I74322787b089f51361c539b91a366c3dcfd4d871
| -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 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(); + } } } |