Catch IllegalArgumentException when unregister callback
BUG: 359585188
Test: local test
Flag: EXEMPT minor fix
Change-Id: Ie2e485b922b2bf1163d47c14040e6e3d48f55f86
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index bd762a1..25b392c 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -255,8 +255,17 @@
public void onDetach() {
super.onDetach();
mManager.getEventManager().unregisterCallback(mBluetoothCallback);
- mBluetoothAdapter.removeOnMetadataChangedListener(
- mCachedDevice.getDevice(), mExtraControlMetadataListener);
+ BluetoothDevice device = mCachedDevice.getDevice();
+ try {
+ mBluetoothAdapter.removeOnMetadataChangedListener(
+ device, mExtraControlMetadataListener);
+ } catch (IllegalArgumentException e) {
+ Log.w(
+ TAG,
+ "Unable to unregister metadata change callback for "
+ + mCachedDevice,
+ e);
+ }
}
private void updateExtraControlUri(int viewWidth) {