Refactor hotspot into a full page
- Deprecated WifiAPEnabler, and copied most of its logic into various
controllers and WifiTetherSettings.
- Added tests
Fix: 37253404
Fix: 36181835
Test: make RunSettingsRoboTests
Change-Id: Iad994d61b694ad7f1113d045a3e7500eeaec178b
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 708e17f..664916a 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -43,6 +43,8 @@
import com.android.settings.datausage.DataSaverBackend;
import com.android.settings.wifi.WifiApDialog;
import com.android.settings.wifi.WifiApEnabler;
+import com.android.settings.wifi.tether.WifiTetherPreferenceController;
+import com.android.settings.wifi.tether.WifiTetherSettings;
import com.android.settingslib.TetherUtil;
import java.lang.ref.WeakReference;
@@ -63,7 +65,6 @@
private static final String USB_TETHER_SETTINGS = "usb_tether_settings";
private static final String ENABLE_WIFI_AP = "enable_wifi_ap";
private static final String ENABLE_BLUETOOTH_TETHERING = "enable_bluetooth_tethering";
- private static final String TETHER_CHOICE = "TETHER_TYPE";
private static final String DATA_SAVER_FOOTER = "disabled_on_data_saver";
private static final int DIALOG_AP_SETTINGS = 1;
@@ -100,17 +101,14 @@
private WifiConfiguration mWifiConfig = null;
private ConnectivityManager mCm;
+ private WifiTetherPreferenceController mWifiTetherPreferenceController;
+
private boolean mRestartWifiApAfterConfigChange;
private boolean mUsbConnected;
private boolean mMassStorageActive;
private boolean mBluetoothEnableForTether;
-
- /* Stores the package name and the class name of the provisioning app */
- private String[] mProvisionApp;
- private static final int PROVISION_REQUEST = 0;
-
private boolean mUnavailable;
private DataSaverBackend mDataSaverBackend;
@@ -127,6 +125,13 @@
}
@Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ mWifiTetherPreferenceController =
+ new WifiTetherPreferenceController(context, getLifecycle());
+ }
+
+ @Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -154,6 +159,7 @@
mEnableWifiAp =
(SwitchPreference) findPreference(ENABLE_WIFI_AP);
+
Preference wifiApSettings = findPreference(WIFI_AP_SSID_AND_SECURITY);
mUsbTether = (SwitchPreference) findPreference(USB_TETHER_SETTINGS);
mBluetoothTether = (SwitchPreference) findPreference(ENABLE_BLUETOOTH_TETHERING);
@@ -175,12 +181,18 @@
getPreferenceScreen().removePreference(mUsbTether);
}
- if (wifiAvailable && !Utils.isMonkeyRunning()) {
- mWifiApEnabler = new WifiApEnabler(activity, mDataSaverBackend, mEnableWifiAp);
- initWifiTethering();
+ mWifiTetherPreferenceController.displayPreference(getPreferenceScreen());
+ if (WifiTetherSettings.isTetherSettingPageEnabled()) {
+ removePreference(ENABLE_WIFI_AP);
+ removePreference(WIFI_AP_SSID_AND_SECURITY);
} else {
- getPreferenceScreen().removePreference(mEnableWifiAp);
- getPreferenceScreen().removePreference(wifiApSettings);
+ if (wifiAvailable && !Utils.isMonkeyRunning()) {
+ mWifiApEnabler = new WifiApEnabler(activity, mDataSaverBackend, mEnableWifiAp);
+ initWifiTethering();
+ } else {
+ getPreferenceScreen().removePreference(mEnableWifiAp);
+ getPreferenceScreen().removePreference(wifiApSettings);
+ }
}
if (!bluetoothAvailable) {