diff --git a/api/current.txt b/api/current.txt index 8a83fa5736505..3ffb80f0eccc1 100644 --- a/api/current.txt +++ b/api/current.txt @@ -42461,9 +42461,13 @@ package android.telephony { method public java.lang.String getIccAuthentication(int, int, java.lang.String); method public java.lang.String getImei(); method public java.lang.String getImei(int); + method public java.lang.String getTypeAllocationCode(); + method public java.lang.String getTypeAllocationCode(int); method public java.lang.String getLine1Number(); method public java.lang.String getMeid(); method public java.lang.String getMeid(int); + method public java.lang.String getManufacturerCode(); + method public java.lang.String getManufacturerCode(int); method public java.lang.String getMmsUAProfUrl(); method public java.lang.String getMmsUserAgent(); method public java.lang.String getNai(); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 3ba699d8c9563..5bd4d22c6d5cd 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1311,6 +1311,33 @@ public class TelephonyManager { } } + /** + * Returns the Type Allocation Code from the IMEI. Return null if Type Allocation Code is not + * available. + */ + public String getTypeAllocationCode() { + return getTypeAllocationCode(getSlotIndex()); + } + + /** + * Returns the Type Allocation Code from the IMEI. Return null if Type Allocation Code is not + * available. + * + * @param slotIndex of which Type Allocation Code is returned + */ + public String getTypeAllocationCode(int slotIndex) { + ITelephony telephony = getITelephony(); + if (telephony == null) return null; + + try { + return telephony.getTypeAllocationCodeForSlot(slotIndex); + } catch (RemoteException ex) { + return null; + } catch (NullPointerException ex) { + return null; + } + } + /** * Returns the MEID (Mobile Equipment Identifier). Return null if MEID is not available. * @@ -1346,6 +1373,33 @@ public class TelephonyManager { } } + /** + * Returns the Manufacturer Code from the MEID. Return null if Manufacturer Code is not + * available. + */ + public String getManufacturerCode() { + return getManufacturerCode(getSlotIndex()); + } + + /** + * Returns the Manufacturer Code from the MEID. Return null if Manufacturer Code is not + * available. + * + * @param slotIndex of which Type Allocation Code is returned + */ + public String getManufacturerCode(int slotIndex) { + ITelephony telephony = getITelephony(); + if (telephony == null) return null; + + try { + return telephony.getManufacturerCodeForSlot(slotIndex); + } catch (RemoteException ex) { + return null; + } catch (NullPointerException ex) { + return null; + } + } + /** * Returns the Network Access Identifier (NAI). Return null if NAI is not available. * diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 89a4caad4d30a..5ecdfc9e1d32e 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1191,6 +1191,13 @@ interface ITelephony { */ String getImeiForSlot(int slotIndex, String callingPackage); + /** + * Returns the Type Allocation Code from the IMEI for the given slot. + * + * @param slotIndex - Which slot to retrieve the Type Allocation Code from. + */ + String getTypeAllocationCodeForSlot(int slotIndex); + /** * Returns the MEID for the given slot. * @@ -1201,6 +1208,13 @@ interface ITelephony { */ String getMeidForSlot(int slotIndex, String callingPackage); + /** + * Returns the Manufacturer Code from the MEID for the given slot. + * + * @param slotIndex - Which slot to retrieve the Manufacturer Code from. + */ + String getManufacturerCodeForSlot(int slotIndex); + /** * Returns the device software version. *