Add AP support for tethering

First phase of the AP support in
UI and framework
Bug: 2421638

Change-Id: I0b6c31be5fe79bd4d33c292464d271b054754e8d
This commit is contained in:
Irfan Sheriff
2010-02-08 10:46:30 -08:00
parent e688885673
commit 65cff17722
11 changed files with 720 additions and 9 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings;
import com.android.settings.wifi.WifiApEnabler;
import android.os.Bundle;
import android.os.SystemProperties;
import android.content.BroadcastReceiver;
@@ -32,14 +34,21 @@ import android.provider.Settings;
import android.util.Log;
import java.util.ArrayList;
/*
* Displays preferences for Tethering.
*/
public class TetherSettings extends PreferenceActivity {
private static final String USB_TETHER_SETTINGS = "usb_tether_settings";
private static final String ENABLE_WIFI_AP = "enable_wifi_ap";
private static final String WIFI_AP_SETTINGS = "wifi_ap_settings";
private PreferenceScreen mUsbTether;
private CheckBoxPreference mEnableWifiAp;
private PreferenceScreen mWifiApSettings;
private WifiApEnabler mWifiApEnabler;
private BroadcastReceiver mTetherChangeReceiver;
private String[] mUsbRegexs;
@@ -55,6 +64,8 @@ public class TetherSettings extends PreferenceActivity {
addPreferencesFromResource(R.xml.tether_prefs);
mUsbTether = (PreferenceScreen) findPreference(USB_TETHER_SETTINGS);
mEnableWifiAp = (CheckBoxPreference) findPreference(ENABLE_WIFI_AP);
mWifiApSettings = (PreferenceScreen) findPreference(WIFI_AP_SETTINGS);
ConnectivityManager cm =
(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
@@ -62,7 +73,13 @@ public class TetherSettings extends PreferenceActivity {
if (mUsbRegexs.length == 0) {
getPreferenceScreen().removePreference(mUsbTether);
}
mWifiRegexs = cm.getTetherableWifiRegexs();
if (mWifiRegexs.length == 0) {
getPreferenceScreen().removePreference(mEnableWifiAp);
getPreferenceScreen().removePreference(mWifiApSettings);
}
mWifiApEnabler = new WifiApEnabler(this, mEnableWifiAp);
}
@@ -91,6 +108,7 @@ public class TetherSettings extends PreferenceActivity {
Intent intent = registerReceiver(mTetherChangeReceiver, filter);
if (intent != null) mTetherChangeReceiver.onReceive(this, intent);
mWifiApEnabler.resume();
}
@Override
@@ -98,6 +116,7 @@ public class TetherSettings extends PreferenceActivity {
super.onPause();
unregisterReceiver(mTetherChangeReceiver);
mTetherChangeReceiver = null;
mWifiApEnabler.pause();
}
private void updateState(ArrayList<String> available, ArrayList<String> tethered,