diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2014-11-12 20:51:04 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-11-12 20:51:04 -0800 |
commit | 8f5d6e62b2b9d55ad447004a557e15a3f1be521c (patch) | |
tree | 53de2da9820be2186f65f514ccfbd5109d70a681 | |
parent | e5a7b1d01a8a9bed3ed2321f9259e5aff65c5d8a (diff) | |
parent | a588c0ef54f45d7d33f0b86c32f653c133bdeec9 (diff) | |
download | android_packages_apps_Bluetooth-8f5d6e62b2b9d55ad447004a557e15a3f1be521c.tar.gz android_packages_apps_Bluetooth-8f5d6e62b2b9d55ad447004a557e15a3f1be521c.tar.bz2 android_packages_apps_Bluetooth-8f5d6e62b2b9d55ad447004a557e15a3f1be521c.zip |
Merge "Bluetooth: Cleanup the handler threads properly"
-rw-r--r-- | src/com/android/bluetooth/gatt/AdvertiseManager.java | 10 | ||||
-rw-r--r-- | src/com/android/bluetooth/gatt/ScanManager.java | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/bluetooth/gatt/AdvertiseManager.java b/src/com/android/bluetooth/gatt/AdvertiseManager.java index a2c859316..6222fb534 100644 --- a/src/com/android/bluetooth/gatt/AdvertiseManager.java +++ b/src/com/android/bluetooth/gatt/AdvertiseManager.java @@ -87,6 +87,16 @@ class AdvertiseManager { void cleanup() { logd("advertise clients cleared"); mAdvertiseClients.clear(); + + if (mHandler != null) { + // Shut down the thread + mHandler.removeCallbacksAndMessages(null); + Looper looper = mHandler.getLooper(); + if (looper != null) { + looper.quit(); + } + mHandler = null; + } } /** diff --git a/src/com/android/bluetooth/gatt/ScanManager.java b/src/com/android/bluetooth/gatt/ScanManager.java index 51950c006..bbbede26d 100644 --- a/src/com/android/bluetooth/gatt/ScanManager.java +++ b/src/com/android/bluetooth/gatt/ScanManager.java @@ -101,6 +101,16 @@ public class ScanManager { mRegularScanClients.clear(); mBatchClients.clear(); mScanNative.cleanup(); + + if (mHandler != null) { + // Shut down the thread + mHandler.removeCallbacksAndMessages(null); + Looper looper = mHandler.getLooper(); + if (looper != null) { + looper.quit(); + } + mHandler = null; + } } /** |