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
This commit is contained in:
Kazuhiro Ondo
2011-07-09 13:20:37 -05:00
committed by Wink Saville
parent 64ba5eaa40
commit 89799e72ee

View File

@@ -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,
@@ -467,43 +478,6 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker {
return provisioningState;
}
@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);