From 89799e72eee54935ec5830f89dfd0a7d32983917 Mon Sep 17 00:00:00 2001 From: Kazuhiro Ondo Date: Sat, 9 Jul 2011 13:20:37 -0500 Subject: 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 --- .../telephony/cdma/CdmaLteServiceStateTracker.java | 50 ++++++---------------- 1 file changed, 12 insertions(+), 38 deletions(-) (limited to 'telephony/java/com/android') 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); } -- cgit v1.1