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

int
boolean
equals(Object other)
static Program

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

String[]
long
long
int

Returns the value of COLUMN_EVENT_ID for the program.

@Nullable String

Returns the value of COLUMN_GLOBAL_CONTENT_ID for the program.

long
int
boolean
ContentValues
String

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.

getBroadcastGenres

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

The value of COLUMN_BROADCAST_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.

getEndTimeUtcMillis

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

The value of COLUMN_END_TIME_UTC_MILLIS 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.

getStartTimeUtcMillis

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

The value of COLUMN_START_TIME_UTC_MILLIS 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.

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()