Merge "Synchronized WifiTracker scan result cache update logic" into qt-dev
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index 49c8ce3..3e359d2 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -555,8 +555,6 @@
                 configsByKey.put(AccessPoint.getKey(config), config);
             }
         }
-        ArrayMap<String, List<ScanResult>> scanResultsByApKey =
-                updateScanResultCache(newScanResults);
 
         WifiConfiguration connectionConfig = null;
         if (mLastInfo != null) {
@@ -566,6 +564,9 @@
         // Rather than dropping and reacquiring the lock multiple times in this method, we lock
         // once for efficiency of lock acquisition time and readability
         synchronized (mLock) {
+            ArrayMap<String, List<ScanResult>> scanResultsByApKey =
+                    updateScanResultCache(newScanResults);
+
             // Swap the current access points into a cached list for maintaining AP listeners
             List<AccessPoint> cachedAccessPoints;
             cachedAccessPoints = new ArrayList<>(mInternalAccessPoints);