package com.insidesecure.drm.android.reference.activities;

import java.io.Serializable;
import java.net.*;
import java.util.*;

import com.insidesecure.drmagent.*;

/**
 * @author
 */
public class PlaybackInfo implements Serializable
{
    public String mTitle;
    public DRMContentFormat mDRMContentFormat;
    public DRMScheme mDRMScheme;
    public URI mContentLocation;
    public URL mLicenseAcquisitionURL;
    public String mCustomData;
    public URI mSubtitleFileLocation;
    public boolean mDownloadAndPlay;
    public List<DRMContent.VideoQualityLevel> mEnabledVideoTracks;
    public List<DRMContent.AudioTrack> mEnabledAudioTracks;
    public DRMContent.AudioTrack mEnabledAudioTrack;
    public DRMContent.AudioQualityLevel mEnabledAudioTrackQualityLevel;
    public HDMIControl mEnabledHDMIControl;
    public List<DRMContent.SubtitleTrack> mEnabledSubtitleTracks;
    public DRMContent.SubtitleTrack mEnabledSubtitleTrack;
    public boolean mEnabledSideloadedSubtitles;
    public boolean mOfflineMode;

    public PlaybackInfo()
    {
        // Serialization purposes
    }

    public PlaybackInfo(final String title, final DRMContentFormat drmContentFormat, final DRMScheme drmScheme, final URI contentLocation)
    {
        mTitle =  title;
        mDRMContentFormat = drmContentFormat;
        mDRMScheme = drmScheme;
        mContentLocation = contentLocation;
    }

    public PlaybackInfo(PlaybackInfo copy)
    {
        this(copy.mTitle,copy.mDRMContentFormat,copy.mDRMScheme,copy.mContentLocation);

        mLicenseAcquisitionURL = copy.mLicenseAcquisitionURL;
        mCustomData = copy.mCustomData;
        mSubtitleFileLocation = copy.mSubtitleFileLocation;
        mDownloadAndPlay = copy.mDownloadAndPlay;

        mEnabledVideoTracks = copy.mEnabledVideoTracks;
        mEnabledAudioTracks = copy.mEnabledAudioTracks;
        mEnabledAudioTrack = copy.mEnabledAudioTrack;
        mEnabledAudioTrackQualityLevel = copy.mEnabledAudioTrackQualityLevel;
        mEnabledHDMIControl = copy.mEnabledHDMIControl;

        mEnabledSubtitleTracks = copy.mEnabledSubtitleTracks;
        mEnabledSubtitleTrack = copy.mEnabledSubtitleTrack;
        mEnabledSideloadedSubtitles = copy.mEnabledSideloadedSubtitles;

        mOfflineMode = copy.mOfflineMode;

    }

}
