package @APP_PACKAGE@.model;

/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

import java.io.Serializable;

/*
 * Media class represents video entity with title, description, image thumbs and video url.
 *
 */
public class Media implements Serializable
{

  private static final String TAG = "Media";

  private long id;
  private String title;
  private String description;
  private String bgImageUrl = null;
  private String cardImageUrl = null;
  private String cardImageAspectRatio = null;
  private String videoUrl = null;
  private String xbmcUrl = null;
  private String category;
  // Program id / Watch Next id returned from the TV Provider.
  private long programId;
  private long watchNextId;

  public static final String MEDIA_TYPE_MOVIE = "movie";
  public static final String MEDIA_TYPE_TVSHOW = "tvshow";
  public static final String MEDIA_TYPE_TVEPISODE = "episode";
  public static final String MEDIA_TYPE_ALBUM = "album";
  public static final String MEDIA_TYPE_SONG = "song";
  public static final String MEDIA_TYPE_MUSICVIDEO = "musicvideo";

  public Media()
  {
  }

  public long getProgramId()
  {
    return programId;
  }

  public void setProgramId(long programId)
  {
    this.programId = programId;
  }

  public long getWatchNextId()
  {
    return watchNextId;
  }

  public void setWatchNextId(long watchNextId)
  {
    this.watchNextId = watchNextId;
  }

  public long getId()
  {
    return id;
  }

  public void setId(long id)
  {
    this.id = id;
  }

  public String getTitle()
  {
    return title;
  }

  public void setTitle(String title)
  {
    this.title = title;
  }

  public String getDescription()
  {
    return description;
  }

  public void setDescription(String description)
  {
    this.description = description;
  }

  public String getVideoUrl()
  {
    return videoUrl;
  }

  public void setVideoUrl(String videoUrl)
  {
    this.videoUrl = videoUrl;
  }

  public String getXbmcUrl()
  {
    return xbmcUrl;
  }

  public void setXbmcUrl(String xbmcUrl)
  {
    this.xbmcUrl = xbmcUrl;
  }

  public String getBackgroundImageUrl()
  {
    return bgImageUrl;
  }

  public void setBackgroundImageUrl(String bgImageUrl)
  {
    this.bgImageUrl = bgImageUrl;
  }

  public String getCardImageUrl()
  {
    return cardImageUrl;
  }

  public void setCardImageUrl(String cardImageUrl)
  {
    this.cardImageUrl = cardImageUrl;
  }

  public String getCategory()
  {
    return category;
  }

  public void setCategory(String category)
  {
    this.category = category;
  }

  public String getCardImageAspectRatio()
  {
    return cardImageAspectRatio;
  }

  public void setCardImageAspectRatio(String cardImageAspectRatio)
  {
    this.cardImageAspectRatio = cardImageAspectRatio;
  }

  @Override
  public String toString()
  {
    return "Media{"
            + "id="
            + id
            + ", programId='"
            + programId
            + '\''
            + ", watchNextId='"
            + watchNextId
            + '\''
            + ", title='"
            + title
            + '\''
            + ", videoUrl='"
            + videoUrl
            + '\''
            + ", backgroundImageUrl='"
            + bgImageUrl
            + '\''
            + ", cardImageUrl='"
            + cardImageUrl
            + '\''
            + '}';
  }
}
