diff options
author | Pradeep Panigrahi <pradeepp@codeaurora.org> | 2014-03-11 11:45:03 +0530 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2014-06-05 12:29:05 -0700 |
commit | 0cadea57868725147cc6b7d1c709bfe1f1c226eb (patch) | |
tree | 9cca5ae15c897aa3f8fd5cf9deea4270e95f51cf | |
parent | ad1d781dd189ad35f46f8755feb6164a882126cd (diff) | |
download | android_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.java | 23 |
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); } } |