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

Commit 22313bfc authored by Hwangoo Park's avatar Hwangoo Park Committed by Android (Google) Code Review
Browse files

Merge "Add emergency type(call/sms) onEmergencyTransportChanged" into udc-dev

parents f1fdceb9 b4847f51
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -85,7 +85,8 @@ public class EmergencyCallDomainSelectionConnection extends DomainSelectionConne
    /** {@inheritDoc} */
    @Override
    public void onWlanSelected(boolean useEmergencyPdn) {
        mEmergencyStateTracker.onEmergencyTransportChanged(MODE_EMERGENCY_WLAN);
        mEmergencyStateTracker.onEmergencyTransportChanged(
                EmergencyStateTracker.EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WLAN);
        if (useEmergencyPdn) {
            AccessNetworksManager anm = mPhone.getAccessNetworksManager();
            int transportType = anm.getPreferredTransport(ApnSetting.TYPE_EMERGENCY);
@@ -103,7 +104,8 @@ public class EmergencyCallDomainSelectionConnection extends DomainSelectionConne
    /** {@inheritDoc} */
    @Override
    public void onWwanSelected() {
        mEmergencyStateTracker.onEmergencyTransportChanged(MODE_EMERGENCY_WWAN);
        mEmergencyStateTracker.onEmergencyTransportChanged(
                EmergencyStateTracker.EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WWAN);
    }

    /** {@inheritDoc} */
+4 −2
Original line number Diff line number Diff line
@@ -60,7 +60,8 @@ public class EmergencySmsDomainSelectionConnection extends SmsDomainSelectionCon
                return;
            }

            mEmergencyStateTracker.onEmergencyTransportChanged(MODE_EMERGENCY_WLAN);
            mEmergencyStateTracker.onEmergencyTransportChanged(
                    EmergencyStateTracker.EMERGENCY_TYPE_SMS, MODE_EMERGENCY_WLAN);

            // Change the transport type if the current preferred transport type for an emergency
            // is not {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}.
@@ -79,7 +80,8 @@ public class EmergencySmsDomainSelectionConnection extends SmsDomainSelectionCon

    @Override
    public void onWwanSelected() {
        mEmergencyStateTracker.onEmergencyTransportChanged(MODE_EMERGENCY_WWAN);
        mEmergencyStateTracker.onEmergencyTransportChanged(
                EmergencyStateTracker.EMERGENCY_TYPE_SMS, MODE_EMERGENCY_WWAN);
    }

    @Override
+0 −14
Original line number Diff line number Diff line
@@ -672,20 +672,6 @@ public class EmergencyStateTracker {
        return mLastEmergencyRegResult;
    }

    /**
     * Handles emergency transport change by setting new emergency mode.
     *
     * @param mode the new emergency mode
     */
    public void onEmergencyTransportChanged(@EmergencyConstants.EmergencyMode int mode) {
        // The phone for call is prioritized.
        if (mPhone != null && mOngoingCallId != null) {
            onEmergencyTransportChanged(EMERGENCY_TYPE_CALL, mode);
        } else if (mSmsPhone != null) {
            onEmergencyTransportChanged(EMERGENCY_TYPE_SMS, mode);
        }
    }

    /**
     * Handles emergency transport change by setting new emergency mode.
     *
+6 −3
Original line number Diff line number Diff line
@@ -122,7 +122,8 @@ public class EmergencyCallDomainSelectionConnectionTest extends TelephonyTest {

        assertTrue(future.isDone());
        assertEquals((long) DOMAIN_NON_3GPP_PS, (long) future.get());
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(MODE_EMERGENCY_WLAN);
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_CALL), eq(MODE_EMERGENCY_WLAN));
    }

    @Test
@@ -154,7 +155,8 @@ public class EmergencyCallDomainSelectionConnectionTest extends TelephonyTest {
        wwanCallback = mTransportCallback.onWwanSelected();

        assertFalse(future.isDone());
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(MODE_EMERGENCY_WWAN);
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_CALL), eq(MODE_EMERGENCY_WWAN));

        wwanCallback.onDomainSelected(DOMAIN_CS, false);

@@ -191,7 +193,8 @@ public class EmergencyCallDomainSelectionConnectionTest extends TelephonyTest {
        wwanCallback = mTransportCallback.onWwanSelected();

        assertFalse(future.isDone());
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(MODE_EMERGENCY_WWAN);
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_CALL), eq(MODE_EMERGENCY_WWAN));

        wwanCallback.onDomainSelected(DOMAIN_PS, true);

+18 −4
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnWlanSelected() throws Exception {
        when(mAnm.getPreferredTransport(anyInt()))
                .thenReturn(AccessNetworkConstants.TRANSPORT_TYPE_WLAN);
@@ -121,11 +122,13 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {
        processAllMessages();

        assertTrue(future.isDone());
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(eq(MODE_EMERGENCY_WLAN));
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_SMS), eq(MODE_EMERGENCY_WLAN));
    }

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnWlanSelectedWithDifferentTransportType() throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
                AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
@@ -141,7 +144,8 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

        ArgumentCaptor<Handler> handlerCaptor = ArgumentCaptor.forClass(Handler.class);
        ArgumentCaptor<Integer> msgCaptor = ArgumentCaptor.forClass(Integer.class);
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(eq(MODE_EMERGENCY_WLAN));
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_SMS), eq(MODE_EMERGENCY_WLAN));
        verify(mAnm).registerForQualifiedNetworksChanged(
                handlerCaptor.capture(), msgCaptor.capture());
        verify(mPhone).notifyEmergencyDomainSelected(
@@ -158,6 +162,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnWlanSelectedWithDifferentTransportTypeWhilePreferredTransportChanged()
            throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
@@ -178,7 +183,8 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

        ArgumentCaptor<Handler> handlerCaptor = ArgumentCaptor.forClass(Handler.class);
        ArgumentCaptor<Integer> msgCaptor = ArgumentCaptor.forClass(Integer.class);
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(eq(MODE_EMERGENCY_WLAN));
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_SMS), eq(MODE_EMERGENCY_WLAN));
        verify(mAnm).registerForQualifiedNetworksChanged(
                handlerCaptor.capture(), msgCaptor.capture());
        verify(mPhone).notifyEmergencyDomainSelected(
@@ -198,11 +204,13 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {
    public void testOnWwanSelected() throws Exception {
        mDsConnection.onWwanSelected();

        verify(mEmergencyStateTracker).onEmergencyTransportChanged(eq(MODE_EMERGENCY_WWAN));
        verify(mEmergencyStateTracker).onEmergencyTransportChanged(
                eq(EmergencyStateTracker.EMERGENCY_TYPE_SMS), eq(MODE_EMERGENCY_WWAN));
    }

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnDomainSelectedPs() throws Exception {
        when(mAnm.getPreferredTransport(anyInt()))
                .thenReturn(AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
@@ -220,6 +228,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnDomainSelectedPsWithDifferentTransportType() throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
                AccessNetworkConstants.TRANSPORT_TYPE_WLAN,
@@ -251,6 +260,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnDomainSelectedPsWithDifferentTransportTypeAndNotChanged() throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
                AccessNetworkConstants.TRANSPORT_TYPE_WLAN,
@@ -282,6 +292,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnDomainSelectedPsWithDifferentTransportTypeWhilePreferredTransportChanged()
            throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
@@ -318,6 +329,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testOnDomainSelectedCs() throws Exception {
        when(mAnm.getPreferredTransport(anyInt()))
                .thenReturn(AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
@@ -335,6 +347,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testFinishSelection() throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
                AccessNetworkConstants.TRANSPORT_TYPE_WLAN,
@@ -365,6 +378,7 @@ public class EmergencySmsDomainSelectionConnectionTest extends TelephonyTest {

    @Test
    @SmallTest
    @SuppressWarnings("FutureReturnValueIgnored")
    public void testFinishSelectionAfterDomainSelectionCompleted() throws Exception {
        when(mAnm.getPreferredTransport(anyInt())).thenReturn(
                AccessNetworkConstants.TRANSPORT_TYPE_WLAN,