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) {