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

Commit 75e3b68f authored by Rekha Kumar's avatar Rekha Kumar Committed by Steve Kondik
Browse files

IMS-VT: Multitasking feature

-Support for video multitasking

Change-Id: Ic031ae1681a4bb8299a13a5e8187aaff4f27374f
parent 792bfa15
Loading
Loading
Loading
Loading
+27 −10
Original line number Diff line number Diff line
@@ -312,22 +312,31 @@ public class ImsCallProfile implements Parcelable {
     * @param callType The call type.
     * @return The video state.
     */
    public static int getVideoStateFromCallType(int callType) {
        switch (callType) {
            case CALL_TYPE_VT_NODIR:
                return VideoProfile.VideoState.PAUSED |
                        VideoProfile.VideoState.BIDIRECTIONAL;
    public static int getVideoStateFromImsCallProfile(ImsCallProfile callProfile) {
        int videostate = VideoProfile.VideoState.AUDIO_ONLY;
        switch (callProfile.mCallType) {
            case CALL_TYPE_VT_TX:
                return VideoProfile.VideoState.TX_ENABLED;
                videostate = VideoProfile.VideoState.TX_ENABLED;
                break;
            case CALL_TYPE_VT_RX:
                return VideoProfile.VideoState.RX_ENABLED;
                videostate = VideoProfile.VideoState.RX_ENABLED;
                break;
            case CALL_TYPE_VT:
                return VideoProfile.VideoState.BIDIRECTIONAL;
                videostate = VideoProfile.VideoState.BIDIRECTIONAL;
                break;
            case CALL_TYPE_VOICE:
                return VideoProfile.VideoState.AUDIO_ONLY;
                videostate = VideoProfile.VideoState.AUDIO_ONLY;
                break;
            default:
                return VideoProfile.VideoState.AUDIO_ONLY;
                videostate = VideoProfile.VideoState.AUDIO_ONLY;
                break;
        }
        if (callProfile.isVideoPaused() && videostate != VideoProfile.VideoState.AUDIO_ONLY) {
            videostate |= VideoProfile.VideoState.PAUSED;
        } else {
            videostate &= ~VideoProfile.VideoState.PAUSED;
        }
        return videostate;
    }

    /**
@@ -385,6 +394,14 @@ public class ImsCallProfile implements Parcelable {
        }
    }

    /**
     * Checks if video call is paused
     * @return true if call is video paused
     */
    public boolean isVideoPaused() {
        return mMediaProfile.mVideoDirection == ImsStreamMediaProfile.DIRECTION_INACTIVE;
    }

    /**
     * Determines if a video state is set in a video state bit-mask.
     *