Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +16 −4 Original line number Diff line number Diff line Loading @@ -2162,8 +2162,15 @@ public class ServiceStateTracker extends Handler { String wfcVoiceSpnFormat = null; String wfcDataSpnFormat = null; if (mPhone.getImsPhone() != null && mPhone.getImsPhone().isWifiCallingEnabled()) { // In Wi-Fi Calling mode show SPN+WiFi int combinedRegState = getCombinedRegState(); if (mPhone.getImsPhone() != null && mPhone.getImsPhone().isWifiCallingEnabled() && (combinedRegState == ServiceState.STATE_IN_SERVICE)) { // In Wi-Fi Calling mode show SPN or PLMN + WiFi Calling // // 1) Show SPN + Wi-Fi Calling If SIM has SPN and SPN display condition // is satisfied or SPN override is enabled for this carrier // // 2) Show PLMN + Wi-Fi Calling if there is no valid SPN in case 1 String[] wfcSpnFormats = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.wfcSpnFormats); Loading @@ -2188,7 +2195,6 @@ public class ServiceStateTracker extends Handler { wfcDataSpnFormat = wfcSpnFormats[dataIdx]; } int combinedRegState = getCombinedRegState(); if (mPhone.isPhoneTypeGsm()) { // The values of plmn/showPlmn change in different scenarios. // 1) No service but emergency call allowed -> expected Loading Loading @@ -2253,13 +2259,19 @@ public class ServiceStateTracker extends Handler { if (!TextUtils.isEmpty(spn) && !TextUtils.isEmpty(wfcVoiceSpnFormat) && !TextUtils.isEmpty(wfcDataSpnFormat)) { // In Wi-Fi Calling mode show SPN+WiFi // Show SPN + Wi-Fi Calling If SIM has SPN and SPN display condition // is satisfied or SPN override is enabled for this carrier. String originalSpn = spn.trim(); spn = String.format(wfcVoiceSpnFormat, originalSpn); dataSpn = String.format(wfcDataSpnFormat, originalSpn); showSpn = true; showPlmn = false; } else if (!TextUtils.isEmpty(plmn) && !TextUtils.isEmpty(wfcVoiceSpnFormat)) { // Show PLMN + Wi-Fi Calling if there is no valid SPN in the above case String originalPlmn = plmn.trim(); plmn = String.format(wfcVoiceSpnFormat, originalPlmn); } else if (mSS.getVoiceRegState() == ServiceState.STATE_POWER_OFF || (showPlmn && TextUtils.equals(spn, plmn))) { // airplane mode or spn equals plmn, do not show spn Loading Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +16 −4 Original line number Diff line number Diff line Loading @@ -2162,8 +2162,15 @@ public class ServiceStateTracker extends Handler { String wfcVoiceSpnFormat = null; String wfcDataSpnFormat = null; if (mPhone.getImsPhone() != null && mPhone.getImsPhone().isWifiCallingEnabled()) { // In Wi-Fi Calling mode show SPN+WiFi int combinedRegState = getCombinedRegState(); if (mPhone.getImsPhone() != null && mPhone.getImsPhone().isWifiCallingEnabled() && (combinedRegState == ServiceState.STATE_IN_SERVICE)) { // In Wi-Fi Calling mode show SPN or PLMN + WiFi Calling // // 1) Show SPN + Wi-Fi Calling If SIM has SPN and SPN display condition // is satisfied or SPN override is enabled for this carrier // // 2) Show PLMN + Wi-Fi Calling if there is no valid SPN in case 1 String[] wfcSpnFormats = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.wfcSpnFormats); Loading @@ -2188,7 +2195,6 @@ public class ServiceStateTracker extends Handler { wfcDataSpnFormat = wfcSpnFormats[dataIdx]; } int combinedRegState = getCombinedRegState(); if (mPhone.isPhoneTypeGsm()) { // The values of plmn/showPlmn change in different scenarios. // 1) No service but emergency call allowed -> expected Loading Loading @@ -2253,13 +2259,19 @@ public class ServiceStateTracker extends Handler { if (!TextUtils.isEmpty(spn) && !TextUtils.isEmpty(wfcVoiceSpnFormat) && !TextUtils.isEmpty(wfcDataSpnFormat)) { // In Wi-Fi Calling mode show SPN+WiFi // Show SPN + Wi-Fi Calling If SIM has SPN and SPN display condition // is satisfied or SPN override is enabled for this carrier. String originalSpn = spn.trim(); spn = String.format(wfcVoiceSpnFormat, originalSpn); dataSpn = String.format(wfcDataSpnFormat, originalSpn); showSpn = true; showPlmn = false; } else if (!TextUtils.isEmpty(plmn) && !TextUtils.isEmpty(wfcVoiceSpnFormat)) { // Show PLMN + Wi-Fi Calling if there is no valid SPN in the above case String originalPlmn = plmn.trim(); plmn = String.format(wfcVoiceSpnFormat, originalPlmn); } else if (mSS.getVoiceRegState() == ServiceState.STATE_POWER_OFF || (showPlmn && TextUtils.equals(spn, plmn))) { // airplane mode or spn equals plmn, do not show spn Loading