From b9a04962585eacdb3dd91694977b3edc80127237 Mon Sep 17 00:00:00 2001 From: Tyler Gunn Date: Thu, 17 Feb 2022 08:23:54 -0800 Subject: [PATCH] Update API documentation for onRttInitiationFailure. Add intdef for reason code. Clarifying when this callback can be expected and how to handle RTT state when requested at the start of a call. Test: Docs only change Bug: 216608696 Change-Id: I86e46fbb2b0693564a41d1ca0d9f8c180d775c1a --- telecomm/java/android/telecom/Call.java | 15 ++++++++++++--- telecomm/java/android/telecom/Connection.java | 12 ++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index d94fafc6a5bf..980ea5cd7f8c 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 467084a716a0..21c6b479616e 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 {} } /**