diff options
Diffstat (limited to 'src/com/android/tv/dvr/ui/list/ScheduleRow.java')
-rw-r--r-- | src/com/android/tv/dvr/ui/list/ScheduleRow.java | 111 |
1 files changed, 43 insertions, 68 deletions
diff --git a/src/com/android/tv/dvr/ui/list/ScheduleRow.java b/src/com/android/tv/dvr/ui/list/ScheduleRow.java index 91ba393a..b739c18f 100644 --- a/src/com/android/tv/dvr/ui/list/ScheduleRow.java +++ b/src/com/android/tv/dvr/ui/list/ScheduleRow.java @@ -18,14 +18,11 @@ package com.android.tv.dvr.ui.list; import android.content.Context; import android.support.annotation.Nullable; - import com.android.tv.common.SoftPreconditions; import com.android.tv.dvr.data.ScheduledRecording; import com.android.tv.dvr.ui.DvrUiHelper; -/** - * A class for schedule recording row. - */ +/** A class for schedule recording row. */ class ScheduleRow { private final SchedulesHeaderRow mHeaderRow; @Nullable private ScheduledRecording mSchedule; @@ -37,113 +34,89 @@ class ScheduleRow { mHeaderRow = headerRow; } - /** - * Gets which {@link SchedulesHeaderRow} this schedule row belongs to. - */ + /** Gets which {@link SchedulesHeaderRow} this schedule row belongs to. */ public SchedulesHeaderRow getHeaderRow() { return mHeaderRow; } - /** - * Returns the recording schedule. - */ + /** Returns the recording schedule. */ @Nullable public ScheduledRecording getSchedule() { return mSchedule; } - /** - * Checks if the stop recording has been requested or not. - */ + /** Checks if the stop recording has been requested or not. */ public boolean isStopRecordingRequested() { return mStopRecordingRequested; } - /** - * Sets the flag of stop recording request. - */ + /** Sets the flag of stop recording request. */ public void setStopRecordingRequested(boolean stopRecordingRequested) { SoftPreconditions.checkState(!mStartRecordingRequested); mStopRecordingRequested = stopRecordingRequested; } - /** - * Checks if the start recording has been requested or not. - */ + /** Checks if the start recording has been requested or not. */ public boolean isStartRecordingRequested() { return mStartRecordingRequested; } - /** - * Sets the flag of start recording request. - */ + /** Sets the flag of start recording request. */ public void setStartRecordingRequested(boolean startRecordingRequested) { SoftPreconditions.checkState(!mStopRecordingRequested); mStartRecordingRequested = startRecordingRequested; } - /** - * Sets the recording schedule. - */ + /** Sets the recording schedule. */ public void setSchedule(@Nullable ScheduledRecording schedule) { mSchedule = schedule; } - /** - * Returns the channel ID. - */ + /** Returns the channel ID. */ public long getChannelId() { return mSchedule != null ? mSchedule.getChannelId() : -1; } - /** - * Returns the start time. - */ + /** Returns the start time. */ public long getStartTimeMs() { return mSchedule != null ? mSchedule.getStartTimeMs() : -1; } - /** - * Returns the end time. - */ + /** Returns the end time. */ public long getEndTimeMs() { return mSchedule != null ? mSchedule.getEndTimeMs() : -1; } - /** - * Returns the duration. - */ + /** Returns the duration. */ public final long getDuration() { return getEndTimeMs() - getStartTimeMs(); } - /** - * Checks if the program is on air. - */ + /** Checks if the program is on air. */ public final boolean isOnAir() { long currentTimeMs = System.currentTimeMillis(); return getStartTimeMs() <= currentTimeMs && getEndTimeMs() > currentTimeMs; } - /** - * Checks if the schedule is not started. - */ + /** Checks if the schedule is not started. */ public final boolean isRecordingNotStarted() { return mSchedule != null && mSchedule.getState() == ScheduledRecording.STATE_RECORDING_NOT_STARTED; } - /** - * Checks if the schedule is in progress. - */ + /** Checks if the schedule is in progress. */ public final boolean isRecordingInProgress() { return mSchedule != null && mSchedule.getState() == ScheduledRecording.STATE_RECORDING_IN_PROGRESS; } - /** - * Checks if the schedule has been canceled or not. - */ + /** Checks if the schedule is failed. */ + public final boolean isRecordingFailed() { + return mSchedule != null + && mSchedule.getState() == ScheduledRecording.STATE_RECORDING_FAILED; + } + + /** Checks if the schedule has been canceled or not. */ public final boolean isScheduleCanceled() { return mSchedule != null && mSchedule.getState() == ScheduledRecording.STATE_RECORDING_CANCELED; @@ -152,28 +125,29 @@ class ScheduleRow { public boolean isRecordingFinished() { return mSchedule != null && (mSchedule.getState() == ScheduledRecording.STATE_RECORDING_FAILED - || mSchedule.getState() == ScheduledRecording.STATE_RECORDING_CLIPPED - || mSchedule.getState() == ScheduledRecording.STATE_RECORDING_FINISHED); + || mSchedule.getState() == ScheduledRecording.STATE_RECORDING_CLIPPED + || mSchedule.getState() == ScheduledRecording.STATE_RECORDING_FINISHED); } - /** - * Creates and returns the new schedule with the existing information. - */ + public boolean hasRecordedProgram() { + return mSchedule != null + && mSchedule.getRecordedProgramId() != null + && mSchedule.getState() == ScheduledRecording.STATE_RECORDING_FINISHED; + } + + /** Creates and returns the new schedule with the existing information. */ public ScheduledRecording.Builder createNewScheduleBuilder() { return mSchedule != null ? ScheduledRecording.buildFrom(mSchedule) : null; } - /** - * Returns the program title with episode number. - */ + /** Returns the program title with episode number. */ public String getProgramTitleWithEpisodeNumber(Context context) { - return mSchedule != null ? DvrUiHelper.getStyledTitleWithEpisodeNumber(context, - mSchedule, 0).toString() : null; + return mSchedule != null + ? DvrUiHelper.getStyledTitleWithEpisodeNumber(context, mSchedule, 0).toString() + : null; } - /** - * Returns the program title including the season/episode number. - */ + /** Returns the program title including the season/episode number. */ public String getEpisodeDisplayTitle(Context context) { return mSchedule != null ? mSchedule.getEpisodeDisplayTitle(context) : null; } @@ -181,15 +155,16 @@ class ScheduleRow { @Override public String toString() { return getClass().getSimpleName() - + "(schedule=" + mSchedule - + ",stopRecordingRequested=" + mStopRecordingRequested - + ",startRecordingRequested=" + mStartRecordingRequested + + "(schedule=" + + mSchedule + + ",stopRecordingRequested=" + + mStopRecordingRequested + + ",startRecordingRequested=" + + mStartRecordingRequested + ")"; } - /** - * Checks if the {@code schedule} is for the program or channel. - */ + /** Checks if the {@code schedule} is for the program or channel. */ public boolean matchSchedule(ScheduledRecording schedule) { if (mSchedule == null) { return false; |