summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaisuke Miyakawa <dmiyakawa@google.com>2010-09-10 12:04:37 -0700
committerDaisuke Miyakawa <dmiyakawa@google.com>2010-09-10 12:07:58 -0700
commit9c602c47892e7fbe322a449162badeb9def2c4fa (patch)
tree91bea868245d6da835c372ab344fee22b59bccf2
parent71cc548f7ee51ff77a2c1dfb5da7a3f7b6c55fd5 (diff)
downloadpackages_apps_Settings-9c602c47892e7fbe322a449162badeb9def2c4fa.zip
packages_apps_Settings-9c602c47892e7fbe322a449162badeb9def2c4fa.tar.gz
packages_apps_Settings-9c602c47892e7fbe322a449162badeb9def2c4fa.tar.bz2
Fragmentize TetherSettings and WifiApSettings.
PreferenceScreen for BT tethering isn't fragmentized yet. We'll need to do so in the near future. Change-Id: I5a84fecaf84d55b59b6efa8151f2549ad37ca5db
-rw-r--r--AndroidManifest.xml12
-rw-r--r--res/xml/tether_prefs.xml5
-rw-r--r--res/xml/wireless_settings.xml5
-rw-r--r--src/com/android/settings/TetherSettings.java65
-rw-r--r--src/com/android/settings/wifi/WifiApSettings.java51
5 files changed, 70 insertions, 68 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5eec93e..95c65e9 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -147,13 +147,14 @@
</intent-filter>
</activity>
- <activity android:name=".wifi.WifiApSettings">
+ <activity-alias android:name=".wifi.WifiApSettings"
+ android:targetActivity="Settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity>
+ </activity-alias>
<activity android:name="ApnSettings" android:label="@string/apn_settings"
android:configChanges="orientation|keyboardHidden"
@@ -184,14 +185,15 @@
</intent-filter>
</activity>
- <activity android:name=".TetherSettings"
- android:clearTaskOnLaunch="true">
+ <activity-alias android:name=".TetherSettings"
+ android:clearTaskOnLaunch="true"
+ android:targetActivity="Settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity>
+ </activity-alias>
<activity android:name=".vpn.VpnSettings"
android:configChanges="orientation|keyboardHidden"
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index 95dfaf8..ac93a86 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -27,13 +27,10 @@
android:persistent="false" />
<PreferenceScreen
+ android:fragment="com.android.settings.wifi.WifiApSettings"
android:key="wifi_ap_settings"
android:title="@string/wifi_tether_settings_text"
android:summary="@string/wifi_tether_settings_subtext" >
- <intent
- android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.settings"
- android:targetClass="com.android.settings.wifi.WifiApSettings" />
</PreferenceScreen>
<CheckBoxPreference
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 1a8c1e7..943f09d 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -55,13 +55,10 @@
</PreferenceScreen>
<PreferenceScreen
+ android:fragment="com.android.settings.TetherSettings"
android:key="tether_settings"
android:title="@string/tether_settings_title_all"
android:summary="@string/tether_settings_summary_all">
- <intent
- android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.settings"
- android:targetClass="com.android.settings.TetherSettings" />
</PreferenceScreen>
<PreferenceScreen
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index bcd772e..272a3d4 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -18,27 +18,22 @@ package com.android.settings;
import com.android.settings.wifi.WifiApEnabler;
+import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothPan;
-import android.bluetooth.IBluetooth;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.os.ServiceManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.AssetManager;
import android.net.ConnectivityManager;
+import android.os.Bundle;
import android.os.Environment;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
-import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
-import android.util.Log;
import android.webkit.WebView;
import java.io.InputStream;
@@ -48,7 +43,7 @@ import java.util.Locale;
/*
* Displays preferences for Tethering.
*/
-public class TetherSettings extends PreferenceActivity {
+public class TetherSettings extends SettingsPreferenceFragment {
private static final String TAG = "TetheringSettings";
private static final String USB_TETHER_SETTINGS = "usb_tether_settings";
@@ -86,11 +81,16 @@ public class TetherSettings extends PreferenceActivity {
private BluetoothPan mBluetoothPan;
@Override
- protected void onCreate(Bundle icicle) {
+ public void onCreate(Bundle icicle) {
super.onCreate(icicle);
-
- mBluetoothPan = new BluetoothPan(this);
addPreferencesFromResource(R.xml.tether_prefs);
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ final Activity activity = getActivity();
+ mBluetoothPan = new BluetoothPan(activity);
mEnableWifiAp = (CheckBoxPreference) findPreference(ENABLE_WIFI_AP);
mWifiApSettings = (PreferenceScreen) findPreference(WIFI_AP_SETTINGS);
@@ -131,31 +131,31 @@ public class TetherSettings extends PreferenceActivity {
}
}
if (wifiAvailable && usbAvailable && bluetoothAvailable){
- setTitle(R.string.tether_settings_title_all);
+ activity.setTitle(R.string.tether_settings_title_all);
} else if (wifiAvailable && usbAvailable){
- setTitle(R.string.tether_settings_title_all);
+ activity.setTitle(R.string.tether_settings_title_all);
} else if (wifiAvailable && bluetoothAvailable){
- setTitle(R.string.tether_settings_title_all);
+ activity.setTitle(R.string.tether_settings_title_all);
} else if (wifiAvailable) {
- setTitle(R.string.tether_settings_title_wifi);
+ activity.setTitle(R.string.tether_settings_title_wifi);
} else if (usbAvailable && bluetoothAvailable) {
- setTitle(R.string.tether_settings_title_usb_bluetooth);
+ activity.setTitle(R.string.tether_settings_title_usb_bluetooth);
} else if (usbAvailable) {
- setTitle(R.string.tether_settings_title_usb);
+ activity.setTitle(R.string.tether_settings_title_usb);
} else {
- setTitle(R.string.tether_settings_title_bluetooth);
+ activity.setTitle(R.string.tether_settings_title_bluetooth);
}
- mWifiApEnabler = new WifiApEnabler(this, mEnableWifiAp);
- mView = new WebView(this);
+ mWifiApEnabler = new WifiApEnabler(activity, mEnableWifiAp);
+ mView = new WebView(activity);
}
@Override
- protected Dialog onCreateDialog(int id) {
+ public Dialog onCreateDialog(int id) {
if (id == DIALOG_TETHER_HELP) {
Locale locale = Locale.getDefault();
// check for the full language + country resource, if not there, try just language
- AssetManager am = getAssets();
+ final AssetManager am = getActivity().getAssets();
String path = HELP_PATH.replace("%y", locale.getLanguage().toLowerCase());
path = path.replace("%z", "_"+locale.getCountry().toLowerCase());
boolean useCountry = true;
@@ -185,7 +185,7 @@ public class TetherSettings extends PreferenceActivity {
mView.loadUrl(url);
- return new AlertDialog.Builder(this)
+ return new AlertDialog.Builder(getActivity())
.setCancelable(true)
.setTitle(R.string.tethering_help_button_text)
.setView(mView)
@@ -218,31 +218,33 @@ public class TetherSettings extends PreferenceActivity {
}
@Override
- protected void onResume() {
+ public void onResume() {
super.onResume();
+ final Activity activity = getActivity();
+
mTetherChangeReceiver = new TetherChangeReceiver();
IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
- Intent intent = registerReceiver(mTetherChangeReceiver, filter);
+ Intent intent = activity.registerReceiver(mTetherChangeReceiver, filter);
filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_SHARED);
filter.addAction(Intent.ACTION_MEDIA_UNSHARED);
filter.addDataScheme("file");
- registerReceiver(mTetherChangeReceiver, filter);
+ activity.registerReceiver(mTetherChangeReceiver, filter);
filter = new IntentFilter();
filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
- registerReceiver(mTetherChangeReceiver, filter);
+ activity.registerReceiver(mTetherChangeReceiver, filter);
- if (intent != null) mTetherChangeReceiver.onReceive(this, intent);
+ if (intent != null) mTetherChangeReceiver.onReceive(activity, intent);
mWifiApEnabler.resume();
}
@Override
- protected void onPause() {
+ public void onPause() {
super.onPause();
- unregisterReceiver(mTetherChangeReceiver);
+ getActivity().unregisterReceiver(mTetherChangeReceiver);
mTetherChangeReceiver = null;
mWifiApEnabler.pause();
}
@@ -458,7 +460,8 @@ public class TetherSettings extends PreferenceActivity {
} else if (preference == mTetherHelp) {
showDialog(DIALOG_TETHER_HELP);
}
- return false;
+
+ return super.onPreferenceTreeClick(preferenceScreen, preference);
}
private String findIface(String[] ifaces, String[] regexes) {
diff --git a/src/com/android/settings/wifi/WifiApSettings.java b/src/com/android/settings/wifi/WifiApSettings.java
index ca1b856..7336c6c 100644
--- a/src/com/android/settings/wifi/WifiApSettings.java
+++ b/src/com/android/settings/wifi/WifiApSettings.java
@@ -17,29 +17,24 @@
package com.android.settings.wifi;
import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
+import android.app.Activity;
import android.app.Dialog;
-import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceScreen;
-import android.preference.CheckBoxPreference;
-import android.provider.Settings;
-import android.util.Log;
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.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.preference.PreferenceScreen;
/*
* Displays preferences for Tethering.
*/
-public class WifiApSettings extends PreferenceActivity
+public class WifiApSettings extends SettingsPreferenceFragment
implements DialogInterface.OnClickListener {
private static final String WIFI_AP_SSID_AND_SECURITY = "wifi_ap_ssid_and_security";
@@ -61,26 +56,34 @@ public class WifiApSettings extends PreferenceActivity
private WifiConfiguration mWifiConfig = null;
@Override
- protected void onCreate(Bundle savedInstanceState) {
+ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.wifi_ap_settings);
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ final Activity activity = getActivity();
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mWifiConfig = mWifiManager.getWifiApConfiguration();
mSecurityType = getResources().getStringArray(R.array.wifi_ap_security);
- addPreferencesFromResource(R.xml.wifi_ap_settings);
+
mCreateNetwork = findPreference(WIFI_AP_SSID_AND_SECURITY);
mEnableWifiAp = (CheckBoxPreference) findPreference(ENABLE_WIFI_AP);
- mWifiApEnabler = new WifiApEnabler(this, mEnableWifiAp);
+ mWifiApEnabler = new WifiApEnabler(activity, mEnableWifiAp);
if(mWifiConfig == null) {
- String s = getString(com.android.internal.R.string.wifi_tether_configure_ssid_default);
- mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT),
+ 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[OPEN_INDEX]));
} else {
- mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT),
+ mCreateNetwork.setSummary(String.format(activity.getString(CONFIG_SUBTEXT),
mWifiConfig.SSID,
mWifiConfig.allowedKeyManagement.get(KeyMgmt.WPA_PSK) ?
mSecurityType[WPA_INDEX] : mSecurityType[OPEN_INDEX]));
@@ -88,22 +91,23 @@ public class WifiApSettings extends PreferenceActivity
}
@Override
- protected Dialog onCreateDialog(int id) {
+ public Dialog onCreateDialog(int id) {
if (id == DIALOG_AP_SETTINGS) {
- mDialog = new WifiApDialog(this, this, mWifiConfig);
+ final Activity activity = getActivity();
+ mDialog = new WifiApDialog(activity, this, mWifiConfig);
return mDialog;
}
return null;
}
@Override
- protected void onResume() {
+ public void onResume() {
super.onResume();
mWifiApEnabler.resume();
}
@Override
- protected void onPause() {
+ public void onPause() {
super.onPause();
mWifiApEnabler.pause();
}
@@ -117,7 +121,6 @@ public class WifiApSettings extends PreferenceActivity
}
public void onClick(DialogInterface dialogInterface, int button) {
-
if (button == DialogInterface.BUTTON_POSITIVE) {
mWifiConfig = mDialog.getConfig();
if (mWifiConfig != null) {
@@ -135,7 +138,7 @@ public class WifiApSettings extends PreferenceActivity
} else {
mWifiManager.setWifiApConfiguration(mWifiConfig);
}
- mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT),
+ mCreateNetwork.setSummary(String.format(getActivity().getString(CONFIG_SUBTEXT),
mWifiConfig.SSID,
mWifiConfig.allowedKeyManagement.get(KeyMgmt.WPA_PSK) ?
mSecurityType[WPA_INDEX] : mSecurityType[OPEN_INDEX]));