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

am: 75787c8a77

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

View File

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

View File

@@ -75,10 +75,21 @@ public class TetherPreferenceControllerTest {
@Test @Test
public void lifeCycle_onCreate_shouldInitBluetoothPan() { public void lifeCycle_onCreate_shouldInitBluetoothPan() {
when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_ON);
mController.onCreate(null); mController.onCreate(null);
verify(mBluetoothAdapter) verify(mBluetoothAdapter).getState();
.getProfileProxy(mContext, mController.mBtProfileServiceListener, BluetoothProfile.PAN); 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 @Test