diff options
| -rw-r--r-- | src/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/src/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java index 531f393dd..995c64bb5 100644 --- a/src/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +++ b/src/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java @@ -1663,8 +1663,15 @@ public class GsmServiceStateTracker extends ServiceStateTracker { */ private boolean isOperatorConsideredNonRoaming(ServiceState s) { String operatorNumeric = s.getOperatorNumeric(); - String[] numericArray = mPhone.getContext().getResources().getStringArray( + String[] numericArray; + int subId = mPhone.getSubId(); + if (subId >= 0) { + numericArray = SubscriptionManager.getResourcesForSubId(mPhone.getContext(),subId) + .getStringArray(com.android.internal.R.array.config_operatorConsideredNonRoaming); + } else { + numericArray = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.config_operatorConsideredNonRoaming); + } if (numericArray.length == 0 || operatorNumeric == null) { return false; @@ -1680,8 +1687,16 @@ public class GsmServiceStateTracker extends ServiceStateTracker { private boolean isOperatorConsideredRoaming(ServiceState s) { String operatorNumeric = s.getOperatorNumeric(); - String[] numericArray = mPhone.getContext().getResources().getStringArray( + String[] numericArray; + int subId = mPhone.getSubId(); + if (subId >= 0) { + numericArray = SubscriptionManager.getResourcesForSubId(mPhone.getContext(),subId) + .getStringArray( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming); + } else { + numericArray = mPhone.getContext().getResources().getStringArray( + com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming); + } if (numericArray.length == 0 || operatorNumeric == null) { return false; |
