diff --git a/api/test-current.txt b/api/test-current.txt index c9d176979a65f..dc97dd061578c 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -1479,6 +1479,7 @@ package android.telephony { public class TelephonyManager { method public int getCarrierIdListVersion(); + method public android.util.Pair getRadioHalVersion(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile(); method public void setCarrierTestOverride(String, String, String, String, String, String, String); field public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; // 0xffffffff diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 1433b2ac92809..e4195776d9c42 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -10310,4 +10310,28 @@ public class TelephonyManager { } return false; } + + /** + * Retrieve the Radio HAL Version for this device. + * + * Get the HAL version for the IRadio interface for test purposes. + * + * @return a Pair of (major version, minor version) or (-1,-1) if unknown. + * + * @hide + */ + @TestApi + public Pair getRadioHalVersion() { + try { + ITelephony service = getITelephony(); + if (service != null) { + int version = service.getRadioHalVersion(); + if (version == -1) return new Pair(-1, -1); + return new Pair(version / 100, version % 100); + } + } catch (RemoteException e) { + Log.e(TAG, "getRadioHalVersion() RemoteException", e); + } + return new Pair(-1, -1); + } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index e6a55585506ca..ce2b00f2cbf5e 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1852,4 +1852,9 @@ interface ITelephony { * Get the mapping from logical slots to physical slots. */ int[] getSlotsMapping(); + + /** + * Get the IRadio HAL Version encoded as 100 * MAJOR_VERSION + MINOR_VERSION or -1 if unknown + */ + int getRadioHalVersion(); }