public final class Program implements Comparable


A convenience class to access TvContractCompat.Programs entries in the system content provider.

This class makes it easy to insert or retrieve a program from the system content provider, which is defined in TvContractCompat.

Usage example when inserting a program:

Program program = new Program.Builder()
        .setChannelId(channel.getId())
        .setTitle("Program Title")
        .setDescription("Program Description")
        .setPosterArtUri(Uri.parse("http://example.com/poster_art.png"))
        // Set more attributes...
        .build();
Uri programUri = getContentResolver().insert(Programs.CONTENT_URI, program.toContentValues());

Usage example when retrieving a program:

Program program;
try (Cursor cursor = resolver.query(programUri, null, null, null, null)) {
    if (cursor != null && cursor.getCount() != 0) {
        cursor.moveToNext();
        program = Program.fromCursor(cursor);
    }
}

Usage example when updating an existing program:

Program updatedProgram = new Program.Builder(program)
        .setEndTimeUtcMillis(newProgramEndTime)
        .build();
getContentResolver().update(TvContractCompat.buildProgramUri(updatedProgram.getId()),
        updatedProgram.toContentValues(), null, null);

Usage example when deleting a program:

getContentResolver().delete(TvContractCompat.buildProgramUri(existingProgram.getId()),
        null, null);

Summary

Nested types

public class Program.Builder

This Builder class simplifies the creation of a Program object.

Public methods

compareTo

Added in 1.1.0-alpha02
public int compareTo(@NonNull Program other)
Parameters
@NonNull Program other

The program you're comparing to.

Returns
int

The chronological order of the programs.

equals

public boolean equals(Object other)

fromCursor

Added in 1.1.0-alpha02
public static Program fromCursor(Cursor cursor)

Creates a Program object from a cursor including the fields defined in Programs.

Parameters
Cursor cursor

A row from the TV Input Framework database.

Returns
Program

A Program with the values taken from the cursor.

getAudioLanguages

Added in 1.1.0-alpha02
public String[] getAudioLanguages()
Returns
String[]

The audio languages for the program.

getBroadcastGenres

Added in 1.1.0-alpha02
public String[] getBroadcastGenres()
Returns
String[]

The value of COLUMN_BROADCAST_GENRE for the program.

getCanonicalGenres

Added in 1.1.0-alpha02
public String[] getCanonicalGenres()
Returns
String[]

The canonical genre for the program.

getChannelId

Added in 1.1.0-alpha02
public long getChannelId()
Returns
long

The value of COLUMN_CHANNEL_ID for the program.

getContentRatings

Added in 1.1.0-alpha02
public TvContentRating[] getContentRatings()
Returns
TvContentRating[]

The content rating for the program.

getDescription

Added in 1.1.0-alpha02
public String getDescription()
Returns
String

The short description for the program.

getEndTimeUtcMillis

Added in 1.1.0-alpha02
public long getEndTimeUtcMillis()
Returns
long

The value of COLUMN_END_TIME_UTC_MILLIS for the program.

getEpisodeNumber

Added in 1.1.0-alpha02
public String getEpisodeNumber()
Returns
String

The episode display number for the program.

getEpisodeTitle

Added in 1.1.0-alpha02
public String getEpisodeTitle()
Returns
String

The episode title for the program.

getEventId

Added in 1.1.0-alpha02
public int getEventId()

Returns the value of COLUMN_EVENT_ID for the program.

No-op on devices prior to R.

getGlobalContentId

Added in 1.1.0-alpha02
public @Nullable String getGlobalContentId()

Returns the value of COLUMN_GLOBAL_CONTENT_ID for the program.

No-op on devices prior to R.

getId

Added in 1.1.0-alpha02
public long getId()
Returns
long

The ID for the program.

See also
_ID

getInternalProviderDataByteArray

Added in 1.1.0-alpha02
public byte[] getInternalProviderDataByteArray()
Returns
byte[]

The internal provider data for the program.

getInternalProviderFlag1

Added in 1.1.0-alpha02
public Long getInternalProviderFlag1()
Returns
Long

The first internal provider flag for the program.

getInternalProviderFlag2

Added in 1.1.0-alpha02
public Long getInternalProviderFlag2()
Returns
Long

The second internal provider flag for the program.

getInternalProviderFlag3

Added in 1.1.0-alpha02
public Long getInternalProviderFlag3()
Returns
Long

The third internal provider flag for the program.

getInternalProviderFlag4

Added in 1.1.0-alpha02
public Long getInternalProviderFlag4()
Returns
Long

The forth internal provider flag for the program.

getLongDescription

Added in 1.1.0-alpha02
public String getLongDescription()
Returns
String

The long description for the program.

getPosterArtUri

Added in 1.1.0-alpha02
public Uri getPosterArtUri()
Returns
Uri

The poster art URI for the program.

getReviewRating

Added in 1.1.0-alpha02
public String getReviewRating()
Returns
String

The review rating for the program.

getReviewRatingStyle

Added in 1.1.0-alpha02
public int getReviewRatingStyle()
Returns
int

The review rating style for the program.

getSeasonNumber

Added in 1.1.0-alpha02
public String getSeasonNumber()
Returns
String

The season display number for the program.

getSeasonTitle

Added in 1.1.0-alpha02
public String getSeasonTitle()
Returns
String

The season title for the program.

getSeriesId

Added in 1.1.0-alpha02
public @Nullable String getSeriesId()
Returns
@Nullable String

The series ID for the program.

See also
COLUMN_SERIES_ID

getStartTimeUtcMillis

Added in 1.1.0-alpha02
public long getStartTimeUtcMillis()
Returns
long

The value of COLUMN_START_TIME_UTC_MILLIS for the program.

getThumbnailUri

Added in 1.1.0-alpha02
public Uri getThumbnailUri()
Returns
Uri

The thumbnail URI for the program.

getTitle

Added in 1.1.0-alpha02
public String getTitle()
Returns
String

The title for the program.

See also
COLUMN_TITLE

getVideoHeight

Added in 1.1.0-alpha02
public int getVideoHeight()
Returns
int

The video height for the program.

getVideoWidth

Added in 1.1.0-alpha02
public int getVideoWidth()
Returns
int

The video width for the program.

hashCode

public int hashCode()

isRecordingProhibited

Added in 1.1.0-alpha02
public boolean isRecordingProhibited()
Returns
boolean

The value of COLUMN_RECORDING_PROHIBITED for the program.

isSearchable

Added in 1.1.0-alpha02
public boolean isSearchable()
Returns
boolean

Whether the program is searchable or not.

toContentValues

Added in 1.1.0-alpha02
public ContentValues toContentValues()
Returns
ContentValues

The fields of the Program in the ContentValues format to be easily inserted into the TV Input Framework database.

toString

public String toString()