/* * Copyright (c) 2016 Google Inc. * * 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. */ package com.google.samples.apps.iosched.videolibrary.data; import android.support.annotation.NonNull; import com.google.samples.apps.iosched.model.TagMetadata; import java.util.List; /** * Models a group of videos that belong to a track. */ public class VideoTrack { private final String mTrack; private final int mTrackId; private String mTrackImageUrl; private final List<Video> mVideos; public VideoTrack(final String track, final int trackId, final List<Video> videos) { mTrack = track; mTrackId = trackId; mVideos = videos; } public String getTrack() { return mTrack; } public int getTrackId() { return mTrackId; } public List<Video> getVideos() { return mVideos; } public String getTrackImageUrl() { return mTrackImageUrl; } public void setTrackImageUrlIfAvailable(@NonNull TagMetadata tags) { TagMetadata.Tag tag = tags.getTag(mTrack); if (tag != null) { mTrackImageUrl = tag.getPhotoUrl(); } } public boolean hasVideos() { return mVideos != null && !mVideos.isEmpty(); } @Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final VideoTrack that = (VideoTrack) o; return mTrackId == that.mTrackId; } @Override public int hashCode() { return mTrackId; } @Override public String toString() { return "VideoTrack " + mTrack + "/ " + mTrackId + " with " + mVideos.size() + " videos"; } }