Revert "Scan for 2.4Ghz, 5GHz, and 6GHz RNR before the rest of the channels."

This reverts commit d68a18c1100827135261350e262f4ab65613c36c.

Reason for revert: b/274616058
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8cd75921019f02a6789a067982f8fc516e90a11b)
Merged-In: Id35277aef2a84dd8e3be5fa1f884d8fe129803f3
Change-Id: Id35277aef2a84dd8e3be5fa1f884d8fe129803f3
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
index 0df423d..8081ba7 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
@@ -31,9 +31,7 @@
 import android.net.Network;
 import android.net.NetworkCapabilities;
 import android.net.NetworkRequest;
-import android.net.wifi.ScanResult;
 import android.net.wifi.WifiManager;
-import android.net.wifi.WifiScanner;
 import android.net.wifi.sharedconnectivity.app.HotspotNetwork;
 import android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus;
 import android.net.wifi.sharedconnectivity.app.KnownNetwork;
@@ -58,7 +56,6 @@
 import androidx.lifecycle.OnLifecycleEvent;
 
 import java.time.Clock;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Executor;
 
@@ -608,59 +605,11 @@
     /**
      * Scanner to handle starting scans every SCAN_INTERVAL_MILLIS
      */
-    @WorkerThread
     private class Scanner extends Handler {
         private static final int SCAN_RETRY_TIMES = 3;
 
         private int mRetry = 0;
         private boolean mIsActive;
-        private final WifiScanner.ScanListener mFirstScanListener = new WifiScanner.ScanListener() {
-            @Override
-            public void onPeriodChanged(int periodInMs) {
-                // No-op.
-            }
-
-            @Override
-            public void onResults(WifiScanner.ScanData[] results) {
-                if (!mIsActive) {
-                    return;
-                }
-                if (sVerboseLogging) {
-                    Log.v(mTag, "Received scan results from first scan request.");
-                }
-                List<ScanResult> scanResults = new ArrayList<>();
-                if (results != null) {
-                    for (WifiScanner.ScanData scanData : results) {
-                        scanResults.addAll(List.of(scanData.getResults()));
-                    }
-                }
-                // Fake a SCAN_RESULTS_AVAILABLE_ACTION. The results should already be populated in
-                // mScanResultUpdater, which is the source of truth for the child classes.
-                mScanResultUpdater.update(scanResults);
-                handleScanResultsAvailableAction(
-                        new Intent(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)
-                                .putExtra(WifiManager.EXTRA_RESULTS_UPDATED, true));
-                // Now start scanning via WifiManager.startScan().
-                postScan();
-            }
-
-            @Override
-            public void onFullResult(ScanResult fullScanResult) {
-                // No-op.
-            }
-
-            @Override
-            public void onSuccess() {
-                // No-op.
-            }
-
-            @Override
-            public void onFailure(int reason, String description) {
-                Log.e(mTag, "Failed to scan! Reason: " + reason + ", ");
-                // First scan failed, start scanning normally anyway.
-                postScan();
-            }
-        };
 
         private Scanner(Looper looper) {
             super(looper);
@@ -672,23 +621,6 @@
                 if (isVerboseLoggingEnabled()) {
                     Log.v(mTag, "Scanner start");
                 }
-                if (BuildCompat.isAtLeastU()) {
-                    // Start off with a fast scan of 2.4GHz, 5GHz, and 6GHz RNR using WifiScanner.
-                    // After this is done, fall back to WifiManager.startScan() to get the rest of
-                    // the bands and hidden networks.
-                    // TODO(b/274177966): Move to using WifiScanner exclusively once we have
-                    //                    permission to use ScanSettings.hiddenNetworks.
-                    WifiScanner.ScanSettings scanSettings = new WifiScanner.ScanSettings();
-                    scanSettings.band = WifiScanner.WIFI_BAND_BOTH;
-                    scanSettings.setRnrSetting(WifiScanner.WIFI_RNR_ENABLED);
-                    WifiScanner wifiScanner = mContext.getSystemService(WifiScanner.class);
-                    if (wifiScanner != null) {
-                        wifiScanner.startScan(scanSettings, mFirstScanListener);
-                        return;
-                    } else {
-                        Log.e(mTag, "Failed to retrieve WifiScanner!");
-                    }
-                }
                 postScan();
             }
         }
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
index 7e650a8..7845203 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
@@ -35,7 +35,6 @@
 import static org.mockito.Mockito.atLeast;
 import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
