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
This commit is contained in:
@@ -73,22 +73,26 @@ public abstract class CallStreamingService extends Service {
|
||||
@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 @@ public abstract class CallStreamingService extends Service {
|
||||
@Nullable
|
||||
@Override
|
||||
public IBinder onBind(@NonNull Intent intent) {
|
||||
Log.i(this, "onBind");
|
||||
return new CallStreamingServiceBinder();
|
||||
}
|
||||
|
||||
@@ -117,12 +122,14 @@ public abstract class CallStreamingService extends Service {
|
||||
@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();
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,12 @@ public final class StreamingCall implements Parcelable {
|
||||
*/
|
||||
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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user