summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/TetherSettings.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2011-01-21 09:28:31 -0800
committerAmith Yamasani <yamasani@google.com>2011-01-21 11:27:29 -0800
commit476d79566752bfc128a7b3ae200c735d683370f7 (patch)
treef9ea3a7b606f594c12ffc99e82ca23112539e70e /src/com/android/settings/TetherSettings.java
parent5dc460e407b782fc8f2cbc5167bfe40eff50a74c (diff)
downloadpackages_apps_Settings-476d79566752bfc128a7b3ae200c735d683370f7.zip
packages_apps_Settings-476d79566752bfc128a7b3ae200c735d683370f7.tar.gz
packages_apps_Settings-476d79566752bfc128a7b3ae200c735d683370f7.tar.bz2
NPE check in VpnSettings.
Bug: 3368545 Also fix a couple of bugs in TetherSettings: Bug: 3090156 - view was being reused without removing from old dialog Bug: 3368493 - preference being removed a second time Change-Id: I8fe513d41e1f3af6994783be5ead69b6bd205711
Diffstat (limited to 'src/com/android/settings/TetherSettings.java')
-rw-r--r--src/com/android/settings/TetherSettings.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 81d23ab..085a089 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -16,7 +16,6 @@
package com.android.settings;
-import com.android.settings.bluetooth.BluetoothSettings;
import com.android.settings.wifi.WifiApEnabler;
import android.app.Activity;
@@ -35,6 +34,10 @@ import android.os.Environment;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewParent;
import android.webkit.WebView;
import java.io.InputStream;
@@ -86,8 +89,10 @@ public class TetherSettings extends SettingsPreferenceFragment {
}
@Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View view = super.onCreateView(inflater, container, savedInstanceState);
+
final Activity activity = getActivity();
mBluetoothPan = new BluetoothPan(activity);
@@ -108,7 +113,6 @@ public class TetherSettings extends SettingsPreferenceFragment {
boolean wifiAvailable = mWifiRegexs.length != 0;
boolean bluetoothAvailable = mBluetoothRegexs.length != 0;
-
if (!usbAvailable || Utils.isMonkeyRunning()) {
getPreferenceScreen().removePreference(mUsbTether);
}
@@ -144,6 +148,8 @@ public class TetherSettings extends SettingsPreferenceFragment {
*/
mWifiApEnabler = new WifiApEnabler(activity, mEnableWifiAp);
mView = new WebView(activity);
+
+ return view;
}
@Override
@@ -181,7 +187,11 @@ public class TetherSettings extends SettingsPreferenceFragment {
}
mView.loadUrl(url);
-
+ // Detach from old parent first
+ ViewParent parent = mView.getParent();
+ if (parent != null && parent instanceof ViewGroup) {
+ ((ViewGroup) parent).removeView(mView);
+ }
return new AlertDialog.Builder(getActivity())
.setCancelable(true)
.setTitle(R.string.tethering_help_button_text)