diff options
author | 2016-10-28 12:29:55 -0700 | |
---|---|---|
committer | 2016-11-01 09:29:29 -0700 | |
commit | 5beba8c4d17c519947224366b8b742c2a27dedb1 (patch) | |
tree | 92caa4b23f9633ae5a672563ad4b832cfc0e6b18 | |
parent | 8bcd1592344abe240308a4030d73838d89d17054 (diff) |
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
4 files changed, 208 insertions, 145 deletions
diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapter.java b/telecomm/java/android/telecom/ConnectionServiceAdapter.java index c8cd3c0486fb..616eb8a70cb0 100644 --- a/telecomm/java/android/telecom/ConnectionServiceAdapter.java +++ b/telecomm/java/android/telecom/ConnectionServiceAdapter.java @@ -93,7 +93,8 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setActive(String callId) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setActive(callId); + adapter.setActive(callId, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -122,7 +123,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setRinging(String callId) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setRinging(callId); + adapter.setRinging(callId, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -136,7 +137,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setDialing(String callId) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setDialing(callId); + adapter.setDialing(callId, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -152,7 +153,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setDisconnected(String callId, DisconnectCause disconnectCause) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setDisconnected(callId, disconnectCause); + adapter.setDisconnected(callId, disconnectCause, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -166,7 +167,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setOnHold(String callId) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setOnHold(callId); + adapter.setOnHold(callId, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -181,7 +182,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setRingbackRequested(String callId, boolean ringback) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setRingbackRequested(callId, ringback); + adapter.setRingbackRequested(callId, ringback, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -190,7 +191,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setConnectionCapabilities(String callId, int capabilities) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setConnectionCapabilities(callId, capabilities); + adapter.setConnectionCapabilities(callId, capabilities, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -199,7 +200,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setConnectionProperties(String callId, int properties) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setConnectionProperties(callId, properties); + adapter.setConnectionProperties(callId, properties, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -217,7 +218,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } @@ -232,7 +233,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } @@ -247,7 +248,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void removeCall(String callId) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.removeCall(callId); + adapter.removeCall(callId, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -256,7 +257,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void onPostDialWait(String callId, String remaining) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.onPostDialWait(callId, remaining); + adapter.onPostDialWait(callId, remaining, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -265,7 +266,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void onPostDialChar(String callId, char nextChar) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.onPostDialChar(callId, nextChar); + adapter.onPostDialChar(callId, nextChar, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -279,7 +280,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void addConferenceCall(String callId, ParcelableConference parcelableConference) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.addConferenceCall(callId, parcelableConference); + adapter.addConferenceCall(callId, parcelableConference, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -292,7 +293,8 @@ final class ConnectionServiceAdapter implements DeathRecipient { // 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"); } @@ -311,7 +313,8 @@ final class ConnectionServiceAdapter implements DeathRecipient { try { adapter.setVideoProvider( callId, - videoProvider == null ? null : videoProvider.getInterface()); + videoProvider == null ? null : videoProvider.getInterface(), + Log.getExternalSession()); } catch (RemoteException e) { } } @@ -326,7 +329,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setIsVoipAudioMode(String callId, boolean isVoip) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setIsVoipAudioMode(callId, isVoip); + adapter.setIsVoipAudioMode(callId, isVoip, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -335,7 +338,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { void setStatusHints(String callId, StatusHints statusHints) { for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setStatusHints(callId, statusHints); + adapter.setStatusHints(callId, statusHints, Log.getExternalSession()); } catch (RemoteException e) { } } @@ -344,7 +347,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } @@ -353,7 +356,8 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } @@ -374,7 +378,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { Log.v(this, "setVideoState: %d", videoState); for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.setVideoState(callId, videoState); + adapter.setVideoState(callId, videoState, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -384,7 +388,8 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } @@ -400,7 +405,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { Log.v(this, "addExistingConnection: %s", callId); for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.addExistingConnection(callId, connection); + adapter.addExistingConnection(callId, connection, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -416,7 +421,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { Log.v(this, "putExtras: %s", callId); for (IConnectionServiceAdapter adapter : mAdapters) { try { - adapter.putExtras(callId, extras); + adapter.putExtras(callId, extras, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -435,7 +440,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { try { Bundle bundle = new Bundle(); bundle.putBoolean(key, value); - adapter.putExtras(callId, bundle); + adapter.putExtras(callId, bundle, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -454,7 +459,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { try { Bundle bundle = new Bundle(); bundle.putInt(key, value); - adapter.putExtras(callId, bundle); + adapter.putExtras(callId, bundle, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -473,7 +478,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { try { Bundle bundle = new Bundle(); bundle.putString(key, value); - adapter.putExtras(callId, bundle); + adapter.putExtras(callId, bundle, Log.getExternalSession()); } catch (RemoteException ignored) { } } @@ -488,7 +493,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } @@ -505,7 +510,7 @@ final class ConnectionServiceAdapter implements DeathRecipient { 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) { } } diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java index bf28feb92d91..ba6dbd400f51 100644 --- a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java +++ b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java @@ -21,6 +21,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.RemoteException; +import android.telecom.Logging.Session; import com.android.internal.os.SomeArgs; import com.android.internal.telecom.IConnectionServiceAdapter; @@ -86,46 +87,52 @@ final class ConnectionServiceAdapterServant { mDelegate.handleCreateConnectionComplete( (String) args.arg1, (ConnectionRequest) args.arg2, - (ParcelableConnection) args.arg3); + (ParcelableConnection) args.arg3, + null /*Session.Info*/); } finally { args.recycle(); } break; } case MSG_SET_ACTIVE: - mDelegate.setActive((String) msg.obj); + mDelegate.setActive((String) msg.obj, null /*Session.Info*/); break; case MSG_SET_RINGING: - mDelegate.setRinging((String) msg.obj); + mDelegate.setRinging((String) msg.obj, null /*Session.Info*/); break; case MSG_SET_DIALING: - mDelegate.setDialing((String) msg.obj); + mDelegate.setDialing((String) msg.obj, null /*Session.Info*/); break; case MSG_SET_DISCONNECTED: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.setDisconnected((String) args.arg1, (DisconnectCause) args.arg2); + mDelegate.setDisconnected((String) args.arg1, (DisconnectCause) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } break; } case MSG_SET_ON_HOLD: - mDelegate.setOnHold((String) msg.obj); + mDelegate.setOnHold((String) msg.obj, null /*Session.Info*/); break; case MSG_SET_RINGBACK_REQUESTED: - mDelegate.setRingbackRequested((String) msg.obj, msg.arg1 == 1); + mDelegate.setRingbackRequested((String) msg.obj, msg.arg1 == 1, + null /*Session.Info*/); break; case MSG_SET_CONNECTION_CAPABILITIES: - mDelegate.setConnectionCapabilities((String) msg.obj, msg.arg1); + mDelegate.setConnectionCapabilities((String) msg.obj, msg.arg1, + null /*Session.Info*/); break; case MSG_SET_CONNECTION_PROPERTIES: - mDelegate.setConnectionProperties((String) msg.obj, msg.arg1); + mDelegate.setConnectionProperties((String) msg.obj, msg.arg1, + null /*Session.Info*/); break; case MSG_SET_IS_CONFERENCED: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.setIsConferenced((String) args.arg1, (String) args.arg2); + mDelegate.setIsConferenced((String) args.arg1, (String) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } @@ -135,19 +142,22 @@ final class ConnectionServiceAdapterServant { SomeArgs args = (SomeArgs) msg.obj; try { mDelegate.addConferenceCall( - (String) args.arg1, (ParcelableConference) args.arg2); + (String) args.arg1, (ParcelableConference) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } break; } case MSG_REMOVE_CALL: - mDelegate.removeCall((String) msg.obj); + mDelegate.removeCall((String) msg.obj, + null /*Session.Info*/); break; case MSG_ON_POST_DIAL_WAIT: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.onPostDialWait((String) args.arg1, (String) args.arg2); + mDelegate.onPostDialWait((String) args.arg1, (String) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } @@ -156,35 +166,39 @@ final class ConnectionServiceAdapterServant { case MSG_ON_POST_DIAL_CHAR: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.onPostDialChar((String) args.arg1, (char) args.argi1); + mDelegate.onPostDialChar((String) args.arg1, (char) args.argi1, + null /*Session.Info*/); } finally { args.recycle(); } break; } case MSG_QUERY_REMOTE_CALL_SERVICES: - mDelegate.queryRemoteConnectionServices((RemoteServiceCallback) msg.obj); + mDelegate.queryRemoteConnectionServices((RemoteServiceCallback) msg.obj, + null /*Session.Info*/); break; case MSG_SET_VIDEO_STATE: - mDelegate.setVideoState((String) msg.obj, msg.arg1); + mDelegate.setVideoState((String) msg.obj, msg.arg1, null /*Session.Info*/); break; case MSG_SET_VIDEO_CALL_PROVIDER: { SomeArgs args = (SomeArgs) msg.obj; try { mDelegate.setVideoProvider((String) args.arg1, - (IVideoProvider) args.arg2); + (IVideoProvider) args.arg2, null /*Session.Info*/); } finally { args.recycle(); } break; } case MSG_SET_IS_VOIP_AUDIO_MODE: - mDelegate.setIsVoipAudioMode((String) msg.obj, msg.arg1 == 1); + mDelegate.setIsVoipAudioMode((String) msg.obj, msg.arg1 == 1, + null /*Session.Info*/); break; case MSG_SET_STATUS_HINTS: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.setStatusHints((String) args.arg1, (StatusHints) args.arg2); + mDelegate.setStatusHints((String) args.arg1, (StatusHints) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } @@ -193,7 +207,8 @@ final class ConnectionServiceAdapterServant { case MSG_SET_ADDRESS: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.setAddress((String) args.arg1, (Uri) args.arg2, args.argi1); + mDelegate.setAddress((String) args.arg1, (Uri) args.arg2, args.argi1, + null /*Session.Info*/); } finally { args.recycle(); } @@ -203,7 +218,8 @@ final class ConnectionServiceAdapterServant { SomeArgs args = (SomeArgs) msg.obj; try { mDelegate.setCallerDisplayName( - (String) args.arg1, (String) args.arg2, args.argi1); + (String) args.arg1, (String) args.arg2, args.argi1, + null /*Session.Info*/); } finally { args.recycle(); } @@ -212,8 +228,8 @@ final class ConnectionServiceAdapterServant { case MSG_SET_CONFERENCEABLE_CONNECTIONS: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.setConferenceableConnections( - (String) args.arg1, (List<String>) args.arg2); + mDelegate.setConferenceableConnections((String) args.arg1, + (List<String>) args.arg2, null /*Session.Info*/); } finally { args.recycle(); } @@ -222,8 +238,8 @@ final class ConnectionServiceAdapterServant { case MSG_ADD_EXISTING_CONNECTION: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.addExistingConnection( - (String) args.arg1, (ParcelableConnection) args.arg2); + mDelegate.addExistingConnection((String) args.arg1, + (ParcelableConnection) args.arg2, null /*Session.Info*/); } finally { args.recycle(); } @@ -232,7 +248,8 @@ final class ConnectionServiceAdapterServant { case MSG_SET_CONFERENCE_MERGE_FAILED: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.setConferenceMergeFailed((String) args.arg1); + mDelegate.setConferenceMergeFailed((String) args.arg1, + null /*Session.Info*/); } finally { args.recycle(); } @@ -241,7 +258,8 @@ final class ConnectionServiceAdapterServant { case MSG_PUT_EXTRAS: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.putExtras((String) args.arg1, (Bundle) args.arg2); + mDelegate.putExtras((String) args.arg1, (Bundle) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } @@ -250,7 +268,8 @@ final class ConnectionServiceAdapterServant { case MSG_REMOVE_EXTRAS: { SomeArgs args = (SomeArgs) msg.obj; try { - mDelegate.removeExtras((String) args.arg1, (List<String>) args.arg2); + mDelegate.removeExtras((String) args.arg1, (List<String>) args.arg2, + null /*Session.Info*/); } finally { args.recycle(); } @@ -260,7 +279,7 @@ final class ConnectionServiceAdapterServant { SomeArgs args = (SomeArgs) msg.obj; try { mDelegate.onConnectionEvent((String) args.arg1, (String) args.arg2, - (Bundle) args.arg3); + (Bundle) args.arg3, null /*Session.Info*/); } finally { args.recycle(); } @@ -275,7 +294,8 @@ final class ConnectionServiceAdapterServant { public void handleCreateConnectionComplete( String id, ConnectionRequest request, - ParcelableConnection connection) { + ParcelableConnection connection, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = id; args.arg2 = request; @@ -284,23 +304,23 @@ final class ConnectionServiceAdapterServant { } @Override - public void setActive(String connectionId) { + public void setActive(String connectionId, Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_ACTIVE, connectionId).sendToTarget(); } @Override - public void setRinging(String connectionId) { + public void setRinging(String connectionId, Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_RINGING, connectionId).sendToTarget(); } @Override - public void setDialing(String connectionId) { + public void setDialing(String connectionId, Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_DIALING, connectionId).sendToTarget(); } @Override - public void setDisconnected( - String connectionId, DisconnectCause disconnectCause) { + public void setDisconnected(String connectionId, DisconnectCause disconnectCause, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = disconnectCause; @@ -308,39 +328,43 @@ final class ConnectionServiceAdapterServant { } @Override - public void setOnHold(String connectionId) { + public void setOnHold(String connectionId, Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_ON_HOLD, connectionId).sendToTarget(); } @Override - public void setRingbackRequested(String connectionId, boolean ringback) { + public void setRingbackRequested(String connectionId, boolean ringback, + Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_RINGBACK_REQUESTED, ringback ? 1 : 0, 0, connectionId) .sendToTarget(); } @Override - public void setConnectionCapabilities(String connectionId, int connectionCapabilities) { + public void setConnectionCapabilities(String connectionId, int connectionCapabilities, + Session.Info sessionInfo) { mHandler.obtainMessage( MSG_SET_CONNECTION_CAPABILITIES, connectionCapabilities, 0, connectionId) .sendToTarget(); } @Override - public void setConnectionProperties(String connectionId, int connectionProperties) { + public void setConnectionProperties(String connectionId, int connectionProperties, + Session.Info sessionInfo) { mHandler.obtainMessage( MSG_SET_CONNECTION_PROPERTIES, connectionProperties, 0, connectionId) .sendToTarget(); } @Override - public void setConferenceMergeFailed(String callId) { + public void setConferenceMergeFailed(String callId, Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = callId; mHandler.obtainMessage(MSG_SET_CONFERENCE_MERGE_FAILED, args).sendToTarget(); } @Override - public void setIsConferenced(String callId, String conferenceCallId) { + public void setIsConferenced(String callId, String conferenceCallId, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = callId; args.arg2 = conferenceCallId; @@ -348,7 +372,8 @@ final class ConnectionServiceAdapterServant { } @Override - public void addConferenceCall(String callId, ParcelableConference parcelableConference) { + public void addConferenceCall(String callId, ParcelableConference parcelableConference, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = callId; args.arg2 = parcelableConference; @@ -356,12 +381,14 @@ final class ConnectionServiceAdapterServant { } @Override - public void removeCall(String connectionId) { + public void removeCall(String connectionId, + Session.Info sessionInfo) { mHandler.obtainMessage(MSG_REMOVE_CALL, connectionId).sendToTarget(); } @Override - public void onPostDialWait(String connectionId, String remainingDigits) { + public void onPostDialWait(String connectionId, String remainingDigits, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = remainingDigits; @@ -369,7 +396,8 @@ final class ConnectionServiceAdapterServant { } @Override - public void onPostDialChar(String connectionId, char nextChar) { + public void onPostDialChar(String connectionId, char nextChar, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.argi1 = nextChar; @@ -377,17 +405,20 @@ final class ConnectionServiceAdapterServant { } @Override - public void queryRemoteConnectionServices(RemoteServiceCallback callback) { + public void queryRemoteConnectionServices(RemoteServiceCallback callback, + Session.Info sessionInfo) { mHandler.obtainMessage(MSG_QUERY_REMOTE_CALL_SERVICES, callback).sendToTarget(); } @Override - public void setVideoState(String connectionId, int videoState) { + public void setVideoState(String connectionId, int videoState, + Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_VIDEO_STATE, videoState, 0, connectionId).sendToTarget(); } @Override - public void setVideoProvider(String connectionId, IVideoProvider videoProvider) { + public void setVideoProvider(String connectionId, IVideoProvider videoProvider, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = videoProvider; @@ -395,13 +426,15 @@ final class ConnectionServiceAdapterServant { } @Override - public final void setIsVoipAudioMode(String connectionId, boolean isVoip) { + public final void setIsVoipAudioMode(String connectionId, boolean isVoip, + Session.Info sessionInfo) { mHandler.obtainMessage(MSG_SET_IS_VOIP_AUDIO_MODE, isVoip ? 1 : 0, 0, connectionId).sendToTarget(); } @Override - public final void setStatusHints(String connectionId, StatusHints statusHints) { + public final void setStatusHints(String connectionId, StatusHints statusHints, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = statusHints; @@ -409,7 +442,8 @@ final class ConnectionServiceAdapterServant { } @Override - public final void setAddress(String connectionId, Uri address, int presentation) { + public final void setAddress(String connectionId, Uri address, int presentation, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = address; @@ -419,7 +453,8 @@ final class ConnectionServiceAdapterServant { @Override public final void setCallerDisplayName( - String connectionId, String callerDisplayName, int presentation) { + String connectionId, String callerDisplayName, int presentation, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = callerDisplayName; @@ -428,8 +463,8 @@ final class ConnectionServiceAdapterServant { } @Override - public final void setConferenceableConnections( - String connectionId, List<String> conferenceableConnectionIds) { + public final void setConferenceableConnections(String connectionId, + List<String> conferenceableConnectionIds, Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = conferenceableConnectionIds; @@ -437,8 +472,8 @@ final class ConnectionServiceAdapterServant { } @Override - public final void addExistingConnection( - String connectionId, ParcelableConnection connection) { + public final void addExistingConnection(String connectionId, + ParcelableConnection connection, Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = connection; @@ -446,7 +481,7 @@ final class ConnectionServiceAdapterServant { } @Override - public final void putExtras(String connectionId, Bundle extras) { + public final void putExtras(String connectionId, Bundle extras, Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = extras; @@ -454,7 +489,8 @@ final class ConnectionServiceAdapterServant { } @Override - public final void removeExtras(String connectionId, List<String> keys) { + public final void removeExtras(String connectionId, List<String> keys, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = keys; @@ -462,7 +498,8 @@ final class ConnectionServiceAdapterServant { } @Override - public final void onConnectionEvent(String connectionId, String event, Bundle extras) { + public final void onConnectionEvent(String connectionId, String event, Bundle extras, + Session.Info sessionInfo) { SomeArgs args = SomeArgs.obtain(); args.arg1 = connectionId; args.arg2 = event; diff --git a/telecomm/java/android/telecom/RemoteConnectionService.java b/telecomm/java/android/telecom/RemoteConnectionService.java index beb6868fd256..18b56c99564d 100644 --- a/telecomm/java/android/telecom/RemoteConnectionService.java +++ b/telecomm/java/android/telecom/RemoteConnectionService.java @@ -21,6 +21,7 @@ import android.os.Bundle; import android.os.IBinder; import android.os.IBinder.DeathRecipient; import android.os.RemoteException; +import android.telecom.Logging.Session; import com.android.internal.telecom.IConnectionService; import com.android.internal.telecom.IConnectionServiceAdapter; @@ -54,7 +55,8 @@ final class RemoteConnectionService { public void handleCreateConnectionComplete( String id, ConnectionRequest request, - ParcelableConnection parcel) { + ParcelableConnection parcel, + Session.Info info) { RemoteConnection connection = findConnectionForAction(id, "handleCreateConnectionSuccessful"); if (connection != NULL_CONNECTION && mPendingConnections.contains(connection)) { @@ -95,7 +97,7 @@ final class RemoteConnectionService { } @Override - public void setActive(String callId) { + public void setActive(String callId, Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "setActive") .setState(Connection.STATE_ACTIVE); @@ -106,19 +108,20 @@ final class RemoteConnectionService { } @Override - public void setRinging(String callId) { + public void setRinging(String callId, Session.Info sessionInfo) { findConnectionForAction(callId, "setRinging") .setState(Connection.STATE_RINGING); } @Override - public void setDialing(String callId) { + public void setDialing(String callId, Session.Info sessionInfo) { findConnectionForAction(callId, "setDialing") .setState(Connection.STATE_DIALING); } @Override - public void setDisconnected(String callId, DisconnectCause disconnectCause) { + public void setDisconnected(String callId, DisconnectCause disconnectCause, + Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "setDisconnected") .setDisconnected(disconnectCause); @@ -129,7 +132,7 @@ final class RemoteConnectionService { } @Override - public void setOnHold(String callId) { + public void setOnHold(String callId, Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "setOnHold") .setState(Connection.STATE_HOLDING); @@ -140,13 +143,14 @@ final class RemoteConnectionService { } @Override - public void setRingbackRequested(String callId, boolean ringing) { + public void setRingbackRequested(String callId, boolean ringing, Session.Info sessionInfo) { findConnectionForAction(callId, "setRingbackRequested") .setRingbackRequested(ringing); } @Override - public void setConnectionCapabilities(String callId, int connectionCapabilities) { + public void setConnectionCapabilities(String callId, int connectionCapabilities, + Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "setConnectionCapabilities") .setConnectionCapabilities(connectionCapabilities); @@ -157,7 +161,8 @@ final class RemoteConnectionService { } @Override - public void setConnectionProperties(String callId, int connectionProperties) { + public void setConnectionProperties(String callId, int connectionProperties, + Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "setConnectionProperties") .setConnectionProperties(connectionProperties); @@ -168,7 +173,8 @@ final class RemoteConnectionService { } @Override - public void setIsConferenced(String callId, String conferenceCallId) { + public void setIsConferenced(String callId, String conferenceCallId, + Session.Info sessionInfo) { // Note: callId should not be null; conferenceCallId may be null RemoteConnection connection = findConnectionForAction(callId, "setIsConferenced"); @@ -189,7 +195,7 @@ final class RemoteConnectionService { } @Override - public void setConferenceMergeFailed(String callId) { + public void setConferenceMergeFailed(String callId, Session.Info sessionInfo) { // Nothing to do here. // The event has already been handled and there is no state to update // in the underlying connection or conference objects @@ -197,8 +203,7 @@ final class RemoteConnectionService { @Override public void addConferenceCall( - final String callId, - ParcelableConference parcel) { + final String callId, ParcelableConference parcel, Session.Info sessionInfo) { RemoteConference conference = new RemoteConference(callId, mOutgoingConnectionServiceRpc); @@ -231,7 +236,7 @@ final class RemoteConnectionService { } @Override - public void removeCall(String callId) { + public void removeCall(String callId, Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "removeCall") .setDestroyed(); @@ -242,24 +247,26 @@ final class RemoteConnectionService { } @Override - public void onPostDialWait(String callId, String remaining) { + public void onPostDialWait(String callId, String remaining, Session.Info sessionInfo) { findConnectionForAction(callId, "onPostDialWait") .setPostDialWait(remaining); } @Override - public void onPostDialChar(String callId, char nextChar) { + public void onPostDialChar(String callId, char nextChar, Session.Info sessionInfo) { findConnectionForAction(callId, "onPostDialChar") .onPostDialChar(nextChar); } @Override - public void queryRemoteConnectionServices(RemoteServiceCallback callback) { + public void queryRemoteConnectionServices(RemoteServiceCallback callback, + Session.Info sessionInfo) { // Not supported from remote connection service. } @Override - public void setVideoProvider(String callId, IVideoProvider videoProvider) { + public void setVideoProvider(String callId, IVideoProvider videoProvider, + Session.Info sessionInfo) { RemoteConnection.VideoProvider remoteVideoProvider = null; if (videoProvider != null) { remoteVideoProvider = new RemoteConnection.VideoProvider(videoProvider); @@ -269,32 +276,34 @@ final class RemoteConnectionService { } @Override - public void setVideoState(String callId, int videoState) { + public void setVideoState(String callId, int videoState, Session.Info sessionInfo) { findConnectionForAction(callId, "setVideoState") .setVideoState(videoState); } @Override - public void setIsVoipAudioMode(String callId, boolean isVoip) { + public void setIsVoipAudioMode(String callId, boolean isVoip, Session.Info sessionInfo) { findConnectionForAction(callId, "setIsVoipAudioMode") .setIsVoipAudioMode(isVoip); } @Override - public void setStatusHints(String callId, StatusHints statusHints) { + public void setStatusHints(String callId, StatusHints statusHints, + Session.Info sessionInfo) { findConnectionForAction(callId, "setStatusHints") .setStatusHints(statusHints); } @Override - public void setAddress(String callId, Uri address, int presentation) { + public void setAddress(String callId, Uri address, int presentation, + Session.Info sessionInfo) { findConnectionForAction(callId, "setAddress") .setAddress(address, presentation); } @Override public void setCallerDisplayName(String callId, String callerDisplayName, - int presentation) { + int presentation, Session.Info sessionInfo) { findConnectionForAction(callId, "setCallerDisplayName") .setCallerDisplayName(callerDisplayName, presentation); } @@ -305,8 +314,8 @@ final class RemoteConnectionService { } @Override - public final void setConferenceableConnections( - String callId, List<String> conferenceableConnectionIds) { + public final void setConferenceableConnections(String callId, + List<String> conferenceableConnectionIds, Session.Info sessionInfo) { List<RemoteConnection> conferenceable = new ArrayList<>(); for (String id : conferenceableConnectionIds) { if (mConnectionById.containsKey(id)) { @@ -324,7 +333,8 @@ final class RemoteConnectionService { } @Override - public void addExistingConnection(String callId, ParcelableConnection connection) { + public void addExistingConnection(String callId, ParcelableConnection connection, + Session.Info sessionInfo) { // TODO: add contents of this method RemoteConnection remoteConnction = new RemoteConnection(callId, mOutgoingConnectionServiceRpc, connection); @@ -333,7 +343,7 @@ final class RemoteConnectionService { } @Override - public void putExtras(String callId, Bundle extras) { + public void putExtras(String callId, Bundle extras, Session.Info sessionInfo) { if (hasConnection(callId)) { findConnectionForAction(callId, "putExtras").putExtras(extras); } else { @@ -342,7 +352,7 @@ final class RemoteConnectionService { } @Override - public void removeExtras(String callId, List<String> keys) { + public void removeExtras(String callId, List<String> keys, Session.Info sessionInfo) { if (hasConnection(callId)) { findConnectionForAction(callId, "removeExtra").removeExtras(keys); } else { @@ -351,7 +361,8 @@ final class RemoteConnectionService { } @Override - public void onConnectionEvent(String callId, String event, Bundle extras) { + public void onConnectionEvent(String callId, String event, Bundle extras, + Session.Info sessionInfo) { if (mConnectionById.containsKey(callId)) { findConnectionForAction(callId, "onConnectionEvent").onConnectionEvent(event, extras); diff --git a/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl b/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl index 9bc8ffe4ec6e..35509d09f29d 100644 --- a/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl +++ b/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl @@ -21,6 +21,7 @@ import android.net.Uri; import android.os.Bundle; import android.telecom.ConnectionRequest; import android.telecom.DisconnectCause; +import android.telecom.Logging.Session; import android.telecom.ParcelableConnection; import android.telecom.ParcelableConference; import android.telecom.StatusHints; @@ -39,57 +40,66 @@ oneway interface IConnectionServiceAdapter { void handleCreateConnectionComplete( String callId, in ConnectionRequest request, - in ParcelableConnection connection); + in ParcelableConnection connection, + in Session.Info sessionInfo); - void setActive(String callId); + void setActive(String callId, in Session.Info sessionInfo); - void setRinging(String callId); + void setRinging(String callId, in Session.Info sessionInfo); - void setDialing(String callId); + void setDialing(String callId, in Session.Info sessionInfo); - void setDisconnected(String callId, in DisconnectCause disconnectCause); + void setDisconnected(String callId, in DisconnectCause disconnectCause, + in Session.Info sessionInfo); - void setOnHold(String callId); + void setOnHold(String callId, in Session.Info sessionInfo); - void setRingbackRequested(String callId, boolean ringing); + void setRingbackRequested(String callId, boolean ringing, in Session.Info sessionInfo); - void setConnectionCapabilities(String callId, int connectionCapabilities); + void setConnectionCapabilities(String callId, int connectionCapabilities, + in Session.Info sessionInfo); - void setConnectionProperties(String callId, int connectionProperties); + void setConnectionProperties(String callId, int connectionProperties, + in Session.Info sessionInfo); - void setIsConferenced(String callId, String conferenceCallId); + void setIsConferenced(String callId, String conferenceCallId, in Session.Info sessionInfo); - void setConferenceMergeFailed(String callId); + void setConferenceMergeFailed(String callId, in Session.Info sessionInfo); - void addConferenceCall(String callId, in ParcelableConference conference); + void addConferenceCall(String callId, in ParcelableConference conference, + in Session.Info sessionInfo); - void removeCall(String callId); + void removeCall(String callId, in Session.Info sessionInfo); - void onPostDialWait(String callId, String remaining); + void onPostDialWait(String callId, String remaining, in Session.Info sessionInfo); - void onPostDialChar(String callId, char nextChar); + void onPostDialChar(String callId, char nextChar, in Session.Info sessionInfo); - void queryRemoteConnectionServices(RemoteServiceCallback callback); + void queryRemoteConnectionServices(RemoteServiceCallback callback, in Session.Info sessionInfo); - void setVideoProvider(String callId, IVideoProvider videoProvider); + void setVideoProvider(String callId, IVideoProvider videoProvider, in Session.Info sessionInfo); - void setVideoState(String callId, int videoState); + void setVideoState(String callId, int videoState, in Session.Info sessionInfo); - void setIsVoipAudioMode(String callId, boolean isVoip); + void setIsVoipAudioMode(String callId, boolean isVoip, in Session.Info sessionInfo); - void setStatusHints(String callId, in StatusHints statusHints); + void setStatusHints(String callId, in StatusHints statusHints, in Session.Info sessionInfo); - void setAddress(String callId, in Uri address, int presentation); + void setAddress(String callId, in Uri address, int presentation, in Session.Info sessionInfo); - void setCallerDisplayName(String callId, String callerDisplayName, int presentation); + void setCallerDisplayName(String callId, String callerDisplayName, int presentation, + in Session.Info sessionInfo); - void setConferenceableConnections(String callId, in List<String> conferenceableCallIds); + void setConferenceableConnections(String callId, in List<String> conferenceableCallIds, + in Session.Info sessionInfo); - void addExistingConnection(String callId, in ParcelableConnection connection); + void addExistingConnection(String callId, in ParcelableConnection connection, + in Session.Info sessionInfo); - void putExtras(String callId, in Bundle extras); + void putExtras(String callId, in Bundle extras, in Session.Info sessionInfo); - void removeExtras(String callId, in List<String> keys); + void removeExtras(String callId, in List<String> keys, in Session.Info sessionInfo); - void onConnectionEvent(String callId, String event, in Bundle extras); + void onConnectionEvent(String callId, String event, in Bundle extras, + in Session.Info sessionInfo); } |