Modify ConnectionServiceAdapter to include Session
Modifies the ConnectionServiceAdapter to include Session Information in
the AIDL interface so that external Sessions can be started in Telecom
from Telephony.
Test: Manual testing and Unit Tests pass
Bug: 26571395
Change-Id: I31bbfe433dd062a50bd05083e1a639dd4cd03403
diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapter.java b/telecomm/java/android/telecom/ConnectionServiceAdapter.java
index df7d539..f3fada9 100644
--- a/telecomm/java/android/telecom/ConnectionServiceAdapter.java
+++ b/telecomm/java/android/telecom/ConnectionServiceAdapter.java
@@ -93,7 +93,8 @@
ParcelableConnection connection) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.handleCreateConnectionComplete(id, request, connection);
+ adapter.handleCreateConnectionComplete(id, request, connection,
+ Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -108,7 +109,7 @@
void setActive(String callId) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setActive(callId);
+ adapter.setActive(callId, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -122,7 +123,7 @@
void setRinging(String callId) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setRinging(callId);
+ adapter.setRinging(callId, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -136,7 +137,7 @@
void setDialing(String callId) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setDialing(callId);
+ adapter.setDialing(callId, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -151,7 +152,7 @@
void setPulling(String callId) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setPulling(callId);
+ adapter.setPulling(callId, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -167,7 +168,7 @@
void setDisconnected(String callId, DisconnectCause disconnectCause) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setDisconnected(callId, disconnectCause);
+ adapter.setDisconnected(callId, disconnectCause, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -181,7 +182,7 @@
void setOnHold(String callId) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setOnHold(callId);
+ adapter.setOnHold(callId, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -196,7 +197,7 @@
void setRingbackRequested(String callId, boolean ringback) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setRingbackRequested(callId, ringback);
+ adapter.setRingbackRequested(callId, ringback, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -205,7 +206,7 @@
void setConnectionCapabilities(String callId, int capabilities) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setConnectionCapabilities(callId, capabilities);
+ adapter.setConnectionCapabilities(callId, capabilities, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -214,7 +215,7 @@
void setConnectionProperties(String callId, int properties) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setConnectionProperties(callId, properties);
+ adapter.setConnectionProperties(callId, properties, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -232,7 +233,7 @@
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
Log.d(this, "sending connection %s with conference %s", callId, conferenceCallId);
- adapter.setIsConferenced(callId, conferenceCallId);
+ adapter.setIsConferenced(callId, conferenceCallId, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -247,7 +248,7 @@
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
Log.d(this, "merge failed for call %s", callId);
- adapter.setConferenceMergeFailed(callId);
+ adapter.setConferenceMergeFailed(callId, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -262,7 +263,7 @@
void removeCall(String callId) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.removeCall(callId);
+ adapter.removeCall(callId, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -271,7 +272,7 @@
void onPostDialWait(String callId, String remaining) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.onPostDialWait(callId, remaining);
+ adapter.onPostDialWait(callId, remaining, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -280,7 +281,7 @@
void onPostDialChar(String callId, char nextChar) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.onPostDialChar(callId, nextChar);
+ adapter.onPostDialChar(callId, nextChar, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -294,7 +295,7 @@
void addConferenceCall(String callId, ParcelableConference parcelableConference) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.addConferenceCall(callId, parcelableConference);
+ adapter.addConferenceCall(callId, parcelableConference, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -307,7 +308,8 @@
// Only supported when there is only one adapter.
if (mAdapters.size() == 1) {
try {
- mAdapters.iterator().next().queryRemoteConnectionServices(callback);
+ mAdapters.iterator().next().queryRemoteConnectionServices(callback,
+ Log.getExternalSession());
} catch (RemoteException e) {
Log.e(this, e, "Exception trying to query for remote CSs");
}
@@ -326,7 +328,8 @@
try {
adapter.setVideoProvider(
callId,
- videoProvider == null ? null : videoProvider.getInterface());
+ videoProvider == null ? null : videoProvider.getInterface(),
+ Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -341,7 +344,7 @@
void setIsVoipAudioMode(String callId, boolean isVoip) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setIsVoipAudioMode(callId, isVoip);
+ adapter.setIsVoipAudioMode(callId, isVoip, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -350,7 +353,7 @@
void setStatusHints(String callId, StatusHints statusHints) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setStatusHints(callId, statusHints);
+ adapter.setStatusHints(callId, statusHints, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -359,7 +362,7 @@
void setAddress(String callId, Uri address, int presentation) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setAddress(callId, address, presentation);
+ adapter.setAddress(callId, address, presentation, Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -368,7 +371,8 @@
void setCallerDisplayName(String callId, String callerDisplayName, int presentation) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setCallerDisplayName(callId, callerDisplayName, presentation);
+ adapter.setCallerDisplayName(callId, callerDisplayName, presentation,
+ Log.getExternalSession());
} catch (RemoteException e) {
}
}
@@ -389,7 +393,7 @@
Log.v(this, "setVideoState: %d", videoState);
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setVideoState(callId, videoState);
+ adapter.setVideoState(callId, videoState, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -399,7 +403,8 @@
Log.v(this, "setConferenceableConnections: %s, %s", callId, conferenceableCallIds);
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.setConferenceableConnections(callId, conferenceableCallIds);
+ adapter.setConferenceableConnections(callId, conferenceableCallIds,
+ Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -415,7 +420,7 @@
Log.v(this, "addExistingConnection: %s", callId);
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.addExistingConnection(callId, connection);
+ adapter.addExistingConnection(callId, connection, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -431,7 +436,7 @@
Log.v(this, "putExtras: %s", callId);
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.putExtras(callId, extras);
+ adapter.putExtras(callId, extras, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -450,7 +455,7 @@
try {
Bundle bundle = new Bundle();
bundle.putBoolean(key, value);
- adapter.putExtras(callId, bundle);
+ adapter.putExtras(callId, bundle, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -469,7 +474,7 @@
try {
Bundle bundle = new Bundle();
bundle.putInt(key, value);
- adapter.putExtras(callId, bundle);
+ adapter.putExtras(callId, bundle, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -488,7 +493,7 @@
try {
Bundle bundle = new Bundle();
bundle.putString(key, value);
- adapter.putExtras(callId, bundle);
+ adapter.putExtras(callId, bundle, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -503,7 +508,7 @@
Log.v(this, "removeExtras: %s %s", callId, keys);
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.removeExtras(callId, keys);
+ adapter.removeExtras(callId, keys, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}
@@ -520,7 +525,7 @@
Log.v(this, "onConnectionEvent: %s", event);
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
- adapter.onConnectionEvent(callId, event, extras);
+ adapter.onConnectionEvent(callId, event, extras, Log.getExternalSession());
} catch (RemoteException ignored) {
}
}