diff options
author | Sravan Kumar V <sravankumar@codeaurora.org> | 2015-10-05 12:02:05 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2016-08-24 08:16:55 -0600 |
commit | f3a7342d07c5f2bd9a144480508e5afe3ba25c4b (patch) | |
tree | dc9a16d18151ddd7287642ee711a3de2a22778a0 /src/com/android/bluetooth/opp/BluetoothOppTransfer.java | |
parent | 0271a516afc19e0a7a0b3003cfa86662d9a2fbb7 (diff) | |
download | android_packages_apps_Bluetooth-f3a7342d07c5f2bd9a144480508e5afe3ba25c4b.tar.gz android_packages_apps_Bluetooth-f3a7342d07c5f2bd9a144480508e5afe3ba25c4b.tar.bz2 android_packages_apps_Bluetooth-f3a7342d07c5f2bd9a144480508e5afe3ba25c4b.zip |
Bluetooth : NPE issue fix while stopping transfer files.
In some rare conditions handler thread instance going to be null when
ends NFC transfer at server side so put HandlerThread.interrupt()
block in Synchronization to (prevent concurrent access) avoid force
close.
Change-Id: I2db8fbb0e9debdfc6f281c6a252f0fe7d30dbb50
Diffstat (limited to 'src/com/android/bluetooth/opp/BluetoothOppTransfer.java')
-rwxr-xr-x | src/com/android/bluetooth/opp/BluetoothOppTransfer.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/bluetooth/opp/BluetoothOppTransfer.java b/src/com/android/bluetooth/opp/BluetoothOppTransfer.java index e96c5367e..5d11fbc55 100755 --- a/src/com/android/bluetooth/opp/BluetoothOppTransfer.java +++ b/src/com/android/bluetooth/opp/BluetoothOppTransfer.java @@ -414,10 +414,13 @@ public class BluetoothOppTransfer implements BluetoothOppBatch.BluetoothOppBatch if (V) Log.v(TAG, "Stop mSession"); mSession.stop(); } - if (mHandlerThread != null) { - mHandlerThread.getLooper().quit(); - mHandlerThread.interrupt(); - mHandlerThread = null; + // Prevent concurrent access + synchronized (this) { + if (mHandlerThread != null) { + mHandlerThread.quit(); + mHandlerThread.interrupt(); + mHandlerThread = null; + } } } |