Loading src/java/com/android/internal/telephony/Phone.java +11 −0 Original line number Diff line number Diff line Loading @@ -1847,6 +1847,17 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { return null; } /** * Check whether the radio is off for thermal reason. * * @return {@code true} only if thermal mitigation is one of the reason for which radio is off. */ public boolean isRadioOffForThermalMitigation() { ServiceStateTracker sst = getServiceStateTracker(); return sst != null && sst.getRadioPowerOffReasons() .contains(Phone.RADIO_POWER_REASON_THERMAL); } /** * Retrieves the EmergencyNumberTracker of the phone instance. */ Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +1 −2 Original line number Diff line number Diff line Loading @@ -1084,8 +1084,7 @@ public class ServiceStateTracker extends Handler { /** * @return the current reasons for which the radio is off. */ @VisibleForTesting public Set<Integer> getRadioPowerOffReasonsForTest() { public Set<Integer> getRadioPowerOffReasons() { return sRadioPowerOffReasons; } Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +9 −9 Original line number Diff line number Diff line Loading @@ -405,33 +405,33 @@ public class ServiceStateTrackerTest extends TelephonyTest { public void testSetRadioPowerForReason() { // Radio does not turn on if off for other reason and not emergency call. assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_ON); assertTrue(sst.getRadioPowerOffReasonsForTest().isEmpty()); assertTrue(sst.getRadioPowerOffReasons().isEmpty()); sst.setRadioPowerForReason(false, false, false, false, Phone.RADIO_POWER_REASON_THERMAL); assertTrue(sst.getRadioPowerOffReasonsForTest().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasonsForTest().size() == 1); assertTrue(sst.getRadioPowerOffReasons().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasons().size() == 1); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_OFF); sst.setRadioPowerForReason(true, false, false, false, Phone.RADIO_POWER_REASON_USER); assertTrue(sst.getRadioPowerOffReasonsForTest().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasonsForTest().size() == 1); assertTrue(sst.getRadioPowerOffReasons().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasons().size() == 1); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_OFF); // Radio power state reason is removed and radio turns on if turned on for same reason it // had been turned off for. sst.setRadioPowerForReason(true, false, false, false, Phone.RADIO_POWER_REASON_THERMAL); assertTrue(sst.getRadioPowerOffReasonsForTest().isEmpty()); assertTrue(sst.getRadioPowerOffReasons().isEmpty()); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_ON); // Turn radio off, then successfully turn radio on for emergency call. sst.setRadioPowerForReason(false, false, false, false, Phone.RADIO_POWER_REASON_THERMAL); assertTrue(sst.getRadioPowerOffReasonsForTest().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasonsForTest().size() == 1); assertTrue(sst.getRadioPowerOffReasons().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasons().size() == 1); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_OFF); sst.setRadioPower(true, true, true, false); assertTrue(sst.getRadioPowerOffReasonsForTest().isEmpty()); assertTrue(sst.getRadioPowerOffReasons().isEmpty()); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_ON); } Loading Loading
src/java/com/android/internal/telephony/Phone.java +11 −0 Original line number Diff line number Diff line Loading @@ -1847,6 +1847,17 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { return null; } /** * Check whether the radio is off for thermal reason. * * @return {@code true} only if thermal mitigation is one of the reason for which radio is off. */ public boolean isRadioOffForThermalMitigation() { ServiceStateTracker sst = getServiceStateTracker(); return sst != null && sst.getRadioPowerOffReasons() .contains(Phone.RADIO_POWER_REASON_THERMAL); } /** * Retrieves the EmergencyNumberTracker of the phone instance. */ Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +1 −2 Original line number Diff line number Diff line Loading @@ -1084,8 +1084,7 @@ public class ServiceStateTracker extends Handler { /** * @return the current reasons for which the radio is off. */ @VisibleForTesting public Set<Integer> getRadioPowerOffReasonsForTest() { public Set<Integer> getRadioPowerOffReasons() { return sRadioPowerOffReasons; } Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +9 −9 Original line number Diff line number Diff line Loading @@ -405,33 +405,33 @@ public class ServiceStateTrackerTest extends TelephonyTest { public void testSetRadioPowerForReason() { // Radio does not turn on if off for other reason and not emergency call. assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_ON); assertTrue(sst.getRadioPowerOffReasonsForTest().isEmpty()); assertTrue(sst.getRadioPowerOffReasons().isEmpty()); sst.setRadioPowerForReason(false, false, false, false, Phone.RADIO_POWER_REASON_THERMAL); assertTrue(sst.getRadioPowerOffReasonsForTest().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasonsForTest().size() == 1); assertTrue(sst.getRadioPowerOffReasons().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasons().size() == 1); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_OFF); sst.setRadioPowerForReason(true, false, false, false, Phone.RADIO_POWER_REASON_USER); assertTrue(sst.getRadioPowerOffReasonsForTest().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasonsForTest().size() == 1); assertTrue(sst.getRadioPowerOffReasons().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasons().size() == 1); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_OFF); // Radio power state reason is removed and radio turns on if turned on for same reason it // had been turned off for. sst.setRadioPowerForReason(true, false, false, false, Phone.RADIO_POWER_REASON_THERMAL); assertTrue(sst.getRadioPowerOffReasonsForTest().isEmpty()); assertTrue(sst.getRadioPowerOffReasons().isEmpty()); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_ON); // Turn radio off, then successfully turn radio on for emergency call. sst.setRadioPowerForReason(false, false, false, false, Phone.RADIO_POWER_REASON_THERMAL); assertTrue(sst.getRadioPowerOffReasonsForTest().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasonsForTest().size() == 1); assertTrue(sst.getRadioPowerOffReasons().contains(Phone.RADIO_POWER_REASON_THERMAL)); assertTrue(sst.getRadioPowerOffReasons().size() == 1); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_OFF); sst.setRadioPower(true, true, true, false); assertTrue(sst.getRadioPowerOffReasonsForTest().isEmpty()); assertTrue(sst.getRadioPowerOffReasons().isEmpty()); waitForLastHandlerAction(mSSTTestHandler.getThreadHandler()); assertTrue(mSimulatedCommands.getRadioState() == TelephonyManager.RADIO_POWER_ON); } Loading