Permalink
Browse files

Don't crash if there's no bluetooth functionality (such as in an emul…

…ator) do not merge.

Bug: 6079494

(cherry picked from commit 5fb53f3)

Change-Id: Ia0d3a638f93c7c7923ce6e85f3555af0aeda96f9
  • Loading branch information...
1 parent 78ef544 commit 9372484065993cfdb9a48ddecc52d2ed911e8ce1 Amith Yamasani committed with Xavier Ducrohet Feb 28, 2012
View
14 src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -138,21 +138,26 @@ void addPreferencesForActivity() {
public void onResume() {
// resume BluetoothEnabler before calling super.onResume() so we don't get
// any onDeviceAdded() callbacks before setting up view in updateContent()
- mBluetoothEnabler.resume();
+ if (mBluetoothEnabler != null) {
+ mBluetoothEnabler.resume();
+ }
super.onResume();
if (mDiscoverableEnabler != null) {
mDiscoverableEnabler.resume();
}
getActivity().registerReceiver(mReceiver, mIntentFilter);
-
- updateContent(mLocalAdapter.getBluetoothState(), mActivityStarted);
+ if (mLocalAdapter != null) {
+ updateContent(mLocalAdapter.getBluetoothState(), mActivityStarted);
+ }
}
@Override
public void onPause() {
super.onPause();
- mBluetoothEnabler.pause();
+ if (mBluetoothEnabler != null) {
+ mBluetoothEnabler.pause();
+ }
getActivity().unregisterReceiver(mReceiver);
if (mDiscoverableEnabler != null) {
mDiscoverableEnabler.pause();
@@ -161,6 +166,7 @@ public void onPause() {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ if (mLocalAdapter == null) return;
boolean bluetoothIsEnabled = mLocalAdapter.getBluetoothState() == BluetoothAdapter.STATE_ON;
boolean isDiscovering = mLocalAdapter.isDiscovering();
int textId = isDiscovering ? R.string.bluetooth_searching_for_devices :
View
3 src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
@@ -96,6 +96,7 @@ void setDeviceListGroup(PreferenceGroup preferenceGroup) {
@Override
public void onResume() {
super.onResume();
+ if (mLocalManager == null) return;
mLocalManager.setForegroundActivity(getActivity());
mLocalManager.getEventManager().registerCallback(this);
@@ -106,6 +107,8 @@ public void onResume() {
@Override
public void onPause() {
super.onPause();
+ if (mLocalManager == null) return;
+
removeAllDevices();
mLocalManager.setForegroundActivity(null);
mLocalManager.getEventManager().unregisterCallback(this);

0 comments on commit 9372484

Please sign in to comment.