Add new @hide API to pass call direction changes through Telecom
Bug: 153277327
Test: atest TelecomUnitTests
Change-Id: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java
index 79ad51b..6c1ea32 100644
--- a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java
+++ b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java
@@ -76,6 +76,7 @@
private static final int MSG_CONNECTION_SERVICE_FOCUS_RELEASED = 35;
private static final int MSG_SET_CONFERENCE_STATE = 36;
private static final int MSG_HANDLE_CREATE_CONFERENCE_COMPLETE = 37;
+ private static final int MSG_SET_CALL_DIRECTION = 38;
private final IConnectionServiceAdapter mDelegate;
@@ -353,7 +354,7 @@
case MSG_CONNECTION_SERVICE_FOCUS_RELEASED:
mDelegate.onConnectionServiceFocusReleased(null /*Session.Info*/);
break;
- case MSG_SET_CONFERENCE_STATE:
+ case MSG_SET_CONFERENCE_STATE: {
SomeArgs args = (SomeArgs) msg.obj;
try {
mDelegate.setConferenceState((String) args.arg1, (Boolean) args.arg2,
@@ -361,6 +362,17 @@
} finally {
args.recycle();
}
+ break;
+ }
+ case MSG_SET_CALL_DIRECTION: {
+ SomeArgs args = (SomeArgs) msg.obj;
+ try {
+ mDelegate.setCallDirection((String) args.arg1, args.argi1,
+ (Session.Info) args.arg2);
+ } finally {
+ args.recycle();
+ }
+ }
}
}
};
@@ -670,6 +682,16 @@
args.arg3 = sessionInfo;
mHandler.obtainMessage(MSG_SET_CONFERENCE_STATE, args).sendToTarget();
}
+
+ @Override
+ public void setCallDirection(String callId, int direction,
+ Session.Info sessionInfo) {
+ SomeArgs args = SomeArgs.obtain();
+ args.arg1 = callId;
+ args.argi1 = direction;
+ args.arg2 = sessionInfo;
+ mHandler.obtainMessage(MSG_SET_CALL_DIRECTION, args).sendToTarget();
+ }
};
public ConnectionServiceAdapterServant(IConnectionServiceAdapter delegate) {