blob: 715ecb8c26e11ef02338cce5a67c2876b1246a39 [file] [log] [blame]
/*
* 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.ui.list;
import com.android.tv.data.Program;
import com.android.tv.dvr.data.SeriesRecording;
import java.util.List;
/**
* A base class for the rows for schedules' header.
*/
abstract class SchedulesHeaderRow {
private String mTitle;
private String mDescription;
private int mItemCount;
public SchedulesHeaderRow(String title, String description, int itemCount) {
mTitle = title;
mItemCount = itemCount;
mDescription = description;
}
/**
* Sets title.
*/
public void setTitle(String title) {
mTitle = title;
}
/**
* Sets description.
*/
public void setDescription(String description) {
mDescription = description;
}
/**
* Sets count of items.
*/
public void setItemCount(int itemCount) {
mItemCount = itemCount;
}
/**
* Returns title.
*/
public String getTitle() {
return mTitle;
}
/**
* Returns description.
*/
public String getDescription() {
return mDescription;
}
/**
* Returns count of items.
*/
public int getItemCount() {
return mItemCount;
}
/**
* The header row which represent the date.
*/
public static class DateHeaderRow extends SchedulesHeaderRow {
private long mDeadLineMs;
public DateHeaderRow(String title, String description, int itemCount, long deadLineMs) {
super(title, description, itemCount);
mDeadLineMs = deadLineMs;
}
/**
* Returns the latest time of the list which belongs to the header row.
*/
public long getDeadLineMs() {
return mDeadLineMs;
}
}
/**
* The header row which represent the series recording.
*/
public static class SeriesRecordingHeaderRow extends SchedulesHeaderRow {
private SeriesRecording mSeriesRecording;
private List<Program> mPrograms;
public SeriesRecordingHeaderRow(String title, String description, int itemCount,
SeriesRecording series, List<Program> programs) {
super(title, description, itemCount);
mSeriesRecording = series;
mPrograms = programs;
}
/**
* Returns the list of programs which belong to the series.
*/
public List<Program> getPrograms() {
return mPrograms;
}
/**
* Returns the series recording, it is for series schedules list.
*/
public SeriesRecording getSeriesRecording() {
return mSeriesRecording;
}
/**
* Sets the series recording.
*/
public void setSeriesRecording(SeriesRecording seriesRecording) {
mSeriesRecording = seriesRecording;
}
}
}