Scan after user disable cellular

Currently, after the user manually selects cell and then disables
cellular data, it may take a while to connect back to wifi if the user
doesn't open or go back to the wifi picker screen.

This shortens the delay the device automatically connects back to wifi
after cellular is disabled.

Bug: 185408942
Test: atest MergedCarrierEntryTest
Change-Id: I1488ba353e514ef86101df22128baccffae9476b
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
index 4f0213c..d095281 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
@@ -119,6 +119,7 @@
     public void disconnect(@Nullable DisconnectCallback callback) {
         mDisconnectCallback = callback;
         mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
+        mWifiManager.startScan();
         if (mDisconnectCallback != null) {
             mCallbackHandler.post(() ->
                     mDisconnectCallback.onDisconnectResult(
@@ -137,6 +138,7 @@
         mWifiManager.setCarrierNetworkOffloadEnabled(mSubscriptionId, true, enabled);
         if (!enabled) {
             mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
+            mWifiManager.startScan();
         }
     }
 
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java
index dea5f66..cf18794 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java
@@ -96,4 +96,16 @@
                 .onConnectResult(WifiEntry.ConnectCallback.CONNECT_STATUS_SUCCESS);
         verify(mMockWifiManager).startRestrictingAutoJoinToSubscriptionId(subId);
     }
+
+    @Test
+    public void testDisconnect_enablesNonCarrierMergedWifiAndTriggersScan() {
+        final int subId = 1;
+        final MergedCarrierEntry entry = new MergedCarrierEntry(mTestHandler, mMockWifiManager,
+                mMockScoreCache, false, mMockContext, subId);
+
+        entry.disconnect(null);
+        mTestLooper.dispatchAll();
+        verify(mMockWifiManager).stopRestrictingAutoJoinToSubscriptionId();
+        verify(mMockWifiManager).startScan();
+    }
 }