make new API to retrieve group identifier level1
For mvno, user can add or edit mvno data field. To pre-provide
the mvno data of the edited apn when the user selects one of
the mvno types, need to support IMSI, SPN, and GID1 data.
To support GID1, make API to retrieve group identifier level1.
bug:6445254
Change-Id: I1bc280054cc7cd37e78a279866cefd62872a19fb
diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java
index 13c99ea..c8cdcef 100644
--- a/src/java/com/android/internal/telephony/Phone.java
+++ b/src/java/com/android/internal/telephony/Phone.java
@@ -1317,6 +1317,11 @@
String getSubscriberId();
/**
+ * Retrieves the Group Identifier Level1 for GSM phones.
+ */
+ String getGroupIdLevel1();
+
+ /**
* Retrieves the serial number of the ICC, if applicable.
*/
String getIccSerialNumber();
diff --git a/src/java/com/android/internal/telephony/PhoneProxy.java b/src/java/com/android/internal/telephony/PhoneProxy.java
index bd322b3..a88d2ec 100644
--- a/src/java/com/android/internal/telephony/PhoneProxy.java
+++ b/src/java/com/android/internal/telephony/PhoneProxy.java
@@ -902,6 +902,11 @@
}
@Override
+ public String getGroupIdLevel1() {
+ return mActivePhone.getGroupIdLevel1();
+ }
+
+ @Override
public String getIccSerialNumber() {
return mActivePhone.getIccSerialNumber();
}
diff --git a/src/java/com/android/internal/telephony/PhoneSubInfo.java b/src/java/com/android/internal/telephony/PhoneSubInfo.java
index 6effe76..185814d 100755
--- a/src/java/com/android/internal/telephony/PhoneSubInfo.java
+++ b/src/java/com/android/internal/telephony/PhoneSubInfo.java
@@ -88,6 +88,14 @@
}
/**
+ * Retrieves the Group Identifier Level1 for GSM phones.
+ */
+ public String getGroupIdLevel1() {
+ mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE");
+ return mPhone.getGroupIdLevel1();
+ }
+
+ /**
* Retrieves the serial number of the ICC, if applicable.
*/
@Override
diff --git a/src/java/com/android/internal/telephony/PhoneSubInfoProxy.java b/src/java/com/android/internal/telephony/PhoneSubInfoProxy.java
index 3c13b97..1974ff8 100755
--- a/src/java/com/android/internal/telephony/PhoneSubInfoProxy.java
+++ b/src/java/com/android/internal/telephony/PhoneSubInfoProxy.java
@@ -55,6 +55,13 @@
}
/**
+ * Retrieves the Group Identifier Level1 for GSM phones.
+ */
+ public String getGroupIdLevel1() {
+ return mPhoneSubInfo.getGroupIdLevel1();
+ }
+
+ /**
* Retrieves the serial number of the ICC, if applicable.
*/
@Override
diff --git a/src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java b/src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
index 988f36a..973f773 100644
--- a/src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
+++ b/src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java
@@ -229,6 +229,12 @@
return (mSimRecords != null) ? mSimRecords.getIMSI() : "";
}
+ // return GID1 from USIM
+ @Override
+ public String getGroupIdLevel1() {
+ return (mSimRecords != null) ? mSimRecords.getGid1() : "";
+ }
+
@Override
public String getImei() {
return mImei;
diff --git a/src/java/com/android/internal/telephony/cdma/CDMAPhone.java b/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
index b304e81..9f51483 100755
--- a/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
+++ b/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
@@ -512,6 +512,12 @@
}
@Override
+ public String getGroupIdLevel1() {
+ Rlog.e(LOG_TAG, "GID1 is not available in CDMA");
+ return null;
+ }
+
+ @Override
public String getImei() {
Rlog.e(LOG_TAG, "IMEI is not available in CDMA");
return null;
diff --git a/src/java/com/android/internal/telephony/gsm/GSMPhone.java b/src/java/com/android/internal/telephony/gsm/GSMPhone.java
index 32e5a80..5cdf0ce 100644
--- a/src/java/com/android/internal/telephony/gsm/GSMPhone.java
+++ b/src/java/com/android/internal/telephony/gsm/GSMPhone.java
@@ -886,6 +886,12 @@
}
@Override
+ public String getGroupIdLevel1() {
+ IccRecords r = mIccRecords.get();
+ return (r != null) ? r.getGid1() : null;
+ }
+
+ @Override
public String getLine1Number() {
IccRecords r = mIccRecords.get();
return (r != null) ? r.getMsisdnNumber() : null;
diff --git a/src/java/com/android/internal/telephony/sip/SipPhoneBase.java b/src/java/com/android/internal/telephony/sip/SipPhoneBase.java
index 49ca7c6..b369112 100755
--- a/src/java/com/android/internal/telephony/sip/SipPhoneBase.java
+++ b/src/java/com/android/internal/telephony/sip/SipPhoneBase.java
@@ -323,6 +323,11 @@
}
@Override
+ public String getGroupIdLevel1() {
+ return null;
+ }
+
+ @Override
public String getIccSerialNumber() {
return null;
}