Fix ScanSettingsTest to use new WifiManager APIs

Migrate from using Settings.Global to using
WifiManager.isScanAlwaysAvailable().

Bug: 149954910
Test: atest ScanningSettingsTest#testWifiScanningSettings
Change-Id: Ie6e04bc26dafefb21988ee583ffedb55aab87b12
diff --git a/tests/location/location_fine/AndroidManifest.xml b/tests/location/location_fine/AndroidManifest.xml
index 01fe459..0804333 100644
--- a/tests/location/location_fine/AndroidManifest.xml
+++ b/tests/location/location_fine/AndroidManifest.xml
@@ -27,6 +27,7 @@
     <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
 
     <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
                      android:targetPackage="android.location.cts.fine"
diff --git a/tests/location/location_fine/src/android/location/cts/fine/ScanningSettingsTest.java b/tests/location/location_fine/src/android/location/cts/fine/ScanningSettingsTest.java
index 802aa2c..b7853e8 100644
--- a/tests/location/location_fine/src/android/location/cts/fine/ScanningSettingsTest.java
+++ b/tests/location/location_fine/src/android/location/cts/fine/ScanningSettingsTest.java
@@ -22,6 +22,7 @@
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.database.ContentObserver;
+import android.net.wifi.WifiManager;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.platform.test.annotations.AppModeFull;
@@ -33,6 +34,7 @@
 import android.test.AndroidTestCase;
 
 import com.android.compatibility.common.util.CddTest;
+import com.android.compatibility.common.util.PollingCheck;
 
 import androidx.test.platform.app.InstrumentationRegistry;
 
@@ -76,12 +78,35 @@
     }
 
     @CddTest(requirement = "7.4.2/C-2-1")
-    public void testWifiScanningSettings() throws PackageManager.NameNotFoundException {
+    public void testWifiScanningSettings() throws Exception {
         if (isTv()) {
             return;
         }
         launchScanningSettings();
-        toggleSettingAndVerify(WIFI_SCANNING_TITLE_RES, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE);
+
+        final Resources res = mPackageManager.getResourcesForApplication(SETTINGS_PACKAGE);
+        final int resId = res.getIdentifier(WIFI_SCANNING_TITLE_RES, "string", SETTINGS_PACKAGE);
+        final UiObject2 pref = mDevice.findObject(By.text(res.getString(resId)));
+
+        final WifiManager wifiManager = mContext.getSystemService(WifiManager.class);
+
+        final boolean checked = wifiManager.isScanAlwaysAvailable();
+
+        // Click the preference to toggle the setting.
+        pref.click();
+        PollingCheck.check(
+                "Scan Always Available wasn't toggled from " + checked + " to " + !checked,
+                TIMEOUT,
+                () -> !checked == wifiManager.isScanAlwaysAvailable()
+        );
+
+        // Click the preference again to toggle the setting back.
+        pref.click();
+        PollingCheck.check(
+                "Scan Always Available wasn't toggled from " + !checked + " to " + checked,
+                TIMEOUT,
+                () -> checked == wifiManager.isScanAlwaysAvailable()
+        );
     }
 
     @CddTest(requirement = "7.4.3/C-4-1")