Add support for remote incoming calls
This CL allows a incoming call to be handled through the
remote connection API.
All calls, incoming and outgoing, are now routed through
ConnectionService.createConnection.
Change-Id: I5232d062ad3b559f4fe7c8224e7234b2c6bf8431
diff --git a/telecomm/java/android/telecomm/ConnectionRequest.java b/telecomm/java/android/telecomm/ConnectionRequest.java
index 0db9e29..5888d6a 100644
--- a/telecomm/java/android/telecomm/ConnectionRequest.java
+++ b/telecomm/java/android/telecomm/ConnectionRequest.java
@@ -30,11 +30,11 @@
// TODO: Token to limit recursive invocations
// TODO: Consider upgrading "mHandle" to ordered list of handles, indicating a set of phone
// numbers that would satisfy the client's needs, in order of preference
+ private final PhoneAccount mAccount;
private final String mCallId;
private final Uri mHandle;
private final int mHandlePresentation;
private final Bundle mExtras;
- private final PhoneAccount mAccount;
private final int mVideoState;
/**
@@ -61,6 +61,15 @@
mVideoState = videoState;
}
+ private ConnectionRequest(Parcel in) {
+ mAccount = in.readParcelable(getClass().getClassLoader());
+ mCallId = in.readString();
+ mHandle = in.readParcelable(getClass().getClassLoader());
+ mHandlePresentation = in.readInt();
+ mExtras = in.readParcelable(getClass().getClassLoader());
+ mVideoState = in.readInt();
+ }
+
/**
* The account which should be used to place the call.
*/
@@ -109,26 +118,17 @@
mExtras == null ? "" : mExtras);
}
- public static final Parcelable.Creator<ConnectionRequest> CREATOR =
- new Parcelable.Creator<ConnectionRequest> () {
- @Override
- public ConnectionRequest createFromParcel(Parcel source) {
- PhoneAccount account = (PhoneAccount) source.readParcelable(
- getClass().getClassLoader());
- String callId = source.readString();
- Uri handle = (Uri) source.readParcelable(getClass().getClassLoader());
- int presentation = source.readInt();
- Bundle extras = (Bundle) source.readParcelable(getClass().getClassLoader());
- int videoState = source.readInt();
- return new ConnectionRequest(
- account, callId, handle, presentation, extras, videoState);
- }
+ public static final Creator<ConnectionRequest> CREATOR = new Creator<ConnectionRequest> () {
+ @Override
+ public ConnectionRequest createFromParcel(Parcel source) {
+ return new ConnectionRequest(source);
+ }
- @Override
- public ConnectionRequest[] newArray(int size) {
- return new ConnectionRequest[size];
- }
- };
+ @Override
+ public ConnectionRequest[] newArray(int size) {
+ return new ConnectionRequest[size];
+ }
+ };
/**
* {@inheritDoc}