Add connection handover APIs.
Add new call/connection event keys for handover.
Add TelecomManager extra keys used for handover.
Add PhoneAccount extra keys used to control availability of handover.
Test: Test app/harness.
Bug: 37102939
Change-Id: Icc5db7209362f04c4e3be397fee692bbf4a6a473
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 1874d8d..8f8ba6d 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -338,6 +338,28 @@
"android.telecom.extra.NEW_OUTGOING_CALL_CANCEL_TIMEOUT";
/**
+ * Boolean extra specified when calling {@link #addNewIncomingCall(PhoneAccountHandle, Bundle)}
+ * to indicate to Telecom that the purpose of adding a new incoming call is to handover an
+ * existing call from the user's device to a different {@link PhoneAccount}.
+ * <p>
+ * The caller must also include {@link #EXTRA_HANDOVER_TOKEN} to specify which existing call is
+ * to be handed over.
+ * @hide
+ */
+ public static final String EXTRA_IS_HANDOVER = "android.telecom.extra.IS_HANDOVER";
+
+ /**
+ * String extra which identifies the existing call on the current device which will be handed
+ * over. This is a Telecom-specific opaque token; the caller should not make any assumptions
+ * about its meaning or content.
+ * <p>
+ * Used alongside {@link #EXTRA_IS_HANDOVER} when calling
+ * {@link #addNewIncomingCall(PhoneAccountHandle, Bundle)}.
+ * @hide
+ */
+ public static final String EXTRA_HANDOVER_TOKEN = "android.telecom.extra.HANDOVER_TOKEN";
+
+ /**
* A boolean extra, which when set on the {@link Intent#ACTION_CALL} intent or on the bundle
* passed into {@link #placeCall(Uri, Bundle)}, indicates that the call should be initiated with
* an RTT session open. See {@link android.telecom.Call.RttCall} for more information on RTT.