diff options
Diffstat (limited to 'framework/java')
| -rw-r--r-- | framework/java/android/bluetooth/BluetoothAdapter.java | 3 | ||||
| -rw-r--r-- | framework/java/android/bluetooth/le/DistanceMeasurementManager.java | 11 |
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() { |