Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 499013b0 authored by Lei Yu's avatar Lei Yu
Browse files

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

This reverts commit 3029efc5.

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
parent 3029efc5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
    }
+0 −14
Original line number Diff line number Diff line
@@ -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);
    }
}