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

Commit a879d4c9 authored by chen xu's avatar chen xu
Browse files

Create TM for each subId to register phonestatelistner

To register phonestatelistner for different subscription, do not
create phonestatelistener(subId) this contructor is going to be removed.
instead, create TelephonyManager instance for each subId and pass
separate phonestateListener object.

Bug: 117555407
Test: Maunal test
Change-Id: I1fe7d98a7f9d3325972f0250eb16884bfa181500
parent 63d0df75
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -160,7 +160,7 @@ public class HeadsetPhoneState {
            return;
            return;
        }
        }
        Log.i(TAG, "startListenForPhoneState(), subId=" + subId + ", enabled_events=" + events);
        Log.i(TAG, "startListenForPhoneState(), subId=" + subId + ", enabled_events=" + events);
        mPhoneStateListener = new HeadsetPhoneStateListener(subId,
        mPhoneStateListener = new HeadsetPhoneStateListener(
                mHeadsetService.getStateMachinesThreadLooper());
                mHeadsetService.getStateMachinesThreadLooper());
        mTelephonyManager.listen(mPhoneStateListener, events);
        mTelephonyManager.listen(mPhoneStateListener, events);
        if ((events & PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) != 0) {
        if ((events & PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) != 0) {
@@ -274,8 +274,8 @@ public class HeadsetPhoneState {
    }
    }


    private class HeadsetPhoneStateListener extends PhoneStateListener {
    private class HeadsetPhoneStateListener extends PhoneStateListener {
        HeadsetPhoneStateListener(Integer subId, Looper looper) {
        HeadsetPhoneStateListener(Looper looper) {
            super(subId, looper);
            super(looper);
        }
        }


        @Override
        @Override
+1 −0
Original line number Original line Diff line number Diff line
@@ -72,6 +72,7 @@ public class HeadsetPhoneStateTest {
        // Stub other methods
        // Stub other methods
        when(mHeadsetService.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(
        when(mHeadsetService.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(
                mTelephonyManager);
                mTelephonyManager);
        when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
        when(mHeadsetService.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)).thenReturn(
        when(mHeadsetService.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)).thenReturn(
                mSubscriptionManager);
                mSubscriptionManager);
        mHandlerThread = new HandlerThread("HeadsetStateMachineTestHandlerThread");
        mHandlerThread = new HandlerThread("HeadsetStateMachineTestHandlerThread");