diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index fd5ec258d6975..fa60031f2a663 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -310,6 +310,31 @@ public class TelephonyManager { @SystemApi public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; + /** + * Convert srvcc handover state to string. + * + * @param state The srvcc handover state. + * @return The srvcc handover state in string format. + * + * @hide + */ + public static @NonNull String srvccStateToString(int state) { + switch (state) { + case TelephonyManager.SRVCC_STATE_HANDOVER_NONE: + return "NONE"; + case TelephonyManager.SRVCC_STATE_HANDOVER_STARTED: + return "STARTED"; + case TelephonyManager.SRVCC_STATE_HANDOVER_COMPLETED: + return "COMPLETED"; + case TelephonyManager.SRVCC_STATE_HANDOVER_FAILED: + return "FAILED"; + case TelephonyManager.SRVCC_STATE_HANDOVER_CANCELED: + return "CANCELED"; + default: + return "UNKNOWN(" + state + ")"; + } + } + /** * A UICC card identifier used if the device does not support the operation. * For example, {@link #getCardIdForDefaultEuicc()} returns this value if the device has no