summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-11-12 20:51:04 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-11-12 20:51:04 -0800
commit8f5d6e62b2b9d55ad447004a557e15a3f1be521c (patch)
tree53de2da9820be2186f65f514ccfbd5109d70a681
parente5a7b1d01a8a9bed3ed2321f9259e5aff65c5d8a (diff)
parenta588c0ef54f45d7d33f0b86c32f653c133bdeec9 (diff)
downloadandroid_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.java10
-rw-r--r--src/com/android/bluetooth/gatt/ScanManager.java10
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;
+ }
}
/**