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:
@@ -85,7 +85,7 @@ public class BluetoothPairingController implements OnCheckedChangeListener,
|
|||||||
|
|
||||||
mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
|
mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
|
||||||
mPasskey = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_KEY, 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();
|
mPbapClientProfile = mBluetoothManager.getProfileManager().getPbapClientProfile();
|
||||||
mPasskeyFormatted = formatKey(mPasskey);
|
mPasskeyFormatted = formatKey(mPasskey);
|
||||||
}
|
}
|
||||||
|
@@ -15,13 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.bluetooth;
|
package com.android.settings.bluetooth;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
|
||||||
|
|
||||||
import static android.bluetooth.BluetoothDevice.PAIRING_VARIANT_CONSENT;
|
import static android.bluetooth.BluetoothDevice.PAIRING_VARIANT_CONSENT;
|
||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
import android.bluetooth.BluetoothDevice;
|
import android.bluetooth.BluetoothDevice;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -30,7 +27,6 @@ import android.content.Intent;
|
|||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
|
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
|
||||||
import com.android.settings.testutils.shadow.ShadowBluetoothPan;
|
import com.android.settings.testutils.shadow.ShadowBluetoothPan;
|
||||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -43,12 +39,10 @@ import org.robolectric.annotation.Config;
|
|||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowBluetoothPan.class, ShadowBluetoothAdapter.class})
|
@Config(shadows = {ShadowBluetoothPan.class, ShadowBluetoothAdapter.class})
|
||||||
public class BluetoothPairingControllerTest {
|
public class BluetoothPairingControllerTest {
|
||||||
private final static String DEVICE_NAME = "TestName";
|
|
||||||
@Mock
|
@Mock
|
||||||
private BluetoothDevice mBluetoothDevice;
|
private BluetoothDevice mBluetoothDevice;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private BluetoothPairingController mBluetoothPairingController;
|
private BluetoothPairingController mBluetoothPairingController;
|
||||||
private LocalBluetoothManager mBluetoothManager;
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
@@ -57,9 +51,6 @@ public class BluetoothPairingControllerTest {
|
|||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
final Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mBluetoothDevice);
|
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));
|
mBluetoothPairingController = spy(new BluetoothPairingController(intent, mContext));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,9 +63,4 @@ public class BluetoothPairingControllerTest {
|
|||||||
|
|
||||||
verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
|
verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onGetDeviceName() {
|
|
||||||
assertThat(mBluetoothPairingController.getDeviceName()).isEqualTo(DEVICE_NAME);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user