Remove code for old wifi tether feature

Change-Id: If92798ddf075801e66cd97ecacff2f8df1e41985
Fix: 64032458
Test: rerun robotests
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 664916a..94c3fb5 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -16,95 +16,64 @@
 
 package com.android.settings;
 
+import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
+import static android.net.ConnectivityManager.TETHERING_USB;
+
 import android.app.Activity;
-import android.app.Dialog;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothPan;
 import android.bluetooth.BluetoothProfile;
 import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.hardware.usb.UsbManager;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
 import android.os.UserManager;
 import android.support.v14.preference.SwitchPreference;
 import android.support.v7.preference.Preference;
-import android.util.Log;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 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;
 import java.util.ArrayList;
 import java.util.concurrent.atomic.AtomicReference;
 
-import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
-import static android.net.ConnectivityManager.TETHERING_USB;
-import static android.net.ConnectivityManager.TETHERING_WIFI;
-
 /*
  * Displays preferences for Tethering.
  */
 public class TetherSettings extends RestrictedSettingsFragment
-        implements DialogInterface.OnClickListener, Preference.OnPreferenceChangeListener,
-        DataSaverBackend.Listener {
+        implements DataSaverBackend.Listener {
 
     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 DATA_SAVER_FOOTER = "disabled_on_data_saver";
 
-    private static final int DIALOG_AP_SETTINGS = 1;
-
     private static final String TAG = "TetheringSettings";
 
     private SwitchPreference mUsbTether;
 
-    private WifiApEnabler mWifiApEnabler;
-    private SwitchPreference mEnableWifiAp;
-
     private SwitchPreference mBluetoothTether;
 
     private BroadcastReceiver mTetherChangeReceiver;
 
     private String[] mUsbRegexs;
-
-    private String[] mWifiRegexs;
-
     private String[] mBluetoothRegexs;
-    private AtomicReference<BluetoothPan> mBluetoothPan = new AtomicReference<BluetoothPan>();
+    private AtomicReference<BluetoothPan> mBluetoothPan = new AtomicReference<>();
 
     private Handler mHandler = new Handler();
     private OnStartTetheringCallback mStartTetheringCallback;
-
-    private static final String WIFI_AP_SSID_AND_SECURITY = "wifi_ap_ssid_and_security";
-    private static final int CONFIG_SUBTEXT = R.string.wifi_tether_configure_subtext;
-
-    private String[] mSecurityType;
-    private Preference mCreateNetwork;
-
-    private WifiApDialog mDialog;
-    private WifiManager mWifiManager;
-    private WifiConfiguration mWifiConfig = null;
     private ConnectivityManager mCm;
 
     private WifiTetherPreferenceController mWifiTetherPreferenceController;
 
-    private boolean mRestartWifiApAfterConfigChange;
-
     private boolean mUsbConnected;
     private boolean mMassStorageActive;
 
@@ -157,24 +126,17 @@
                     BluetoothProfile.PAN);
         }
 
-        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);
 
         mDataSaverBackend.addListener(this);
 
         mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
-        mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 
         mUsbRegexs = mCm.getTetherableUsbRegexs();
-        mWifiRegexs = mCm.getTetherableWifiRegexs();
         mBluetoothRegexs = mCm.getTetherableBluetoothRegexs();
 
         final boolean usbAvailable = mUsbRegexs.length != 0;
-        final boolean wifiAvailable = mWifiRegexs.length != 0;
         final boolean bluetoothAvailable = mBluetoothRegexs.length != 0;
 
         if (!usbAvailable || Utils.isMonkeyRunning()) {
@@ -182,18 +144,6 @@
         }
 
         mWifiTetherPreferenceController.displayPreference(getPreferenceScreen());
