Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ae42776 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

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
parent 6fe97e67
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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();
        }

+6 −0
Original line number Diff line number Diff line
@@ -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
     */