summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android Build Merger (Role) <android-build-merger@google.com> 2017-05-03 21:44:30 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-05-03 21:44:37 +0000
commit033b8368eca01e968f0d5f092a7745f0af37f806 (patch)
tree1cd0e5ed01bae2c47e59fc730a7f8a64bdbc84f0
parent23ab426a1dde07eab67387426c8e957d8192d0b9 (diff)
parent942a208f37b8e7600ee00855012afbfd9a774d49 (diff)
Merge "Merge "Fix Array Index out of bounds error." into oc-dev am: 5c05814af4 am: 7e51b8b671"
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index 646b6ba84ebb..be15e657d1c3 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -124,7 +124,8 @@ public class WifiTracker {
*/
private final Object mLock = new Object();
- //visible to both worker and main thread. Guarded by #mInternalAccessPoints
+ //visible to both worker and main thread.
+ @GuardedBy("mLock")
private final AccessPointListenerAdapter mAccessPointListenerAdapter
= new AccessPointListenerAdapter();
@@ -1005,12 +1006,13 @@ public class WifiTracker {
if (DBG) {
Log.d(TAG, "Starting to copy AP items on the MainHandler");
}
- if (notifyListeners) {
- notificationMap = mAccessPointListenerAdapter.mPendingNotifications.clone();
- }
-
- mAccessPointListenerAdapter.mPendingNotifications.clear();
synchronized (mLock) {
+ if (notifyListeners) {
+ notificationMap = mAccessPointListenerAdapter.mPendingNotifications.clone();
+ }
+
+ mAccessPointListenerAdapter.mPendingNotifications.clear();
+
for (AccessPoint internalAccessPoint : mInternalAccessPoints) {
AccessPoint accessPoint = oldAccessPoints.get(internalAccessPoint.mId);
if (accessPoint == null) {