Bump tvprovider to 1.1.0-beta01

Test: None
Bug: 404632939
Change-Id: I0f5ed7cf48572127215cb5b6958caa5be84dfb78
diff --git a/libraryversions.toml b/libraryversions.toml
index 48ecae3..14f065f 100644
--- a/libraryversions.toml
+++ b/libraryversions.toml
@@ -154,7 +154,7 @@
 TRACING_PERFETTO = "1.0.0"
 TRANSITION = "1.7.0-alpha01"
 TV = "1.0.0-alpha12"
-TVPROVIDER = "1.1.0-alpha02"
+TVPROVIDER = "1.1.0-beta01"
 TV_MATERIAL = "1.1.0-alpha01"
 VECTORDRAWABLE = "1.2.0"
 VECTORDRAWABLE_ANIMATED = "1.2.0"
diff --git a/tvprovider/tvprovider/api/1.1.0-beta01.txt b/tvprovider/tvprovider/api/1.1.0-beta01.txt
new file mode 100644
index 0000000..da225db
--- /dev/null
+++ b/tvprovider/tvprovider/api/1.1.0-beta01.txt
@@ -0,0 +1,833 @@
+// Signature format: 4.0
+package androidx.tvprovider.media.tv {
+
+  public final class Channel {
+    method public static androidx.tvprovider.media.tv.Channel! fromCursor(android.database.Cursor!);
+    method public int getAppLinkColor();
+    method public android.net.Uri! getAppLinkIconUri();
+    method public android.content.Intent! getAppLinkIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getAppLinkIntentUri();
+    method public android.net.Uri! getAppLinkPosterArtUri();
+    method public String! getAppLinkText();
+    method public int getConfigurationDisplayOrder();
+    method public String! getDescription();
+    method public String! getDisplayName();
+    method public String! getDisplayNumber();
+    method public String? getGlobalContentId();
+    method public long getId();
+    method public String! getInputId();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method public String! getNetworkAffiliation();
+    method public int getOriginalNetworkId();
+    method public String! getPackageName();
+    method public int getServiceId();
+    method public String! getServiceType();
+    method public String! getSystemChannelKey();
+    method public int getTransportStreamId();
+    method public String! getType();
+    method public String! getVideoFormat();
+    method public boolean isBrowsable();
+    method public boolean isLocked();
+    method public boolean isSearchable();
+    method public boolean isTransient();
+    method public android.content.ContentValues! toContentValues();
+  }
+
+  public static final class Channel.Builder {
+    ctor public Channel.Builder();
+    ctor public Channel.Builder(androidx.tvprovider.media.tv.Channel!);
+    method public androidx.tvprovider.media.tv.Channel! build();
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkColor(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkIconUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkText(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setConfigurationDisplayOrder(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setDisplayName(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setDisplayNumber(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder setGlobalContentId(String);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInputId(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderData(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setNetworkAffiliation(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setOriginalNetworkId(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setServiceId(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setServiceType(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setSystemChannelKey(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setTransient(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setTransportStreamId(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setType(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setVideoFormat(String!);
+  }
+
+  @WorkerThread public class ChannelLogoUtils {
+    ctor @Deprecated public ChannelLogoUtils();
+    method @WorkerThread public static android.graphics.Bitmap? loadChannelLogo(android.content.Context, long);
+    method @WorkerThread public static boolean storeChannelLogo(android.content.Context, long, android.graphics.Bitmap);
+    method public static boolean storeChannelLogo(android.content.Context, long, android.net.Uri);
+  }
+
+  public class PreviewChannel {
+    method public static androidx.tvprovider.media.tv.PreviewChannel? fromCursor(android.database.Cursor!);
+    method public android.content.Intent! getAppLinkIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getAppLinkIntentUri();
+    method public CharSequence! getDescription();
+    method public CharSequence! getDisplayName();
+    method public long getId();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method @WorkerThread public android.graphics.Bitmap! getLogo(android.content.Context!);
+    method public String! getPackageName();
+    method public String! getType();
+    method public boolean hasAnyUpdatedValues(androidx.tvprovider.media.tv.PreviewChannel!);
+    method public boolean isBrowsable();
+  }
+
+  public static final class PreviewChannel.Builder {
+    ctor public PreviewChannel.Builder();
+    ctor public PreviewChannel.Builder(androidx.tvprovider.media.tv.PreviewChannel!);
+    method public androidx.tvprovider.media.tv.PreviewChannel! build();
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setAppLinkIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setAppLinkIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder setDescription(CharSequence?);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setDisplayName(CharSequence!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setLogo(android.graphics.Bitmap);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setLogo(android.net.Uri);
+  }
+
+  @WorkerThread public class PreviewChannelHelper {
+    ctor public PreviewChannelHelper(android.content.Context!);
+    ctor public PreviewChannelHelper(android.content.Context!, int, int);
+    method public void deletePreviewChannel(long);
+    method public void deletePreviewProgram(long);
+    method protected android.graphics.Bitmap! downloadBitmap(android.net.Uri) throws java.io.IOException;
+    method public java.util.List<androidx.tvprovider.media.tv.PreviewChannel!>! getAllChannels();
+    method public androidx.tvprovider.media.tv.PreviewChannel? getPreviewChannel(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram? getPreviewProgram(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram? getWatchNextProgram(long);
+    method public long publishChannel(androidx.tvprovider.media.tv.PreviewChannel) throws java.io.IOException;
+    method public long publishDefaultChannel(androidx.tvprovider.media.tv.PreviewChannel) throws java.io.IOException;
+    method public long publishPreviewProgram(androidx.tvprovider.media.tv.PreviewProgram);
+    method public long publishWatchNextProgram(androidx.tvprovider.media.tv.WatchNextProgram);
+    method public void updatePreviewChannel(long, androidx.tvprovider.media.tv.PreviewChannel) throws java.io.IOException;
+    method public void updatePreviewProgram(long, androidx.tvprovider.media.tv.PreviewProgram);
+    method public void updateWatchNextProgram(androidx.tvprovider.media.tv.WatchNextProgram, long);
+  }
+
+  public final class PreviewProgram {
+    method public static androidx.tvprovider.media.tv.PreviewProgram! fromCursor(android.database.Cursor!);
+    method public String![]! getAudioLanguages();
+    method public String! getAuthor();
+    method public int getAvailability();
+    method public String![]! getCanonicalGenres();
+    method public long getChannelId();
+    method public String! getContentId();
+    method public android.media.tv.TvContentRating![]! getContentRatings();
+    method public String! getDescription();
+    method public int getDurationMillis();
+    method public long getEndTimeUtcMillis();
+    method public String! getEpisodeNumber();
+    method public String! getEpisodeTitle();
+    method public String! getGenre();
+    method public long getId();
+    method public android.content.Intent! getIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getIntentUri();
+    method public long getInteractionCount();
+    method public int getInteractionType();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method public int getItemCount();
+    method public int getLastPlaybackPositionMillis();
+    method public String! getLogoContentDescription();
+    method public android.net.Uri! getLogoUri();
+    method public String! getLongDescription();
+    method public String! getOfferPrice();
+    method public int getPosterArtAspectRatio();
+    method public android.net.Uri! getPosterArtUri();
+    method public android.net.Uri! getPreviewAudioUri();
+    method public android.net.Uri! getPreviewVideoUri();
+    method public String! getReleaseDate();
+    method public String! getReviewRating();
+    method public int getReviewRatingStyle();
+    method public String! getSeasonNumber();
+    method public String! getSeasonTitle();
+    method public String? getSeriesId();
+    method public long getStartTimeUtcMillis();
+    method public String! getStartingPrice();
+    method public int getThumbnailAspectRatio();
+    method public android.net.Uri! getThumbnailUri();
+    method public String! getTitle();
+    method public int getTvSeriesItemType();
+    method public int getType();
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public int getWeight();
+    method public boolean hasAnyUpdatedValues(androidx.tvprovider.media.tv.PreviewProgram!);
+    method public boolean isBrowsable();
+    method public boolean isLive();
+    method public boolean isSearchable();
+    method public boolean isTransient();
+    method public android.content.ContentValues! toContentValues();
+    field public static final String![] PROJECTION;
+  }
+
+  public static final class PreviewProgram.Builder {
+    ctor public PreviewProgram.Builder();
+    ctor public PreviewProgram.Builder(androidx.tvprovider.media.tv.PreviewProgram!);
+    method public androidx.tvprovider.media.tv.PreviewProgram! build();
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setAudioLanguages(String![]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setAuthor(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setAvailability(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setCanonicalGenres(String![]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setChannelId(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setContentId(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setContentRatings(android.media.tv.TvContentRating![]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setDurationMillis(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEndTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEpisodeNumber(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEpisodeNumber(String!, int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEpisodeTitle(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setGenre(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setId(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInteractionCount(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInteractionType(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setItemCount(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLastPlaybackPositionMillis(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLive(boolean);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLogoContentDescription(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLogoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLongDescription(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setOfferPrice(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPosterArtAspectRatio(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPreviewAudioUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPreviewVideoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReleaseDate(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReleaseDate(java.util.Date!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReviewRating(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReviewRatingStyle(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSeasonNumber(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSeasonNumber(String!, int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSeasonTitle(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder setSeriesId(String?);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setStartTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setStartingPrice(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setThumbnailAspectRatio(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setThumbnailUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setTitle(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setTransient(boolean);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setTvSeriesItemType(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setType(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setVideoHeight(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setVideoWidth(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setWeight(int);
+  }
+
+  public final class Program implements java.lang.Comparable<androidx.tvprovider.media.tv.Program!> {
+    method public int compareTo(androidx.tvprovider.media.tv.Program);
+    method public static androidx.tvprovider.media.tv.Program! fromCursor(android.database.Cursor!);
+    method public String![]! getAudioLanguages();
+    method public String![]! getBroadcastGenres();
+    method public String![]! getCanonicalGenres();
+    method public long getChannelId();
+    method public android.media.tv.TvContentRating![]! getContentRatings();
+    method public String! getDescription();
+    method public long getEndTimeUtcMillis();
+    method public String! getEpisodeNumber();
+    method public String! getEpisodeTitle();
+    method public int getEventId();
+    method public String? getGlobalContentId();
+    method public long getId();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getLongDescription();
+    method public android.net.Uri! getPosterArtUri();
+    method public String! getReviewRating();
+    method public int getReviewRatingStyle();
+    method public String! getSeasonNumber();
+    method public String! getSeasonTitle();
+    method public String? getSeriesId();
+    method public long getStartTimeUtcMillis();
+    method public android.net.Uri! getThumbnailUri();
+    method public String! getTitle();
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public boolean isRecordingProhibited();
+    method public boolean isSearchable();
+    method public android.content.ContentValues! toContentValues();
+  }
+
+  public static class Program.Builder {
+    ctor public Program.Builder();
+    ctor public Program.Builder(androidx.tvprovider.media.tv.Program!);
+    method public androidx.tvprovider.media.tv.Program! build();
+    method public androidx.tvprovider.media.tv.Program.Builder! setAudioLanguages(String![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setBroadcastGenres(String![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setCanonicalGenres(String![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setChannelId(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setContentRatings(android.media.tv.TvContentRating![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEndTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEpisodeNumber(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEpisodeNumber(String!, int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEpisodeTitle(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder setEventId(int);
+    method public androidx.tvprovider.media.tv.Program.Builder setGlobalContentId(String?);
+    method public androidx.tvprovider.media.tv.Program.Builder! setId(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setLongDescription(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setRecordingProhibited(boolean);
+    method public androidx.tvprovider.media.tv.Program.Builder! setReviewRating(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setReviewRatingStyle(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSeasonNumber(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSeasonNumber(String!, int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSeasonTitle(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder setSeriesId(String?);
+    method public androidx.tvprovider.media.tv.Program.Builder! setStartTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setThumbnailUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setTitle(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setVideoHeight(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setVideoWidth(int);
+  }
+
+  public final class TvContractCompat {
+    method public static android.net.Uri! buildChannelLogoUri(android.net.Uri!);
+    method public static android.net.Uri! buildChannelLogoUri(long);
+    method public static android.net.Uri! buildChannelUri(long);
+    method public static android.net.Uri! buildChannelUriForPassthroughInput(String!);
+    method public static android.net.Uri! buildChannelsUriForInput(String?);
+    method public static String! buildInputId(android.content.ComponentName!);
+    method public static android.net.Uri! buildPreviewProgramUri(long);
+    method public static android.net.Uri! buildPreviewProgramsUriForChannel(android.net.Uri!);
+    method public static android.net.Uri! buildPreviewProgramsUriForChannel(long);
+    method public static android.net.Uri! buildProgramUri(long);
+    method public static android.net.Uri! buildProgramsUriForChannel(android.net.Uri!);
+    method public static android.net.Uri! buildProgramsUriForChannel(android.net.Uri!, long, long);
+    method public static android.net.Uri! buildProgramsUriForChannel(long);
+    method public static android.net.Uri! buildProgramsUriForChannel(long, long, long);
+    method public static android.net.Uri! buildRecordedProgramUri(long);
+    method public static android.net.Uri! buildWatchNextProgramUri(long);
+    method public static boolean isChannelUri(android.net.Uri!);
+    method public static boolean isChannelUriForPassthroughInput(android.net.Uri!);
+    method public static boolean isChannelUriForTunerInput(android.net.Uri!);
+    method public static boolean isProgramUri(android.net.Uri!);
+    method public static boolean isRecordedProgramUri(android.net.Uri!);
+    method public static void requestChannelBrowsable(android.content.Context!, long);
+    field public static final String ACTION_INITIALIZE_PROGRAMS = "android.media.tv.action.INITIALIZE_PROGRAMS";
+    field public static final String ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT = "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT";
+    field public static final String ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String ACTION_REQUEST_CHANNEL_BROWSABLE = "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE";
+    field public static final String ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String AUTHORITY = "android.media.tv";
+    field public static final String EXTRA_CHANNEL_ID = "android.media.tv.extra.CHANNEL_ID";
+    field public static final String EXTRA_PREVIEW_PROGRAM_ID = "android.media.tv.extra.PREVIEW_PROGRAM_ID";
+    field public static final String EXTRA_WATCH_NEXT_PROGRAM_ID = "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID";
+  }
+
+  public static interface TvContractCompat.BaseTvColumns extends android.provider.BaseColumns {
+    field public static final String COLUMN_PACKAGE_NAME = "package_name";
+  }
+
+  public static final class TvContractCompat.Channels implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns {
+    method public static String? getVideoResolution(String!);
+    field public static final String COLUMN_APP_LINK_COLOR = "app_link_color";
+    field public static final String COLUMN_APP_LINK_ICON_URI = "app_link_icon_uri";
+    field public static final String COLUMN_APP_LINK_INTENT_URI = "app_link_intent_uri";
+    field public static final String COLUMN_APP_LINK_POSTER_ART_URI = "app_link_poster_art_uri";
+    field public static final String COLUMN_APP_LINK_TEXT = "app_link_text";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CONFIGURATION_DISPLAY_ORDER = "configuration_display_order";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_DISPLAY_NAME = "display_name";
+    field public static final String COLUMN_DISPLAY_NUMBER = "display_number";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_LOCKED = "locked";
+    field public static final String COLUMN_NETWORK_AFFILIATION = "network_affiliation";
+    field public static final String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SERVICE_ID = "service_id";
+    field public static final String COLUMN_SERVICE_TYPE = "service_type";
+    field public static final String COLUMN_SYSTEM_CHANNEL_KEY = "system_channel_key";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_FORMAT = "video_format";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/channel";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO";
+    field public static final String SERVICE_TYPE_AUDIO_VIDEO = "SERVICE_TYPE_AUDIO_VIDEO";
+    field public static final String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER";
+    field public static final String TYPE_1SEG = "TYPE_1SEG";
+    field public static final String TYPE_ATSC_C = "TYPE_ATSC_C";
+    field public static final String TYPE_ATSC_M_H = "TYPE_ATSC_M_H";
+    field public static final String TYPE_ATSC_T = "TYPE_ATSC_T";
+    field public static final String TYPE_CMMB = "TYPE_CMMB";
+    field public static final String TYPE_DTMB = "TYPE_DTMB";
+    field public static final String TYPE_DVB_C = "TYPE_DVB_C";
+    field public static final String TYPE_DVB_C2 = "TYPE_DVB_C2";
+    field public static final String TYPE_DVB_H = "TYPE_DVB_H";
+    field public static final String TYPE_DVB_S = "TYPE_DVB_S";
+    field public static final String TYPE_DVB_S2 = "TYPE_DVB_S2";
+    field public static final String TYPE_DVB_SH = "TYPE_DVB_SH";
+    field public static final String TYPE_DVB_T = "TYPE_DVB_T";
+    field public static final String TYPE_DVB_T2 = "TYPE_DVB_T2";
+    field public static final String TYPE_ISDB_C = "TYPE_ISDB_C";
+    field public static final String TYPE_ISDB_S = "TYPE_ISDB_S";
+    field public static final String TYPE_ISDB_T = "TYPE_ISDB_T";
+    field public static final String TYPE_ISDB_TB = "TYPE_ISDB_TB";
+    field public static final String TYPE_NTSC = "TYPE_NTSC";
+    field public static final String TYPE_OTHER = "TYPE_OTHER";
+    field public static final String TYPE_PAL = "TYPE_PAL";
+    field public static final String TYPE_PREVIEW = "TYPE_PREVIEW";
+    field public static final String TYPE_SECAM = "TYPE_SECAM";
+    field public static final String TYPE_S_DMB = "TYPE_S_DMB";
+    field public static final String TYPE_T_DMB = "TYPE_T_DMB";
+    field public static final String VIDEO_FORMAT_1080I = "VIDEO_FORMAT_1080I";
+    field public static final String VIDEO_FORMAT_1080P = "VIDEO_FORMAT_1080P";
+    field public static final String VIDEO_FORMAT_2160P = "VIDEO_FORMAT_2160P";
+    field public static final String VIDEO_FORMAT_240P = "VIDEO_FORMAT_240P";
+    field public static final String VIDEO_FORMAT_360P = "VIDEO_FORMAT_360P";
+    field public static final String VIDEO_FORMAT_4320P = "VIDEO_FORMAT_4320P";
+    field public static final String VIDEO_FORMAT_480I = "VIDEO_FORMAT_480I";
+    field public static final String VIDEO_FORMAT_480P = "VIDEO_FORMAT_480P";
+    field public static final String VIDEO_FORMAT_576I = "VIDEO_FORMAT_576I";
+    field public static final String VIDEO_FORMAT_576P = "VIDEO_FORMAT_576P";
+    field public static final String VIDEO_FORMAT_720P = "VIDEO_FORMAT_720P";
+    field public static final String VIDEO_RESOLUTION_ED = "VIDEO_RESOLUTION_ED";
+    field public static final String VIDEO_RESOLUTION_FHD = "VIDEO_RESOLUTION_FHD";
+    field public static final String VIDEO_RESOLUTION_HD = "VIDEO_RESOLUTION_HD";
+    field public static final String VIDEO_RESOLUTION_SD = "VIDEO_RESOLUTION_SD";
+    field public static final String VIDEO_RESOLUTION_UHD = "VIDEO_RESOLUTION_UHD";
+  }
+
+  public static final class TvContractCompat.Channels.Logo {
+    field public static final String CONTENT_DIRECTORY = "logo";
+  }
+
+  public static interface TvContractCompat.PreviewProgramColumns {
+    field public static final int ASPECT_RATIO_16_9 = 0; // 0x0
+    field public static final int ASPECT_RATIO_1_1 = 3; // 0x3
+    field public static final int ASPECT_RATIO_2_3 = 4; // 0x4
+    field public static final int ASPECT_RATIO_3_2 = 1; // 0x1
+    field public static final int ASPECT_RATIO_3_4 = 6; // 0x6
+    field public static final int ASPECT_RATIO_4_3 = 2; // 0x2
+    field public static final int ASPECT_RATIO_MOVIE_POSTER = 5; // 0x5
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_FREE = 4; // 0x4
+    field public static final int AVAILABILITY_FREE_WITH_ADS = 5; // 0x5
+    field public static final int AVAILABILITY_FREE_WITH_SUBSCRIPTION = 1; // 0x1
+    field public static final int AVAILABILITY_PAID_CONTENT = 2; // 0x2
+    field public static final int AVAILABILITY_PURCHASED = 3; // 0x3
+    field public static final String COLUMN_AUTHOR = "author";
+    field public static final String COLUMN_AVAILABILITY = "availability";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CONTENT_ID = "content_id";
+    field public static final String COLUMN_DURATION_MILLIS = "duration_millis";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_GENRE = "genre";
+    field public static final String COLUMN_INTENT_URI = "intent_uri";
+    field public static final String COLUMN_INTERACTION_COUNT = "interaction_count";
+    field public static final String COLUMN_INTERACTION_TYPE = "interaction_type";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_ITEM_COUNT = "item_count";
+    field public static final String COLUMN_LAST_PLAYBACK_POSITION_MILLIS = "last_playback_position_millis";
+    field public static final String COLUMN_LIVE = "live";
+    field public static final String COLUMN_LOGO_CONTENT_DESCRIPTION = "logo_content_description";
+    field public static final String COLUMN_LOGO_URI = "logo_uri";
+    field public static final String COLUMN_OFFER_PRICE = "offer_price";
+    field public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio";
+    field public static final String COLUMN_PREVIEW_AUDIO_URI = "preview_audio_uri";
+    field public static final String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri";
+    field public static final String COLUMN_RELEASE_DATE = "release_date";
+    field public static final String COLUMN_STARTING_PRICE = "starting_price";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TV_SERIES_ITEM_TYPE = "tv_series_item_type";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final int INTERACTION_TYPE_FANS = 3; // 0x3
+    field public static final int INTERACTION_TYPE_FOLLOWERS = 2; // 0x2
+    field public static final int INTERACTION_TYPE_LIKES = 4; // 0x4
+    field public static final int INTERACTION_TYPE_LISTENS = 1; // 0x1
+    field public static final int INTERACTION_TYPE_THUMBS = 5; // 0x5
+    field public static final int INTERACTION_TYPE_VIEWERS = 6; // 0x6
+    field public static final int INTERACTION_TYPE_VIEWS = 0; // 0x0
+    field public static final int TV_SERIES_ITEM_TYPE_CHAPTER = 1; // 0x1
+    field public static final int TV_SERIES_ITEM_TYPE_EPISODE = 0; // 0x0
+    field public static final int TYPE_ALBUM = 8; // 0x8
+    field public static final int TYPE_ARTIST = 9; // 0x9
+    field public static final int TYPE_CHANNEL = 6; // 0x6
+    field public static final int TYPE_CLIP = 4; // 0x4
+    field public static final int TYPE_EVENT = 5; // 0x5
+    field public static final int TYPE_GAME = 12; // 0xc
+    field public static final int TYPE_MOVIE = 0; // 0x0
+    field public static final int TYPE_PLAYLIST = 10; // 0xa
+    field public static final int TYPE_STATION = 11; // 0xb
+    field public static final int TYPE_TRACK = 7; // 0x7
+    field public static final int TYPE_TV_EPISODE = 3; // 0x3
+    field public static final int TYPE_TV_SEASON = 2; // 0x2
+    field public static final int TYPE_TV_SERIES = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.PreviewPrograms implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns androidx.tvprovider.media.tv.TvContractCompat.PreviewProgramColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WEIGHT = "weight";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/preview_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/preview_program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.Programs implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field @Deprecated public static final String COLUMN_EPISODE_NUMBER = "episode_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_EVENT_ID = "event_id";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_PROHIBITED = "recording_prohibited";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field @Deprecated public static final String COLUMN_SEASON_NUMBER = "season_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.Programs.Genres {
+    method public static String![]! decode(String);
+    method public static String! encode(java.lang.String!...);
+    method public static boolean isCanonical(String!);
+    field public static final String ANIMAL_WILDLIFE = "ANIMAL_WILDLIFE";
+    field public static final String ARTS = "ARTS";
+    field public static final String COMEDY = "COMEDY";
+    field public static final String DRAMA = "DRAMA";
+    field public static final String EDUCATION = "EDUCATION";
+    field public static final String ENTERTAINMENT = "ENTERTAINMENT";
+    field public static final String FAMILY_KIDS = "FAMILY_KIDS";
+    field public static final String GAMING = "GAMING";
+    field public static final String LIFE_STYLE = "LIFE_STYLE";
+    field public static final String MOVIES = "MOVIES";
+    field public static final String MUSIC = "MUSIC";
+    field public static final String NEWS = "NEWS";
+    field public static final String PREMIER = "PREMIER";
+    field public static final String SHOPPING = "SHOPPING";
+    field public static final String SPORTS = "SPORTS";
+    field public static final String TECH_SCIENCE = "TECH_SCIENCE";
+    field public static final String TRAVEL = "TRAVEL";
+  }
+
+  public static final class TvContractCompat.RecordedPrograms implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_DATA_BYTES = "recording_data_bytes";
+    field public static final String COLUMN_RECORDING_DATA_URI = "recording_data_uri";
+    field public static final String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis";
+    field public static final String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/recorded_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/recorded_program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.WatchNextPrograms implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns androidx.tvprovider.media.tv.TvContractCompat.PreviewProgramColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS = "last_engagement_time_utc_millis";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WATCH_NEXT_TYPE = "watch_next_type";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watch_next_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watch_next_program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_CONTINUE = 0; // 0x0
+    field public static final int WATCH_NEXT_TYPE_NEW = 2; // 0x2
+    field public static final int WATCH_NEXT_TYPE_NEXT = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_WATCHLIST = 3; // 0x3
+  }
+
+  public final class WatchNextProgram {
+    method public static androidx.tvprovider.media.tv.WatchNextProgram! fromCursor(android.database.Cursor!);
+    method public String![]! getAudioLanguages();
+    method public String! getAuthor();
+    method public int getAvailability();
+    method public String![]! getCanonicalGenres();
+    method public String! getContentId();
+    method public android.media.tv.TvContentRating![]! getContentRatings();
+    method public String! getDescription();
+    method public int getDurationMillis();
+    method public long getEndTimeUtcMillis();
+    method public String! getEpisodeNumber();
+    method public String! getEpisodeTitle();
+    method public String! getGenre();
+    method public long getId();
+    method public android.content.Intent! getIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getIntentUri();
+    method public long getInteractionCount();
+    method public int getInteractionType();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method public int getItemCount();
+    method public long getLastEngagementTimeUtcMillis();
+    method public int getLastPlaybackPositionMillis();
+    method public String! getLogoContentDescription();
+    method public android.net.Uri! getLogoUri();
+    method public String! getLongDescription();
+    method public String! getOfferPrice();
+    method public int getPosterArtAspectRatio();
+    method public android.net.Uri! getPosterArtUri();
+    method public android.net.Uri! getPreviewAudioUri();
+    method public android.net.Uri! getPreviewVideoUri();
+    method public String! getReleaseDate();
+    method public String! getReviewRating();
+    method public int getReviewRatingStyle();
+    method public String! getSeasonNumber();
+    method public String! getSeasonTitle();
+    method public String? getSeriesId();
+    method public long getStartTimeUtcMillis();
+    method public String! getStartingPrice();
+    method public int getThumbnailAspectRatio();
+    method public android.net.Uri! getThumbnailUri();
+    method public String! getTitle();
+    method public int getTvSeriesItemType();
+    method public int getType();
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public int getWatchNextType();
+    method public boolean hasAnyUpdatedValues(androidx.tvprovider.media.tv.WatchNextProgram!);
+    method public boolean isBrowsable();
+    method public boolean isLive();
+    method public boolean isSearchable();
+    method public boolean isTransient();
+    method public android.content.ContentValues! toContentValues();
+    field public static final String![] PROJECTION;
+    field public static final int WATCH_NEXT_TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static final class WatchNextProgram.Builder {
+    ctor public WatchNextProgram.Builder();
+    ctor public WatchNextProgram.Builder(androidx.tvprovider.media.tv.WatchNextProgram!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram! build();
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setAudioLanguages(String![]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setAuthor(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setAvailability(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setCanonicalGenres(String![]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setContentId(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setContentRatings(android.media.tv.TvContentRating![]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setDurationMillis(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEndTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEpisodeNumber(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEpisodeNumber(String!, int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEpisodeTitle(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setGenre(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setId(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInteractionCount(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInteractionType(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setItemCount(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLastEngagementTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLastPlaybackPositionMillis(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLive(boolean);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLogoContentDescription(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLogoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLongDescription(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setOfferPrice(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPosterArtAspectRatio(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPreviewAudioUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPreviewVideoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReleaseDate(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReleaseDate(java.util.Date!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReviewRating(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReviewRatingStyle(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSeasonNumber(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSeasonNumber(String!, int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSeasonTitle(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder setSeriesId(String?);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setStartTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setStartingPrice(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setThumbnailAspectRatio(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setThumbnailUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setTitle(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setTransient(boolean);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setTvSeriesItemType(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setType(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setVideoHeight(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setVideoWidth(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setWatchNextType(int);
+  }
+
+}
+
diff --git a/tvprovider/tvprovider/api/res-1.1.0-beta01.txt b/tvprovider/tvprovider/api/res-1.1.0-beta01.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tvprovider/tvprovider/api/res-1.1.0-beta01.txt
diff --git a/tvprovider/tvprovider/api/restricted_1.1.0-beta01.txt b/tvprovider/tvprovider/api/restricted_1.1.0-beta01.txt
new file mode 100644
index 0000000..d958b3c
--- /dev/null
+++ b/tvprovider/tvprovider/api/restricted_1.1.0-beta01.txt
@@ -0,0 +1,902 @@
+// Signature format: 4.0
+package androidx.tvprovider.media.tv {
+
+  public final class Channel {
+    method public static androidx.tvprovider.media.tv.Channel! fromCursor(android.database.Cursor!);
+    method public int getAppLinkColor();
+    method public android.net.Uri! getAppLinkIconUri();
+    method public android.content.Intent! getAppLinkIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getAppLinkIntentUri();
+    method public android.net.Uri! getAppLinkPosterArtUri();
+    method public String! getAppLinkText();
+    method public int getConfigurationDisplayOrder();
+    method public String! getDescription();
+    method public String! getDisplayName();
+    method public String! getDisplayNumber();
+    method public String? getGlobalContentId();
+    method public long getId();
+    method public String! getInputId();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method public String! getNetworkAffiliation();
+    method public int getOriginalNetworkId();
+    method public String! getPackageName();
+    method public int getServiceId();
+    method @androidx.tvprovider.media.tv.TvContractCompat.Channels.ServiceType public String! getServiceType();
+    method public String! getSystemChannelKey();
+    method public int getTransportStreamId();
+    method @androidx.tvprovider.media.tv.TvContractCompat.Channels.Type public String! getType();
+    method @androidx.tvprovider.media.tv.TvContractCompat.Channels.VideoFormat public String! getVideoFormat();
+    method public boolean isBrowsable();
+    method public boolean isLocked();
+    method public boolean isSearchable();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public boolean isSystemApproved();
+    method public boolean isTransient();
+    method public android.content.ContentValues! toContentValues();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.ContentValues! toContentValues(boolean);
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String![]! PROJECTION;
+  }
+
+  public static final class Channel.Builder {
+    ctor public Channel.Builder();
+    ctor public Channel.Builder(androidx.tvprovider.media.tv.Channel!);
+    method public androidx.tvprovider.media.tv.Channel! build();
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkColor(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkIconUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setAppLinkText(String!);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.tvprovider.media.tv.Channel.Builder! setBrowsable(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setConfigurationDisplayOrder(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setDisplayName(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setDisplayNumber(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder setGlobalContentId(String);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInputId(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderData(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setInternalProviderId(String!);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.tvprovider.media.tv.Channel.Builder! setLocked(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setNetworkAffiliation(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setOriginalNetworkId(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setServiceId(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setServiceType(@androidx.tvprovider.media.tv.TvContractCompat.Channels.ServiceType String!);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.tvprovider.media.tv.Channel.Builder! setSystemApproved(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setSystemChannelKey(String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setTransient(boolean);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setTransportStreamId(int);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setType(@androidx.tvprovider.media.tv.TvContractCompat.Channels.Type String!);
+    method public androidx.tvprovider.media.tv.Channel.Builder! setVideoFormat(@androidx.tvprovider.media.tv.TvContractCompat.Channels.VideoFormat String!);
+  }
+
+  @WorkerThread public class ChannelLogoUtils {
+    ctor @Deprecated public ChannelLogoUtils();
+    method @WorkerThread public static android.graphics.Bitmap? loadChannelLogo(android.content.Context, long);
+    method @WorkerThread public static boolean storeChannelLogo(android.content.Context, long, android.graphics.Bitmap);
+    method public static boolean storeChannelLogo(android.content.Context, long, android.net.Uri);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class CollectionUtils {
+    method public static <T> T![]! concatAll(T![]!, T![]!...!);
+  }
+
+  public class PreviewChannel {
+    method public static androidx.tvprovider.media.tv.PreviewChannel? fromCursor(android.database.Cursor!);
+    method public android.content.Intent! getAppLinkIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getAppLinkIntentUri();
+    method public CharSequence! getDescription();
+    method public CharSequence! getDisplayName();
+    method public long getId();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method @WorkerThread public android.graphics.Bitmap! getLogo(android.content.Context!);
+    method public String! getPackageName();
+    method @androidx.tvprovider.media.tv.TvContractCompat.Channels.Type public String! getType();
+    method public boolean hasAnyUpdatedValues(androidx.tvprovider.media.tv.PreviewChannel!);
+    method public boolean isBrowsable();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.ContentValues! toContentValues();
+  }
+
+  public static final class PreviewChannel.Builder {
+    ctor public PreviewChannel.Builder();
+    ctor public PreviewChannel.Builder(androidx.tvprovider.media.tv.PreviewChannel!);
+    method public androidx.tvprovider.media.tv.PreviewChannel! build();
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setAppLinkIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setAppLinkIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder setDescription(CharSequence?);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setDisplayName(CharSequence!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setLogo(android.graphics.Bitmap);
+    method public androidx.tvprovider.media.tv.PreviewChannel.Builder! setLogo(android.net.Uri);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class PreviewChannel.Columns {
+    field public static final int COL_APP_LINK_INTENT_URI = 5; // 0x5
+    field public static final int COL_DESCRIPTION = 4; // 0x4
+    field public static final int COL_DISPLAY_NAME = 3; // 0x3
+    field public static final int COL_ID = 0; // 0x0
+    field public static final int COL_INTERNAL_PROVIDER_DATA = 7; // 0x7
+    field public static final int COL_INTERNAL_PROVIDER_FLAG1 = 8; // 0x8
+    field public static final int COL_INTERNAL_PROVIDER_FLAG2 = 9; // 0x9
+    field public static final int COL_INTERNAL_PROVIDER_FLAG3 = 10; // 0xa
+    field public static final int COL_INTERNAL_PROVIDER_FLAG4 = 11; // 0xb
+    field public static final int COL_INTERNAL_PROVIDER_ID = 6; // 0x6
+    field public static final int COL_PACKAGE_NAME = 1; // 0x1
+    field public static final int COL_TYPE = 2; // 0x2
+    field public static final String![]! PROJECTION;
+  }
+
+  @WorkerThread public class PreviewChannelHelper {
+    ctor public PreviewChannelHelper(android.content.Context!);
+    ctor public PreviewChannelHelper(android.content.Context!, int, int);
+    method public void deletePreviewChannel(long);
+    method public void deletePreviewProgram(long);
+    method protected android.graphics.Bitmap! downloadBitmap(android.net.Uri) throws java.io.IOException;
+    method public java.util.List<androidx.tvprovider.media.tv.PreviewChannel!>! getAllChannels();
+    method public androidx.tvprovider.media.tv.PreviewChannel? getPreviewChannel(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram? getPreviewProgram(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram? getWatchNextProgram(long);
+    method public long publishChannel(androidx.tvprovider.media.tv.PreviewChannel) throws java.io.IOException;
+    method public long publishDefaultChannel(androidx.tvprovider.media.tv.PreviewChannel) throws java.io.IOException;
+    method public long publishPreviewProgram(androidx.tvprovider.media.tv.PreviewProgram);
+    method public long publishWatchNextProgram(androidx.tvprovider.media.tv.WatchNextProgram);
+    method public void updatePreviewChannel(long, androidx.tvprovider.media.tv.PreviewChannel) throws java.io.IOException;
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected void updatePreviewChannelInternal(long, androidx.tvprovider.media.tv.PreviewChannel);
+    method public void updatePreviewProgram(long, androidx.tvprovider.media.tv.PreviewProgram);
+    method public void updateWatchNextProgram(androidx.tvprovider.media.tv.WatchNextProgram, long);
+  }
+
+  public final class PreviewProgram {
+    method public static androidx.tvprovider.media.tv.PreviewProgram! fromCursor(android.database.Cursor!);
+    method public String![]! getAudioLanguages();
+    method public String! getAuthor();
+    method public int getAvailability();
+    method public String![]! getCanonicalGenres();
+    method public long getChannelId();
+    method public String! getContentId();
+    method public android.media.tv.TvContentRating![]! getContentRatings();
+    method public String! getDescription();
+    method public int getDurationMillis();
+    method public long getEndTimeUtcMillis();
+    method public String! getEpisodeNumber();
+    method public String! getEpisodeTitle();
+    method public String! getGenre();
+    method public long getId();
+    method public android.content.Intent! getIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getIntentUri();
+    method public long getInteractionCount();
+    method public int getInteractionType();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method public int getItemCount();
+    method public int getLastPlaybackPositionMillis();
+    method public String! getLogoContentDescription();
+    method public android.net.Uri! getLogoUri();
+    method public String! getLongDescription();
+    method public String! getOfferPrice();
+    method public int getPosterArtAspectRatio();
+    method public android.net.Uri! getPosterArtUri();
+    method public android.net.Uri! getPreviewAudioUri();
+    method public android.net.Uri! getPreviewVideoUri();
+    method public String! getReleaseDate();
+    method public String! getReviewRating();
+    method public int getReviewRatingStyle();
+    method public String! getSeasonNumber();
+    method public String! getSeasonTitle();
+    method public String? getSeriesId();
+    method public long getStartTimeUtcMillis();
+    method public String! getStartingPrice();
+    method public int getThumbnailAspectRatio();
+    method public android.net.Uri! getThumbnailUri();
+    method public String! getTitle();
+    method public int getTvSeriesItemType();
+    method public int getType();
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public int getWeight();
+    method public boolean hasAnyUpdatedValues(androidx.tvprovider.media.tv.PreviewProgram!);
+    method public boolean isBrowsable();
+    method public boolean isLive();
+    method public boolean isSearchable();
+    method public boolean isTransient();
+    method public android.content.ContentValues! toContentValues();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.ContentValues! toContentValues(boolean);
+    field public static final String![] PROJECTION;
+  }
+
+  public static final class PreviewProgram.Builder {
+    ctor public PreviewProgram.Builder();
+    ctor public PreviewProgram.Builder(androidx.tvprovider.media.tv.PreviewProgram!);
+    method public androidx.tvprovider.media.tv.PreviewProgram! build();
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setAudioLanguages(String![]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setAuthor(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setAvailability(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setCanonicalGenres(String![]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setChannelId(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setContentId(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setContentRatings(android.media.tv.TvContentRating![]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setDurationMillis(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEndTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEpisodeNumber(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEpisodeNumber(String!, int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setEpisodeTitle(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setGenre(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setId(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInteractionCount(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInteractionType(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setItemCount(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLastPlaybackPositionMillis(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLive(boolean);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLogoContentDescription(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLogoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setLongDescription(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setOfferPrice(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPosterArtAspectRatio(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPreviewAudioUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setPreviewVideoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReleaseDate(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReleaseDate(java.util.Date!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReviewRating(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setReviewRatingStyle(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSeasonNumber(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSeasonNumber(String!, int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setSeasonTitle(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder setSeriesId(String?);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setStartTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setStartingPrice(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setThumbnailAspectRatio(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setThumbnailUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setTitle(String!);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setTransient(boolean);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setTvSeriesItemType(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setType(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setVideoHeight(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setVideoWidth(int);
+    method public androidx.tvprovider.media.tv.PreviewProgram.Builder! setWeight(int);
+  }
+
+  public final class Program implements java.lang.Comparable<androidx.tvprovider.media.tv.Program!> {
+    method public int compareTo(androidx.tvprovider.media.tv.Program);
+    method public static androidx.tvprovider.media.tv.Program! fromCursor(android.database.Cursor!);
+    method public String![]! getAudioLanguages();
+    method public String![]! getBroadcastGenres();
+    method public String![]! getCanonicalGenres();
+    method public long getChannelId();
+    method public android.media.tv.TvContentRating![]! getContentRatings();
+    method public String! getDescription();
+    method public long getEndTimeUtcMillis();
+    method public String! getEpisodeNumber();
+    method public String! getEpisodeTitle();
+    method public int getEventId();
+    method public String? getGlobalContentId();
+    method public long getId();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getLongDescription();
+    method public android.net.Uri! getPosterArtUri();
+    method public String! getReviewRating();
+    method public int getReviewRatingStyle();
+    method public String! getSeasonNumber();
+    method public String! getSeasonTitle();
+    method public String? getSeriesId();
+    method public long getStartTimeUtcMillis();
+    method public android.net.Uri! getThumbnailUri();
+    method public String! getTitle();
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public boolean isRecordingProhibited();
+    method public boolean isSearchable();
+    method public android.content.ContentValues! toContentValues();
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String![]! PROJECTION;
+  }
+
+  public static class Program.Builder {
+    ctor public Program.Builder();
+    ctor public Program.Builder(androidx.tvprovider.media.tv.Program!);
+    method public androidx.tvprovider.media.tv.Program! build();
+    method public androidx.tvprovider.media.tv.Program.Builder! setAudioLanguages(String![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setBroadcastGenres(String![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setCanonicalGenres(String![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setChannelId(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setContentRatings(android.media.tv.TvContentRating![]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEndTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEpisodeNumber(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEpisodeNumber(String!, int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setEpisodeTitle(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder setEventId(int);
+    method public androidx.tvprovider.media.tv.Program.Builder setGlobalContentId(String?);
+    method public androidx.tvprovider.media.tv.Program.Builder! setId(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setLongDescription(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setRecordingProhibited(boolean);
+    method public androidx.tvprovider.media.tv.Program.Builder! setReviewRating(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setReviewRatingStyle(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSeasonNumber(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSeasonNumber(String!, int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setSeasonTitle(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder setSeriesId(String?);
+    method public androidx.tvprovider.media.tv.Program.Builder! setStartTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.Program.Builder! setThumbnailUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setTitle(String!);
+    method public androidx.tvprovider.media.tv.Program.Builder! setVideoHeight(int);
+    method public androidx.tvprovider.media.tv.Program.Builder! setVideoWidth(int);
+  }
+
+  public final class TvContractCompat {
+    method public static android.net.Uri! buildChannelLogoUri(android.net.Uri!);
+    method public static android.net.Uri! buildChannelLogoUri(long);
+    method public static android.net.Uri! buildChannelUri(long);
+    method public static android.net.Uri! buildChannelUriForPassthroughInput(String!);
+    method public static android.net.Uri! buildChannelsUriForInput(String?);
+    method public static String! buildInputId(android.content.ComponentName!);
+    method public static android.net.Uri! buildPreviewProgramUri(long);
+    method public static android.net.Uri! buildPreviewProgramsUriForChannel(android.net.Uri!);
+    method public static android.net.Uri! buildPreviewProgramsUriForChannel(long);
+    method public static android.net.Uri! buildProgramUri(long);
+    method public static android.net.Uri! buildProgramsUriForChannel(android.net.Uri!);
+    method public static android.net.Uri! buildProgramsUriForChannel(android.net.Uri!, long, long);
+    method public static android.net.Uri! buildProgramsUriForChannel(long);
+    method public static android.net.Uri! buildProgramsUriForChannel(long, long, long);
+    method public static android.net.Uri! buildRecordedProgramUri(long);
+    method public static android.net.Uri! buildWatchNextProgramUri(long);
+    method public static boolean isChannelUri(android.net.Uri!);
+    method public static boolean isChannelUriForPassthroughInput(android.net.Uri!);
+    method public static boolean isChannelUriForTunerInput(android.net.Uri!);
+    method public static boolean isProgramUri(android.net.Uri!);
+    method public static boolean isRecordedProgramUri(android.net.Uri!);
+    method public static void requestChannelBrowsable(android.content.Context!, long);
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
+    field public static final String ACTION_INITIALIZE_PROGRAMS = "android.media.tv.action.INITIALIZE_PROGRAMS";
+    field public static final String ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT = "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT";
+    field public static final String ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String ACTION_REQUEST_CHANNEL_BROWSABLE = "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE";
+    field public static final String ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String AUTHORITY = "android.media.tv";
+    field public static final String EXTRA_CHANNEL_ID = "android.media.tv.extra.CHANNEL_ID";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
+    field public static final String EXTRA_PREVIEW_PROGRAM_ID = "android.media.tv.extra.PREVIEW_PROGRAM_ID";
+    field public static final String EXTRA_WATCH_NEXT_PROGRAM_ID = "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String METHOD_ADD_COLUMN = "add_column";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String METHOD_GET_COLUMNS = "get_columns";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARAM_BROWSABLE_ONLY = "browsable_only";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARAM_CANONICAL_GENRE = "canonical_genre";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARAM_CHANNEL = "channel";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARAM_END_TIME = "end_time";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARAM_INPUT = "input";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PARAM_START_TIME = "start_time";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String PERMISSION_READ_TV_LISTINGS = "android.permission.READ_TV_LISTINGS";
+  }
+
+  public static interface TvContractCompat.BaseTvColumns extends android.provider.BaseColumns {
+    field public static final String COLUMN_PACKAGE_NAME = "package_name";
+  }
+
+  public static final class TvContractCompat.Channels implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns {
+    method public static String? getVideoResolution(@androidx.tvprovider.media.tv.TvContractCompat.Channels.VideoFormat String!);
+    field public static final String COLUMN_APP_LINK_COLOR = "app_link_color";
+    field public static final String COLUMN_APP_LINK_ICON_URI = "app_link_icon_uri";
+    field public static final String COLUMN_APP_LINK_INTENT_URI = "app_link_intent_uri";
+    field public static final String COLUMN_APP_LINK_POSTER_ART_URI = "app_link_poster_art_uri";
+    field public static final String COLUMN_APP_LINK_TEXT = "app_link_text";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CONFIGURATION_DISPLAY_ORDER = "configuration_display_order";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_DISPLAY_NAME = "display_name";
+    field public static final String COLUMN_DISPLAY_NUMBER = "display_number";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_LOCKED = "locked";
+    field public static final String COLUMN_NETWORK_AFFILIATION = "network_affiliation";
+    field public static final String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SERVICE_ID = "service_id";
+    field public static final String COLUMN_SERVICE_TYPE = "service_type";
+    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final String COLUMN_SYSTEM_APPROVED = "system_approved";
+    field public static final String COLUMN_SYSTEM_CHANNEL_KEY = "system_channel_key";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_FORMAT = "video_format";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/channel";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO";
+    field public static final String SERVICE_TYPE_AUDIO_VIDEO = "SERVICE_TYPE_AUDIO_VIDEO";
+    field public static final String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER";
+    field public static final String TYPE_1SEG = "TYPE_1SEG";
+    field public static final String TYPE_ATSC_C = "TYPE_ATSC_C";
+    field public static final String TYPE_ATSC_M_H = "TYPE_ATSC_M_H";
+    field public static final String TYPE_ATSC_T = "TYPE_ATSC_T";
+    field public static final String TYPE_CMMB = "TYPE_CMMB";
+    field public static final String TYPE_DTMB = "TYPE_DTMB";
+    field public static final String TYPE_DVB_C = "TYPE_DVB_C";
+    field public static final String TYPE_DVB_C2 = "TYPE_DVB_C2";
+    field public static final String TYPE_DVB_H = "TYPE_DVB_H";
+    field public static final String TYPE_DVB_S = "TYPE_DVB_S";
+    field public static final String TYPE_DVB_S2 = "TYPE_DVB_S2";
+    field public static final String TYPE_DVB_SH = "TYPE_DVB_SH";
+    field public static final String TYPE_DVB_T = "TYPE_DVB_T";
+    field public static final String TYPE_DVB_T2 = "TYPE_DVB_T2";
+    field public static final String TYPE_ISDB_C = "TYPE_ISDB_C";
+    field public static final String TYPE_ISDB_S = "TYPE_ISDB_S";
+    field public static final String TYPE_ISDB_T = "TYPE_ISDB_T";
+    field public static final String TYPE_ISDB_TB = "TYPE_ISDB_TB";
+    field public static final String TYPE_NTSC = "TYPE_NTSC";
+    field public static final String TYPE_OTHER = "TYPE_OTHER";
+    field public static final String TYPE_PAL = "TYPE_PAL";
+    field public static final String TYPE_PREVIEW = "TYPE_PREVIEW";
+    field public static final String TYPE_SECAM = "TYPE_SECAM";
+    field public static final String TYPE_S_DMB = "TYPE_S_DMB";
+    field public static final String TYPE_T_DMB = "TYPE_T_DMB";
+    field public static final String VIDEO_FORMAT_1080I = "VIDEO_FORMAT_1080I";
+    field public static final String VIDEO_FORMAT_1080P = "VIDEO_FORMAT_1080P";
+    field public static final String VIDEO_FORMAT_2160P = "VIDEO_FORMAT_2160P";
+    field public static final String VIDEO_FORMAT_240P = "VIDEO_FORMAT_240P";
+    field public static final String VIDEO_FORMAT_360P = "VIDEO_FORMAT_360P";
+    field public static final String VIDEO_FORMAT_4320P = "VIDEO_FORMAT_4320P";
+    field public static final String VIDEO_FORMAT_480I = "VIDEO_FORMAT_480I";
+    field public static final String VIDEO_FORMAT_480P = "VIDEO_FORMAT_480P";
+    field public static final String VIDEO_FORMAT_576I = "VIDEO_FORMAT_576I";
+    field public static final String VIDEO_FORMAT_576P = "VIDEO_FORMAT_576P";
+    field public static final String VIDEO_FORMAT_720P = "VIDEO_FORMAT_720P";
+    field public static final String VIDEO_RESOLUTION_ED = "VIDEO_RESOLUTION_ED";
+    field public static final String VIDEO_RESOLUTION_FHD = "VIDEO_RESOLUTION_FHD";
+    field public static final String VIDEO_RESOLUTION_HD = "VIDEO_RESOLUTION_HD";
+    field public static final String VIDEO_RESOLUTION_SD = "VIDEO_RESOLUTION_SD";
+    field public static final String VIDEO_RESOLUTION_UHD = "VIDEO_RESOLUTION_UHD";
+  }
+
+  public static final class TvContractCompat.Channels.Logo {
+    field public static final String CONTENT_DIRECTORY = "logo";
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @StringDef({androidx.tvprovider.media.tv.TvContractCompat.Channels.SERVICE_TYPE_OTHER, androidx.tvprovider.media.tv.TvContractCompat.Channels.SERVICE_TYPE_AUDIO_VIDEO, androidx.tvprovider.media.tv.TvContractCompat.Channels.SERVICE_TYPE_AUDIO}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface TvContractCompat.Channels.ServiceType {
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @StringDef({androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_OTHER, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_NTSC, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_PAL, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_SECAM, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_T, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_T2, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_S, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_S2, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_C, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_C2, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_H, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DVB_SH, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ATSC_T, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ATSC_C, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ATSC_M_H, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ISDB_T, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ISDB_TB, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ISDB_S, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_ISDB_C, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_1SEG, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_DTMB, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_CMMB, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_T_DMB, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_S_DMB, androidx.tvprovider.media.tv.TvContractCompat.Channels.TYPE_PREVIEW}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface TvContractCompat.Channels.Type {
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @StringDef({androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_240P, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_360P, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_480I, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_576I, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_576P, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_720P, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_1080I, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_1080P, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_2160P, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_FORMAT_4320P}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface TvContractCompat.Channels.VideoFormat {
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @StringDef({androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_RESOLUTION_SD, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_RESOLUTION_ED, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_RESOLUTION_HD, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_RESOLUTION_FHD, androidx.tvprovider.media.tv.TvContractCompat.Channels.VIDEO_RESOLUTION_UHD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface TvContractCompat.Channels.VideoResolution {
+  }
+
+  public static interface TvContractCompat.PreviewProgramColumns {
+    field public static final int ASPECT_RATIO_16_9 = 0; // 0x0
+    field public static final int ASPECT_RATIO_1_1 = 3; // 0x3
+    field public static final int ASPECT_RATIO_2_3 = 4; // 0x4
+    field public static final int ASPECT_RATIO_3_2 = 1; // 0x1
+    field public static final int ASPECT_RATIO_3_4 = 6; // 0x6
+    field public static final int ASPECT_RATIO_4_3 = 2; // 0x2
+    field public static final int ASPECT_RATIO_MOVIE_POSTER = 5; // 0x5
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_FREE = 4; // 0x4
+    field public static final int AVAILABILITY_FREE_WITH_ADS = 5; // 0x5
+    field public static final int AVAILABILITY_FREE_WITH_SUBSCRIPTION = 1; // 0x1
+    field public static final int AVAILABILITY_PAID_CONTENT = 2; // 0x2
+    field public static final int AVAILABILITY_PURCHASED = 3; // 0x3
+    field public static final String COLUMN_AUTHOR = "author";
+    field public static final String COLUMN_AVAILABILITY = "availability";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CONTENT_ID = "content_id";
+    field public static final String COLUMN_DURATION_MILLIS = "duration_millis";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_GENRE = "genre";
+    field public static final String COLUMN_INTENT_URI = "intent_uri";
+    field public static final String COLUMN_INTERACTION_COUNT = "interaction_count";
+    field public static final String COLUMN_INTERACTION_TYPE = "interaction_type";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_ITEM_COUNT = "item_count";
+    field public static final String COLUMN_LAST_PLAYBACK_POSITION_MILLIS = "last_playback_position_millis";
+    field public static final String COLUMN_LIVE = "live";
+    field public static final String COLUMN_LOGO_CONTENT_DESCRIPTION = "logo_content_description";
+    field public static final String COLUMN_LOGO_URI = "logo_uri";
+    field public static final String COLUMN_OFFER_PRICE = "offer_price";
+    field public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio";
+    field public static final String COLUMN_PREVIEW_AUDIO_URI = "preview_audio_uri";
+    field public static final String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri";
+    field public static final String COLUMN_RELEASE_DATE = "release_date";
+    field public static final String COLUMN_STARTING_PRICE = "starting_price";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TV_SERIES_ITEM_TYPE = "tv_series_item_type";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final int INTERACTION_TYPE_FANS = 3; // 0x3
+    field public static final int INTERACTION_TYPE_FOLLOWERS = 2; // 0x2
+    field public static final int INTERACTION_TYPE_LIKES = 4; // 0x4
+    field public static final int INTERACTION_TYPE_LISTENS = 1; // 0x1
+    field public static final int INTERACTION_TYPE_THUMBS = 5; // 0x5
+    field public static final int INTERACTION_TYPE_VIEWERS = 6; // 0x6
+    field public static final int INTERACTION_TYPE_VIEWS = 0; // 0x0
+    field public static final int TV_SERIES_ITEM_TYPE_CHAPTER = 1; // 0x1
+    field public static final int TV_SERIES_ITEM_TYPE_EPISODE = 0; // 0x0
+    field public static final int TYPE_ALBUM = 8; // 0x8
+    field public static final int TYPE_ARTIST = 9; // 0x9
+    field public static final int TYPE_CHANNEL = 6; // 0x6
+    field public static final int TYPE_CLIP = 4; // 0x4
+    field public static final int TYPE_EVENT = 5; // 0x5
+    field public static final int TYPE_GAME = 12; // 0xc
+    field public static final int TYPE_MOVIE = 0; // 0x0
+    field public static final int TYPE_PLAYLIST = 10; // 0xa
+    field public static final int TYPE_STATION = 11; // 0xb
+    field public static final int TYPE_TRACK = 7; // 0x7
+    field public static final int TYPE_TV_EPISODE = 3; // 0x3
+    field public static final int TYPE_TV_SEASON = 2; // 0x2
+    field public static final int TYPE_TV_SERIES = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.PreviewPrograms implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns androidx.tvprovider.media.tv.TvContractCompat.PreviewProgramColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WEIGHT = "weight";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/preview_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/preview_program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.Programs implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field @Deprecated public static final String COLUMN_EPISODE_NUMBER = "episode_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_EVENT_ID = "event_id";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_PROHIBITED = "recording_prohibited";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field @Deprecated public static final String COLUMN_SEASON_NUMBER = "season_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.Programs.Genres {
+    method public static String![]! decode(String);
+    method public static String! encode(java.lang.String!...);
+    method public static boolean isCanonical(String!);
+    field public static final String ANIMAL_WILDLIFE = "ANIMAL_WILDLIFE";
+    field public static final String ARTS = "ARTS";
+    field public static final String COMEDY = "COMEDY";
+    field public static final String DRAMA = "DRAMA";
+    field public static final String EDUCATION = "EDUCATION";
+    field public static final String ENTERTAINMENT = "ENTERTAINMENT";
+    field public static final String FAMILY_KIDS = "FAMILY_KIDS";
+    field public static final String GAMING = "GAMING";
+    field public static final String LIFE_STYLE = "LIFE_STYLE";
+    field public static final String MOVIES = "MOVIES";
+    field public static final String MUSIC = "MUSIC";
+    field public static final String NEWS = "NEWS";
+    field public static final String PREMIER = "PREMIER";
+    field public static final String SHOPPING = "SHOPPING";
+    field public static final String SPORTS = "SPORTS";
+    field public static final String TECH_SCIENCE = "TECH_SCIENCE";
+    field public static final String TRAVEL = "TRAVEL";
+  }
+
+  public static final class TvContractCompat.RecordedPrograms implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_DATA_BYTES = "recording_data_bytes";
+    field public static final String COLUMN_RECORDING_DATA_URI = "recording_data_uri";
+    field public static final String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis";
+    field public static final String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/recorded_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/recorded_program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContractCompat.WatchNextPrograms implements androidx.tvprovider.media.tv.TvContractCompat.BaseTvColumns androidx.tvprovider.media.tv.TvContractCompat.PreviewProgramColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS = "last_engagement_time_utc_millis";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WATCH_NEXT_TYPE = "watch_next_type";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watch_next_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watch_next_program";
+    field public static final android.net.Uri! CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_CONTINUE = 0; // 0x0
+    field public static final int WATCH_NEXT_TYPE_NEW = 2; // 0x2
+    field public static final int WATCH_NEXT_TYPE_NEXT = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_WATCHLIST = 3; // 0x3
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class TvContractUtils {
+    method public static String! audioLanguagesToString(String![]!);
+    method public static String! contentRatingsToString(android.media.tv.TvContentRating![]!);
+    method public static String![]! stringToAudioLanguages(String!);
+    method public static android.media.tv.TvContentRating![]! stringToContentRatings(String!);
+  }
+
+  public final class WatchNextProgram {
+    method public static androidx.tvprovider.media.tv.WatchNextProgram! fromCursor(android.database.Cursor!);
+    method public String![]! getAudioLanguages();
+    method public String! getAuthor();
+    method public int getAvailability();
+    method public String![]! getCanonicalGenres();
+    method public String! getContentId();
+    method public android.media.tv.TvContentRating![]! getContentRatings();
+    method public String! getDescription();
+    method public int getDurationMillis();
+    method public long getEndTimeUtcMillis();
+    method public String! getEpisodeNumber();
+    method public String! getEpisodeTitle();
+    method public String! getGenre();
+    method public long getId();
+    method public android.content.Intent! getIntent() throws java.net.URISyntaxException;
+    method public android.net.Uri! getIntentUri();
+    method public long getInteractionCount();
+    method public int getInteractionType();
+    method public byte[]! getInternalProviderDataByteArray();
+    method public Long! getInternalProviderFlag1();
+    method public Long! getInternalProviderFlag2();
+    method public Long! getInternalProviderFlag3();
+    method public Long! getInternalProviderFlag4();
+    method public String! getInternalProviderId();
+    method public int getItemCount();
+    method public long getLastEngagementTimeUtcMillis();
+    method public int getLastPlaybackPositionMillis();
+    method public String! getLogoContentDescription();
+    method public android.net.Uri! getLogoUri();
+    method public String! getLongDescription();
+    method public String! getOfferPrice();
+    method public int getPosterArtAspectRatio();
+    method public android.net.Uri! getPosterArtUri();
+    method public android.net.Uri! getPreviewAudioUri();
+    method public android.net.Uri! getPreviewVideoUri();
+    method public String! getReleaseDate();
+    method public String! getReviewRating();
+    method public int getReviewRatingStyle();
+    method public String! getSeasonNumber();
+    method public String! getSeasonTitle();
+    method public String? getSeriesId();
+    method public long getStartTimeUtcMillis();
+    method public String! getStartingPrice();
+    method public int getThumbnailAspectRatio();
+    method public android.net.Uri! getThumbnailUri();
+    method public String! getTitle();
+    method public int getTvSeriesItemType();
+    method public int getType();
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method @androidx.tvprovider.media.tv.WatchNextProgram.WatchNextType public int getWatchNextType();
+    method public boolean hasAnyUpdatedValues(androidx.tvprovider.media.tv.WatchNextProgram!);
+    method public boolean isBrowsable();
+    method public boolean isLive();
+    method public boolean isSearchable();
+    method public boolean isTransient();
+    method public android.content.ContentValues! toContentValues();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.content.ContentValues! toContentValues(boolean);
+    field public static final String![] PROJECTION;
+    field public static final int WATCH_NEXT_TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static final class WatchNextProgram.Builder {
+    ctor public WatchNextProgram.Builder();
+    ctor public WatchNextProgram.Builder(androidx.tvprovider.media.tv.WatchNextProgram!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram! build();
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setAudioLanguages(String![]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setAuthor(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setAvailability(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setCanonicalGenres(String![]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setContentId(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setContentRatings(android.media.tv.TvContentRating![]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setDescription(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setDurationMillis(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEndTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEpisodeNumber(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEpisodeNumber(String!, int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setEpisodeTitle(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setGenre(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setId(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setIntent(android.content.Intent!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setIntentUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInteractionCount(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInteractionType(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderData(byte[]!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag1(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag2(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag3(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderFlag4(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setInternalProviderId(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setItemCount(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLastEngagementTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLastPlaybackPositionMillis(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLive(boolean);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLogoContentDescription(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLogoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setLongDescription(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setOfferPrice(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPosterArtAspectRatio(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPosterArtUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPreviewAudioUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setPreviewVideoUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReleaseDate(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReleaseDate(java.util.Date!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReviewRating(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setReviewRatingStyle(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSearchable(boolean);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSeasonNumber(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSeasonNumber(String!, int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setSeasonTitle(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder setSeriesId(String?);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setStartTimeUtcMillis(long);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setStartingPrice(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setThumbnailAspectRatio(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setThumbnailUri(android.net.Uri!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setTitle(String!);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setTransient(boolean);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setTvSeriesItemType(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setType(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setVideoHeight(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setVideoWidth(int);
+    method public androidx.tvprovider.media.tv.WatchNextProgram.Builder! setWatchNextType(@androidx.tvprovider.media.tv.WatchNextProgram.WatchNextType int);
+  }
+
+  @IntDef({androidx.tvprovider.media.tv.WatchNextProgram.WATCH_NEXT_TYPE_UNKNOWN, androidx.tvprovider.media.tv.TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE, androidx.tvprovider.media.tv.TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_NEXT, androidx.tvprovider.media.tv.TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_NEW, androidx.tvprovider.media.tv.TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_WATCHLIST}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface WatchNextProgram.WatchNextType {
+  }
+
+}
+