summaryrefslogtreecommitdiffstats
path: root/src/com/android/bluetooth/btservice/AdapterState.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/bluetooth/btservice/AdapterState.java')
-rw-r--r--src/com/android/bluetooth/btservice/AdapterState.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/com/android/bluetooth/btservice/AdapterState.java b/src/com/android/bluetooth/btservice/AdapterState.java
index 1d5eff99f..585f5ae86 100644
--- a/src/com/android/bluetooth/btservice/AdapterState.java
+++ b/src/com/android/bluetooth/btservice/AdapterState.java
@@ -25,6 +25,7 @@ import android.util.Log;
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
import android.os.SystemProperties;
+import java.lang.RuntimeException;
/**
* This state machine handles Bluetooth Adapter State.
@@ -375,15 +376,19 @@ final class AdapterState extends StateMachine {
}
void stateChangeCallback(int status) {
- if (status == AbstractionLayer.BT_STATE_OFF) {
- SystemProperties.set("bluetooth.isEnabled","false");
- sendMessage(DISABLED);
- } else if (status == AbstractionLayer.BT_STATE_ON) {
- // We should have got the property change for adapter and remote devices.
- SystemProperties.set("bluetooth.isEnabled","true");
- sendMessage(ENABLED_READY);
- } else {
- errorLog("Incorrect status in stateChangeCallback");
+ try {
+ if (status == AbstractionLayer.BT_STATE_OFF) {
+ SystemProperties.set("bluetooth.isEnabled","false");
+ sendMessage(DISABLED);
+ } else if (status == AbstractionLayer.BT_STATE_ON) {
+ // We should have got the property change for adapter and remote devices.
+ SystemProperties.set("bluetooth.isEnabled","true");
+ sendMessage(ENABLED_READY);
+ } else {
+ errorLog("Incorrect status in stateChangeCallback");
+ }
+ } catch (RuntimeException e) {
+ Log.e(TAG,"Error setting system prop " + e);
}
}