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

Commit e502924e authored by Tyler Gunn's avatar Tyler Gunn Committed by Android (Google) Code Review
Browse files

Merge "Remove dependency on android.telecom.Call in VideoCallImpl for testing."

parents e60a52a2 584ba6c1
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ public final class Call {
    private int mState;
    private List<String> mCannedTextResponses = null;
    private String mRemainingPostDialSequence;
    private InCallService.VideoCall mVideoCall;
    private VideoCallImpl mVideoCallImpl;
    private Details mDetails;

    /**
@@ -897,7 +897,7 @@ public final class Call {
     * @return An {@code Call.VideoCall}.
     */
    public InCallService.VideoCall getVideoCall() {
        return mVideoCall;
        return mVideoCallImpl;
    }

    /**
@@ -1028,10 +1028,14 @@ public final class Call {
            cannedTextResponsesChanged = true;
        }

        VideoCallImpl newVideoCallImpl = parcelableCall.getVideoCallImpl();
        boolean videoCallChanged = parcelableCall.isVideoCallProviderChanged() &&
                !Objects.equals(mVideoCall, parcelableCall.getVideoCall(this));
                !Objects.equals(mVideoCallImpl, newVideoCallImpl);
        if (videoCallChanged) {
            mVideoCall = parcelableCall.getVideoCall(this);
            mVideoCallImpl = newVideoCallImpl;
        }
        if (mVideoCallImpl != null) {
            mVideoCallImpl.setVideoState(getDetails().getVideoState());
        }

        int state = parcelableCall.getState();
@@ -1081,7 +1085,7 @@ public final class Call {
            fireCannedTextResponsesLoaded(mCannedTextResponses);
        }
        if (videoCallChanged) {
            fireVideoCallChanged(mVideoCall);
            fireVideoCallChanged(mVideoCallImpl);
        }
        if (parentChanged) {
            fireParentChanged(getParent());
+4 −3
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ public final class ParcelableCall implements Parcelable {
    private final PhoneAccountHandle mAccountHandle;
    private final boolean mIsVideoCallProviderChanged;
    private final IVideoProvider mVideoCallProvider;
    private InCallService.VideoCall mVideoCall;
    private VideoCallImpl mVideoCall;
    private final String mParentCallId;
    private final List<String> mChildCallIds;
    private final StatusHints mStatusHints;
@@ -179,12 +179,13 @@ public final class ParcelableCall implements Parcelable {

    /**
     * Returns an object for remotely communicating through the video call provider's binder.

     * @return The video call.
     */
    public InCallService.VideoCall getVideoCall(Call call) {
    public VideoCallImpl getVideoCallImpl() {
        if (mVideoCall == null && mVideoCallProvider != null) {
            try {
                mVideoCall = new VideoCallImpl(mVideoCallProvider, call);
                mVideoCall = new VideoCallImpl(mVideoCallProvider);
            } catch (RemoteException ignored) {
                // Ignore RemoteException.
            }
+11 −5
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public class VideoCallImpl extends VideoCall {
    private final VideoCallListenerBinder mBinder;
    private VideoCall.Callback mCallback;
    private int mVideoQuality = VideoProfile.QUALITY_UNKNOWN;
    private Call mCall;
    private int mVideoState = VideoProfile.STATE_AUDIO_ONLY;

    private IBinder.DeathRecipient mDeathRecipient = new IBinder.DeathRecipient() {
        @Override
@@ -197,13 +197,12 @@ public class VideoCallImpl extends VideoCall {

    private Handler mHandler;

    VideoCallImpl(IVideoProvider videoProvider, Call call) throws RemoteException {
    VideoCallImpl(IVideoProvider videoProvider) throws RemoteException {
        mVideoProvider = videoProvider;
        mVideoProvider.asBinder().linkToDeath(mDeathRecipient, 0);

        mBinder = new VideoCallListenerBinder();
        mVideoProvider.addVideoCallback(mBinder);
        mCall = call;
    }

    public void destroy() {
@@ -292,8 +291,7 @@ public class VideoCallImpl extends VideoCall {
     */
    public void sendSessionModifyRequest(VideoProfile requestProfile) {
        try {
            VideoProfile originalProfile = new VideoProfile(mCall.getDetails().getVideoState(),
                    mVideoQuality);
            VideoProfile originalProfile = new VideoProfile(mVideoState, mVideoQuality);

            mVideoProvider.sendSessionModifyRequest(originalProfile, requestProfile);
        } catch (RemoteException e) {
@@ -331,4 +329,12 @@ public class VideoCallImpl extends VideoCall {
        } catch (RemoteException e) {
        }
    }

    /**
     * Sets the video state for the current video call.
     * @param videoState the new video state.
     */
    public void setVideoState(int videoState) {
        mVideoState = videoState;
    }
}