Merge "Fix NPE in WirelessSettings.onCreate() for SDK and non-BT devices." into honeycomb-mr1
This commit is contained in:
@@ -19,8 +19,6 @@ package com.android.settings;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.android.internal.telephony.TelephonyProperties;
|
||||
import com.android.settings.bluetooth.BluetoothEnabler;
|
||||
import com.android.settings.bluetooth.LocalBluetoothAdapter;
|
||||
import com.android.settings.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settings.wifi.WifiEnabler;
|
||||
import com.android.settings.nfc.NfcEnabler;
|
||||
|
||||
@@ -105,8 +103,7 @@ public class WirelessSettings extends SettingsPreferenceFragment {
|
||||
mAirplaneModeEnabler = new AirplaneModeEnabler(activity, airplane);
|
||||
mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
|
||||
mWifiEnabler = new WifiEnabler(activity, wifi);
|
||||
mBtEnabler = new BluetoothEnabler(activity,
|
||||
LocalBluetoothManager.getInstance(activity).getBluetoothAdapter(), bt);
|
||||
mBtEnabler = new BluetoothEnabler(activity, bt);
|
||||
mNfcEnabler = new NfcEnabler(activity, nfc);
|
||||
|
||||
String toggleable = Settings.System.getString(activity.getContentResolver(),
|
||||
@@ -128,6 +125,7 @@ public class WirelessSettings extends SettingsPreferenceFragment {
|
||||
// Remove Bluetooth Settings if Bluetooth service is not available.
|
||||
if (ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE) == null) {
|
||||
getPreferenceScreen().removePreference(bt);
|
||||
getPreferenceScreen().removePreference(findPreference(KEY_BT_SETTINGS));
|
||||
}
|
||||
|
||||
// Remove NFC if its not available
|
||||
|
@@ -50,17 +50,19 @@ public final class BluetoothEnabler implements Preference.OnPreferenceChangeList
|
||||
}
|
||||
};
|
||||
|
||||
public BluetoothEnabler(Context context, LocalBluetoothAdapter adapter,
|
||||
CheckBoxPreference checkBox) {
|
||||
public BluetoothEnabler(Context context, CheckBoxPreference checkBox) {
|
||||
mContext = context;
|
||||
mCheckBox = checkBox;
|
||||
mOriginalSummary = checkBox.getSummary();
|
||||
checkBox.setPersistent(false);
|
||||
|
||||
mLocalAdapter = adapter;
|
||||
if (adapter == null) {
|
||||
LocalBluetoothManager manager = LocalBluetoothManager.getInstance(context);
|
||||
if (manager == null) {
|
||||
// Bluetooth is not supported
|
||||
mLocalAdapter = null;
|
||||
checkBox.setEnabled(false);
|
||||
} else {
|
||||
mLocalAdapter = manager.getBluetoothAdapter();
|
||||
}
|
||||
mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment {
|
||||
void addPreferencesForActivity() {
|
||||
addPreferencesFromResource(R.xml.bluetooth_settings);
|
||||
|
||||
mEnabler = new BluetoothEnabler(getActivity(), mLocalAdapter,
|
||||
mEnabler = new BluetoothEnabler(getActivity(),
|
||||
(CheckBoxPreference) findPreference(KEY_BT_CHECKBOX));
|
||||
|
||||
mDiscoverableEnabler = new BluetoothDiscoverableEnabler(getActivity(),
|
||||
|
Reference in New Issue
Block a user