diff options
author | Yashdev Singh <yashdevs@codeaurora.org> | 2016-09-08 19:31:01 -0700 |
---|---|---|
committer | Yashdev Singh <yashdevs@codeaurora.org> | 2016-09-12 13:12:52 -0700 |
commit | 4a179434ef45ac04e633acbfed517e63657f6add (patch) | |
tree | 35fcb40bc16d72a0223fdbe48c44e1b27238657c /src/java/com/android/internal/telephony/ServiceStateTracker.java | |
parent | a5c4045289a4e7741a5add2c14d83f96a1543009 (diff) | |
download | android_frameworks_opt_telephony-4a179434ef45ac04e633acbfed517e63657f6add.tar.gz android_frameworks_opt_telephony-4a179434ef45ac04e633acbfed517e63657f6add.tar.bz2 android_frameworks_opt_telephony-4a179434ef45ac04e633acbfed517e63657f6add.zip |
Telephony: Fix RUIM app mcc/mnc issue.
if mUiccAppType is RUIM:
use RuimRecords for mcc/mnc lookup.
else
Use mIccRecords of mUiccAppType for mcc/mnc.
Above algorithm mandates that mUiccAppType MUST always be
correct for current configuration. This is controlled by
VOICE_RADIO_TECH and mPrecisePhoneType
For the configuration where simcard has only RuimApp and SimApp.
- In home network, VOICE_RADIO_TECH would indicate 1x.
- This would result in enforcing that phonetype be CDMA.
- MCC/MNC lookup on GsmCdmaPhone would result in using RuimRecords.
- *#0000# would show RuimRecords parameters.
- In roaming GSM networks, VOICE_RADIO_TECH would indicate 3GPP RAT value.
- this would force phone type to change from cdma >> GSM.
- SimRecords would be used in mcc/mnc lookup.
- *#0000# would show SimRecords parameters.
For the configuration where simcard has CsimApp, UsimApp and Isimapp.
- In home/roaming network, VOICE_RADIO_TECH would indicate 3GPP-rats/1x/LTE
- GsmCdmaPhone would use SimRecords irrespective of VOICE_RADIO_TECH value.
- *#0000# would show SimRecords or RuimRecords parameters based on current
phoneType and VOICE_RADIO_TECH.
For the configurations where simcard has Csimapp or just RuimApp.
- RuimRecords would be used in mcc/mnc lookup.
- *#0000# woud show RuimRecords parameters.
Change-Id: Id2ac103c1d6fc6a3dbe6849f73ce92f84b5305ad
Diffstat (limited to 'src/java/com/android/internal/telephony/ServiceStateTracker.java')
-rw-r--r-- | src/java/com/android/internal/telephony/ServiceStateTracker.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java index c02fff082..1374fe3a0 100644 --- a/src/java/com/android/internal/telephony/ServiceStateTracker.java +++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java @@ -580,9 +580,7 @@ public class ServiceStateTracker extends Handler { mCi.unregisterForAvailable(this); mCi.unSetOnRestrictedStateChanged(this); - if (mPhone.isPhoneTypeCdmaLte()) { - mPhone.registerForSimRecordsLoaded(this, EVENT_SIM_RECORDS_LOADED, null); - } + mPhone.registerForSimRecordsLoaded(this, EVENT_SIM_RECORDS_LOADED, null); mCellLoc = new CdmaCellLocation(); mNewCellLoc = new CdmaCellLocation(); mCdmaSSM = CdmaSubscriptionSourceManager.getInstance(mPhone.getContext(), mCi, this, @@ -4226,7 +4224,8 @@ public class ServiceStateTracker extends Handler { public void powerOffRadioSafely(DcTracker dcTracker) { synchronized (this) { if (!mPendingRadioPowerOffAfterDataOff) { - if (mPhone.isPhoneTypeGsm() || mPhone.isPhoneTypeCdmaLte()) { + if (mPhone.isPhoneTypeGsm() || mPhone.isPhoneTypeCdma() + || mPhone.isPhoneTypeCdmaLte()) { int dds = SubscriptionManager.getDefaultDataSubscriptionId(); // To minimize race conditions we call cleanUpAllConnections on // both if else paths instead of before this isDisconnected test. |