LeAudioService: Handle possible IllegalStateException
When starting or stopping scanner, the IllegalStateException can be
throw when Adapter does not exist.
Bug: 284910850
Test: atest BluetoothInstrumentationTests
Tag: #feature
Change-Id: I6a6d08aef2899b2d3e2783b4a3c9a4bcb207c826
diff --git a/android/app/src/com/android/bluetooth/le_audio/LeAudioService.java b/android/app/src/com/android/bluetooth/le_audio/LeAudioService.java
index 3da0e16..0c44430 100644
--- a/android/app/src/com/android/bluetooth/le_audio/LeAudioService.java
+++ b/android/app/src/com/android/bluetooth/le_audio/LeAudioService.java
@@ -1715,7 +1715,11 @@
}
}
- mAudioServersScanner.stopScan(mScanCallback);
+ try {
+ mAudioServersScanner.stopScan(mScanCallback);
+ } catch (IllegalStateException e) {
+ Log.e(TAG, "Fail to stop scanner, consider it stopped", e);
+ }
/* Callback is the indicator for scanning being enabled */
mScanCallback = null;
@@ -1765,7 +1769,12 @@
.setScanMode(ScanSettings.SCAN_MODE_BALANCED)
.build();
- mAudioServersScanner.startScan(filterList, settings, mScanCallback);
+ try {
+ mAudioServersScanner.startScan(filterList, settings, mScanCallback);
+ } catch (IllegalStateException e) {
+ Log.e(TAG, "Fail to start scanner, consider it stopped", e);
+ mScanCallback = null;
+ }
}
// Suppressed since this is part of a local process