@@ -54,7 +53,6 @@
 import android.net.wifi.WifiEnterpriseConfig;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
-import android.net.wifi.WifiScanner;
 import android.net.wifi.hotspot2.PasspointConfiguration;
 import android.net.wifi.hotspot2.pps.Credential;
 import android.net.wifi.hotspot2.pps.HomeSp;
@@ -97,7 +95,6 @@
     @Mock private Context mMockContext;
     @Mock private Resources mMockResources;
     @Mock private WifiManager mMockWifiManager;
-    @Mock private WifiScanner mWifiScanner;
     @Mock private ConnectivityManager mMockConnectivityManager;
     @Mock private ConnectivityDiagnosticsManager mMockConnectivityDiagnosticsManager;
     @Mock private TelephonyManager mMockTelephonyManager;
@@ -192,7 +189,6 @@
                 .thenReturn(mMockSubscriptionManager);
         when(mMockContext.getSystemService(ConnectivityDiagnosticsManager.class))
                 .thenReturn(mMockConnectivityDiagnosticsManager);
-        when(mMockContext.getSystemService(WifiScanner.class)).thenReturn(mWifiScanner);
         when(mMockContext.getString(anyInt())).thenReturn("");
     }
 
@@ -1993,56 +1989,4 @@
         verify(mMockConnectivityManager).unregisterNetworkCallback(
                 mDefaultNetworkCallbackCaptor.getValue());
     }
-
-    /**
-     * Tests that the BaseWifiTracker.Scanner continues scanning with WifiManager.startScan() after
-     * the first WifiScanner result is received.
-     */
-    @Test
-    public void testScanner_wifiScannerResultReceived_scannerContinues() {
-        final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
-        wifiPickerTracker.onStart();
-        mTestLooper.dispatchAll();
-        verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
-                any(), any(), any());
-        mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
-                new Intent(WifiManager.WIFI_STATE_CHANGED_ACTION).putExtra(
-                        WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_ENABLED));
-
-        ArgumentCaptor<WifiScanner.ScanListener> mScanListenerCaptor =
-                ArgumentCaptor.forClass(WifiScanner.ScanListener.class);
-        verify(mWifiScanner).startScan(any(), mScanListenerCaptor.capture());
-        mTestLooper.moveTimeForward(SCAN_INTERVAL_MILLIS);
-        mTestLooper.dispatchAll();
-        verify(mMockWifiManager, never()).startScan();
-
-        mScanListenerCaptor.getValue().onResults(null);
-        verify(mMockWifiManager).startScan();
-    }
-
-    /**
-     * Tests that the BaseWifiTracker.Scanner continues scanning with WifiManager.startScan() after
-     * the first WifiScanner scan fails.
-     */
-    @Test
-    public void testScanner_wifiScannerFailed_scannerContinues() {
-        final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
-        wifiPickerTracker.onStart();
-        mTestLooper.dispatchAll();
-        verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
-                any(), any(), any());
-        mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
-                new Intent(WifiManager.WIFI_STATE_CHANGED_ACTION).putExtra(
-                        WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_ENABLED));
-
-        ArgumentCaptor<WifiScanner.ScanListener> mScanListenerCaptor =
-                ArgumentCaptor.forClass(WifiScanner.ScanListener.class);
-        verify(mWifiScanner).startScan(any(), mScanListenerCaptor.capture());
-        mTestLooper.moveTimeForward(SCAN_INTERVAL_MILLIS);
-        mTestLooper.dispatchAll();
-        verify(mMockWifiManager, never()).startScan();
-
-        mScanListenerCaptor.getValue().onFailure(0, "Reason");
-        verify(mMockWifiManager).startScan();
-    }
 }