OSDN Git Service

Revert "call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager"
authorLei Yu <jackqdyulei@google.com>
Mon, 17 Sep 2018 18:22:57 +0000 (18:22 +0000)
committerLei Yu <jackqdyulei@google.com>
Mon, 17 Sep 2018 22:15:14 +0000 (22:15 +0000)
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

src/com/android/settings/bluetooth/BluetoothPairingController.java
tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java

index 95c97e2..c39f1d9 100644 (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);
     }
index 4dc5805..b28a8b2 100644 (file)
  */
 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);
-    }
 }