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

Commit a27a1938 authored by Andrew Lee's avatar Andrew Lee
Browse files

Set the call video provider again after listeners are added.

Bug: 16043064
Change-Id: I97fecd71fbf2f27721e80fd6ba58c408884472e7
parent 35d552f7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -27540,6 +27540,7 @@ package android.telecomm {
    method public final boolean getAudioModeIsVoip();
    method public final android.telecomm.CallAudioState getCallAudioState();
    method public final int getCallCapabilities();
    method public final android.telecomm.CallVideoProvider getCallVideoProvider();
    method public final java.util.List<android.telecomm.Connection> getChildConnections();
    method public final int getFeatures();
    method public final android.net.Uri getHandle();
+6 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ public abstract class Connection {
    private boolean mRequestingRingback = false;
    private int mCallCapabilities;
    private Connection mParentConnection;
    private CallVideoProvider mCallVideoProvider;
    private boolean mAudioModeIsVoip;
    private StatusHints mStatusHints;

@@ -349,11 +350,16 @@ public abstract class Connection {
     * @param callVideoProvider The call video provider.
     */
    public final void setCallVideoProvider(CallVideoProvider callVideoProvider) {
        mCallVideoProvider = callVideoProvider;
        for (Listener l : mListeners) {
            l.onSetCallVideoProvider(this, callVideoProvider);
        }
    }

    public final CallVideoProvider getCallVideoProvider() {
        return mCallVideoProvider;
    }

    /**
     * Sets state to disconnected.
     *
+7 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.telecomm.CallVideoProvider;

import com.android.internal.os.SomeArgs;
import com.android.internal.telecomm.IConnectionService;
@@ -688,6 +689,12 @@ public abstract class ConnectionService extends Service {
        mIdByConnection.put(connection, callId);
        connection.addConnectionListener(mConnectionListener);
        onConnectionAdded(connection);

        // Trigger listeners for properties set before connection listener was added.
        CallVideoProvider callVideoProvider = connection.getCallVideoProvider();
        if (callVideoProvider != null) {
            connection.setCallVideoProvider(callVideoProvider);
        }
    }

    private void removeConnection(Connection connection) {