diff options
author | Srinu Jella <sjella@codeaurora.org> | 2015-12-01 19:33:45 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-12-08 19:01:35 -0800 |
commit | 69e9fc8a71d1c210c06097d45f31b17b6d28278e (patch) | |
tree | c84f0c09f0d3b62aa32258506b19e2e4fd01eebe | |
parent | 5756d9cfbbd03abbe19b0a085c2144534e06b767 (diff) | |
download | android_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.java | 29 |
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); + } } |