Add API support for multi-endpoint.

This CL includes changes required to support multi-endpoint (see the
design doc linked off the bug).

Main changes include:
- support for indicating if a call/connection is "external" to the device.
- support for indicating if an external call can be pulled from the
remote device to the local device.
- API used to initiate a pull of a call external to the current device to
the current device.
- Made the "connection event" API public (was previously @hide); this will
be used to support passing some error events involving pulling calls to
the incall ui.
- Added new InCallService metadata which will be used to determine if an
InCallService wants to be informed of external calls.
- New disconnect causes which will be used to expose the fact that a
multi-endpoint call was answered elsewhere and that a call ended because
it was pulled to another device.
- New call log call types to indicate if calls were answered elsewhere
or pulled to another device.

Bug: 27458894
Change-Id: I423f64ff965b5e50194635a51868c327782db2a1
This commit is contained in:
Tyler Gunn
2016-03-14 15:18:07 -07:00
parent 791a154648
commit 876dbfb476
20 changed files with 493 additions and 22 deletions

View File

@@ -16,6 +16,7 @@
package android.telecom;
import android.os.Bundle;
import android.os.RemoteException;
import com.android.internal.telecom.IInCallAdapter;
@@ -250,6 +251,32 @@ public final class InCallAdapter {
}
}
/**
* Instructs Telecom to pull an external call to the local device.
*
* @param callId The callId to pull.
*/
public void pullExternalCall(String callId) {
try {
mAdapter.pullExternalCall(callId);
} catch (RemoteException ignored) {
}
}
/**
* Intructs Telecom to send a call event.
*
* @param callId The callId to send the event for.
* @param event The event.
* @param extras Extras associated with the event.
*/
public void sendCallEvent(String callId, String event, Bundle extras) {
try {
mAdapter.sendCallEvent(callId, event, extras);
} catch (RemoteException ignored) {
}
}
/**
* Instructs Telecom to turn the proximity sensor on.
*/