am 941070ce: am 5a58383a: am 48ca66c3: Merge "TIF: Fix comments in TvContentRating" into lmp-dev
* commit '941070ce591ec3de08f9d2675a41a1bb50b6212e': TIF: Fix comments in TvContentRating
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package android.media.tv;
|
||||
|
||||
import android.annotation.SystemApi;
|
||||
import android.net.Uri;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -26,19 +25,22 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* A class representing a TV content rating.
|
||||
* When a TV input service provides the content rating information of a program into TV provider,
|
||||
* TvContentRating class will be used for generating the value of {@link
|
||||
* TvContract.Programs#COLUMN_CONTENT_RATING}. To create an object of {@link TvContentRating}, use
|
||||
* the {@link #createRating} method with valid arguments. The arguments could be a system defined
|
||||
* strings, or a TV input service defined strings.
|
||||
* TV input service defined strings are in an xml file defined in <code><{@link
|
||||
* android.R.styleable#TvInputService tv-input}></code> with the {@link
|
||||
* android.R.attr#tvContentRatingDescription tvContentRatingDescription} attribute by the TV input
|
||||
* service.
|
||||
*
|
||||
* 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
|
||||
* {@link TvContract.Programs#COLUMN_CONTENT_RATING TvContract.Programs.COLUMN_CONTENT_RATING}.
|
||||
* To create a {@code TvContentRating} object, use the
|
||||
* {@link #createRating TvContentRating.createRating} method with valid rating system string
|
||||
* constants.
|
||||
* <p>
|
||||
* It is possible for a TV input to define its own content rating system by supplying a content
|
||||
* rating system definition XML resource (see example below) and having the
|
||||
* {@link android.R.attr#tvContentRatingDescription tvContentRatingDescription} attribute in
|
||||
* {@link TvInputService#SERVICE_META_DATA} of the TV input point to it.
|
||||
* </p>
|
||||
* <h3> Example: Rating system definition for the TV Parental Guidelines</h3>
|
||||
* The following XML example shows how the TV Parental Guidelines in United States can be defined:
|
||||
* The following XML example shows how the TV Parental Guidelines in the United States can be
|
||||
* defined:
|
||||
* <p><pre class="prettyprint">
|
||||
* {@literal
|
||||
* <rating-system-definitions xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
@@ -118,24 +120,36 @@ import java.util.Objects;
|
||||
* </rating-system-definitions>}</pre></p>
|
||||
*
|
||||
* <h3>System defined rating strings</h3>
|
||||
*
|
||||
* <u>System defined string for {@code domain}</u>
|
||||
* <table border="0" cellspacing="0" cellpadding="0">
|
||||
* The following strings are defined by the system to provide a standard way to create
|
||||
* {@code TvContentRating} objects.
|
||||
* <p>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:
|
||||
* </p>
|
||||
* <pre>
|
||||
* String rating = TvContentRating.createRating(
|
||||
* "com.android.tv",
|
||||
* "US_TV",
|
||||
* "US_TV_PG",
|
||||
* "US_TV_D", "US_TV_L");
|
||||
* </pre>
|
||||
* <h4>System defined string for domains</h4>
|
||||
* <table>
|
||||
* <tr>
|
||||
* <td width=10%>String value</td>
|
||||
* <td>Comments</td>
|
||||
* <th>Constant Value</th>
|
||||
* <th>Comment</th>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>android.media.tv</td>
|
||||
* <td>com.android.tv</td>
|
||||
* <td>Used for creating system defined content ratings</td>
|
||||
* </tr>
|
||||
* </table>
|
||||
*
|
||||
* <u>System defined string for {@code ratingSystem}</u>
|
||||
* <table border="1" cellspacing="0" cellpadding="0">
|
||||
* <h4>System defined strings for rating systems</h4>
|
||||
* <table>
|
||||
* <tr>
|
||||
* <td width="10%">String value</td>
|
||||
* <td>Comments</td>
|
||||
* <th>Constant Value</th>
|
||||
* <th>Comment</th>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>AM_TV_RS</td>
|
||||
@@ -316,7 +330,7 @@ import java.util.Objects;
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>US_TV</td>
|
||||
* <td>TV content rating system for United States</td>
|
||||
* <td>TV content rating system for the United States</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td>VE_TV</td>
|
||||
@@ -328,12 +342,12 @@ import java.util.Objects;
|
||||
* </tr>
|
||||
* </table>
|
||||
*
|
||||
* <u>System defined string for {@code rating}</u>
|
||||
* <table border="1" cellspacing="0" cellpadding="0">
|
||||
* <h4>System defined strings for ratings</h4>
|
||||
* <table>
|
||||
* <tr>
|
||||
* <td width="10%">RatingSystem code</td>
|
||||
* <td width="10%">Rating string value</td>
|
||||
* <td>Comments</td>
|
||||
* <th>Rating System</th>
|
||||
* <th>Constant Value</th>
|
||||
* <th>Comment</th>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" rowspan="6">AM_TV_RS</td>
|
||||
@@ -1401,12 +1415,12 @@ import java.util.Objects;
|
||||
* </tr>
|
||||
* </table>
|
||||
*
|
||||
* <u>System defined string for {@code subRating}</u>
|
||||
* <table border="1" cellspacing="0" cellpadding="0">
|
||||
* <h4>System defined strings for sub-ratings</h4>
|
||||
* <table>
|
||||
* <tr>
|
||||
* <td width="10%">RatingSystem code</td>
|
||||
* <td width="10%">Rating string value</td>
|
||||
* <td>Comments</td>
|
||||
* <th>Rating System</th>
|
||||
* <th>Constant Value</th>
|
||||
* <th>Comment</th>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign="top" rowspan="6">NL_TV</td>
|
||||
@@ -1518,13 +1532,15 @@ public final class TvContentRating {
|
||||
private final int mHashCode;
|
||||
|
||||
/**
|
||||
* Creates a TvContentRating object.
|
||||
* Creates a {@code TvContentRating} object with predefined content rating strings.
|
||||
*
|
||||
* @param domain The domain name.
|
||||
* @param ratingSystem The rating system id.
|
||||
* @param rating The content rating string.
|
||||
* @param subRatings The string array of sub-ratings.
|
||||
* @return A TvContentRating object, or null if creation failed.
|
||||
* @param domain The domain string. For example, "com.android.tv".
|
||||
* @param ratingSystem The rating system string. For example, "US_TV".
|
||||
* @param rating The content rating string. For example, "US_TV_PG".
|
||||
* @param subRatings The sub-rating strings. For example, "US_TV_D" and "US_TV_L".
|
||||
* @return A {@code TvContentRating} object.
|
||||
* @throws IllegalArgumentException If {@code domain}, {@code ratingSystem} or {@code rating} is
|
||||
* {@code null}.
|
||||
*/
|
||||
public static TvContentRating createRating(String domain, String ratingSystem,
|
||||
String rating, String... subRatings) {
|
||||
@@ -1541,12 +1557,12 @@ public final class TvContentRating {
|
||||
}
|
||||
|
||||
/**
|
||||
* Recovers a TvContentRating from a String that was previously created with
|
||||
* Recovers a {@code TvContentRating} object from the string that was previously created from
|
||||
* {@link #flattenToString}.
|
||||
*
|
||||
* @param ratingString The String that was returned by flattenToString().
|
||||
* @return a new TvContentRating containing the domain, rating system, rating and
|
||||
* sub-ratings information was encoded in {@code ratingString}.
|
||||
* @param ratingString The string returned by {@link #flattenToString}.
|
||||
* @return the {@code TvContentRating} object containing the domain, rating system, rating and
|
||||
* sub-ratings information encoded in {@code ratingString}.
|
||||
* @see #flattenToString
|
||||
*/
|
||||
public static TvContentRating unflattenFromString(String ratingString) {
|
||||
@@ -1568,10 +1584,10 @@ public final class TvContentRating {
|
||||
/**
|
||||
* Constructs a TvContentRating object from a given rating and sub-rating constants.
|
||||
*
|
||||
* @param domain The domain name.
|
||||
* @param ratingSystem The rating system id.
|
||||
* @param rating The content rating string.
|
||||
* @param subRatings The String array of sub-rating constants defined in this class.
|
||||
* @param domain The string for domain of the content rating system such as "com.android.tv".
|
||||
* @param ratingSystem The rating system string such as "US_TV".
|
||||
* @param rating The content rating string such as "US_TV_PG".
|
||||
* @param subRatings The sub-rating strings such as "US_TV_D" and "US_TV_L".
|
||||
*/
|
||||
private TvContentRating(
|
||||
String domain, String ratingSystem, String rating, String[] subRatings) {
|
||||
@@ -1588,28 +1604,29 @@ public final class TvContentRating {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the domain.
|
||||
* Returns the domain of this {@code TvContentRating} object.
|
||||
*/
|
||||
public String getDomain() {
|
||||
return mDomain;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the rating system id.
|
||||
* Returns the rating system of this {@code TvContentRating} object.
|
||||
*/
|
||||
public String getRatingSystem() {
|
||||
return mRatingSystem;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the main rating.
|
||||
* Returns the main rating of this {@code TvContentRating} object.
|
||||
*/
|
||||
public String getMainRating() {
|
||||
return mRating;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the unmodifiable {@code List} of sub-rating strings.
|
||||
* Returns the unmodifiable sub-rating string {@link List} of this {@code TvContentRating}
|
||||
* object.
|
||||
*/
|
||||
public List<String> getSubRatings() {
|
||||
if (mSubRatings == null) {
|
||||
@@ -1619,12 +1636,12 @@ public final class TvContentRating {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a String that unambiguously describes both the rating and sub-rating information
|
||||
* contained in the TvContentRating. You can later recover the TvContentRating from this string
|
||||
* through {@link #unflattenFromString}.
|
||||
* Returns a string that unambiguously describes the rating information contained in a
|
||||
* {@code TvContentRating} object. One can later recover the object from this string through
|
||||
* {@link #unflattenFromString}.
|
||||
*
|
||||
* @return a new String holding rating/sub-rating information, which can later be stored in the
|
||||
* database and settings.
|
||||
* @return a string containing the rating information, which can later be stored in the
|
||||
* database.
|
||||
* @see #unflattenFromString
|
||||
*/
|
||||
public String flattenToString() {
|
||||
@@ -1644,11 +1661,11 @@ public final class TvContentRating {
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* Returns {@code true} if this rating has the same main rating as the specified rating and when
|
||||
* this rating's sub-ratings contain the other's.
|
||||
* <p>
|
||||
* 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.
|
||||
* For example, a {@code TvContentRating} object that represents TV-PG with S(Sexual content)
|
||||
* and V(Violence) contains TV-PG, TV-PG/S, TV-PG/V and itself.
|
||||
* </p>
|
||||
*
|
||||
* @param rating The {@link TvContentRating} to check.
|
||||
|
||||
Reference in New Issue
Block a user