summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPradeep Panigrahi <pradeepp@codeaurora.org>2014-03-11 11:45:03 +0530
committerSteve Kondik <shade@chemlab.org>2014-06-05 12:29:05 -0700
commit0cadea57868725147cc6b7d1c709bfe1f1c226eb (patch)
tree9cca5ae15c897aa3f8fd5cf9deea4270e95f51cf
parentad1d781dd189ad35f46f8755feb6164a882126cd (diff)
downloadandroid_packages_apps_Bluetooth-0cadea57868725147cc6b7d1c709bfe1f1c226eb.tar.gz
android_packages_apps_Bluetooth-0cadea57868725147cc6b7d1c709bfe1f1c226eb.tar.bz2
android_packages_apps_Bluetooth-0cadea57868725147cc6b7d1c709bfe1f1c226eb.zip
Bluetooth: Catch RuntimeException while setting system property
Add change to catch RuntimeException while setting system property to prevent crash in bluetoothShare, if we are unable to set system property during BT on/off stress test. Change-Id: I3e89569639d4ecbd94fe805ab2350a259f4fec68 CRs-fixed: 627455
-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);
}
}