diff --git a/api/current.txt b/api/current.txt index d312e5fd872f5..e001e1a3411ac 100644 --- a/api/current.txt +++ b/api/current.txt @@ -21448,6 +21448,7 @@ package android.telephony { method public int getDataState(); method public java.lang.String getDeviceId(); method public java.lang.String getDeviceSoftwareVersion(); + method public java.lang.String getGroupIdLevel1(); method public java.lang.String getLine1Number(); method public java.util.List getNeighboringCellInfo(); method public java.lang.String getNetworkCountryIso(); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 8c47332a0b9f2..4aee902b75631 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -906,6 +906,24 @@ public class TelephonyManager { } } + /** + * Returns the Group Identifier Level1 for a GSM phone. + * Return null if it is unavailable. + *

+ * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + */ + public String getGroupIdLevel1() { + try { + return getSubscriberInfo().getGroupIdLevel1(); + } catch (RemoteException ex) { + return null; + } catch (NullPointerException ex) { + // This could happen before phone restarts due to crashing + return null; + } + } + /** * Returns the phone number string for line 1, for example, the MSISDN * for a GSM phone. Return null if it is unavailable. diff --git a/telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl b/telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl index da0326c4721eb..03940dcdd4b18 100644 --- a/telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl +++ b/telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl @@ -38,6 +38,11 @@ interface IPhoneSubInfo { */ String getSubscriberId(); + /** + * Retrieves the Group Identifier Level1 for GSM phones. + */ + String getGroupIdLevel1(); + /** * Retrieves the serial number of the ICC, if applicable. */