diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index 44915fe2829..5f9957b9121 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -142,13 +142,23 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment } @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