Merge "Bluetooth: Fix to avoid BluetoothPan ServiceConnection leak" into pi-dev

am: d924894652

Change-Id: Ia7a01f35e8a231cf53b481e71266982359a810cf
This commit is contained in:
Nitin Shivpure
2018-05-16 16:41:43 -07:00
committed by android-build-merger
2 changed files with 15 additions and 3 deletions

View File

@@ -131,7 +131,8 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
@Override
public void onCreate(Bundle savedInstanceState) {
if (mBluetoothAdapter != null) {
if (mBluetoothAdapter != null &&
mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
BluetoothProfile.PAN);
}

View File

@@ -75,10 +75,21 @@ public class TetherPreferenceControllerTest {
@Test
public void lifeCycle_onCreate_shouldInitBluetoothPan() {
when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_ON);
mController.onCreate(null);
verify(mBluetoothAdapter)
.getProfileProxy(mContext, mController.mBtProfileServiceListener, BluetoothProfile.PAN);
verify(mBluetoothAdapter).getState();
verify(mBluetoothAdapter).getProfileProxy(mContext, mController.mBtProfileServiceListener,
BluetoothProfile.PAN);
}
@Test
public void lifeCycle_onCreate_shouldNotInitBluetoothPanWhenBluetoothOff() {
when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_OFF);
mController.onCreate(null);
verify(mBluetoothAdapter).getState();
verifyNoMoreInteractions(mBluetoothAdapter);
}
@Test