Revert "call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager"

This reverts commit 3029efc5f7.

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
This commit is contained in:
Lei Yu
2018-09-17 18:22:57 +00:00
parent 3029efc5f7
commit 499013b05e
2 changed files with 1 additions and 15 deletions

View File

@@ -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);
}

View File

@@ -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);
}
}