diff options
author | Kazuhiro Ondo <kazuhiro.ondo@motorola.com> | 2011-07-09 13:20:37 -0500 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2011-07-10 16:26:42 -0700 |
commit | 89799e72eee54935ec5830f89dfd0a7d32983917 (patch) | |
tree | d5a5e42b59735b2a87e57fd957e74eaaea0604c1 /telephony/java/com/android | |
parent | 64ba5eaa40614877c679b3fbaaa3c2efd17d50d2 (diff) | |
download | frameworks_base-89799e72eee54935ec5830f89dfd0a7d32983917.zip frameworks_base-89799e72eee54935ec5830f89dfd0a7d32983917.tar.gz frameworks_base-89799e72eee54935ec5830f89dfd0a7d32983917.tar.bz2 |
Fix incorrect ERI banner format
Fix conflicting display issue with ERI and CSIM SPN test.
Do not display them together but only override ERI text with CSIM
SPN in home area.
Bug: 5008969
Change-Id: I88383acd1c7f4c5bfb1f66349ff2f37b2edbbc9c
Diffstat (limited to 'telephony/java/com/android')
-rw-r--r-- | telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java | 50 |
1 files changed, 12 insertions, 38 deletions
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java index 459cf87..0d551aa 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java @@ -39,7 +39,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { CDMALTEPhone mCdmaLtePhone; private ServiceState mLteSS; // The last LTE state from Voice Registration - private String mCurrentSpn = null; public CdmaLteServiceStateTracker(CDMALTEPhone phone) { super(phone); @@ -345,6 +344,18 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { ss.setOperatorAlphaLong(eriText); } + if (cm.getSimState().isSIMReady()) { + // SIM is found on the device. If ERI roaming is OFF, use operator name + // from CSIM record. + boolean showSpn = + ((CdmaLteUiccRecords)phone.mIccRecords).getCsimSpnDisplayCondition(); + int iconIndex = ss.getCdmaEriIconIndex(); + + if (showSpn && (iconIndex == EriInfo.ROAMING_INDICATOR_OFF)) { + ss.setOperatorAlphaLong(phone.mIccRecords.getServiceProviderName()); + } + } + String operatorNumeric; phone.setSystemProperty(TelephonyProperties.PROPERTY_OPERATOR_ALPHA, @@ -468,43 +479,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { } @Override - protected void updateSpnDisplay() { - // mOperatorAlphaLong contains the ERI text - String plmn = ss.getOperatorAlphaLong(); - - boolean showSpn = false; - String spn = null; - if (cm.getSimState().isSIMReady()) { - // SIM is found on the device. Read the operator name from the card. - showSpn = ((CdmaLteUiccRecords)phone.mIccRecords).getCsimSpnDisplayCondition(); - spn = phone.mIccRecords.getServiceProviderName(); - - // double check we are not printing identicall test - if (TextUtils.equals(plmn, spn)) showSpn = false; - } - - if (!TextUtils.equals(plmn, mCurPlmn) || - !TextUtils.equals(spn, mCurrentSpn)) { - boolean showPlmn = plmn != null; - if (DBG) { - log(String.format("updateSpnDisplay: changed sending intent" + - " showPlmn='%b' plmn='%s' showSpn='%b' spn='%s'", - showPlmn, plmn, showSpn, spn)); - } - Intent intent = new Intent(Intents.SPN_STRINGS_UPDATED_ACTION); - intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING); - intent.putExtra(Intents.EXTRA_SHOW_SPN, showSpn); - intent.putExtra(Intents.EXTRA_SPN, spn); - intent.putExtra(Intents.EXTRA_SHOW_PLMN, showPlmn); - intent.putExtra(Intents.EXTRA_PLMN, plmn); - phone.getContext().sendStickyBroadcast(intent); - } - - mCurPlmn = plmn; - mCurrentSpn = spn; - } - - @Override protected void log(String s) { Log.d(LOG_TAG, "[CdmaLteSST] " + s); } |