diff options
Diffstat (limited to 'telecomm/java/android/telecom/ConnectionService.java')
-rw-r--r-- | telecomm/java/android/telecom/ConnectionService.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index 7e8330667237..28342018b0aa 100644 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -1371,9 +1371,19 @@ public abstract class ConnectionService extends Service { isIncoming, isUnknown); - Connection connection = isUnknown ? onCreateUnknownConnection(callManagerAccount, request) - : isIncoming ? onCreateIncomingConnection(callManagerAccount, request) - : onCreateOutgoingConnection(callManagerAccount, request); + Connection connection = null; + if (request.getExtras() != null && request.getExtras().getBoolean( + TelecomManager.EXTRA_IS_HANDOVER,false)) { + if (!isIncoming) { + connection = onCreateOutgoingHandoverConnection(callManagerAccount, request); + } else { + // Todo: Call onCreateIncommingHandoverConnection() + } + } else { + connection = isUnknown ? onCreateUnknownConnection(callManagerAccount, request) + : isIncoming ? onCreateIncomingConnection(callManagerAccount, request) + : onCreateOutgoingConnection(callManagerAccount, request); + } Log.d(this, "createConnection, connection: %s", connection); if (connection == null) { connection = Connection.createFailedConnection( |