From 499013b05ecd844429b3852f720f04ee0494e66d Mon Sep 17 00:00:00 2001 From: Lei Yu Date: Mon, 17 Sep 2018 18:22:57 +0000 Subject: [PATCH] Revert "call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager" This reverts commit 3029efc5f7047596315119bdb1e7056ba26cd071. Reason for revert: To fix null pointer crash in Pairing dialog. Dialog maybe triggered by intent, in which LocalBluetoothManager couldn't have instance for BluetoothDevice and will return null. As a result, we need to depend on method in CachedBluetoothManager to handle it. Bug: 115754654 Bug: 112735753 Change-Id: I1ebf1f1c2829cfb75e6c382df5acf785fe54a185 --- .../settings/bluetooth/BluetoothPairingController.java | 2 +- .../settings/bluetooth/BluetoothPairingControllerTest.java | 14 -------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java index 95c97e249e..c39f1d9feb 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingController.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java @@ -85,7 +85,7 @@ public class BluetoothPairingController implements OnCheckedChangeListener, mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR); mPasskey = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_KEY, BluetoothDevice.ERROR); - mDeviceName = mBluetoothManager.getCachedDeviceManager().findDevice(mDevice).getName(); + mDeviceName = mBluetoothManager.getCachedDeviceManager().getName(mDevice); mPbapClientProfile = mBluetoothManager.getProfileManager().getPbapClientProfile(); mPasskeyFormatted = formatKey(mPasskey); } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java index 4dc5805b9d..b28a8b2b82 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java @@ -15,13 +15,10 @@ */ package com.android.settings.bluetooth; -import static com.google.common.truth.Truth.assertThat; - import static android.bluetooth.BluetoothDevice.PAIRING_VARIANT_CONSENT; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import android.bluetooth.BluetoothDevice; import android.content.Context; @@ -30,7 +27,6 @@ import android.content.Intent; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothPan; -import com.android.settingslib.bluetooth.LocalBluetoothManager; import org.junit.Before; import org.junit.Test; @@ -43,12 +39,10 @@ import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = {ShadowBluetoothPan.class, ShadowBluetoothAdapter.class}) public class BluetoothPairingControllerTest { - private final static String DEVICE_NAME = "TestName"; @Mock private BluetoothDevice mBluetoothDevice; private Context mContext; private BluetoothPairingController mBluetoothPairingController; - private LocalBluetoothManager mBluetoothManager; @Before public void setUp() { @@ -57,9 +51,6 @@ public class BluetoothPairingControllerTest { mContext = RuntimeEnvironment.application; final Intent intent = new Intent(); intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mBluetoothDevice); - mBluetoothManager = Utils.getLocalBtManager(mContext); - when(mBluetoothDevice.getAliasName()).thenReturn(DEVICE_NAME); - mBluetoothManager.getCachedDeviceManager().addDevice(mBluetoothDevice); mBluetoothPairingController = spy(new BluetoothPairingController(intent, mContext)); } @@ -72,9 +63,4 @@ public class BluetoothPairingControllerTest { verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED); } - - @Test - public void onGetDeviceName() { - assertThat(mBluetoothPairingController.getDeviceName()).isEqualTo(DEVICE_NAME); - } } -- 2.11.0