/* * Copyright (C) 2016 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. */ package com.android.tv.dvr.data; import android.text.TextUtils; import java.util.Objects; /** A plain java object which includes the season/episode number for the series recording. */ public class SeasonEpisodeNumber { public final long seriesRecordingId; public final String seasonNumber; public final String episodeNumber; /** Creates a new Builder with the values set from an existing {@link ScheduledRecording}. */ public SeasonEpisodeNumber(ScheduledRecording r) { this(r.getSeriesRecordingId(), r.getSeasonNumber(), r.getEpisodeNumber()); } public SeasonEpisodeNumber(long seriesRecordingId, String seasonNumber, String episodeNumber) { this.seriesRecordingId = seriesRecordingId; this.seasonNumber = seasonNumber; this.episodeNumber = episodeNumber; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof SeasonEpisodeNumber) || TextUtils.isEmpty(seasonNumber) || TextUtils.isEmpty(episodeNumber)) { return false; } SeasonEpisodeNumber that = (SeasonEpisodeNumber) o; return seriesRecordingId == that.seriesRecordingId && Objects.equals(seasonNumber, that.seasonNumber) && Objects.equals(episodeNumber, that.episodeNumber); } @Override public int hashCode() { return Objects.hash(seriesRecordingId, seasonNumber, episodeNumber); } @Override public String toString() { return "SeasonEpisodeNumber{" + "seriesRecordingId=" + seriesRecordingId + ", seasonNumber='" + seasonNumber + ", episodeNumber=" + episodeNumber + '}'; } }