Fix potential null pointer exception
- Addressed potential null pointer exception when asynchronously passing Bundle object to EventFacade for client response.
- To prevent a null pointer exception during JSON building by SL4A JsonBuilder, clone the Bundle object before posting it to the EventFacade.
Test: manually
Change-Id: Iedc855e18b05ca30c4783dc26abdbbb4c669b528
diff --git a/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothFacade.java b/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothFacade.java
index 722b39a..68600eb 100644
--- a/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothFacade.java
+++ b/Common/src/com/googlecode/android_scripting/facade/bluetooth/BluetoothFacade.java
@@ -131,18 +131,17 @@
Bundle msg = new Bundle();
if (state == BluetoothAdapter.STATE_ON) {
msg.putString("State", "ON");
- mEventFacade.postEvent("BluetoothStateChangedOn", msg);
+ mEventFacade.postEvent("BluetoothStateChangedOn", msg.clone());
if (!mIsMultiBroadcast) {
mService.unregisterReceiver(mStateReceiver);
}
} else if(state == BluetoothAdapter.STATE_OFF) {
msg.putString("State", "OFF");
- mEventFacade.postEvent("BluetoothStateChangedOff", msg);
+ mEventFacade.postEvent("BluetoothStateChangedOff", msg.clone());
if (!mIsMultiBroadcast) {
mService.unregisterReceiver(mStateReceiver);
}
}
- msg.clear();
}
}
}