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

Commit b4149481 authored by Chen Chen's avatar Chen Chen Committed by Android (Google) Code Review
Browse files

Merge "BluetoothPhoneState: call clearSignalStrengthUpdateRequest() at the...

Merge "BluetoothPhoneState: call clearSignalStrengthUpdateRequest() at the beginning of stopListenForPhoneState() to make sure it's always called." into tm-qpr-dev
parents 852a9107 419cdecd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@ public class HeadsetPhoneState {

    private void stopListenForPhoneState() {
        synchronized (mPhoneStateListenerLock) {
            mTelephonyManager.clearSignalStrengthUpdateRequest(mSignalStrengthUpdateRequest);
            if (mPhoneStateListener == null) {
                Log.i(TAG, "stopListenForPhoneState(), no listener indicates nothing is listening");
                return;
@@ -181,7 +182,6 @@ public class HeadsetPhoneState {
                    + getTelephonyEventsToListen());
            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
            mPhoneStateListener = null;
            mTelephonyManager.clearSignalStrengthUpdateRequest(mSignalStrengthUpdateRequest);
        }
    }

+8 −4
Original line number Diff line number Diff line
@@ -126,6 +126,8 @@ public class HeadsetPhoneStateTest {
        BluetoothDevice device1 = TestUtils.getTestDevice(mAdapter, 1);
        mHeadsetPhoneState.listenForPhoneState(device1, PhoneStateListener.LISTEN_SERVICE_STATE);
        verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_SERVICE_STATE));
        verify(mTelephonyManager).clearSignalStrengthUpdateRequest(
                any(SignalStrengthUpdateRequest.class));
        verifyNoMoreInteractions(mTelephonyManager);
    }

@@ -162,7 +164,7 @@ public class HeadsetPhoneStateTest {
        mHeadsetPhoneState.listenForPhoneState(device1, PhoneStateListener.LISTEN_SERVICE_STATE);
        verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_NONE));
        verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_SERVICE_STATE));
        verify(mTelephonyManager).clearSignalStrengthUpdateRequest(
        verify(mTelephonyManager, times(2)).clearSignalStrengthUpdateRequest(
                any(SignalStrengthUpdateRequest.class));
    }

@@ -181,7 +183,7 @@ public class HeadsetPhoneStateTest {

        mHeadsetPhoneState.listenForPhoneState(device1, PhoneStateListener.LISTEN_NONE);
        verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_NONE));
        verify(mTelephonyManager).clearSignalStrengthUpdateRequest(
        verify(mTelephonyManager, times(2)).clearSignalStrengthUpdateRequest(
                any(SignalStrengthUpdateRequest.class));
    }

@@ -210,7 +212,7 @@ public class HeadsetPhoneStateTest {
        // Disabling updates from second device should cancel subscription
        mHeadsetPhoneState.listenForPhoneState(device2, PhoneStateListener.LISTEN_NONE);
        verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_NONE));
        verify(mTelephonyManager).clearSignalStrengthUpdateRequest(
        verify(mTelephonyManager, times(2)).clearSignalStrengthUpdateRequest(
                any(SignalStrengthUpdateRequest.class));
    }

@@ -226,6 +228,8 @@ public class HeadsetPhoneStateTest {
        // Partially enabling updates from first device should trigger partial subscription
        mHeadsetPhoneState.listenForPhoneState(device1, PhoneStateListener.LISTEN_SERVICE_STATE);
        verify(mTelephonyManager).listen(any(), eq(PhoneStateListener.LISTEN_SERVICE_STATE));
        verify(mTelephonyManager).clearSignalStrengthUpdateRequest(
                any(SignalStrengthUpdateRequest.class));
        verifyNoMoreInteractions(mTelephonyManager);
        // Partially enabling updates from second device should trigger partial subscription
        mHeadsetPhoneState.listenForPhoneState(device2,
@@ -244,7 +248,7 @@ public class HeadsetPhoneStateTest {
        // Partially disabling updates from second device should cancel subscription
        mHeadsetPhoneState.listenForPhoneState(device2, PhoneStateListener.LISTEN_NONE);
        verify(mTelephonyManager, times(3)).listen(any(), eq(PhoneStateListener.LISTEN_NONE));
        verify(mTelephonyManager, times(3)).clearSignalStrengthUpdateRequest(
        verify(mTelephonyManager, times(4)).clearSignalStrengthUpdateRequest(
                any(SignalStrengthUpdateRequest.class));
    }
}