TvContentRating
public
final
class
TvContentRating
extends Object
java.lang.Object | |
↳ | 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 TvContentRating
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
Fields | |
---|---|
public
static
final
TvContentRating |
UNRATED
Rating constant denoting unrated content. |
Public methods | |
---|---|
boolean
|
contains(TvContentRating rating)
Returns |
static
TvContentRating
|
createRating(String domain, String ratingSystem, String rating, String... subRatings)
Creates a |
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one. |
String
|
flattenToString()
Returns a string that unambiguously describes the rating information contained in a
|
String
|
getDomain()
Returns the domain of this |
String
|
getMainRating()
Returns the main rating of this |
String
|
getRatingSystem()
Returns the rating system of this |
List<String>
|
getSubRatings()
Returns the unmodifiable sub-rating string |
int
|
hashCode()
Returns a hash code value for the object. |
static
TvContentRating
|
unflattenFromString(String ratingString)
Recovers a |
Inherited methods | |
---|---|
Fields
UNRATED
public static final TvContentRating UNRATED
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.
Public methods
contains
public boolean contains (TvContentRating rating)
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 . |
Returns | |
---|---|
boolean |
true if this object contains rating , false otherwise. |
createRating
public static TvContentRating createRating (String domain, String ratingSystem, String rating, String... subRatings)
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". |
Returns | |
---|---|
TvContentRating |
A TvContentRating object. |
Throws | |
---|---|
IllegalArgumentException |
If domain , ratingSystem or rating is
null . |
equals
public boolean equals (Object obj)
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation
on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
obj |
Object : the reference object with which to compare. |
Returns | |
---|---|
boolean |
true if this object is the same as the obj
argument; false otherwise. |
flattenToString
public String flattenToString ()
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(String)
.
Returns | |
---|---|
String |
a string containing the rating information, which can later be stored in the database. |
See also:
getDomain
public String getDomain ()
Returns the domain of this TvContentRating
object.
Returns | |
---|---|
String |
getMainRating
public String getMainRating ()
Returns the main rating of this TvContentRating
object.
Returns | |
---|---|
String |
getRatingSystem
public String getRatingSystem ()
Returns the rating system of this TvContentRating
object.
Returns | |
---|---|
String |
getSubRatings
public List<String> getSubRatings ()
Returns the unmodifiable sub-rating string List
of this TvContentRating
object.
Returns | |
---|---|
List<String> |
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
HashMap
.
The general contract of hashCode
is:
- Whenever it is invoked on the same object more than once during
an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used inequals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equals
method, then calling thehashCode
method on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal
according to the
equals
method, then calling thehashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns | |
---|---|
int |
a hash code value for this object. |
unflattenFromString
public static TvContentRating unflattenFromString (String ratingString)
Recovers a TvContentRating
object from the string that was previously created from
flattenToString()
.
Parameters | |
---|---|
ratingString |
String : The string returned by flattenToString() . |
Returns | |
---|---|
TvContentRating |
the TvContentRating object containing the domain, rating system, rating and
sub-ratings information encoded in ratingString . |
See also: