Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -1677,6 +1677,16 @@ public class GsmCdmaPhone extends Phone { } } } } @Override public void setRadioPowerOnForTestEmergencyCall(boolean isSelectedPhoneForEmergencyCall) { mSST.clearAllRadioOffReasons(); // We don't want to have forEmergency call be true to prevent radio emergencyDial command // from being called for a test emergency number because the network may not be able to // find emergency routing for it and dial it do the default emergency services line. setRadioPower(true, false, isSelectedPhoneForEmergencyCall, false); } @Override @Override public void setRadioPower(boolean power, boolean forEmergencyCall, public void setRadioPower(boolean power, boolean forEmergencyCall, boolean isSelectedPhoneForEmergencyCall, boolean forceApply) { boolean isSelectedPhoneForEmergencyCall, boolean forceApply) { Loading src/java/com/android/internal/telephony/PhoneInternalInterface.java +8 −0 Original line number Original line Diff line number Diff line Loading @@ -580,6 +580,14 @@ public interface PhoneInternalInterface { setRadioPower(power, false, false, false); setRadioPower(power, false, false, false); } } /** * Sets the radio power on for a test emergency number. * * @param isSelectedPhoneForEmergencyCall true means this phone / modem is selected to place * emergency call after turning power on. */ default void setRadioPowerOnForTestEmergencyCall(boolean isSelectedPhoneForEmergencyCall) {} /** /** * Sets the radio power on/off state with option to specify whether it's for emergency call * Sets the radio power on/off state with option to specify whether it's for emergency call * (off is sometimes called "airplane mode"). Current state can be gotten via * (off is sometimes called "airplane mode"). Current state can be gotten via Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +10 −2 Original line number Original line Diff line number Diff line Loading @@ -1085,6 +1085,14 @@ public class ServiceStateTracker extends Handler { return sRadioPowerOffReasons; return sRadioPowerOffReasons; } } /** * Clear all the radio off reasons. This should be done when turning radio off for genuine or * test emergency calls. */ public void clearAllRadioOffReasons() { sRadioPowerOffReasons.clear(); } /** /** * Turn on or off radio power. * Turn on or off radio power. */ */ Loading @@ -1107,7 +1115,7 @@ public class ServiceStateTracker extends Handler { * Turn on or off radio power with option to specify whether it's for emergency call and specify * Turn on or off radio power with option to specify whether it's for emergency call and specify * a reason for setting the power state. * a reason for setting the power state. * More details check {@link PhoneInternalInterface#setRadioPower( * More details check {@link PhoneInternalInterface#setRadioPower( * boolean, boolean, boolean, boolean, String)}. * boolean, boolean, boolean, boolean, int)}. */ */ public void setRadioPowerForReason(boolean power, boolean forEmergencyCall, public void setRadioPowerForReason(boolean power, boolean forEmergencyCall, boolean isSelectedPhoneForEmergencyCall, boolean forceApply, int reason) { boolean isSelectedPhoneForEmergencyCall, boolean forceApply, int reason) { Loading @@ -1116,7 +1124,7 @@ public class ServiceStateTracker extends Handler { if (power) { if (power) { if (forEmergencyCall) { if (forEmergencyCall) { sRadioPowerOffReasons.clear(); clearAllRadioOffReasons(); } else { } else { sRadioPowerOffReasons.remove(reason); sRadioPowerOffReasons.remove(reason); } } Loading tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -1412,6 +1412,19 @@ public class GsmCdmaPhoneTest extends TelephonyTest { verify(mSST).setRadioPowerForReason(true, true, false, true, Phone.RADIO_POWER_REASON_USER); verify(mSST).setRadioPowerForReason(true, true, false, true, Phone.RADIO_POWER_REASON_USER); } } @Test @SmallTest public void testSetRadioPowerOnForTestEmergencyCall() { mPhoneUT.setRadioPower(false); verify(mSST).setRadioPowerForReason(false, false, false, false, Phone.RADIO_POWER_REASON_USER); mPhoneUT.setRadioPowerOnForTestEmergencyCall(false); verify(mSST).clearAllRadioOffReasons(); verify(mSST).setRadioPowerForReason(eq(true), eq(false), anyBoolean(), eq(false), eq(Phone.RADIO_POWER_REASON_USER)); } @Test @Test @SmallTest @SmallTest public void testReapplyUiccApplicationEnablementRetry() throws Exception { public void testReapplyUiccApplicationEnablementRetry() throws Exception { Loading Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -1677,6 +1677,16 @@ public class GsmCdmaPhone extends Phone { } } } } @Override public void setRadioPowerOnForTestEmergencyCall(boolean isSelectedPhoneForEmergencyCall) { mSST.clearAllRadioOffReasons(); // We don't want to have forEmergency call be true to prevent radio emergencyDial command // from being called for a test emergency number because the network may not be able to // find emergency routing for it and dial it do the default emergency services line. setRadioPower(true, false, isSelectedPhoneForEmergencyCall, false); } @Override @Override public void setRadioPower(boolean power, boolean forEmergencyCall, public void setRadioPower(boolean power, boolean forEmergencyCall, boolean isSelectedPhoneForEmergencyCall, boolean forceApply) { boolean isSelectedPhoneForEmergencyCall, boolean forceApply) { Loading
src/java/com/android/internal/telephony/PhoneInternalInterface.java +8 −0 Original line number Original line Diff line number Diff line Loading @@ -580,6 +580,14 @@ public interface PhoneInternalInterface { setRadioPower(power, false, false, false); setRadioPower(power, false, false, false); } } /** * Sets the radio power on for a test emergency number. * * @param isSelectedPhoneForEmergencyCall true means this phone / modem is selected to place * emergency call after turning power on. */ default void setRadioPowerOnForTestEmergencyCall(boolean isSelectedPhoneForEmergencyCall) {} /** /** * Sets the radio power on/off state with option to specify whether it's for emergency call * Sets the radio power on/off state with option to specify whether it's for emergency call * (off is sometimes called "airplane mode"). Current state can be gotten via * (off is sometimes called "airplane mode"). Current state can be gotten via Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +10 −2 Original line number Original line Diff line number Diff line Loading @@ -1085,6 +1085,14 @@ public class ServiceStateTracker extends Handler { return sRadioPowerOffReasons; return sRadioPowerOffReasons; } } /** * Clear all the radio off reasons. This should be done when turning radio off for genuine or * test emergency calls. */ public void clearAllRadioOffReasons() { sRadioPowerOffReasons.clear(); } /** /** * Turn on or off radio power. * Turn on or off radio power. */ */ Loading @@ -1107,7 +1115,7 @@ public class ServiceStateTracker extends Handler { * Turn on or off radio power with option to specify whether it's for emergency call and specify * Turn on or off radio power with option to specify whether it's for emergency call and specify * a reason for setting the power state. * a reason for setting the power state. * More details check {@link PhoneInternalInterface#setRadioPower( * More details check {@link PhoneInternalInterface#setRadioPower( * boolean, boolean, boolean, boolean, String)}. * boolean, boolean, boolean, boolean, int)}. */ */ public void setRadioPowerForReason(boolean power, boolean forEmergencyCall, public void setRadioPowerForReason(boolean power, boolean forEmergencyCall, boolean isSelectedPhoneForEmergencyCall, boolean forceApply, int reason) { boolean isSelectedPhoneForEmergencyCall, boolean forceApply, int reason) { Loading @@ -1116,7 +1124,7 @@ public class ServiceStateTracker extends Handler { if (power) { if (power) { if (forEmergencyCall) { if (forEmergencyCall) { sRadioPowerOffReasons.clear(); clearAllRadioOffReasons(); } else { } else { sRadioPowerOffReasons.remove(reason); sRadioPowerOffReasons.remove(reason); } } Loading
tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -1412,6 +1412,19 @@ public class GsmCdmaPhoneTest extends TelephonyTest { verify(mSST).setRadioPowerForReason(true, true, false, true, Phone.RADIO_POWER_REASON_USER); verify(mSST).setRadioPowerForReason(true, true, false, true, Phone.RADIO_POWER_REASON_USER); } } @Test @SmallTest public void testSetRadioPowerOnForTestEmergencyCall() { mPhoneUT.setRadioPower(false); verify(mSST).setRadioPowerForReason(false, false, false, false, Phone.RADIO_POWER_REASON_USER); mPhoneUT.setRadioPowerOnForTestEmergencyCall(false); verify(mSST).clearAllRadioOffReasons(); verify(mSST).setRadioPowerForReason(eq(true), eq(false), anyBoolean(), eq(false), eq(Phone.RADIO_POWER_REASON_USER)); } @Test @Test @SmallTest @SmallTest public void testReapplyUiccApplicationEnablementRetry() throws Exception { public void testReapplyUiccApplicationEnablementRetry() throws Exception { Loading