summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinu Jella <sjella@codeaurora.org>2015-12-01 19:33:45 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-12-08 19:01:35 -0800
commit69e9fc8a71d1c210c06097d45f31b17b6d28278e (patch)
treec84f0c09f0d3b62aa32258506b19e2e4fd01eebe
parent5756d9cfbbd03abbe19b0a085c2144534e06b767 (diff)
downloadandroid_packages_apps_Bluetooth-69e9fc8a71d1c210c06097d45f31b17b6d28278e.tar.gz
android_packages_apps_Bluetooth-69e9fc8a71d1c210c06097d45f31b17b6d28278e.tar.bz2
android_packages_apps_Bluetooth-69e9fc8a71d1c210c06097d45f31b17b6d28278e.zip
Bluetooth: Avoid calls on Null reference
When Bluetooth is turned on/off very fast. By the time Server starts listening BT goes to off state and all references becomes NULL. Change-Id: Icb8a01aea29d32e48a67570d280eb80e55c0e8ba
-rw-r--r--src/com/android/bluetooth/opp/BluetoothOppService.java29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/com/android/bluetooth/opp/BluetoothOppService.java b/src/com/android/bluetooth/opp/BluetoothOppService.java
index 080b220b6..88b69f40e 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppService.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppService.java
@@ -355,12 +355,29 @@ public class BluetoothOppService extends Service {
private void startSocketListener() {
if (V) Log.v(TAG, "start Socket Listeners");
- mBtRfcServerSocket = mSocketListener.openRfcommSocket();
- mBtL2cServerSocket = mL2cSocketListener.openL2capSocket();
- mOppSdpHandle = SdpManager.getDefaultManager().createOppOpsRecord("OBEX Object Push",
- mBtRfcServerSocket.getChannel(),mBtL2cServerSocket.getChannel(),0x0102,SdpManager.OPP_FORMAT_ALL);
- mSocketListener.start(mHandler);
- mL2cSocketListener.start(mHandler);
+ if (mSocketListener != null ) {
+ mBtRfcServerSocket = mSocketListener.openRfcommSocket();
+ }
+
+ if (mL2cSocketListener != null) {
+ mBtL2cServerSocket = mL2cSocketListener.openL2capSocket();
+ }
+
+ if (mBtRfcServerSocket != null && mBtL2cServerSocket != null) {
+ mOppSdpHandle = SdpManager.getDefaultManager().createOppOpsRecord("OBEX Object Push",
+ mBtRfcServerSocket.getChannel(), mBtL2cServerSocket.getChannel(),
+ 0x0102, SdpManager.OPP_FORMAT_ALL);
+ } else {
+ Log.e(TAG, "ERROR:serversocket object is NULL");
+ }
+
+ if (mSocketListener != null) {
+ mSocketListener.start(mHandler);
+ }
+
+ if (mL2cSocketListener != null) {
+ mL2cSocketListener.start(mHandler);
+ }
}