-        if (WifiTetherSettings.isTetherSettingPageEnabled()) {
-            removePreference(ENABLE_WIFI_AP);
-            removePreference(WIFI_AP_SSID_AND_SECURITY);
-        } else {
-            if (wifiAvailable && !Utils.isMonkeyRunning()) {
-                mWifiApEnabler = new WifiApEnabler(activity, mDataSaverBackend, mEnableWifiAp);
-                initWifiTethering();
-            } else {
-                getPreferenceScreen().removePreference(mEnableWifiAp);
-                getPreferenceScreen().removePreference(wifiApSettings);
-            }
-        }
 
         if (!bluetoothAvailable) {
             getPreferenceScreen().removePreference(mBluetoothTether);
@@ -225,7 +175,6 @@
     @Override
     public void onDataSaverChanged(boolean isDataSaving) {
         mDataSaverEnabled = isDataSaving;
-        mEnableWifiAp.setEnabled(!mDataSaverEnabled);
         mUsbTether.setEnabled(!mDataSaverEnabled);
         mBluetoothTether.setEnabled(!mDataSaverEnabled);
         mDataSaverFooter.setVisible(mDataSaverEnabled);
@@ -239,47 +188,6 @@
     public void onBlacklistStatusChanged(int uid, boolean isBlacklisted)  {
     }
 
-    private void initWifiTethering() {
-        final Activity activity = getActivity();
-        mWifiConfig = mWifiManager.getWifiApConfiguration();
-        mSecurityType = getResources().getStringArray(R.array.wifi_ap_security);
-
-        mCreateNetwork = findPreference(WIFI_AP_SSID_AND_SECURITY);
-
-        mRestartWifiApAfterConfigChange = false;
-
-        if (mWifiConfig == null) {
-            final String s = activity.getString(
-                    com.android.internal.R.string.wifi_tether_configure_ssid_default);
-            mCreateNetwork.setSummary(String.format(activity.getString(CONFIG_SUBTEXT),
-                    s, mSecurityType[WifiApDialog.OPEN_INDEX]));
-        } else {
-            int index = WifiApDialog.getSecurityTypeIndex(mWifiConfig);
-            mCreateNetwork.setSummary(String.format(activity.getString(CONFIG_SUBTEXT),
-                    mWifiConfig.SSID,
-                    mSecurityType[index]));
-        }
-    }
-
-    @Override
-    public Dialog onCreateDialog(int id) {
-        if (id == DIALOG_AP_SETTINGS) {
-            final Activity activity = getActivity();
-            mDialog = new WifiApDialog(activity, this, mWifiConfig);
-            return mDialog;
-        }
-
-        return null;
-    }
-
-    @Override
-    public int getDialogMetricsCategory(int dialogId) {
-        if (dialogId == DIALOG_AP_SETTINGS) {
-            return MetricsEvent.DIALOG_AP_SETTINGS;
-        }
-        return 0;
-    }
-
     private class TetherChangeReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context content, Intent intent) {
@@ -295,20 +203,6 @@
                 updateState(available.toArray(new String[available.size()]),
                         active.toArray(new String[active.size()]),
                         errored.toArray(new String[errored.size()]));
-                if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_DISABLED
-                        && mRestartWifiApAfterConfigChange) {
-                    mRestartWifiApAfterConfigChange = false;
-                    Log.d(TAG, "Restarting WifiAp due to prior config change.");
-                    startTethering(TETHERING_WIFI);
-                }
-            } else if (action.equals(WifiManager.WIFI_AP_STATE_CHANGED_ACTION)) {
-                int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_STATE, 0);
-                if (state == WifiManager.WIFI_AP_STATE_DISABLED
-                        && mRestartWifiApAfterConfigChange) {
-                    mRestartWifiApAfterConfigChange = false;
-                    Log.d(TAG, "Restarting WifiAp due to prior config change.");
-                    startTethering(TETHERING_WIFI);
-                }
             } else if (action.equals(Intent.ACTION_MEDIA_SHARED)) {
                 mMassStorageActive = true;
                 updateState();
@@ -360,7 +254,6 @@
         mMassStorageActive = Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
         mTetherChangeReceiver = new TetherChangeReceiver();
         IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
-        filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
         Intent intent = activity.registerReceiver(mTetherChangeReceiver, filter);
 
         filter = new IntentFilter();
@@ -378,10 +271,6 @@
         activity.registerReceiver(mTetherChangeReceiver, filter);
 
         if (intent != null) mTetherChangeReceiver.onReceive(activity, intent);
-        if (mWifiApEnabler != null) {
-            mEnableWifiAp.setOnPreferenceChangeListener(this);
-            mWifiApEnabler.resume();
-        }
 
         updateState();
     }
@@ -396,10 +285,6 @@
         getActivity().unregisterReceiver(mTetherChangeReceiver);
         mTetherChangeReceiver = null;
         mStartTetheringCallback = null;
-        if (mWifiApEnabler != null) {
-            mEnableWifiAp.setOnPreferenceChangeListener(null);
-            mWifiApEnabler.pause();
-        }
     }
 
     private void updateState() {
@@ -415,7 +300,6 @@
         updateBluetoothState();
     }
 
