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 ACTION_QUERY_CONTENT_RATING_SYSTEMS
in its manifest.
<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>
TvContentRating
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");
Constant Value | Description |
---|---|
com.android.tv | Used for creating system defined content ratings |
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) |
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 |
SG_TV | TV content rating system for Singapore |
US_MV | Movie content rating system for the United States |
US_TV | TV content rating system for the United States |
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 | |
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 | |
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 | |
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 |
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 |
Fields | |
---|---|
public
static
final
TvContentRating |
UNRATED
Rating constant denoting unrated content. |
Public methods | |
---|---|
final
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 | |
---|---|
From
class
java.lang.Object
|
TvContentRating UNRATED
Rating constant denoting unrated content. Used to handle the case where the content rating information is missing.
TV input services can call isRatingBlocked(TvContentRating)
with this constant to
determine whether they should block unrated content. The subsequent call to
notifyContentBlocked(TvContentRating)
with the same constant notifies
applications that the current program content is blocked by parental controls.
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. |
Returns | |
---|---|
boolean |
true if this object contains rating , false otherwise.
|
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 .
|
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:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
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. |
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:
String getDomain ()
Returns the domain of this TvContentRating
object.
Returns | |
---|---|
String |
String getMainRating ()
Returns the main rating of this TvContentRating
object.
Returns | |
---|---|
String |
String getRatingSystem ()
Returns the rating system of this TvContentRating
object.
Returns | |
---|---|
String |
List<String> getSubRatings ()
Returns the unmodifiable sub-rating string List
of this TvContentRating
object.
Returns | |
---|---|
List<String> |
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:
hashCode
method
must consistently return the same integer, provided no information
used in equals
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.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
equals(java.lang.Object)
method, then calling the hashCode
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.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
Returns | |
---|---|
int |
a hash code value for this object. |
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: