Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5cd0b38 authored by Jae Seo's avatar Jae Seo
Browse files

Add more columns to help identify TV channels

Also added the prefix COLUMN_ to clearly denote each column of the
tables for TV metadata.

Change-Id: I426e9854da5580066f39d416207abe56baf4de14
parent 20225978
Loading
Loading
Loading
Loading
+27 −21
Original line number Diff line number Diff line
@@ -24007,25 +24007,32 @@ package android.provider {
  }
  public static abstract interface TvContract.BaseTvColumns implements android.provider.BaseColumns {
    field public static final java.lang.String PACKAGE_NAME = "package_name";
    field public static final java.lang.String COLUMN_PACKAGE_NAME = "package_name";
  }
  public static final class TvContract.Channels implements android.provider.TvContract.BaseTvColumns {
    field public static final java.lang.String BROWSABLE = "browsable";
    field public static final java.lang.String COLUMN_BROWSABLE = "browsable";
    field public static final java.lang.String COLUMN_DATA = "data";
    field public static final java.lang.String COLUMN_DESCRIPTION = "description";
    field public static final java.lang.String COLUMN_DISPLAY_NAME = "display_name";
    field public static final java.lang.String COLUMN_DISPLAY_NUMBER = "display_number";
    field public static final java.lang.String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id";
    field public static final java.lang.String COLUMN_SERVICE_ID = "service_id";
    field public static final java.lang.String COLUMN_SERVICE_NAME = "service_name";
    field public static final java.lang.String COLUMN_SERVICE_TYPE = "service_type";
    field public static final java.lang.String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id";
    field public static final java.lang.String COLUMN_TYPE = "type";
    field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number";
    field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.com.android.tv.channels";
    field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.com.android.tv.channels";
    field public static final android.net.Uri CONTENT_URI;
    field public static final java.lang.String DATA = "data";
    field public static final java.lang.String DESCRIPTION = "description";
    field public static final java.lang.String DISPLAY_NAME = "display_name";
    field public static final java.lang.String DISPLAY_NUMBER = "display_number";
    field public static final java.lang.String SERVICE_NAME = "service_name";
    field public static final java.lang.String TRANSPORT_STREAM_ID = "transport_stream_id";
    field public static final java.lang.String TYPE = "type";
    field public static final int SERVICE_TYPE_OTHER = 0; // 0x0
    field public static final int SERVICE_TYPE_RADIO = 2; // 0x2
    field public static final int SERVICE_TYPE_TV = 1; // 0x1
    field public static final int TYPE_1SEG = 263168; // 0x40400
    field public static final int TYPE_ATSC = 196608; // 0x30000
    field public static final int TYPE_ATSC_2_0 = 196609; // 0x30001
    field public static final int TYPE_ATSC_M_H = 196864; // 0x30100
    field public static final int TYPE_ATSC_C = 197120; // 0x30200
    field public static final int TYPE_ATSC_M_H = 197120; // 0x30200
    field public static final int TYPE_ATSC_T = 196608; // 0x30000
    field public static final int TYPE_CMMB = 327936; // 0x50100
    field public static final int TYPE_DTMB = 327680; // 0x50000
    field public static final int TYPE_DVB_C = 131584; // 0x20200
@@ -24044,21 +24051,20 @@ package android.provider {
    field public static final int TYPE_PASSTHROUGH = 65536; // 0x10000
    field public static final int TYPE_S_DMB = 393472; // 0x60100
    field public static final int TYPE_T_DMB = 393216; // 0x60000
    field public static final java.lang.String VERSION_NUMBER = "version_number";
  }
  public static final class TvContract.Programs implements android.provider.TvContract.BaseTvColumns {
    field public static final java.lang.String CHANNEL_ID = "channel_id";
    field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id";
    field public static final java.lang.String COLUMN_DATA = "data";
    field public static final java.lang.String COLUMN_DESCRIPTION = "description";
    field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
    field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description";
    field public static final java.lang.String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
    field public static final java.lang.String COLUMN_TITLE = "title";
    field public static final java.lang.String COLUMN_VERSION_NUMBER = "version_number";
    field public static final java.lang.String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.com.android.tv.programs";
    field public static final java.lang.String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.com.android.tv.programs";
    field public static final android.net.Uri CONTENT_URI;
    field public static final java.lang.String DATA = "data";
    field public static final java.lang.String DESCRIPTION = "description";
    field public static final java.lang.String END_TIME_UTC_MILLIS = "end_time_utc_millis";
    field public static final java.lang.String LONG_DESCRIPTION = "long_description";
    field public static final java.lang.String START_TIME_UTC_MILLIS = "start_time_utc_millis";
    field public static final java.lang.String TITLE = "title";
    field public static final java.lang.String VERSION_NUMBER = "version_number";
  }
  public class UserDictionary {
+119 −42
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.net.Uri;
import android.tv.TvInputService;

import java.util.List;

@@ -139,9 +140,9 @@ public final class TvContract {
     *
     * @param channelUri The URI of the channel to return programs for.
     * @param startTime The start time used to filter programs. The returned programs should have
     *            {@link Programs#END_TIME_UTC_MILLIS} that is greater than this time.
     *            {@link Programs#COLUMN_END_TIME_UTC_MILLIS} that is greater than this time.
     * @param endTime The end time used to filter programs. The returned programs should have
     *            {@link Programs#START_TIME_UTC_MILLIS} that is less than this time.
     *            {@link Programs#COLUMN_START_TIME_UTC_MILLIS} that is less than this time.
     */
    public static final Uri buildProgramsUriForChannel(Uri channelUri, long startTime,
            long endTime) {
@@ -161,7 +162,7 @@ public final class TvContract {
    }

    /**
     * Extracts the {@link Channels#PACKAGE_NAME} from a given URI.
     * Extracts the {@link Channels#COLUMN_PACKAGE_NAME} from a given URI.
     *
     * @param channelsUri A URI constructed by {@link #buildChannelsUriForInput(ComponentName)} or
     *            {@link #buildChannelsUriForInput(ComponentName, boolean)}.
@@ -179,7 +180,7 @@ public final class TvContract {
    }

    /**
     * Extracts the {@link Channels#SERVICE_NAME} from a given URI.
     * Extracts the {@link Channels#COLUMN_SERVICE_NAME} from a given URI.
     *
     * @param channelsUri A URI constructed by {@link #buildChannelsUriForInput(ComponentName)} or
     *            {@link #buildChannelsUriForInput(ComponentName, boolean)}.
@@ -231,7 +232,7 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         */
        public static final String PACKAGE_NAME = "package_name";
        public static final String COLUMN_PACKAGE_NAME = "package_name";
    }

    /** Column definitions for the TV channels table. */
@@ -279,14 +280,14 @@ public final class TvContract {
        /** The channel type for DVB-SH (satellite). */
        public static final int TYPE_DVB_SH = 0x00020400;

        /** The channel type for ATSC (terrestrial/cable). */
        public static final int TYPE_ATSC = 0x00030000;
        /** The channel type for ATSC (terrestrial). */
        public static final int TYPE_ATSC_T = 0x00030000;

        /** The channel type for ATSC 2.0. */
        public static final int TYPE_ATSC_2_0 = 0x00030001;
        /** The channel type for ATSC (cable). */
        public static final int TYPE_ATSC_C = 0x00030200;

        /** The channel type for ATSC-M/H (mobile/handheld). */
        public static final int TYPE_ATSC_M_H = 0x00030100;
        public static final int TYPE_ATSC_M_H = 0x00030200;

        /** The channel type for ISDB-T (terrestrial). */
        public static final int TYPE_ISDB_T = 0x00040000;
@@ -315,49 +316,124 @@ public final class TvContract {
        /** The channel type for S-DMB (satellite). */
        public static final int TYPE_S_DMB = 0x00060100;

        /** A generic service type. */
        public static final int SERVICE_TYPE_OTHER = 0x0;

        /** The service type for regular TV channels. */
        public static final int SERVICE_TYPE_TV = 0x1;

        /** The service type for radio channels. */
        public static final int SERVICE_TYPE_RADIO = 0x2;

        /**
         * The name of the TV input service that provides this TV channel.
         * The name of the {@link TvInputService} subclass that provides this TV channel. This
         * should be a fully qualified class name (such as, "com.example.project.TvInputService").
         * <p>
         * This is a required field.
         * </p><p>
         * Type: TEXT
         * </p>
         */
        public static final String SERVICE_NAME = "service_name";
        public static final String COLUMN_SERVICE_NAME = "service_name";

        /**
         * The predefined type of this TV channel.
         * <p>
         * This is used to indicate which broadcast standard (e.g. ATSC, DVB or ISDB) the current
         * channel conforms to.
         * This is primarily used to indicate which broadcast standard (e.g. ATSC, DVB or ISDB) the
         * current channel conforms to, with an exception being {@link #TYPE_PASSTHROUGH}, which is
         * a special channel type used only by pass-through inputs such as HDMI. The value should
         * match to one of the followings: {@link #TYPE_OTHER}, {@link #TYPE_PASSTHROUGH},
         * {@link #TYPE_DVB_T}, {@link #TYPE_DVB_T2}, {@link #TYPE_DVB_S}, {@link #TYPE_DVB_S2},
         * {@link #TYPE_DVB_C}, {@link #TYPE_DVB_C2}, {@link #TYPE_DVB_H}, {@link #TYPE_DVB_SH},
         * {@link #TYPE_ATSC_T}, {@link #TYPE_ATSC_C}, {@link #TYPE_ATSC_M_H}, {@link #TYPE_ISDB_T},
         * {@link #TYPE_ISDB_TB}, {@link #TYPE_ISDB_S}, {@link #TYPE_ISDB_C} {@link #TYPE_1SEG},
         * {@link #TYPE_DTMB}, {@link #TYPE_CMMB}, {@link #TYPE_T_DMB}, {@link #TYPE_S_DMB}
         * </p><p>
         * This is a required field.
         * </p><p>
         * Type: INTEGER
         * </p>
         */
        public static final String COLUMN_TYPE = "type";

        /**
         * The predefined service type of this TV channel.
         * <p>
         * This is primarily used to indicate whether the current channel is a regular TV channel or
         * a radio-like channel. Use the same coding for {@code service_type} in the underlying
         * broadcast standard if it is defined there (e.g. ATSC A/53, ETSI EN 300 468 and ARIB
         * STD-B10). Otherwise use one of the followings: {@link #SERVICE_TYPE_OTHER},
         * {@link #SERVICE_TYPE_TV}, {@link #SERVICE_TYPE_RADIO}
         * </p><p>
         * This is a required field.
         * </p><p>
         * Type: INTEGER
         * </p>
         */
        public static final String TYPE = "type";
        public static final String COLUMN_SERVICE_TYPE = "service_type";

        /**
         * The transport stream ID as appeared in various broadcast standards.
         * The original network ID of this TV channel.
         * <p>
         * This is not a required field but if provided, can significantly increase the accuracy of
         * channel identification.
         * This is used to identify the originating delivery system, if applicable. Use the same
         * coding for {@code origianal_network_id} in the underlying broadcast standard if it is
         * defined there (e.g. ETSI EN 300 468/TR 101 211 and ARIB STD-B10). If channels cannot be
         * globally identified by 2-tuple {{@link #COLUMN_TRANSPORT_STREAM_ID},
         * {@link #COLUMN_SERVICE_ID}}, one must carefully assign a value to this field to form a
         * unique 3-tuple identification {{@link #COLUMN_ORIGINAL_NETWORK_ID},
         * {@link #COLUMN_TRANSPORT_STREAM_ID}, {@link #COLUMN_SERVICE_ID}} for its channels.
         * </p><p>
         * This is a required field if the channel cannot be uniquely identified by a 2-tuple
         * {{@link #COLUMN_TRANSPORT_STREAM_ID}, {@link #COLUMN_SERVICE_ID}}.
         * </p><p>
         * Type: INTEGER
         * </p>
         */
        public static final String TRANSPORT_STREAM_ID = "transport_stream_id";
        public static final String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id";

        /**
         * The transport stream ID of this channel.
         * <p>
         * This is used to identify the Transport Stream that contains the current channel from any
         * other multiplex within a network, if applicable. Use the same coding for
         * {@code transport_stream_id} defined in ISO/IEC 13818-1 if the channel is transmitted via
         * the MPEG Transport Stream as is the case for many digital broadcast standards.
         * </p><p>
         * This is a required field if the current channel is transmitted via the MPEG Transport
         * Stream.
         * </p><p>
         * Type: INTEGER
         * </p>
         */
        public static final String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id";

        /**
         * The service ID of this channel.
         * <p>
         * This is used to identify the current service (roughly equivalent to channel) from any
         * other service within the Transport Stream, if applicable. Use the same coding for
         * {@code service_id} in the underlying broadcast standard if it is defined there (e.g. ETSI
         * EN 300 468 and ARIB STD-B10) or {@code program_number} (which usually has the same value
         * as {@code service_id}) in ISO/IEC 13818-1 if the channel is transmitted via the MPEG
         * Transport Stream.
         * </p><p>
         * This is a required field if the current channel is transmitted via the MPEG Transport
         * Stream.
         * </p><p>
         * Type: INTEGER
         * </p>
         */
        public static final String COLUMN_SERVICE_ID = "service_id";

        /**
         * The channel number that is displayed to the user.
         * <p>
         * The format can vary depending on broadcast standard and product specification.
         * </p><p>
         * Type: INTEGER
         * Type: TEXT
         * </p>
         */
        public static final String DISPLAY_NUMBER = "display_number";
        public static final String COLUMN_DISPLAY_NUMBER = "display_number";

        /**
         * The channel name that is displayed to the user.
@@ -369,7 +445,7 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         */
        public static final String DISPLAY_NAME = "display_name";
        public static final String COLUMN_DISPLAY_NAME = "display_name";

        /**
         * The description of this TV channel.
@@ -379,7 +455,7 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         */
        public static final String DESCRIPTION = "description";
        public static final String COLUMN_DESCRIPTION = "description";

        /**
         * The flag indicating whether this TV channel is browsable or not.
@@ -391,7 +467,7 @@ public final class TvContract {
         * Type: INTEGER (boolean)
         * </p>
         */
        public static final String BROWSABLE = "browsable";
        public static final String COLUMN_BROWSABLE = "browsable";

        /**
         * Generic data used by individual TV input services.
@@ -399,7 +475,7 @@ public final class TvContract {
         * Type: BLOB
         * </p>
         */
        public static final String DATA = "data";
        public static final String COLUMN_DATA = "data";


        /**
@@ -413,7 +489,7 @@ public final class TvContract {
         * Type: INTEGER
         * </p>
         */
        public static final String VERSION_NUMBER = "version_number";
        public static final String COLUMN_VERSION_NUMBER = "version_number";

        private Channels() {}
    }
@@ -441,7 +517,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String CHANNEL_ID = "channel_id";
        public static final String COLUMN_CHANNEL_ID = "channel_id";

        /**
         * The title of this TV program.
@@ -449,7 +525,7 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         **/
        public static final String TITLE = "title";
        public static final String COLUMN_TITLE = "title";

        /**
         * The start time of this TV program, in milliseconds since the epoch.
@@ -457,7 +533,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String START_TIME_UTC_MILLIS = "start_time_utc_millis";
        public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";

        /**
         * The end time of this TV program, in milliseconds since the epoch.
@@ -465,7 +541,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String END_TIME_UTC_MILLIS = "end_time_utc_millis";
        public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";

        /**
         * The description of this TV program that is displayed to the user by default.
@@ -475,19 +551,19 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         */
        public static final String DESCRIPTION = "description";
        public static final String COLUMN_DESCRIPTION = "description";

        /**
         * The detailed, lengthy description of this TV program that is displayed only when the user
         * wants to see more information.
         * <p>
         * TV input services should leave this field empty if they have no additional
         * details beyond {@link #DESCRIPTION}.
         * details beyond {@link #COLUMN_DESCRIPTION}.
         * </p><p>
         * Type: TEXT
         * </p>
         */
        public static final String LONG_DESCRIPTION = "long_description";
        public static final String COLUMN_LONG_DESCRIPTION = "long_description";

        /**
         * Generic data used by TV input services.
@@ -495,7 +571,7 @@ public final class TvContract {
         * Type: BLOB
         * </p>
         */
        public static final String DATA = "data";
        public static final String COLUMN_DATA = "data";

        /**
         * The version number of this row entry used by TV input services.
@@ -508,7 +584,7 @@ public final class TvContract {
         * Type: INTEGER
         * </p>
         */
        public static final String VERSION_NUMBER = "version_number";
        public static final String COLUMN_VERSION_NUMBER = "version_number";

        private Programs() {}
    }
@@ -540,7 +616,8 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
        public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS =
                "watch_start_time_utc_millis";

        /**
         * The UTC time that the user stopped watching this TV program, in milliseconds since the
@@ -549,7 +626,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
        public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";

        /**
         * The channel ID that contains this TV program.
@@ -557,7 +634,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String CHANNEL_ID = "channel_id";
        public static final String COLUMN_CHANNEL_ID = "channel_id";

        /**
         * The title of this TV program.
@@ -565,7 +642,7 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         */
        public static final String TITLE = "title";
        public static final String COLUMN_TITLE = "title";

        /**
         * The start time of this TV program, in milliseconds since the epoch.
@@ -573,7 +650,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String START_TIME_UTC_MILLIS = "start_time_utc_millis";
        public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";

        /**
         * The end time of this TV program, in milliseconds since the epoch.
@@ -581,7 +658,7 @@ public final class TvContract {
         * Type: INTEGER (long)
         * </p>
         */
        public static final String END_TIME_UTC_MILLIS = "end_time_utc_millis";
        public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";

        /**
         * The description of this TV program.
@@ -589,7 +666,7 @@ public final class TvContract {
         * Type: TEXT
         * </p>
         */
        public static final String DESCRIPTION = "description";
        public static final String COLUMN_DESCRIPTION = "description";

        private WatchedPrograms() {}
    }
+30 −29

File changed.

Preview size limit exceeded, changes collapsed.