Add extra key to StreamingCall.
Also fix bug where CallStreamingService would never init the streaming
adapter. This caused the CallStreamingService to NEVER get notified of
onCallStreamingstarted since the handleMessage method was checking to see
if the adapter was set.
Test: Added CTS test for this case.
Bug: 279650527
Change-Id: I389efacd7547439985caabc068be5413897cf128
diff --git a/telecomm/java/android/telecom/CallStreamingService.java b/telecomm/java/android/telecom/CallStreamingService.java
index df48cd6..581cd7e 100644
--- a/telecomm/java/android/telecom/CallStreamingService.java
+++ b/telecomm/java/android/telecom/CallStreamingService.java
@@ -73,22 +73,26 @@
@Override
public void handleMessage(Message msg) {
if (mStreamingCallAdapter == null && msg.what != MSG_SET_STREAMING_CALL_ADAPTER) {
+ Log.i(this, "handleMessage: null adapter!");
return;
}
switch (msg.what) {
case MSG_SET_STREAMING_CALL_ADAPTER:
if (msg.obj != null) {
+ Log.i(this, "MSG_SET_STREAMING_CALL_ADAPTER");
mStreamingCallAdapter = new StreamingCallAdapter(
(IStreamingCallAdapter) msg.obj);
}
break;
case MSG_CALL_STREAMING_STARTED:
+ Log.i(this, "MSG_CALL_STREAMING_STARTED");
mCall = (StreamingCall) msg.obj;
mCall.setAdapter(mStreamingCallAdapter);
CallStreamingService.this.onCallStreamingStarted(mCall);
break;
case MSG_CALL_STREAMING_STOPPED:
+ Log.i(this, "MSG_CALL_STREAMING_STOPPED");
mCall = null;
mStreamingCallAdapter = null;
CallStreamingService.this.onCallStreamingStopped();
@@ -109,6 +113,7 @@
@Nullable
@Override
public IBinder onBind(@NonNull Intent intent) {
+ Log.i(this, "onBind");
return new CallStreamingServiceBinder();
}
@@ -117,12 +122,14 @@
@Override
public void setStreamingCallAdapter(IStreamingCallAdapter streamingCallAdapter)
throws RemoteException {
- mHandler.obtainMessage(MSG_SET_STREAMING_CALL_ADAPTER, mStreamingCallAdapter)
+ Log.i(this, "setCallStreamingAdapter");
+ mHandler.obtainMessage(MSG_SET_STREAMING_CALL_ADAPTER, streamingCallAdapter)
.sendToTarget();
}
@Override
public void onCallStreamingStarted(StreamingCall call) throws RemoteException {
+ Log.i(this, "onCallStreamingStarted");
mHandler.obtainMessage(MSG_CALL_STREAMING_STARTED, call).sendToTarget();
}
diff --git a/telecomm/java/android/telecom/StreamingCall.java b/telecomm/java/android/telecom/StreamingCall.java
index d4f4322..3319fc1 100644
--- a/telecomm/java/android/telecom/StreamingCall.java
+++ b/telecomm/java/android/telecom/StreamingCall.java
@@ -55,6 +55,12 @@
public static final int STATE_DISCONNECTED = 3;
/**
+ * The ID associated with this call. This is the same value as {@link CallControl#getCallId()}.
+ * @hide
+ */
+ public static final String EXTRA_CALL_ID = "android.telecom.extra.CALL_ID";
+
+ /**
* @hide
*/
private StreamingCall(@NonNull Parcel in) {