Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +7 −5 Original line number Original line Diff line number Diff line Loading @@ -962,7 +962,7 @@ public class ServiceStateTracker extends Handler { return; return; } } ar = (AsyncResult) msg.obj; ar = (AsyncResult) msg.obj; onSignalStrengthResult(ar, true); onSignalStrengthResult(ar); queueNextSignalStrengthPoll(); queueNextSignalStrengthPoll(); break; break; Loading Loading @@ -1081,7 +1081,7 @@ public class ServiceStateTracker extends Handler { // we don't have to ask it // we don't have to ask it mDontPollSignalStrength = true; mDontPollSignalStrength = true; onSignalStrengthResult(ar, true); onSignalStrengthResult(ar); break; break; case EVENT_SIM_RECORDS_LOADED: case EVENT_SIM_RECORDS_LOADED: Loading Loading @@ -4361,10 +4361,12 @@ public class ServiceStateTracker extends Handler { * * * @return true if the signal strength changed and a notification was sent. * @return true if the signal strength changed and a notification was sent. */ */ protected boolean onSignalStrengthResult(AsyncResult ar, boolean isGsm) { protected boolean onSignalStrengthResult(AsyncResult ar) { boolean isGsm = false; //override isGsm for CDMA LTE //override isGsm for CDMA LTE if (mPhone.isPhoneTypeCdmaLte() && if (mPhone.isPhoneTypeGsm() || mSS.getRilDataRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_LTE) { (mPhone.isPhoneTypeCdmaLte() && mSS.getRilDataRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_LTE)) { isGsm = true; isGsm = true; } } Loading src/java/com/android/internal/telephony/test/SimulatedCommands.java +26 −0 Original line number Original line Diff line number Diff line Loading @@ -2018,6 +2018,32 @@ public class SimulatedCommands extends BaseCommands } } } } public void notifySignalStrength() { if (mSignalStrength == null) { mSignalStrength = new SignalStrength( 20, // gsmSignalStrength 0, // gsmBitErrorRate -1, // cdmaDbm -1, // cdmaEcio -1, // evdoDbm -1, // evdoEcio -1, // evdoSnr 99, // lteSignalStrength SignalStrength.INVALID, // lteRsrp SignalStrength.INVALID, // lteRsrq SignalStrength.INVALID, // lteRssnr SignalStrength.INVALID, // lteCqi SignalStrength.INVALID, // tdScdmaRscp true // gsmFlag ); } if (mSignalStrengthRegistrant != null) { mSignalStrengthRegistrant.notifyRegistrant( new AsyncResult (null, mSignalStrength, null)); } } public void setIccCardStatus(IccCardStatus iccCardStatus){ public void setIccCardStatus(IccCardStatus iccCardStatus){ mIccCardStatus = iccCardStatus; mIccCardStatus = iccCardStatus; } } Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +21 −2 Original line number Original line Diff line number Diff line Loading @@ -292,10 +292,29 @@ public class ServiceStateTrackerTest extends TelephonyTest { true // gsmFlag true // gsmFlag ); ); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_SIGNAL_STRENGTH_UPDATE, mSimulatedCommands.setSignalStrength(ss); new AsyncResult(null, ss, null))); mSimulatedCommands.notifySignalStrength(); waitForMs(200); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength().isGsm(), true); // switch to CDMA doReturn(false).when(mPhone).isPhoneTypeGsm(); doReturn(true).when(mPhone).isPhoneTypeCdmaLte(); sst.updatePhoneType(); sst.mSS.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); mSimulatedCommands.notifySignalStrength(); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength().isGsm(), true); // notify signal strength again, but this time data RAT is not LTE sst.mSS.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD); mSimulatedCommands.notifySignalStrength(); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength().isGsm(), false); } } @Test @Test Loading Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +7 −5 Original line number Original line Diff line number Diff line Loading @@ -962,7 +962,7 @@ public class ServiceStateTracker extends Handler { return; return; } } ar = (AsyncResult) msg.obj; ar = (AsyncResult) msg.obj; onSignalStrengthResult(ar, true); onSignalStrengthResult(ar); queueNextSignalStrengthPoll(); queueNextSignalStrengthPoll(); break; break; Loading Loading @@ -1081,7 +1081,7 @@ public class ServiceStateTracker extends Handler { // we don't have to ask it // we don't have to ask it mDontPollSignalStrength = true; mDontPollSignalStrength = true; onSignalStrengthResult(ar, true); onSignalStrengthResult(ar); break; break; case EVENT_SIM_RECORDS_LOADED: case EVENT_SIM_RECORDS_LOADED: Loading Loading @@ -4361,10 +4361,12 @@ public class ServiceStateTracker extends Handler { * * * @return true if the signal strength changed and a notification was sent. * @return true if the signal strength changed and a notification was sent. */ */ protected boolean onSignalStrengthResult(AsyncResult ar, boolean isGsm) { protected boolean onSignalStrengthResult(AsyncResult ar) { boolean isGsm = false; //override isGsm for CDMA LTE //override isGsm for CDMA LTE if (mPhone.isPhoneTypeCdmaLte() && if (mPhone.isPhoneTypeGsm() || mSS.getRilDataRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_LTE) { (mPhone.isPhoneTypeCdmaLte() && mSS.getRilDataRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_LTE)) { isGsm = true; isGsm = true; } } Loading
src/java/com/android/internal/telephony/test/SimulatedCommands.java +26 −0 Original line number Original line Diff line number Diff line Loading @@ -2018,6 +2018,32 @@ public class SimulatedCommands extends BaseCommands } } } } public void notifySignalStrength() { if (mSignalStrength == null) { mSignalStrength = new SignalStrength( 20, // gsmSignalStrength 0, // gsmBitErrorRate -1, // cdmaDbm -1, // cdmaEcio -1, // evdoDbm -1, // evdoEcio -1, // evdoSnr 99, // lteSignalStrength SignalStrength.INVALID, // lteRsrp SignalStrength.INVALID, // lteRsrq SignalStrength.INVALID, // lteRssnr SignalStrength.INVALID, // lteCqi SignalStrength.INVALID, // tdScdmaRscp true // gsmFlag ); } if (mSignalStrengthRegistrant != null) { mSignalStrengthRegistrant.notifyRegistrant( new AsyncResult (null, mSignalStrength, null)); } } public void setIccCardStatus(IccCardStatus iccCardStatus){ public void setIccCardStatus(IccCardStatus iccCardStatus){ mIccCardStatus = iccCardStatus; mIccCardStatus = iccCardStatus; } } Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +21 −2 Original line number Original line Diff line number Diff line Loading @@ -292,10 +292,29 @@ public class ServiceStateTrackerTest extends TelephonyTest { true // gsmFlag true // gsmFlag ); ); sst.sendMessage(sst.obtainMessage(ServiceStateTracker.EVENT_SIGNAL_STRENGTH_UPDATE, mSimulatedCommands.setSignalStrength(ss); new AsyncResult(null, ss, null))); mSimulatedCommands.notifySignalStrength(); waitForMs(200); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength().isGsm(), true); // switch to CDMA doReturn(false).when(mPhone).isPhoneTypeGsm(); doReturn(true).when(mPhone).isPhoneTypeCdmaLte(); sst.updatePhoneType(); sst.mSS.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); mSimulatedCommands.notifySignalStrength(); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength().isGsm(), true); // notify signal strength again, but this time data RAT is not LTE sst.mSS.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD); mSimulatedCommands.notifySignalStrength(); waitForMs(200); assertEquals(sst.getSignalStrength(), ss); assertEquals(sst.getSignalStrength().isGsm(), false); } } @Test @Test Loading