diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index d94fafc6a5bf6..980ea5cd7f8cc 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -1476,12 +1476,21 @@ public final class Call { /** * Invoked when the RTT session failed to initiate for some reason, including rejection * by the remote party. + *

+ * This callback will ONLY be invoked to report a failure related to a user initiated + * session modification request (i.e. {@link Call#sendRttRequest()}). + *

+ * If a call is initiated with {@link TelecomManager#EXTRA_START_CALL_WITH_RTT} specified, + * the availability of RTT can be determined by checking {@link Details#PROPERTY_RTT} + * once the call enters state {@link Details#STATE_ACTIVE}. + * * @param call The call which the RTT initiation failure occurred on. * @param reason One of the status codes defined in - * {@link android.telecom.Connection.RttModifyStatus}, with the exception of - * {@link android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_SUCCESS}. + * {@link android.telecom.Connection.RttModifyStatus}, with the exception of + * {@link android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_SUCCESS}. */ - public void onRttInitiationFailure(Call call, int reason) {} + public void onRttInitiationFailure(Call call, + @android.telecom.Connection.RttModifyStatus.RttSessionModifyStatus int reason) {} /** * Invoked when Call handover from one {@link PhoneAccount} to other {@link PhoneAccount} diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 21a1804599787..6a283df5b4806 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -1399,6 +1399,18 @@ public abstract class Connection extends Conferenceable { * Session modify request rejected by remote user. */ public static final int SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE = 5; + + + /**@hide*/ + @Retention(RetentionPolicy.SOURCE) + @IntDef(prefix = "SESSION_MODIFY_REQUEST_", value = { + SESSION_MODIFY_REQUEST_SUCCESS, + SESSION_MODIFY_REQUEST_FAIL, + SESSION_MODIFY_REQUEST_INVALID, + SESSION_MODIFY_REQUEST_TIMED_OUT, + SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE + }) + public @interface RttSessionModifyStatus {} } /**