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

Commit cac30c0c authored by Jaesik Kong's avatar Jaesik Kong Committed by Android (Google) Code Review
Browse files

Merge "Revert "Set forEmergencyCall of setRadioPower to false for norma..."" into main

parents dc67b8cf 8be99aa5
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1738,8 +1738,7 @@ public class EmergencyStateTracker {
                    return phone.getServiceStateTracker().isRadioOn()
                            && !satelliteController.isSatelliteEnabledOrBeingEnabled();
                }
            }, !isTestEmergencyNumber, phone, isTestEmergencyNumber, waitForInServiceTimeout,
                    /* forNormalRoutingEmergencyCall */ false);
            }, !isTestEmergencyNumber, phone, isTestEmergencyNumber, waitForInServiceTimeout);
        } else {
            switchDdsAndSetEmergencyMode(phone, emergencyType);
        }
+6 −15
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ public class RadioOnHelper implements RadioOnStateListener.Callback {
     */
    public void triggerRadioOnAndListen(RadioOnStateListener.Callback callback,
            boolean forEmergencyCall, Phone phoneForEmergencyCall, boolean isTestEmergencyNumber,
            int emergencyTimeoutIntervalMillis, boolean forNormalRoutingEmergencyCall) {
            int emergencyTimeoutIntervalMillis) {
        setupListeners();
        mCallback = callback;
        mInProgressListeners.clear();
@@ -102,8 +102,7 @@ public class RadioOnHelper implements RadioOnStateListener.Callback {
            mListeners.get(i).waitForRadioOn(phone, this, forEmergencyCall, forEmergencyCall
                    && phone == phoneForEmergencyCall, timeoutCallbackInterval);
        }
        powerOnRadio(forEmergencyCall, phoneForEmergencyCall, isTestEmergencyNumber,
                forNormalRoutingEmergencyCall);
        powerOnRadio(forEmergencyCall, phoneForEmergencyCall, isTestEmergencyNumber);
        if (SatelliteController.getInstance().isSatelliteEnabledOrBeingEnabled()) {
            powerOffSatellite();
        }
@@ -114,25 +113,17 @@ public class RadioOnHelper implements RadioOnStateListener.Callback {
     * get an onServiceStateChanged() callback when the radio successfully comes up.
     */
    private void powerOnRadio(boolean forEmergencyCall, Phone phoneForEmergencyCall,
            boolean isTestEmergencyNumber, boolean forNormalRoutingEmergencyCall) {
            boolean isTestEmergencyNumber) {

        // Always try to turn on the radio here independent of APM setting - if we got here in the
        // first place, the radio is off independent of APM setting.
        for (Phone phone : PhoneFactory.getPhones()) {
            Rlog.d(TAG, "powerOnRadio, enabling Radio");
            if (isTestEmergencyNumber) {
                phone.setRadioPowerOnForTestEmergencyCall(
                        (phone == phoneForEmergencyCall) && !forNormalRoutingEmergencyCall);
                phone.setRadioPowerOnForTestEmergencyCall(phone == phoneForEmergencyCall);
            } else {
                if (forNormalRoutingEmergencyCall) {
                    if (phone.getServiceStateTracker() != null) {
                        // Clear all radio off reasons to ensure that the radio is turned on for
                        // normal routing emergency call.
                        phone.getServiceStateTracker().clearAllRadioOffReasons();
                    }
                }
                phone.setRadioPower(true, forEmergencyCall && !forNormalRoutingEmergencyCall,
                        (phone == phoneForEmergencyCall) && !forNormalRoutingEmergencyCall, false);
                phone.setRadioPower(true, forEmergencyCall, phone == phoneForEmergencyCall,
                        false);
            }
        }

+8 −8
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        ArgumentCaptor<RadioOnStateListener.Callback> callback = ArgumentCaptor
                .forClass(RadioOnStateListener.Callback.class);
        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true), eq(testPhone),
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS), eq(false));
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS));
        // isOkToCall() should return true when IN_SERVICE state
        assertFalse(callback.getValue()
                .isOkToCall(testPhone, ServiceState.STATE_OUT_OF_SERVICE, false));
@@ -243,7 +243,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        ArgumentCaptor<RadioOnStateListener.Callback> callback = ArgumentCaptor
                .forClass(RadioOnStateListener.Callback.class);
        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true), eq(testPhone),
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS), eq(false));
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS));
        // onTimeout should return true when radion on
        assertFalse(callback.getValue()
                .isOkToCall(testPhone, ServiceState.STATE_OUT_OF_SERVICE, false));
@@ -291,7 +291,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        ArgumentCaptor<RadioOnStateListener.Callback> callback = ArgumentCaptor
                .forClass(RadioOnStateListener.Callback.class);
        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true), eq(testPhone),
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS), eq(false));
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS));

        // Hangup the call
        emergencyStateTracker.endCall(mTestConnection1);
@@ -327,7 +327,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        ArgumentCaptor<RadioOnStateListener.Callback> callback = ArgumentCaptor
                .forClass(RadioOnStateListener.Callback.class);
        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true), eq(testPhone),
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS), eq(false));
                eq(false), eq(DEFAULT_WAIT_FOR_IN_SERVICE_TIMEOUT_MS));
        // Verify future completes with DisconnectCause.POWER_OFF if radio not ready
        CompletableFuture<Void> unused = future.thenAccept((result) -> {
            assertEquals((Integer) result, (Integer) DisconnectCause.POWER_OFF);
@@ -363,7 +363,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        ArgumentCaptor<RadioOnStateListener.Callback> callback = ArgumentCaptor
                .forClass(RadioOnStateListener.Callback.class);
        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true), eq(testPhone),
                eq(false), eq(0), eq(false));
                eq(false), eq(0));
        // isOkToCall() should return true once satellite modem is off
        assertFalse(callback.getValue()
                .isOkToCall(testPhone, ServiceState.STATE_IN_SERVICE, false));
@@ -404,7 +404,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        ArgumentCaptor<RadioOnStateListener.Callback> callback = ArgumentCaptor
                .forClass(RadioOnStateListener.Callback.class);
        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true), eq(testPhone),
                eq(false), eq(0), eq(false));
                eq(false), eq(0));
        // Verify future completes with DisconnectCause.POWER_OFF if radio not ready
        CompletableFuture<Void> unused = future.thenAccept((result) -> {
            assertEquals((Integer) result, (Integer) DisconnectCause.SATELLITE_ENABLED);
@@ -432,7 +432,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {

        // Radio already on so shouldn't trigger this
        verify(mRadioOnHelper, never()).triggerRadioOnAndListen(any(), anyBoolean(), any(),
                anyBoolean(), eq(0), eq(false));
                anyBoolean(), eq(0));
        // Carrier supports control-plane fallback, so no DDS switch
        verify(mPhoneSwitcher, never()).overrideDefaultDataForEmergency(anyInt(), anyInt(), any());
    }
@@ -3198,7 +3198,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest {
        // Wait for the radio off for all phones
        verify(mSST, times(2)).registerForVoiceRegStateOrRatChanged(any(), anyInt(), any());
        verify(mRadioOnHelper, never()).triggerRadioOnAndListen(any(), anyBoolean(), any(),
                anyBoolean(), eq(0), eq(false));
                anyBoolean(), eq(0));
    }

    /**