summaryrefslogtreecommitdiff
path: root/framework/java
diff options
context:
space:
mode:
author Chienyuan Huang <chienyuanhuang@google.com> 2025-03-13 09:10:36 +0000
committer Chienyuan Huang <chienyuanhuang@google.com> 2025-03-14 03:59:02 +0000
commite07ce260abafb67e305a764851d19937446c1757 (patch)
tree77dcb5950f5013edf2c1af532aa6dba02db97ada /framework/java
parent0d25e6356e9cab0a91b11382f42e2a6de57b5434 (diff)
CS: Clear mSessionMap when BluetoothServiceDown
Bug: 403139849 Test: m com.android.bt Flag: EXEMPT bugfix Ignore-AOSP-First: not AOSP first anymore Change-Id: I557c12a638677fd15e2363dda32f0eee0142dc46
Diffstat (limited to 'framework/java')
-rw-r--r--framework/java/android/bluetooth/BluetoothAdapter.java3
-rw-r--r--framework/java/android/bluetooth/le/DistanceMeasurementManager.java11
2 files changed, 14 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/BluetoothAdapter.java b/framework/java/android/bluetooth/BluetoothAdapter.java
index 40d1153581..1b37497323 100644
--- a/framework/java/android/bluetooth/BluetoothAdapter.java
+++ b/framework/java/android/bluetooth/BluetoothAdapter.java
@@ -3686,6 +3686,9 @@ public final class BluetoothAdapter {
if (mBluetoothLeScanner != null) {
mBluetoothLeScanner.cleanup();
}
+ if (mDistanceMeasurementManager != null) {
+ mDistanceMeasurementManager.cleanup();
+ }
}
} finally {
mServiceLock.writeLock().unlock();
diff --git a/framework/java/android/bluetooth/le/DistanceMeasurementManager.java b/framework/java/android/bluetooth/le/DistanceMeasurementManager.java
index 6209e31946..d8a7103721 100644
--- a/framework/java/android/bluetooth/le/DistanceMeasurementManager.java
+++ b/framework/java/android/bluetooth/le/DistanceMeasurementManager.java
@@ -24,6 +24,7 @@ import static java.util.Objects.requireNonNull;
import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.RequiresNoPermission;
import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
@@ -271,6 +272,16 @@ public final class DistanceMeasurementManager {
return Collections.emptySet();
}
+ /**
+ * Clear session map. Should be called when bluetooth is down.
+ *
+ * @hide
+ */
+ @RequiresNoPermission
+ public void cleanup() {
+ mSessionMap.clear();
+ }
+
@SuppressLint("AndroidFrameworkBluetoothPermission")
private final IDistanceMeasurementCallback mCallbackWrapper =
new IDistanceMeasurementCallback.Stub() {