TvContentRating
class TvContentRating
kotlin.Any | |
↳ | android.media.tv.TvContentRating |
A class representing a TV content rating. When a TV input service inserts the content rating information on a program into the database, this class can be used to generate the formatted string for TvContract.Programs.COLUMN_CONTENT_RATING
. To create a object, use the TvContentRating.createRating
method with valid rating system string constants.
It is possible for an application to define its own content rating system by supplying a content rating system definition XML resource (see example below) and declaring a broadcast receiver that filters TvInputManager#ACTION_QUERY_CONTENT_RATING_SYSTEMS
in its manifest.
Example: Rating system definition for the TV Parental Guidelines
The following XML example shows how the TV Parental Guidelines in the United States can be defined:<rating-system-definitions xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1"> <rating-system-definition android:name="US_TV" android:country="US" android:description="@string/description_us_tv"> <sub-rating-definition android:name="US_TV_D" android:title="D" android:description="@string/description_us_tv_d" /> <sub-rating-definition android:name="US_TV_L" android:title="L" android:description="@string/description_us_tv_l" /> <sub-rating-definition android:name="US_TV_S" android:title="S" android:description="@string/description_us_tv_s" /> <sub-rating-definition android:name="US_TV_V" android:title="V" android:description="@string/description_us_tv_v" /> <sub-rating-definition android:name="US_TV_FV" android:title="FV" android:description="@string/description_us_tv_fv" /> <rating-definition android:name="US_TV_Y" android:title="TV-Y" android:description="@string/description_us_tv_y" android:icon="@drawable/icon_us_tv_y" android:contentAgeHint="0" /> <rating-definition android:name="US_TV_Y7" android:title="TV-Y7" android:description="@string/description_us_tv_y7" android:icon="@drawable/icon_us_tv_y7" android:contentAgeHint="7"> <sub-rating android:name="US_TV_FV" /> </rating-definition> <rating-definition android:name="US_TV_G" android:title="TV-G" android:description="@string/description_us_tv_g" android:icon="@drawable/icon_us_tv_g" android:contentAgeHint="0" /> <rating-definition android:name="US_TV_PG" android:title="TV-PG" android:description="@string/description_us_tv_pg" android:icon="@drawable/icon_us_tv_pg" android:contentAgeHint="14"> <sub-rating android:name="US_TV_D" /> <sub-rating android:name="US_TV_L" /> <sub-rating android:name="US_TV_S" /> <sub-rating android:name="US_TV_V" /> </rating-definition> <rating-definition android:name="US_TV_14" android:title="TV-14" android:description="@string/description_us_tv_14" android:icon="@drawable/icon_us_tv_14" android:contentAgeHint="14"> <sub-rating android:name="US_TV_D" /> <sub-rating android:name="US_TV_L" /> <sub-rating android:name="US_TV_S" /> <sub-rating android:name="US_TV_V" /> </rating-definition> <rating-definition android:name="US_TV_MA" android:title="TV-MA" android:description="@string/description_us_tv_ma" android:icon="@drawable/icon_us_tv_ma" android:contentAgeHint="17"> <sub-rating android:name="US_TV_L" /> <sub-rating android:name="US_TV_S" /> <sub-rating android:name="US_TV_V" /> </rating-definition> <rating-order> <rating android:name="US_TV_Y" /> <rating android:name="US_TV_Y7" /> </rating-order> <rating-order> <rating android:name="US_TV_G" /> <rating android:name="US_TV_PG" /> <rating android:name="US_TV_14" /> <rating android:name="US_TV_MA" /> </rating-order> </rating-system-definition> </rating-system-definitions>
System defined rating strings
The following strings are defined by the system to provide a standard way to createTvContentRating
objects.
For example, to create an object that represents TV-PG rating with suggestive dialogue and coarse language from the TV Parental Guidelines in the United States, one can use the following code snippet:
TvContentRating rating = TvContentRating.createRating( "com.android.tv", "US_TV", "US_TV_PG", "US_TV_D", "US_TV_L");
System defined string for domains
Constant Value | Description |
---|---|
com.android.tv | Used for creating system defined content ratings |
System defined strings for rating systems
Constant Value | Description |
---|---|
AR_TV | TV content rating system for Argentina |
AU_TV | TV content rating system for Australia |
BR_TV | TV content rating system for Brazil |
CA_TV_EN | TV content rating system for Canada (English) |
CA_TV_FR | TV content rating system for Canada (French) |
DTMB | DTMB content rating system |
DVB | DVB content rating system |
ES_DVB | DVB content rating system for Spain |
FR_DVB | DVB content rating system for France |
ISDB | ISDB content rating system |
KR_TV | TV content rating system for South Korea |
NZ_TV | TV content rating system for New Zealand |
SG_TV | TV content rating system for Singapore |
TH_TV | TV content rating system for Thailand |
US_MV | Movie content rating system for the United States |
US_TV | TV content rating system for the United States |
System defined strings for ratings
Rating System | Constant Value | Description |
---|---|---|
AR_TV | AR_TV_ATP | Suitable for all audiences. Programs may contain mild violence, language and mature situations |
AR_TV_SAM_13 | Suitable for ages 13 and up. Programs may contain mild to moderate language and mild violence and sexual references | |
AR_TV_SAM_16 | Suitable for ages 16 and up. Programs may contain more intensive violence and coarse language, partial nudity and moderate sexual references | |
AR_TV_SAM_18 | Suitable for mature audiences only. Programs contain strong violence, coarse language and explicit sexual references | |
AU_TV | AU_TV_P | Recommended for younger children aged between 2 and 11 years |
AU_TV_C | Recommended for older children aged between 5 and 14 years | |
AU_TV_G | Recommended for all ages | |
AU_TV_PG | Parental guidance is recommended for young viewers under 15 | |
AU_TV_M | Recommended for mature audiences aged 15 years and over | |
AU_TV_MA | Not suitable for children and teens under 15, due to sexual descriptions, course language, adult themes or drug use | |
AU_TV_AV | Not suitable for children and teens under 15. This category is used specifically for violent programs | |
AU_TV_R | Not for children under 18. Content may include graphic violence, sexual situations, coarse language and explicit drug use | |
BR_TV | BR_TV_L | Content is suitable for all audiences |
BR_TV_10 | Content suitable for viewers over the age of 10 | |
BR_TV_12 | Content suitable for viewers over the age of 12 | |
BR_TV_14 | Content suitable for viewers over the age of 14 | |
BR_TV_16 | Content suitable for viewers over the age of 16 | |
BR_TV_18 | Content suitable for viewers over the age of 18 | |
CA_TV_EN | CA_TV_EN_EXEMPT | Exempt from ratings |
CA_TV_EN_C | Suitable for children ages 2–7 | |
CA_TV_EN_C8 | Suitable for children ages 8 and older | |
CA_TV_EN_G | Suitable for the entire family | |
CA_TV_EN_PG | May contain moderate violence, profanity, nudity, and sexual references | |
CA_TV_EN_14 | Intended for viewers ages 14 and older | |
CA_TV_EN_18 | Intended for viewers ages 18 and older | |
CA_TV_FR | CA_TV_FR_E | Exempt from ratings |
CA_TV_FR_G | Appropriate for all ages | |
CA_TV_FR_8 | Appropriate for children 8 | |
CA_TV_FR_13 | Suitable for children 13 | |
CA_TV_FR_16 | Recommended for children over the age of 16 | |
CA_TV_FR_18 | Only to be viewed by adults | |
DTMB | DTMB_4 | Recommended for ages 4 and over |
DTMB_5 | Recommended for ages 5 and over | |
DTMB_6 | Recommended for ages 6 and over | |
DTMB_7 | Recommended for ages 7 and over | |
DTMB_8 | Recommended for ages 8 and over | |
DTMB_9 | Recommended for ages 9 and over | |
DTMB_10 | Recommended for ages 10 and over | |
DTMB_11 | Recommended for ages 11 and over | |
DTMB_12 | Recommended for ages 12 and over | |
DTMB_13 | Recommended for ages 13 and over | |
DTMB_14 | Recommended for ages 14 and over | |
DTMB_15 | Recommended for ages 15 and over | |
DTMB_16 | Recommended for ages 16 and over | |
DTMB_17 | Recommended for ages 17 and over | |
DTMB_18 | Recommended for ages 18 and over | |
DVB | DVB_4 | Recommended for ages 4 and over |
DVB_5 | Recommended for ages 5 and over | |
DVB_6 | Recommended for ages 6 and over | |
DVB_7 | Recommended for ages 7 and over | |
DVB_8 | Recommended for ages 8 and over | |
DVB_9 | Recommended for ages 9 and over | |
DVB_10 | Recommended for ages 10 and over | |
DVB_11 | Recommended for ages 11 and over | |
DVB_12 | Recommended for ages 12 and over | |
DVB_13 | Recommended for ages 13 and over | |
DVB_14 | Recommended for ages 14 and over | |
DVB_15 | Recommended for ages 15 and over | |
DVB_16 | Recommended for ages 16 and over | |
DVB_17 | Recommended for ages 17 and over | |
DVB_18 | Recommended for ages 18 and over | |
ES_DVB | ES_DVB_ALL | Recommended for all ages |
ES_DVB_C | Recommended for children | |
ES_DVB_X | Recommended for adults | |
ES_DVB_4 | Recommended for ages 4 and over | |
ES_DVB_5 | Recommended for ages 5 and over | |
ES_DVB_6 | Recommended for ages 6 and over | |
ES_DVB_7 | Recommended for ages 7 and over | |
ES_DVB_8 | Recommended for ages 8 and over | |
ES_DVB_9 | Recommended for ages 9 and over | |
ES_DVB_10 | Recommended for ages 10 and over | |
ES_DVB_11 | Recommended for ages 11 and over | |
ES_DVB_12 | Recommended for ages 12 and over | |
ES_DVB_13 | Recommended for ages 13 and over | |
ES_DVB_14 | Recommended for ages 14 and over | |
ES_DVB_15 | Recommended for ages 15 and over | |
ES_DVB_16 | Recommended for ages 16 and over | |
ES_DVB_17 | Recommended for ages 17 and over | |
ES_DVB_18 | Recommended for ages 18 and over | |
FR_DVB | FR_DVB_U | Recommended for all ages |
FR_DVB_4 | Recommended for ages 4 and over | |
FR_DVB_5 | Recommended for ages 5 and over | |
FR_DVB_6 | Recommended for ages 6 and over | |
FR_DVB_7 | Recommended for ages 7 and over | |
FR_DVB_8 | Recommended for ages 8 and over | |
FR_DVB_9 | Recommended for ages 9 and over | |
FR_DVB_10 | Recommended for ages 10 and over | |
FR_DVB_11 | Recommended for ages 11 and over | |
FR_DVB_12 | Recommended for ages 12 and over | |
FR_DVB_13 | Recommended for ages 13 and over | |
FR_DVB_14 | Recommended for ages 14 and over | |
FR_DVB_15 | Recommended for ages 15 and over | |
FR_DVB_16 | Recommended for ages 16 and over | |
FR_DVB_17 | Recommended for ages 17 and over | |
FR_DVB_18 | Recommended for ages 18 and over | |
ISDB | ISDB_4 | Recommended for ages 4 and over |
ISDB_5 | Recommended for ages 5 and over | |
ISDB_6 | Recommended for ages 6 and over | |
ISDB_7 | Recommended for ages 7 and over | |
ISDB_8 | Recommended for ages 8 and over | |
ISDB_9 | Recommended for ages 9 and over | |
ISDB_10 | Recommended for ages 10 and over | |
ISDB_11 | Recommended for ages 11 and over | |
ISDB_12 | Recommended for ages 12 and over | |
ISDB_13 | Recommended for ages 13 and over | |
ISDB_14 | Recommended for ages 14 and over | |
ISDB_15 | Recommended for ages 15 and over | |
ISDB_16 | Recommended for ages 16 and over | |
ISDB_17 | Recommended for ages 17 and over | |
ISDB_18 | Recommended for ages 18 and over | |
ISDB_19 | Recommended for ages 19 and over | |
ISDB_20 | Recommended for ages 20 and over | |
KR_TV | KR_TV_ALL | Appropriate for all ages |
KR_TV_7 | May contain material inappropriate for children younger than 7, and parental discretion should be used | |
KR_TV_12 | May deemed inappropriate for those younger than 12, and parental discretion should be used | |
KR_TV_15 | May be inappropriate for children under 15, and that parental discretion should be used | |
KR_TV_19 | For adults only | |
NZ_TV | NZ_TV_G | Programmes which exclude material likely to be unsuitable for children. Programmes may not necessarily be designed for child viewers but should not contain material likely to alarm or distress them |
NZ_TV_PGR | Programmes containing material more suited for mature audiences but not necessarily unsuitable for child viewers when subject to the guidance of a parent or an adult | |
NZ_TV_AO | Programmes containing adult themes and directed primarily at mature audiences | |
SG_TV | SG_TV_G | Suitable for all ages |
SG_TV_PG | Suitable for all but parents should guide their young | |
SG_TV_PG13 | Suitable for persons aged 13 and above but parental guidance is advised for children below 13 | |
SG_TV_NC16 | Suitable for persons aged 16 and above | |
SG_TV_M18 | Suitable for persons aged 18 and above | |
SG_TV_R21 | Suitable for adults aged 21 and above | |
TH_TV | TH_TV_4 | Suitable for audiences 3 to 5 years of age |
TH_TV_6 | Suitable for audiences 6 to 12 years of age | |
TH_TV_10 | Suitable for all audiences | |
TH_TV_13 | Parental guidance suggested for viewers age below 13 | |
TH_TV_18 | Parental guidance suggested for viewers age below 18 | |
TH_TV_19 | Not suitable for children and teenagers | |
US_MV | US_MV_G | General audiences |
US_MV_PG | Parental guidance suggested | |
US_MV_PG13 | Parents strongly cautioned | |
US_MV_R | Restricted, under 17 requires accompanying parent or adult guardian | |
US_MV_NC17 | No one 17 and under admitted | |
US_TV | US_TV_Y | This program is designed to be appropriate for all children |
US_TV_Y7 | This program is designed for children age 7 and above | |
US_TV_G | Most parents would find this program suitable for all ages | |
US_TV_PG | This program contains material that parents may find unsuitable for younger children | |
US_TV_14 | This program contains some material that many parents would find unsuitable for children under 14 years of age | |
US_TV_MA | This program is specifically designed to be viewed by adults and therefore may be unsuitable for children under 17 |
System defined strings for sub-ratings
Rating System | Constant Value | Description |
---|---|---|
BR_TV | BR_TV_D | Drugs Applicable to BR_TV_L, BR_TV_10, BR_TV_12, BR_TV_14, BR_TV_16, and BR_TV_18 |
BR_TV_S | Sex Applicable to BR_TV_L, BR_TV_10, BR_TV_12, BR_TV_14, BR_TV_16, and BR_TV_18 |
|
BR_TV_V | Violence Applicable to BR_TV_L, BR_TV_10, BR_TV_12, BR_TV_14, BR_TV_16, and BR_TV_18 |
|
US_TV | US_TV_D | Suggestive dialogue (Usually means talks about sex) Applicable to US_TV_PG, and US_TV_14 |
US_TV_L | Coarse language Applicable to US_TV_PG, US_TV_14, and US_TV_MA |
|
US_TV_S | Sexual content Applicable to US_TV_PG, US_TV_14, and US_TV_MA |
|
US_TV_V | Violence Applicable to US_TV_PG, US_TV_14, and US_TV_MA |
|
US_TV_FV | Fantasy violence (Children's programming only) Applicable to US_TV_Y7 |
Summary
Public methods | |
---|---|
Boolean |
contains(rating: TvContentRating) Returns |
static TvContentRating! |
createRating(domain: String!, ratingSystem: String!, rating: String!, vararg subRatings: String!) Creates a |
Boolean | |
String! |
Returns a string that unambiguously describes the rating information contained in a |
String! |
Returns the domain of this |
String! |
Returns the main rating of this |
String! |
Returns the rating system of this |
MutableList<String!>! |
Returns the unmodifiable sub-rating string |
Int |
hashCode() |
static TvContentRating! |
unflattenFromString(ratingString: String!) Recovers a |
Properties | |
---|---|
static TvContentRating! |
Rating constant denoting unrated content. |
Public methods
contains
fun contains(rating: TvContentRating): Boolean
Returns true
if this rating has the same main rating as the specified rating and when this rating's sub-ratings contain the other's.
For example, a TvContentRating
object that represents TV-PG with S(Sexual content) and V(Violence) contains TV-PG, TV-PG/S, TV-PG/V and itself.
Parameters | |
---|---|
rating |
TvContentRating: The TvContentRating to check. This value cannot be null . |
Return | |
---|---|
Boolean |
true if this object contains rating , false otherwise. |
createRating
static fun createRating(
domain: String!,
ratingSystem: String!,
rating: String!,
vararg subRatings: String!
): TvContentRating!
Creates a TvContentRating
object with predefined content rating strings.
Parameters | |
---|---|
domain |
String!: The domain string. For example, "com.android.tv". |
ratingSystem |
String!: The rating system string. For example, "US_TV". |
rating |
String!: The content rating string. For example, "US_TV_PG". |
subRatings |
String!: The sub-rating strings. For example, "US_TV_D" and "US_TV_L". |
Return | |
---|---|
TvContentRating! |
A TvContentRating object. |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
If domain , ratingSystem or rating is null . |
equals
fun equals(other: Any?): Boolean
Parameters | |
---|---|
obj |
the reference object with which to compare. |
Return | |
---|---|
Boolean |
true if this object is the same as the obj argument; false otherwise. |
flattenToString
fun flattenToString(): String!
Returns a string that unambiguously describes the rating information contained in a TvContentRating
object. One can later recover the object from this string through unflattenFromString
.
Return | |
---|---|
String! |
a string containing the rating information, which can later be stored in the database. |
See Also
getDomain
fun getDomain(): String!
Returns the domain of this TvContentRating
object.
getMainRating
fun getMainRating(): String!
Returns the main rating of this TvContentRating
object.
getRatingSystem
fun getRatingSystem(): String!
Returns the rating system of this TvContentRating
object.
getSubRatings
fun getSubRatings(): MutableList<String!>!
Returns the unmodifiable sub-rating string List
of this TvContentRating
object.
unflattenFromString
static fun unflattenFromString(ratingString: String!): TvContentRating!
Recovers a TvContentRating
object from the string that was previously created from flattenToString
.
Parameters | |
---|---|
ratingString |
String!: The string returned by flattenToString . |
Return | |
---|---|
TvContentRating! |
the TvContentRating object containing the domain, rating system, rating and sub-ratings information encoded in ratingString . |
See Also
Properties
UNRATED
static val UNRATED: TvContentRating!
Rating constant denoting unrated content. Used to handle the case where the content rating information is missing.
TV input services can call TvInputManager#isRatingBlocked
with this constant to determine whether they should block unrated content. The subsequent call to TvInputService.Session#notifyContentBlocked
with the same constant notifies applications that the current program content is blocked by parental controls.