-
     private void updateUsbState(String[] available, String[] tethered,
             String[] errored) {
         boolean usbAvailable = mUsbConnected && !mMassStorageActive;
@@ -477,18 +361,6 @@
         }
     }
 
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object value) {
-        boolean enable = (Boolean) value;
-
-        if (enable) {
-            startTethering(TETHERING_WIFI);
-        } else {
-            mCm.stopTethering(TETHERING_WIFI);
-        }
-        return false;
-    }
-
     public static boolean isProvisioningNeededButUnavailable(Context context) {
         return (TetherUtil.isProvisioningNeeded(context)
                 && !isIntentAvailable(context));
@@ -541,37 +413,11 @@
                 // connected. Need to update state manually.
                 updateState();
             }
-        } else if (preference == mCreateNetwork) {
-            showDialog(DIALOG_AP_SETTINGS);
         }
 
         return super.onPreferenceTreeClick(preference);
     }
 
-    public void onClick(DialogInterface dialogInterface, int button) {
-        if (button == DialogInterface.BUTTON_POSITIVE) {
-            mWifiConfig = mDialog.getConfig();
-            if (mWifiConfig != null) {
-                /**
-                 * if soft AP is stopped, bring up
-                 * else restart with new config
-                 * TODO: update config on a running access point when framework support is added
-                 */
-                if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) {
-                    Log.d("TetheringSettings",
-                            "Wifi AP config changed while enabled, stop and restart");
-                    mRestartWifiApAfterConfigChange = true;
-                    mCm.stopTethering(TETHERING_WIFI);
-                }
-                mWifiManager.setWifiApConfiguration(mWifiConfig);
-                int index = WifiApDialog.getSecurityTypeIndex(mWifiConfig);
-                mCreateNetwork.setSummary(String.format(getActivity().getString(CONFIG_SUBTEXT),
-                        mWifiConfig.SSID,
-                        mSecurityType[index]));
-            }
-        }
-    }
-
     @Override
     public int getHelpResource() {
         return R.string.help_url_tether;
@@ -592,7 +438,7 @@
         final WeakReference<TetherSettings> mTetherSettings;
 
         OnStartTetheringCallback(TetherSettings settings) {
-            mTetherSettings = new WeakReference<TetherSettings>(settings);
+            mTetherSettings = new WeakReference<>(settings);
         }
 
         @Override
diff --git a/src/com/android/settings/wifi/WifiApDialog.java b/src/com/android/settings/wifi/WifiApDialog.java
deleted file mode 100644
index 1316a49..0000000
--- a/src/com/android/settings/wifi/WifiApDialog.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.AuthAlgorithm;
-import android.net.wifi.WifiConfiguration.KeyMgmt;
-import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.text.Editable;
-import android.text.InputType;
-import android.text.TextWatcher;
-import android.util.Log;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.CheckBox;
-import android.widget.EditText;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import com.android.settings.R;
-
-import java.nio.charset.Charset;
-
-/**
- * Dialog to configure the SSID and security settings
- * for Access Point operation
- */
-public class WifiApDialog extends AlertDialog implements View.OnClickListener,
-        TextWatcher, AdapterView.OnItemSelectedListener {
-
-    static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE;
-
-    private final DialogInterface.OnClickListener mListener;
-
-    public static final int OPEN_INDEX = 0;
-    public static final int WPA2_INDEX = 1;
-
-    private View mView;
-    private TextView mSsid;
-    private int mSecurityTypeIndex = OPEN_INDEX;
-    private EditText mPassword;
-    private int mBandIndex = OPEN_INDEX;
-
-    WifiConfiguration mWifiConfig;
-    WifiManager mWifiManager;
-    private Context mContext;
-
-    private static final String TAG = "WifiApDialog";
-
-    public WifiApDialog(Context context, DialogInterface.OnClickListener listener,
-            WifiConfiguration wifiConfig) {
-        super(context);
-        mListener = listener;
-        mWifiConfig = wifiConfig;
-        if (wifiConfig != null) {
-            mSecurityTypeIndex = getSecurityTypeIndex(wifiConfig);
-        }
-        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
-        mContext =  context;
-    }
-
-    public static int getSecurityTypeIndex(WifiConfiguration wifiConfig) {
-        if (wifiConfig.allowedKeyManagement.get(KeyMgmt.WPA2_PSK)) {
-            return WPA2_INDEX;
-        }
-        return OPEN_INDEX;
-    }
-
-    public WifiConfiguration getConfig() {
-
-        WifiConfiguration config = new WifiConfiguration();
-
-        /**
-         * TODO: SSID in WifiConfiguration for soft ap
-         * is being stored as a raw string without quotes.
-         * This is not the case on the client side. We need to
-         * make things consistent and clean it up
-         */
-        config.SSID = mSsid.getText().toString();
-
-        config.apBand = mBandIndex;
-
-        switch (mSecurityTypeIndex) {
-            case OPEN_INDEX:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
-                return config;
-
-            case WPA2_INDEX:
-                config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
-                if (mPassword.length() != 0) {
-                    String password = mPassword.getText().toString();
-                    config.preSharedKey = password;
-                }
-                return config;
-        }
-        return null;
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        boolean mInit = true;
-        mView = getLayoutInflater().inflate(R.layout.wifi_ap_dialog, null);
-        Spinner mSecurity = ((Spinner) mView.findViewById(R.id.security));
-        final Spinner mChannel = (Spinner) mView.findViewById(R.id.choose_channel);
-
-        setView(mView);
-        setInverseBackgroundForced(true);
-
-        Context context = getContext();
-
-        setTitle(R.string.wifi_tether_configure_ap_text);
-        mView.findViewById(R.id.type).setVisibility(View.VISIBLE);
-        mSsid = (TextView) mView.findViewById(R.id.ssid);
-        mPassword = (EditText) mView.findViewById(R.id.password);
-
-        ArrayAdapter <CharSequence> channelAdapter;
-        String countryCode = mWifiManager.getCountryCode();
-        if (!mWifiManager.isDualBandSupported() || countryCode == null) {
-            //If no country code, 5GHz AP is forbidden
-            Log.i(TAG,(!mWifiManager.isDualBandSupported() ? "Device do not support 5GHz " :"") 
-                    + (countryCode == null ? " NO country code" :"") +  " forbid 5GHz");
-            channelAdapter = ArrayAdapter.createFromResource(mContext,
-                    R.array.wifi_ap_band_config_2G_only, android.R.layout.simple_spinner_item);
-            mWifiConfig.apBand = 0;
-        } else {
-            channelAdapter = ArrayAdapter.createFromResource(mContext,
-                    R.array.wifi_ap_band_config_full, android.R.layout.simple_spinner_item);
-        }
-
-        channelAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-
-        setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_save), mListener);
-        setButton(DialogInterface.BUTTON_NEGATIVE,
-        context.getString(R.string.wifi_cancel), mListener);
-
-        if (mWifiConfig != null) {
-            mSsid.setText(mWifiConfig.SSID);
-            if (mWifiConfig.apBand == 0) {
-               mBandIndex = 0;
-            } else {
-               mBandIndex = 1;
-            }
-
-            mSecurity.setSelection(mSecurityTypeIndex);
-            if (mSecurityTypeIndex == WPA2_INDEX) {
-                mPassword.setText(mWifiConfig.preSharedKey);
-            }
-        }
-
-        mChannel.setAdapter(channelAdapter);
-        mChannel.setOnItemSelectedListener(
-                new AdapterView.OnItemSelectedListener() {
-                    boolean mInit = true;
-                    @Override
-                    public void onItemSelected(AdapterView<?> adapterView, View view, int position,
-                                               long id) {
-                        if (!mInit) {
-                            mBandIndex = position;
-                            mWifiConfig.apBand = mBandIndex;
-                            Log.i(TAG, "config on channelIndex : " + mBandIndex + " Band: " +
-                                    mWifiConfig.apBand);
-                        } else {
-                            mInit = false;
-                            mChannel.setSelection(mBandIndex);
-                        }
-
-                    }
-
-                    @Override
-                    public void onNothingSelected(AdapterView<?> adapterView) {
-
-                    }
-                }
-        );
-
-        mSsid.addTextChangedListener(this);
-        mPassword.addTextChangedListener(this);
-        ((CheckBox) mView.findViewById(R.id.show_password)).setOnClickListener(this);
-        mSecurity.setOnItemSelectedListener(this);
-
-        super.onCreate(savedInstanceState);
-
-        showSecurityFields();
-        validate();
-    }
-
-    public void onRestoreInstanceState(Bundle savedInstanceState) {
-        super.onRestoreInstanceState(savedInstanceState);
-        mPassword.setInputType(
-                InputType.TYPE_CLASS_TEXT |
-                (((CheckBox) mView.findViewById(R.id.show_password)).isChecked() ?
-                InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
-                InputType.TYPE_TEXT_VARIATION_PASSWORD));
-    }
-
-    private void validate() {
-        String mSsidString = mSsid.getText().toString();
-        if ((mSsid != null && mSsid.length() == 0)
-                || ((mSecurityTypeIndex == WPA2_INDEX) && mPassword.length() < 8)
-                || (mSsid != null &&
-                Charset.forName("UTF-8").encode(mSsidString).limit() > 32)) {
-            getButton(BUTTON_SUBMIT).setEnabled(false);
-        } else {
-            getButton(BUTTON_SUBMIT).setEnabled(true);
-        }
-    }
-
-    public void onClick(View view) {
-        mPassword.setInputType(
-                InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ?
-                InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
-                InputType.TYPE_TEXT_VARIATION_PASSWORD));
-    }
-
-    public void onTextChanged(CharSequence s, int start, int before, int count) {
-    }
-
-    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-    }
-
-    public void afterTextChanged(Editable editable) {
-        validate();
-    }
-
-    @Override
-    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-        mSecurityTypeIndex = position;
-        showSecurityFields();
-        validate();
-    }
-
-    @Override
-    public void onNothingSelected(AdapterView<?> parent) {
-    }
-
-    private void showSecurityFields() {
-        if (mSecurityTypeIndex == OPEN_INDEX) {
-            mView.findViewById(R.id.fields).setVisibility(View.GONE);
-            return;
-        }
-        mView.findViewById(R.id.fields).setVisibility(View.VISIBLE);
-    }
-}
diff --git a/src/com/android/settings/wifi/WifiApEnabler.java b/src/com/android/settings/wifi/WifiApEnabler.java
deleted file mode 100644
index 675bf28..0000000
--- a/src/com/android/settings/wifi/WifiApEnabler.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
-import android.provider.Settings;
-import android.support.v14.preference.SwitchPreference;
-import android.text.BidiFormatter;
-
-import com.android.settings.R;
-import com.android.settings.datausage.DataSaverBackend;
-
-import java.util.ArrayList;
-
-/**
- * @deprecated in favor of WifiTetherPreferenceController and WifiTetherSettings
- */
-@Deprecated
-public class WifiApEnabler {
-    private final Context mContext;
-    private final SwitchPreference mSwitch;
-    private final CharSequence mOriginalSummary;
-    private final DataSaverBackend mDataSaverBackend;
-
-    private WifiManager mWifiManager;
-    private final IntentFilter mIntentFilter;
-
-    ConnectivityManager mCm;
-    private String[] mWifiRegexs;
-
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (WifiManager.WIFI_AP_STATE_CHANGED_ACTION.equals(action)) {
-                int state = intent.getIntExtra(
-                        WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED);
-                if (state == WifiManager.WIFI_AP_STATE_FAILED) {
-                    int reason = intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_FAILURE_REASON,
-                            WifiManager.SAP_START_FAILURE_GENERAL);
-                    handleWifiApStateChanged(state, reason);
-                } else {
-                    handleWifiApStateChanged(state, WifiManager.SAP_START_FAILURE_GENERAL);
-                }
-            } else if (ConnectivityManager.ACTION_TETHER_STATE_CHANGED.equals(action)) {
-                ArrayList<String> available = intent.getStringArrayListExtra(
-                        ConnectivityManager.EXTRA_AVAILABLE_TETHER);
-                ArrayList<String> active = intent.getStringArrayListExtra(
-                        ConnectivityManager.EXTRA_ACTIVE_TETHER);
-                ArrayList<String> errored = intent.getStringArrayListExtra(
-                        ConnectivityManager.EXTRA_ERRORED_TETHER);
-                updateTetherState(available.toArray(), active.toArray(), errored.toArray());
-            } else if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(action)) {
-                enableWifiSwitch();
-            }
-        }
-    };
-
-    public WifiApEnabler(Context context, DataSaverBackend dataSaverBackend,
-            SwitchPreference switchPreference) {
-        mContext = context;
-        mDataSaverBackend = dataSaverBackend;
-        mSwitch = switchPreference;
-        mOriginalSummary = switchPreference.getSummary();
-        switchPreference.setPersistent(false);
-
-        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
-        mCm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
-
-        mWifiRegexs = mCm.getTetherableWifiRegexs();
-
-        mIntentFilter = new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
-        mIntentFilter.addAction(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
-        mIntentFilter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
-    }
-
-    public void resume() {
-        mContext.registerReceiver(mReceiver, mIntentFilter);
-        enableWifiSwitch();
-    }
-
-    public void pause() {
-        mContext.unregisterReceiver(mReceiver);
-    }
-
-    private void enableWifiSwitch() {
-        boolean isAirplaneMode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
-        if(!isAirplaneMode) {
-            mSwitch.setEnabled(!mDataSaverBackend.isDataSaverEnabled());
-        } else {
-            mSwitch.setSummary(mOriginalSummary);
-            mSwitch.setEnabled(false);
-        }
-    }
-
-    private void updateConfigSummary(WifiConfiguration wifiConfig) {
-        String s = mContext.getString(
-                com.android.internal.R.string.wifi_tether_configure_ssid_default);
-
-        mSwitch.setSummary(mContext.getString(R.string.wifi_tether_enabled_subtext,
-                BidiFormatter.getInstance().unicodeWrap(
-                        (wifiConfig == null) ? s : wifiConfig.SSID)));
-    }
-
-    private void updateTetherState(Object[] available, Object[] tethered, Object[] errored) {
-        boolean wifiTethered = false;
-        boolean wifiErrored = false;
-
-        for (Object o : tethered) {
-            String s = (String)o;
-            for (String regex : mWifiRegexs) {
-                if (s.matches(regex)) wifiTethered = true;
-            }
-        }
-        for (Object o: errored) {
-            String s = (String)o;
-            for (String regex : mWifiRegexs) {
-                if (s.matches(regex)) wifiErrored = true;
-            }
-        }
-
-        if (wifiTethered) {
-            WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration();
-            updateConfigSummary(wifiConfig);
-        } else if (wifiErrored) {
-            mSwitch.setSummary(R.string.wifi_error);
-        } else {
-            mSwitch.setSummary(R.string.wifi_hotspot_off_subtext);
-        }
-    }
-
-    private void handleWifiApStateChanged(int state, int reason) {
-        switch (state) {
-            case WifiManager.WIFI_AP_STATE_ENABLING:
-                mSwitch.setSummary(R.string.wifi_tether_starting);
-                mSwitch.setEnabled(false);
-                break;
-            case WifiManager.WIFI_AP_STATE_ENABLED:
-                /**
-                 * Summary on enable is handled by tether
-                 * broadcast notice
-                 */
-                mSwitch.setChecked(true);
-                /* Doesnt need the airplane check */
-                mSwitch.setEnabled(!mDataSaverBackend.isDataSaverEnabled());
-                break;
-            case WifiManager.WIFI_AP_STATE_DISABLING:
-                mSwitch.setSummary(R.string.wifi_tether_stopping);
-                mSwitch.setChecked(false);
-                mSwitch.setEnabled(false);
-                break;
-            case WifiManager.WIFI_AP_STATE_DISABLED:
-                mSwitch.setChecked(false);
-                mSwitch.setSummary(mOriginalSummary);
-                enableWifiSwitch();
-                break;
-            default:
-                mSwitch.setChecked(false);
-                if (reason == WifiManager.SAP_START_FAILURE_NO_CHANNEL) {
-                    mSwitch.setSummary(R.string.wifi_sap_no_channel_error);
-                } else {
-                    mSwitch.setSummary(R.string.wifi_error);
-                }
-                enableWifiSwitch();
-        }
-    }
-}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
index 4fe01d3..0172b9d 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
@@ -73,7 +73,6 @@
     public boolean isAvailable() {
         return mWifiRegexs != null
                 && mWifiRegexs.length != 0
-                && WifiTetherSettings.isTetherSettingPageEnabled()
                 && !Utils.isMonkeyRunning();
     }
 
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 73fb309..934161e 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -26,7 +26,6 @@
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.os.SystemProperties;
 import android.os.UserManager;
 import android.support.annotation.VisibleForTesting;
 import android.util.Log;
@@ -44,10 +43,6 @@
 public class WifiTetherSettings extends RestrictedDashboardFragment
         implements WifiTetherBasePreferenceController.OnTetherConfigUpdateListener {
 
-    public static boolean isTetherSettingPageEnabled() {
-        return SystemProperties.getBoolean("settings.ui.wifi.tether.enabled", true);
-    }
-
     private static final IntentFilter TETHER_STATE_CHANGE_FILTER;
 
     private WifiTetherSwitchBarController mSwitchBarController;