diff options
author | Amith Yamasani <yamasani@google.com> | 2011-01-21 09:28:31 -0800 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2011-01-21 11:27:29 -0800 |
commit | 476d79566752bfc128a7b3ae200c735d683370f7 (patch) | |
tree | f9ea3a7b606f594c12ffc99e82ca23112539e70e /src/com/android/settings/TetherSettings.java | |
parent | 5dc460e407b782fc8f2cbc5167bfe40eff50a74c (diff) | |
download | packages_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.java | 20 |
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) |