Merge "Further handover support changes."

This commit is contained in:
Tyler Gunn
2017-04-27 16:26:17 +00:00
committed by Android (Google) Code Review
4 changed files with 78 additions and 10 deletions

View File

@@ -165,20 +165,39 @@ public final class Call {
"android.telecom.extra.HANDOVER_VIDEO_STATE";
/**
* Call event sent from Telecom via {@link Connection#onCallEvent(String, Bundle)} to
* inform a {@link Connection} that a handover initiated via {@link #EVENT_REQUEST_HANDOVER}
* has completed.
* Extra key used with the {@link #EVENT_REQUEST_HANDOVER} call event. Used by the
* {@link InCallService} initiating a handover to provide a {@link Bundle} with extra
* information to the handover {@link ConnectionService} specified by
* {@link #EXTRA_HANDOVER_PHONE_ACCOUNT_HANDLE}.
* <p>
* This {@link Bundle} is not interpreted by Telecom, but passed as-is to the
* {@link ConnectionService} via the request extras when
* {@link ConnectionService#onCreateOutgoingConnection(PhoneAccountHandle, ConnectionRequest)}
* is called to initate the handover.
* @hide
*/
public static final String EVENT_HANDOVER_COMPLETE = "android.telecom.event.HANDOVER_COMPLETE";
public static final String EXTRA_HANDOVER_EXTRAS = "android.telecom.extra.HANDOVER_EXTRAS";
/**
* Call event sent from Telecom via {@link Connection#onCallEvent(String, Bundle)} to
* inform a {@link Connection} that a handover initiated via {@link #EVENT_REQUEST_HANDOVER}
* has failed to complete.
* Call event sent from Telecom to the handover {@link ConnectionService} via
* {@link Connection#onCallEvent(String, Bundle)} to inform a {@link Connection} that a handover
* to the {@link ConnectionService} has completed successfully.
* <p>
* A handover is initiated with the {@link #EVENT_REQUEST_HANDOVER} call event.
* @hide
*/
public static final String EVENT_HANDOVER_FAILED = "android.telecom.event.HANDOVER_FAILED";
public static final String EVENT_HANDOVER_COMPLETE =
"android.telecom.event.HANDOVER_COMPLETE";
/**
* Call event sent from Telecom to the handover {@link ConnectionService} via
* {@link Connection#onCallEvent(String, Bundle)} to inform a {@link Connection} that a handover
* to the {@link ConnectionService} has failed.
* <p>
* A handover is initiated with the {@link #EVENT_REQUEST_HANDOVER} call event.
* @hide
*/
public static final String EVENT_HANDOVER_FAILED =
"android.telecom.event.HANDOVER_FAILED";
public static class Details {

View File

@@ -551,6 +551,24 @@ public abstract class Connection extends Conferenceable {
public static final String EVENT_CALL_REMOTELY_UNHELD =
"android.telecom.event.CALL_REMOTELY_UNHELD";
/**
* Connection event used to inform an {@link InCallService} which initiated a call handover via
* {@link Call#EVENT_REQUEST_HANDOVER} that the handover from this {@link Connection} has
* successfully completed.
* @hide
*/
public static final String EVENT_HANDOVER_COMPLETE =
"android.telecom.event.HANDOVER_COMPLETE";
/**
* Connection event used to inform an {@link InCallService} which initiated a call handover via
* {@link Call#EVENT_REQUEST_HANDOVER} that the handover from this {@link Connection} has failed
* to complete.
* @hide
*/
public static final String EVENT_HANDOVER_FAILED =
"android.telecom.event.HANDOVER_FAILED";
// Flag controlling whether PII is emitted into the logs
private static final boolean PII_DEBUG = Log.isLoggable(android.util.Log.DEBUG);

View File

@@ -95,6 +95,18 @@ public final class PhoneAccount implements Parcelable {
public static final String EXTRA_SUPPORTS_HANDOVER_FROM =
"android.telecom.extra.SUPPORTS_HANDOVER_FROM";
/**
* Boolean {@link PhoneAccount} extras key (see {@link PhoneAccount#getExtras()}) which
* indicates whether a Self-Managed {@link PhoneAccount} should log its calls to the call log.
* <p>
* By default, Self-Managed {@link PhoneAccount}s do not log their calls to the call log.
* Setting this extra to {@code true} provides a means for them to log their calls.
* @hide
*/
public static final String EXTRA_LOG_SELF_MANAGED_CALLS =
"android.telecom.extra.LOG_SELF_MANAGED_CALLS";
/**
* Flag indicating that this {@code PhoneAccount} can act as a connection manager for
* other connections. The {@link ConnectionService} associated with this {@code PhoneAccount}

View File

@@ -346,15 +346,34 @@ public class TelecomManager {
"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
* Boolean extra specified to indicate that the intention of adding a call is to handover an
* existing call from the user's device to a different {@link PhoneAccount}.
* <p>
* Used 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}. This occurs on
* the receiving side of a handover.
* <p>
* Used when Telecom calls
* {@link ConnectionService#onCreateOutgoingConnection(PhoneAccountHandle, ConnectionRequest)}
* to indicate that the purpose of Telecom requesting a new outgoing connection it to request
* a handover to this {@link ConnectionService} from an ongoing call on the user's device. This
* occurs on the initiating side of a handover.
* <p>
* The phone number of the call used by Telecom to determine which call should be handed over.
* @hide
*/
public static final String EXTRA_IS_HANDOVER = "android.telecom.extra.IS_HANDOVER";
/**
* Extra key specified in the {@link ConnectionRequest#getExtras()} when Telecom calls
* {@link ConnectionService#onCreateOutgoingConnection(PhoneAccountHandle, ConnectionRequest)}
* to inform the {@link ConnectionService} what the initial {@link CallAudioState} of the
* {@link Connection} will be.
* @hide
*/
public static final String EXTRA_CALL_AUDIO_STATE = "android.telecom.extra.CALL_AUDIO_STATE";
/**
* 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