summaryrefslogtreecommitdiff
path: root/framework/java
diff options
context:
space:
mode:
author Chienyuan Huang <chienyuanhuang@google.com> 2025-03-13 23:16:29 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-13 23:16:29 -0700
commit53d4be1a1cf363764a339e59591b4599a7cded2a (patch)
treebb87183f917d91c9ad29c0a485faa5fc8c5879a0 /framework/java
parent54671edabee9e0e5695f69b0c97a9669d413af8c (diff)
parente07ce260abafb67e305a764851d19937446c1757 (diff)
Merge "CS: Clear mSessionMap when BluetoothServiceDown" into main
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 3b3c1126ff..94715301f0 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() {