Merge "Add device to to cached device manager if it's not present" into main
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index 44915fe..5f9957b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -142,13 +142,23 @@
     }
 
     @VisibleForTesting
+    @Nullable
     CachedBluetoothDevice getCachedDevice(String deviceAddress) {
         if (sTestDataFactory != null) {
             return sTestDataFactory.getDevice(deviceAddress);
         }
         BluetoothDevice remoteDevice =
                 mManager.getBluetoothAdapter().getRemoteDevice(deviceAddress);
-        return mManager.getCachedDeviceManager().findDevice(remoteDevice);
+        if (remoteDevice == null) {
+            return null;
+        }
+        CachedBluetoothDevice cachedDevice =
+                mManager.getCachedDeviceManager().findDevice(remoteDevice);
+        if (cachedDevice != null) {
+            return cachedDevice;
+        }
+        Log.i(TAG, "Add device to cached device manager: " + remoteDevice.getAnonymizedAddress());
+        return mManager.getCachedDeviceManager().addDevice(remoteDevice);
     }
 
     @VisibleForTesting