WCM: reset last connection BSSID

Reset WCM's record of last connection attempt BSSID when WiFi
is disconnected or WiFi/WCM is disabled.

Bug: 30140653
Tests: WiFi framework unit tests & manual tests
Change-Id: I70b285ffcc8783db587b3fcc14f8f85ffa6122f2
diff --git a/service/java/com/android/server/wifi/WifiConnectivityManager.java b/service/java/com/android/server/wifi/WifiConnectivityManager.java
index 7e54c33..7f3d5d7 100644
--- a/service/java/com/android/server/wifi/WifiConnectivityManager.java
+++ b/service/java/com/android/server/wifi/WifiConnectivityManager.java
@@ -1034,8 +1034,10 @@
 
         mWifiState = state;
 
-        // Kick off the watchdog timer if entering disconnected state
+        // Reset BSSID of last connection attempt and kick off
+        // the watchdog timer if entering disconnected state.
         if (mWifiState == WIFI_STATE_DISCONNECTED) {
+            mLastConnectionAttemptBssid = null;
             scheduleWatchdogTimer();
         }
 
@@ -1115,6 +1117,7 @@
         if (!mWifiEnabled) {
             stopConnectivityScan();
             resetLastPeriodicSingleScanTimeStamp();
+            mLastConnectionAttemptBssid = null;
         }
     }
 
@@ -1129,6 +1132,7 @@
         if (!mWifiConnectivityManagerEnabled) {
             stopConnectivityScan();
             resetLastPeriodicSingleScanTimeStamp();
+            mLastConnectionAttemptBssid = null;
         }
     }