Change gid-matching process
Before: support only full gid match
After: support configured gid match like ApnSettings
BUG: 25264265
Change-Id: I0d8de93a7519a3a840642c513845aefba1aa1423
diff --git a/src/java/com/android/internal/telephony/PhoneBase.java b/src/java/com/android/internal/telephony/PhoneBase.java
index e037005..10711d1 100644
--- a/src/java/com/android/internal/telephony/PhoneBase.java
+++ b/src/java/com/android/internal/telephony/PhoneBase.java
@@ -2543,6 +2543,16 @@
return getLocaleFromCarrierProperties(mContext);
}
+ protected boolean isMatchGid(String gid) {
+ String gid1 = getGroupIdLevel1();
+ int gidLength = gid.length();
+ if (!TextUtils.isEmpty(gid1) && (gid1.length() >= gidLength)
+ && gid1.substring(0, gidLength).equalsIgnoreCase(gid)) {
+ return true;
+ }
+ return false;
+ }
+
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("PhoneBase: subId=" + getSubId());
pw.println(" mPhoneId=" + mPhoneId);
diff --git a/src/java/com/android/internal/telephony/cdma/CDMAPhone.java b/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
index 7501f05..f8a3c7b 100644
--- a/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
+++ b/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
@@ -959,7 +959,7 @@
number = defaultVMNumberArray[0];
} else if (defaultVMNumberArray.length == 2 &&
!TextUtils.isEmpty(defaultVMNumberArray[1]) &&
- defaultVMNumberArray[1].equalsIgnoreCase(getGroupIdLevel1())) {
+ isMatchGid(defaultVMNumberArray[1])) {
number = defaultVMNumberArray[0];
break;
}
diff --git a/src/java/com/android/internal/telephony/gsm/GSMPhone.java b/src/java/com/android/internal/telephony/gsm/GSMPhone.java
old mode 100755
new mode 100644
index 3a3c963..4352301
--- a/src/java/com/android/internal/telephony/gsm/GSMPhone.java
+++ b/src/java/com/android/internal/telephony/gsm/GSMPhone.java
@@ -988,7 +988,7 @@
number = defaultVMNumberArray[0];
} else if (defaultVMNumberArray.length == 2 &&
!TextUtils.isEmpty(defaultVMNumberArray[1]) &&
- defaultVMNumberArray[1].equalsIgnoreCase(getGroupIdLevel1())) {
+ isMatchGid(defaultVMNumberArray[1])) {
number = defaultVMNumberArray[0];
break;
}
@@ -1858,7 +1858,7 @@
((configArray.length == 1 && configArray[0].equalsIgnoreCase("true")) ||
(configArray.length == 2 && !TextUtils.isEmpty(configArray[1]) &&
configArray[0].equalsIgnoreCase("true") &&
- configArray[1].equalsIgnoreCase(getGroupIdLevel1())))) {
+ isMatchGid(configArray[1])))) {
isProhibited = true;
}
}