Settings: Use new API for setting wifi scan always on

Bug: 148514485
Test: Manually verified the toggle from Settings
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I0a55b7212c97c11d50b0a05eec743e8ebe9ea6d8
This commit is contained in:
Roshan Pius
2020-02-12 14:17:49 -08:00
parent a023de72a9
commit a7e96dd80e
13 changed files with 66 additions and 67 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.location;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.provider.Settings;
import com.android.settings.R;
@@ -25,14 +26,16 @@ import com.android.settings.core.BasePreferenceController;
public class LocationScanningPreferenceController extends BasePreferenceController {
private final WifiManager mWifiManager;
public LocationScanningPreferenceController(Context context, String key) {
super(context, key);
mWifiManager = context.getSystemService(WifiManager.class);
}
@Override
public CharSequence getSummary() {
final boolean wifiScanOn = Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
final boolean wifiScanOn = mWifiManager.isScanAlwaysAvailable();
final boolean bleScanOn = Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1;
int resId;

View File

@@ -14,7 +14,7 @@
package com.android.settings.location;
import android.content.Context;
import android.provider.Settings;
import android.net.wifi.WifiManager;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
@@ -26,9 +26,11 @@ public class WifiScanningPreferenceController extends AbstractPreferenceControll
implements PreferenceControllerMixin {
private static final String KEY_WIFI_SCAN_ALWAYS_AVAILABLE = "wifi_always_scanning";
private final WifiManager mWifiManager;
public WifiScanningPreferenceController(Context context) {
super(context);
mWifiManager = context.getSystemService(WifiManager.class);
}
@Override
@@ -43,17 +45,13 @@ public class WifiScanningPreferenceController extends AbstractPreferenceControll
@Override
public void updateState(Preference preference) {
((SwitchPreference) preference).setChecked(
Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
((SwitchPreference) preference).setChecked(mWifiManager.isScanAlwaysAvailable());
}
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (KEY_WIFI_SCAN_ALWAYS_AVAILABLE.equals(preference.getKey())) {
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE,
((SwitchPreference) preference).isChecked() ? 1 : 0);
mWifiManager.setScanAlwaysAvailable(((SwitchPreference) preference).isChecked());
return true;
}
return false;