diff options
| author | 2017-05-03 21:44:30 +0000 | |
|---|---|---|
| committer | 2017-05-03 21:44:37 +0000 | |
| commit | 033b8368eca01e968f0d5f092a7745f0af37f806 (patch) | |
| tree | 1cd0e5ed01bae2c47e59fc730a7f8a64bdbc84f0 | |
| parent | 23ab426a1dde07eab67387426c8e957d8192d0b9 (diff) | |
| parent | 942a208f37b8e7600ee00855012afbfd9a774d49 (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.java | 14 |
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) { |