Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +16 −0 Original line number Diff line number Diff line Loading @@ -1765,6 +1765,7 @@ public class ServiceStateTracker extends Handler { mNewSS.setCssIndicator(cssIndicator); mNewSS.setRilVoiceRadioTechnology(newVoiceRat); mNewSS.addNetworkRegistrationState(networkRegState); setChannelNumberFromCellIdentity(mNewSS, networkRegState.getCellIdentity()); //Denial reason if registrationState = 3 int reasonForDenial = networkRegState.getReasonForDenial(); Loading Loading @@ -1840,6 +1841,7 @@ public class ServiceStateTracker extends Handler { mNewSS.setDataRegState(serviceState); mNewSS.setRilDataRadioTechnology(newDataRat); mNewSS.addNetworkRegistrationState(networkRegState); setChannelNumberFromCellIdentity(mNewSS, networkRegState.getCellIdentity()); if (mPhone.isPhoneTypeGsm()) { Loading Loading @@ -1978,6 +1980,20 @@ public class ServiceStateTracker extends Handler { } } private void setChannelNumberFromCellIdentity(ServiceState ss, CellIdentity cellIdentity) { if (cellIdentity == null) { if (DBG) { log("Could not set ServiceState channel number. CellIdentity null"); } return; } ss.setChannelNumber(cellIdentity.getChannelNumber()); if (VDBG) { log("Setting channel number: " + cellIdentity.getChannelNumber()); } } /** * Determine whether a roaming indicator is in the carrier-specified list of ERIs for * home system Loading tests/telephonytests/src/com/android/internal/telephony/CellIdentityGsmTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ public class CellIdentityGsmTest extends AndroidTestCase { assertEquals(LAC, ci.getLac()); assertEquals(CID, ci.getCid()); assertEquals(ARFCN, ci.getArfcn()); assertEquals(ARFCN, ci.getChannelNumber()); assertEquals(BSIC, ci.getBsic()); assertEquals(MCC, ci.getMcc()); assertEquals(MNC, ci.getMnc()); Loading tests/telephonytests/src/com/android/internal/telephony/CellIdentityLteTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ public class CellIdentityLteTest extends AndroidTestCase { assertEquals(PCI, ci.getPci()); assertEquals(TAC, ci.getTac()); assertEquals(EARFCN, ci.getEarfcn()); assertEquals(EARFCN, ci.getChannelNumber()); assertEquals(BANDWIDTH, ci.getBandwidth()); assertEquals(MCC, ci.getMcc()); assertEquals(MNC, ci.getMnc()); Loading tests/telephonytests/src/com/android/internal/telephony/CellIdentityWcdmaTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,8 @@ public class CellIdentityWcdmaTest extends AndroidTestCase { assertEquals(LAC, ci.getLac()); assertEquals(CID, ci.getCid()); assertEquals(PSC, ci.getPsc()); assertEquals(UARFCN, ci.getUarfcn()); assertEquals(UARFCN, ci.getChannelNumber()); assertEquals(MCC, ci.getMcc()); assertEquals(MNC, ci.getMnc()); assertEquals(MCC_STR, ci.getMccString()); Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTest.java +40 −0 Original line number Diff line number Diff line Loading @@ -306,4 +306,44 @@ public class ServiceStateTest extends TestCase { assertEquals(ss.getNetworkRegistrationStates(AccessNetworkConstants.TransportType.WWAN, NetworkRegistrationState.DOMAIN_PS), wwanDataRegState); } @SmallTest public void testDuplexMode_notLte() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_GSM); ss.setChannelNumber(2400); assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_UNKNOWN); } @SmallTest public void testDuplexMode_invalidEarfcn() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); ss.setChannelNumber(-1); assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_UNKNOWN); ss.setChannelNumber(Integer.MAX_VALUE); assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_UNKNOWN); } @SmallTest public void testDuplexMode_FddChannel() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); ss.setChannelNumber(2400); // band 5 assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_FDD); } @SmallTest public void testDuplexMode_TddChannel() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); ss.setChannelNumber(36000); // band 33 assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_TDD); } } Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +16 −0 Original line number Diff line number Diff line Loading @@ -1765,6 +1765,7 @@ public class ServiceStateTracker extends Handler { mNewSS.setCssIndicator(cssIndicator); mNewSS.setRilVoiceRadioTechnology(newVoiceRat); mNewSS.addNetworkRegistrationState(networkRegState); setChannelNumberFromCellIdentity(mNewSS, networkRegState.getCellIdentity()); //Denial reason if registrationState = 3 int reasonForDenial = networkRegState.getReasonForDenial(); Loading Loading @@ -1840,6 +1841,7 @@ public class ServiceStateTracker extends Handler { mNewSS.setDataRegState(serviceState); mNewSS.setRilDataRadioTechnology(newDataRat); mNewSS.addNetworkRegistrationState(networkRegState); setChannelNumberFromCellIdentity(mNewSS, networkRegState.getCellIdentity()); if (mPhone.isPhoneTypeGsm()) { Loading Loading @@ -1978,6 +1980,20 @@ public class ServiceStateTracker extends Handler { } } private void setChannelNumberFromCellIdentity(ServiceState ss, CellIdentity cellIdentity) { if (cellIdentity == null) { if (DBG) { log("Could not set ServiceState channel number. CellIdentity null"); } return; } ss.setChannelNumber(cellIdentity.getChannelNumber()); if (VDBG) { log("Setting channel number: " + cellIdentity.getChannelNumber()); } } /** * Determine whether a roaming indicator is in the carrier-specified list of ERIs for * home system Loading
tests/telephonytests/src/com/android/internal/telephony/CellIdentityGsmTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ public class CellIdentityGsmTest extends AndroidTestCase { assertEquals(LAC, ci.getLac()); assertEquals(CID, ci.getCid()); assertEquals(ARFCN, ci.getArfcn()); assertEquals(ARFCN, ci.getChannelNumber()); assertEquals(BSIC, ci.getBsic()); assertEquals(MCC, ci.getMcc()); assertEquals(MNC, ci.getMnc()); Loading
tests/telephonytests/src/com/android/internal/telephony/CellIdentityLteTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ public class CellIdentityLteTest extends AndroidTestCase { assertEquals(PCI, ci.getPci()); assertEquals(TAC, ci.getTac()); assertEquals(EARFCN, ci.getEarfcn()); assertEquals(EARFCN, ci.getChannelNumber()); assertEquals(BANDWIDTH, ci.getBandwidth()); assertEquals(MCC, ci.getMcc()); assertEquals(MNC, ci.getMnc()); Loading
tests/telephonytests/src/com/android/internal/telephony/CellIdentityWcdmaTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,8 @@ public class CellIdentityWcdmaTest extends AndroidTestCase { assertEquals(LAC, ci.getLac()); assertEquals(CID, ci.getCid()); assertEquals(PSC, ci.getPsc()); assertEquals(UARFCN, ci.getUarfcn()); assertEquals(UARFCN, ci.getChannelNumber()); assertEquals(MCC, ci.getMcc()); assertEquals(MNC, ci.getMnc()); assertEquals(MCC_STR, ci.getMccString()); Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTest.java +40 −0 Original line number Diff line number Diff line Loading @@ -306,4 +306,44 @@ public class ServiceStateTest extends TestCase { assertEquals(ss.getNetworkRegistrationStates(AccessNetworkConstants.TransportType.WWAN, NetworkRegistrationState.DOMAIN_PS), wwanDataRegState); } @SmallTest public void testDuplexMode_notLte() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_GSM); ss.setChannelNumber(2400); assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_UNKNOWN); } @SmallTest public void testDuplexMode_invalidEarfcn() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); ss.setChannelNumber(-1); assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_UNKNOWN); ss.setChannelNumber(Integer.MAX_VALUE); assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_UNKNOWN); } @SmallTest public void testDuplexMode_FddChannel() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); ss.setChannelNumber(2400); // band 5 assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_FDD); } @SmallTest public void testDuplexMode_TddChannel() { ServiceState ss = new ServiceState(); ss.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); ss.setChannelNumber(36000); // band 33 assertEquals(ss.getDuplexMode(), ServiceState.DUPLEX_MODE_TDD); } }