TvContentRating.java revision e6dca2cfa4eecd3a45792703b722fc3ef86e8744
1e16873467cda89d905027458e2664c759465d463Sungsoo Lim/*
2e16873467cda89d905027458e2664c759465d463Sungsoo Lim * Copyright (C) 2014 The Android Open Source Project
3e16873467cda89d905027458e2664c759465d463Sungsoo Lim *
4e16873467cda89d905027458e2664c759465d463Sungsoo Lim * Licensed under the Apache License, Version 2.0 (the "License");
5e16873467cda89d905027458e2664c759465d463Sungsoo Lim * you may not use this file except in compliance with the License.
6e16873467cda89d905027458e2664c759465d463Sungsoo Lim * You may obtain a copy of the License at
7e16873467cda89d905027458e2664c759465d463Sungsoo Lim *
8e16873467cda89d905027458e2664c759465d463Sungsoo Lim *      http://www.apache.org/licenses/LICENSE-2.0
9e16873467cda89d905027458e2664c759465d463Sungsoo Lim *
10e16873467cda89d905027458e2664c759465d463Sungsoo Lim * Unless required by applicable law or agreed to in writing, software
11e16873467cda89d905027458e2664c759465d463Sungsoo Lim * distributed under the License is distributed on an "AS IS" BASIS,
12e16873467cda89d905027458e2664c759465d463Sungsoo Lim * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e16873467cda89d905027458e2664c759465d463Sungsoo Lim * See the License for the specific language governing permissions and
14e16873467cda89d905027458e2664c759465d463Sungsoo Lim * limitations under the License.
15e16873467cda89d905027458e2664c759465d463Sungsoo Lim */
16e16873467cda89d905027458e2664c759465d463Sungsoo Lim
17e16873467cda89d905027458e2664c759465d463Sungsoo Limpackage android.media.tv;
18e16873467cda89d905027458e2664c759465d463Sungsoo Lim
196057102dbb746593a7d59cf377c969b62e38c664Jae Seoimport android.annotation.SystemApi;
205c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Limimport android.net.Uri;
21e16873467cda89d905027458e2664c759465d463Sungsoo Limimport android.text.TextUtils;
22e16873467cda89d905027458e2664c759465d463Sungsoo Limimport android.util.Log;
23e16873467cda89d905027458e2664c759465d463Sungsoo Lim
24e16873467cda89d905027458e2664c759465d463Sungsoo Limimport java.util.Arrays;
256057102dbb746593a7d59cf377c969b62e38c664Jae Seoimport java.util.Collections;
26e16873467cda89d905027458e2664c759465d463Sungsoo Limimport java.util.List;
27e16873467cda89d905027458e2664c759465d463Sungsoo Lim
28e16873467cda89d905027458e2664c759465d463Sungsoo Lim/**
29e16873467cda89d905027458e2664c759465d463Sungsoo Lim * A class representing a TV content rating.
305c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * When a TV input service provides the content rating information of a program into TV provider,
315c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * TvContentRating class will be used for generating the value of {@link
325c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * TvContract.Programs#COLUMN_CONTENT_RATING}. To create an object of {@link TvContentRating}, use
335c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * the {@link #createRating} method with valid arguments. The arguments could be a system defined
345c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * strings, or a TV input service defined strings.
355c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * TV input service defined strings are in an xml file defined in <code>&lt;{@link
365c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * android.R.styleable#TvInputService tv-input}&gt;</code> with the {@link
375c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * android.R.attr#contentRatingSystemXml contentRatingSystemXml} attribute by the TV input service.
385c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *
395c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <h3> Content Rating System XML format </h3>
405c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * The XML file for publishing content rating system should follow the DTD bellow:
415c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <p><pre class="prettyprint">
425c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * &lt;?xml version="1.0" encoding="UTF-8"?&gt;
435c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * &lt;!DOCTYPE rating-systems [
445c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT rating-system-definitions (rating-system-definition+)&gt;
455c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT rating-system-definition (
465c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         (sub-rating-definition*, rating-definition, sub-rating-definition*)+, order*)&gt;
475c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ATTLIST rating-system-definition
485c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         id          ID    #REQUIRED
495c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         displayName CDATA #IMPLIED
505c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         description CDATA #IMPLIED
515c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         country     CDATA #IMPLIED&gt;
525c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT sub-rating-definition EMPTY&gt;
535c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ATTLIST sub-rating-definition
545c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         id          ID    #REQUIRED
555c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         displayName CDATA #IMPLIED
565c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         icon        CDATA #IMPLIED
575c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         description CDATA #IMPLIED&gt;
585c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT rating-definition (sub-rating*))&gt;
595c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ATTLIST rating-definition
605c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         id          ID    #REQUIRED
615c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         displayName CDATA #IMPLIED
625c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         icon        CDATA #IMPLIED
635c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         description CDATA #IMPLIED&gt;
645c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT sub-rating EMPTY&gt;
655c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ATTLIST sub-rating id IDREF #REQUIRED&gt;
665c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT order (rating, rating+)&gt;
675c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ELEMENT rating EMPTY&gt;
685c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     &lt;!ATTLIST rating id IDREF #REQUIRED&gt;
695c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * ]&gt;
705c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * </pre></p>
715c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *
725c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <h3>System defined rating strings</h3>
735c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *
745c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <u>System defined string for {@code domain}</u>
755c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <table border="0" cellspacing="0" cellpadding="0">
765c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
775c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>String value</td>
785c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Comments</td>
795c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
805c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
815c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>android.media.tv</td>
825c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Used for creating system defined content ratings</td>
835c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
845c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * </table>
855c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <u>System defined string for {@code ratingSystem}</u>
865c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <table border="0" cellspacing="0" cellpadding="0">
875c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
885c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>String value</td>
895c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Comments</td>
905c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
91e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
92e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AM_TV</td>
93e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
94e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
95e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
96e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AR_TV</td>
97e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
98e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
99e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
100e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AU_TV</td>
101e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
102e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
103e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
104e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>BG_TV</td>
105e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
106e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
107e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
108e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>BR_TV</td>
109e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
110e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
111e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
112e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CA_TV</td>
113e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
114e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
115e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
116e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CH_TV</td>
117e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
118e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
119e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
120e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CL_TV</td>
121e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
122e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
123e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
124e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CO_TV</td>
125e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
126e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
127e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
128e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>DE_TV</td>
129e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
130e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
131e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
132e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>DK_TV</td>
133e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
134e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
135e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
136e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ES_TV</td>
137e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
138e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
139e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
140e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>FI_TV</td>
141e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
142e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
143e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
144e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>FR_TV</td>
145e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
146e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
147e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
148e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>GR_TV</td>
149e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
150e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
151e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
152e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>HK_TV</td>
153e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
154e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
155e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
156e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>HU_TV</td>
157e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
158e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
159e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
160e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ID_TV</td>
161e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
162e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
163e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
164e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IE_TV</td>
165e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
166e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
167e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
168e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IL_TV</td>
169e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
170e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
171e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
172e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IN_TV</td>
173e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
174e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
175e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
176e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IS_TV</td>
177e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
178e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
179e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
180e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IT_TV</td>
181e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
182e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
183e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
184e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KH_TV</td>
185e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
186e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
1875c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
1885c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>KR_TV</td>
1895c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>The South Korean television rating system</td>
1905c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
191e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
192e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MV_TV</td>
193e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
194e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
195e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
196e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MX_TV</td>
197e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
198e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
199e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
200e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MY_TV</td>
201e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
202e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
203e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
204e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>NL_TV</td>
205e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
206e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
207e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
208e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>NZ_TV</td>
209e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
210e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
211e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
212e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PE_TV</td>
213e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
214e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
215e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
216e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PH_TV</td>
217e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
218e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
219e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
220e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PL_TV</td>
221e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
222e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
223e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
224e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PT_TV</td>
225e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
226e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
227e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
228e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RO_TV</td>
229e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
230e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
231e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
232e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RU_TV</td>
233e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
234e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
235e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
236e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RS_TV</td>
237e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
238e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
239e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
240e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>SG_TV</td>
241e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
242e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
243e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
244e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>SI_TV</td>
245e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
246e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
247e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
248e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TH_TV</td>
249e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
250e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
251e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
252e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TR_TV</td>
253e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
254e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
255e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
256e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TW_TV</td>
257e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
258e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
259e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
260e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>UA_TV</td>
261e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
262e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
263e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <tr>
264e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>US_TVPG</td>
265e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>The TV Parental Guidelines for US TV content ratings</td>
266e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr>
267e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
268e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>VE_TV</td>
269e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
270e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
271e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
272e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ZA_TV</td>
273e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
274e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
2755c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * </table>
2765c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *
2775c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <u>System defined string for {@code rating}</u>
2785c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <table border="0" cellspacing="0" cellpadding="0">
2795c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
2805c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>String value</td>
2815c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Comments</td>
2825c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
283e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
284e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AM_TV_ALL</td>
285e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
286e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
287e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
288e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AR_TV_ALL</td>
289e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
290e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
291e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
292e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AU_TV_ALL</td>
293e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
294e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
295e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
296e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>BG_TV_ALL</td>
297e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
298e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
299e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
300e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>BR_TV_ALL</td>
301e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
302e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
303e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
304e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CA_TV_ALL</td>
305e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
306e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
307e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
308e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CH_TV_ALL</td>
309e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
310e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
311e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
312e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CL_TV_ALL</td>
313e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
314e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
315e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
316e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CO_TV_ALL</td>
317e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
318e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
319e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
320e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>DE_TV_ALL</td>
321e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
322e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
323e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
324e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>DK_TV_ALL</td>
325e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
326e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
327e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
328e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ES_TV_ALL</td>
329e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
330e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
331e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
332e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>FI_TV_ALL</td>
333e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
334e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
335e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
336e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>FR_TV_ALL</td>
337e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
338e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
339e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
340e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>GR_TV_ALL</td>
341e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
342e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
343e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
344e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>HK_TV_ALL</td>
345e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
346e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
347e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
348e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>HU_TV_ALL</td>
349e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
350e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
351e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
352e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ID_TV_ALL</td>
353e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
354e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
355e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
356e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IE_TV_ALL</td>
357e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
358e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
359e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
360e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IL_TV_ALL</td>
361e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
362e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
363e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
364e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IN_TV_ALL</td>
365e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
366e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
367e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
368e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IS_TV_ALL</td>
369e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
370e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
371e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
372e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IT_TV_ALL</td>
373e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
374e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
375e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
376e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KH_TV_ALL</td>
377e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
378e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
379e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <tr>
380e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KR_TV_ALL</td>
381e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code KR_TV}. This rating is for programs that are appropriate
382e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         for all ages. This program usually involves programs designed for children or families.
383e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         </td>
384e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr>
385e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <tr>
386e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KR_TV_7</td>
387e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code KR_TV}. This rating is for programs that may contain
388e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         material inappropriate for children younger than 7, and parental guidance is required.
389e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         </td>
390e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr>
391e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <tr>
392e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KR_TV_12</td>
393e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code KR_TV}. This rating is for programs that may contain
394e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         material inappropriate for children younger than 12, and parental guidance is required.
395e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         </td>
396e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr>
397e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <tr>
398e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KR_TV_15</td>
399e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code KR_TV}. This rating is for programs that may contain
400e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         material inappropriate for children younger than 15, and parental guidance is required.
401e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr>
402e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <tr>
403e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KR_TV_19</td>
404e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code KR_TV}. This rating is for programs designed for adults
405e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         only.</td>
406e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr>
407e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
408e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MV_TV_ALL</td>
409e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
410e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
411e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
412e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MX_TV_ALL</td>
413e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
414e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
415e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
416e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MY_TV_ALL</td>
417e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
418e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
419e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
420e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>NL_TV_ALL</td>
421e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
422e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
423e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
424e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>NZ_TV_ALL</td>
425e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
426e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
427e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
428e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PE_TV_ALL</td>
429e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
430e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
431e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
432e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PH_TV_ALL</td>
433e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
434e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
435e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
436e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PL_TV_ALL</td>
437e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
438e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
439e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
440e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PT_TV_ALL</td>
441e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
442e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
443e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
444e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RO_TV_ALL</td>
445e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
446e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
447e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
448e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RU_TV_ALL</td>
449e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
450e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
451e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
452e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RS_TV_ALL</td>
453e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
454e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
455e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
456e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>SG_TV_ALL</td>
457e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
458e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
459e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
460e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>SI_TV_ALL</td>
461e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
462e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
463e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
464e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TH_TV_ALL</td>
465e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
466e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
467e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
468e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TR_TV_ALL</td>
469e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
470e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
471e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
472e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TW_TV_ALL</td>
473e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
474e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
475e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
476e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>UA_TV_ALL</td>
477e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
478e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
4795c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
4805c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_TV_Y</td>
481e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code US_TVPG}. Programs rated this are designed to be
4825c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         appropriate for all children. Whether animated or live-action, the themes and elements
4835c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         in this program are specifically designed for a very young audience, including children
4845c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         from ages 2-6. This program is not expected to frighten younger children.</td>
4855c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
4865c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
4875c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_TV_Y7</td>
488e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code US_TVPG}. Programs rated this are designed for children
4895c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         age 7 and above. It may be more appropriate for children who have acquired the
4905c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         developmental skills needed to distinguish between make-believe and reality. Themes and
4915c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         elements in this program may include mild fantasy violence or comedic violence, or may
4925c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         frighten children under the age of 7. Therefore, parents may wish to consider the
4935c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         suitability of this program for their very young children. This rating may contain
4945c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         fantasy violence (US_TVPG_FV) when programs are generally more intense or more combative
4955c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         than other programs in this category.</td>
4965c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
4975c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
4985c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_TV_G</td>
499e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code US_TVPG}. Most parents would find this program suitable
5005c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         for all ages. Although this rating does not signify a program designed specifically for
5015c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         children, most parents may let younger children watch this program unattended. It
5025c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         contains little or no violence, no strong language and little or no sexual dialogue or
5035c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         situations.</td>
5045c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
5055c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
5065c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_TV_PG</td>
507e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code US_TVPG}. Programs rated this contain material that
5085c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         parents may find unsuitable for younger children. Many parents may want to watch it with
5095c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         their younger children. The theme itself may call for parental guidance and/or the
510e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         program may contain one or more of the following: some suggestive dialogue (
511e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         {@code US_TVPG_D}), infrequent coarse language ({@code US_TVPG_L}), some sexual
512e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         situations ({@code US_TVPG_S}), or moderate violence ({@code US_TVPG_V}).</td>
5135c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
5145c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
5155c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_TV_14</td>
516e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code US_TVPG}. Programs rated this contains some material
5175c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         that many parents would find unsuitable for children under 14 years of age. Parents are
5185c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         strongly urged to exercise greater care in monitoring this program and are cautioned
5195c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         against letting children under the age of 14 watch unattended. This program may contain
520e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         one or more of the following: intensely suggestive dialogue ({@code US_TVPG_D}), strong
521e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         coarse language ({@code US_TVPG_L}), intense sexual situations ({@code US_TVPG_S}), or
522e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         intense violence ({@code US_TVPG_V}).</td>
5235c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
5245c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
5255c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_TV_MA</td>
526e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>A rating string for {@code US_TVPG}. Programs rated TV-MA are specifically
5275c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         designed to be viewed by adults and therefore may be unsuitable for children under 17.
5285c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         This program may contain one or more of the following: crude indecent language
529e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         ({@code US_TVPG_L}), explicit sexual activity ({@code US_TVPG_S}), or graphic violence
530e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         ({@code US_TVPG_V}).</td>
5315c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
532e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
533e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>VE_TV_ALL</td>
534e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
535e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
536e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
537e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ZA_TV_ALL</td>
538e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
539e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
5405c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * </table>
5415c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *
5425c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <u>System defined string for {@code subRating}</u>
5435c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * <table border="0" cellspacing="0" cellpadding="0">
5445c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
5455c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>String value</td>
5465c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Comments</td>
5475c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
548e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
549e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AM_TV_</td>
550e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
551e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
552e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
553e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AR_TV_</td>
554e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
555e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
556e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
557e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>AU_TV_</td>
558e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
559e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
560e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
561e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>BG_TV_</td>
562e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
563e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
564e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
565e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>BR_TV_</td>
566e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
567e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
568e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
569e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CA_TV_</td>
570e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
571e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
572e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
573e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CH_TV_</td>
574e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
575e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
576e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
577e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CL_TV_</td>
578e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
579e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
580e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
581e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>CO_TV_</td>
582e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
583e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
584e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
585e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>DE_TV_</td>
586e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
587e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
588e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
589e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>DK_TV_</td>
590e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
591e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
592e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
593e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ES_TV_</td>
594e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
595e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
596e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
597e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>FI_TV_</td>
598e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
599e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
600e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
601e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>FR_TV_</td>
602e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
603e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
604e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
605e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>GR_TV_</td>
606e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
607e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
608e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
609e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>HK_TV_</td>
610e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
611e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
612e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
613e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>HU_TV_</td>
614e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
615e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
616e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
617e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ID_TV_</td>
618e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
619e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
620e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
621e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IE_TV_</td>
622e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
623e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
624e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
625e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IL_TV_</td>
626e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
627e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
628e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
629e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IN_TV_</td>
630e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
631e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
632e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
633e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IS_TV_</td>
634e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
635e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
636e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
637e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>IT_TV_</td>
638e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
639e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
640e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
641e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>KH_TV_</td>
642e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
643e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
644e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
645e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MV_TV_</td>
646e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
647e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
648e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
649e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MX_TV_</td>
650e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
651e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
652e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
653e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>MY_TV_</td>
654e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
655e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
656e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
657e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>NL_TV_</td>
658e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
659e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
660e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
661e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>NZ_TV_</td>
662e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
663e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
664e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
665e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PE_TV_</td>
666e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
667e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
668e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
669e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PH_TV_</td>
670e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
671e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
672e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
673e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PL_TV_</td>
674e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
675e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
676e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
677e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>PT_TV_</td>
678e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
679e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
680e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
681e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RO_TV_</td>
682e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
683e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
684e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
685e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RU_TV_</td>
686e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
687e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
688e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
689e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>RS_TV_</td>
690e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
691e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
692e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
693e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>SG_TV_</td>
694e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
695e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
696e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
697e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>SI_TV_</td>
698e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
699e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
700e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
701e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TH_TV_</td>
702e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
703e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
704e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
705e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TR_TV_</td>
706e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
707e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
708e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
709e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>TW_TV_</td>
710e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
711e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
712e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
713e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>UA_TV_</td>
714e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
715e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
7165c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
7175c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_D</td>
7185c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Suggestive dialogue (Not used with US_TVPG_TV_MA)</td>
7195c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
7205c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
7215c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_L</td>
7225c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Coarse language</td>
7235c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
7245c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
7255c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_S</td>
7265c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Sexual content</td>
7275c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
7285c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
7295c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_V</td>
7305c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Violence</td>
7315c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
7325c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     <tr>
7335c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>US_TVPG_FV</td>
7345c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *         <td>Fantasy violence (exclusive to US_TVPG_TV_Y7)</td>
7355c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim *     </tr>
736e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
737e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>VE_TV_</td>
738e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
739e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
740e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     <!--tr>
741e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td>ZA_TV_</td>
742e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *         <td></td>
743e6dca2cfa4eecd3a45792703b722fc3ef86e8744Sungsoo Lim *     </tr-->
7445c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim * </table>
745e16873467cda89d905027458e2664c759465d463Sungsoo Lim */
7466057102dbb746593a7d59cf377c969b62e38c664Jae Seopublic final class TvContentRating {
747e16873467cda89d905027458e2664c759465d463Sungsoo Lim    private static final String TAG = "TvContentRating";
748e16873467cda89d905027458e2664c759465d463Sungsoo Lim
7495c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    /** @hide */
7505c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    public static final Uri SYSTEM_CONTENT_RATING_SYSTEM_XML = Uri.parse(
7515c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            "android.resource://system/" + com.android.internal.R.xml.tv_content_rating_systems);
752e16873467cda89d905027458e2664c759465d463Sungsoo Lim
7535c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    // TODO: Consider to use other DELIMITER. In some countries such as India may use this delimiter
7545c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    // in the main ratings.
7555c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private static final String DELIMITER = "/";
756e16873467cda89d905027458e2664c759465d463Sungsoo Lim
7575c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private final String mDomain;
7585c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private final String mCountryCode;
7595c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private final String mRatingSystem;
7605c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private final String mRating;
7615c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private final String[] mSubRatings;
762e16873467cda89d905027458e2664c759465d463Sungsoo Lim
763e16873467cda89d905027458e2664c759465d463Sungsoo Lim    /**
7645c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Creates a TvContentRating object.
7655c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     *
7665c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @param domain The domain name.
7675c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @param countryCode The country code in ISO 3166-2 format or {@code null}.
7685c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @param ratingSystem The rating system id.
7695c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @param rating The content rating string.
7705c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @param subRatings The string array of sub-ratings.
7715c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @return A TvContentRating object, or null if creation failed.
772e16873467cda89d905027458e2664c759465d463Sungsoo Lim     */
7735c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    public static TvContentRating createRating(String domain, String countryCode,
7745c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            String ratingSystem, String rating, String... subRatings) {
7755c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        if (TextUtils.isEmpty(domain)) {
7765c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            throw new IllegalArgumentException("domain cannot be empty");
7775c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        }
7785c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        if (TextUtils.isEmpty(rating)) {
7795c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            throw new IllegalArgumentException("rating cannot be empty");
7805c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        }
7815c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        return new TvContentRating(domain, countryCode, ratingSystem, rating, subRatings);
782e16873467cda89d905027458e2664c759465d463Sungsoo Lim    }
783e16873467cda89d905027458e2664c759465d463Sungsoo Lim
784e16873467cda89d905027458e2664c759465d463Sungsoo Lim    /**
7855c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Recovers a TvContentRating from a String that was previously created with
7865c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * {@link #flattenToString}.
787e16873467cda89d905027458e2664c759465d463Sungsoo Lim     *
7885c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @param ratingString The String that was returned by flattenToString().
7895c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @return a new TvContentRating containing the domain, countryCode, rating system, rating and
7905c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     *         sub-ratings information was encoded in {@code ratingString}.
7915c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * @see #flattenToString
792e16873467cda89d905027458e2664c759465d463Sungsoo Lim     */
7935c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    public static TvContentRating unflattenFromString(String ratingString) {
7945c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        if (TextUtils.isEmpty(ratingString)) {
7955c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            throw new IllegalArgumentException("ratingString cannot be empty");
7965c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        }
7975c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        String[] strs = ratingString.split(DELIMITER);
7985c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        if (strs.length < 4) {
7995c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            throw new IllegalArgumentException("Invalid rating string: " + ratingString);
8005c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        }
8015c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        if (strs.length > 4) {
8025c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            String[] subRatings = new String[strs.length - 4];
8035c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            System.arraycopy(strs, 4, subRatings, 0, subRatings.length);
8045c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            return new TvContentRating(strs[0], strs[1], strs[2], strs[3], subRatings);
8055c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        }
8065c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        return new TvContentRating(strs[0], strs[1], strs[2], strs[3], null);
807e16873467cda89d905027458e2664c759465d463Sungsoo Lim    }
808e16873467cda89d905027458e2664c759465d463Sungsoo Lim
809e16873467cda89d905027458e2664c759465d463Sungsoo Lim    /**
810e16873467cda89d905027458e2664c759465d463Sungsoo Lim     * Constructs a TvContentRating object from a given rating and sub-rating constants.
811e16873467cda89d905027458e2664c759465d463Sungsoo Lim     *
812e16873467cda89d905027458e2664c759465d463Sungsoo Lim     * @param rating The rating constant defined in this class.
813e16873467cda89d905027458e2664c759465d463Sungsoo Lim     * @param subRatings The String array of sub-rating constants defined in this class.
814e16873467cda89d905027458e2664c759465d463Sungsoo Lim     */
8155c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    private TvContentRating(String domain, String countryCode,
8165c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim            String ratingSystem, String rating, String[] subRatings) {
8175c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        mDomain = domain;
8185c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        mCountryCode = countryCode;
8195c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        mRatingSystem = ratingSystem;
8206057102dbb746593a7d59cf377c969b62e38c664Jae Seo        mRating = rating;
8216057102dbb746593a7d59cf377c969b62e38c664Jae Seo        mSubRatings = subRatings;
822e16873467cda89d905027458e2664c759465d463Sungsoo Lim    }
823e16873467cda89d905027458e2664c759465d463Sungsoo Lim
824e16873467cda89d905027458e2664c759465d463Sungsoo Lim    /**
8255c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Returns the domain.
8265c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     */
8275c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    public String getDomain() {
8285c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        return mDomain;
8295c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    }
8305c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim
8315c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    /**
8325c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Returns the country code in ISO 3166-2 format or {@code null}.
8335c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     */
8345c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    public String getCountry() {
8355c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        return mCountryCode;
8365c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    }
8375c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim
8385c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    /**
8395c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Returns the rating system id.
8405c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     */
8415c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    public String getRatingSystem() {
8425c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        return mRatingSystem;
8435c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    }
8445c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim
8455c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim    /**
8465c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Returns the main rating.
8476057102dbb746593a7d59cf377c969b62e38c664Jae Seo     */
8486057102dbb746593a7d59cf377c969b62e38c664Jae Seo    public String getMainRating() {
8496057102dbb746593a7d59cf377c969b62e38c664Jae Seo        return mRating;
8506057102dbb746593a7d59cf377c969b62e38c664Jae Seo    }
8516057102dbb746593a7d59cf377c969b62e38c664Jae Seo
8526057102dbb746593a7d59cf377c969b62e38c664Jae Seo    /**
8535c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim     * Returns the unmodifiable {@code List} of sub-rating strings.
8546057102dbb746593a7d59cf377c969b62e38c664Jae Seo     */
8556057102dbb746593a7d59cf377c969b62e38c664Jae Seo    public List<String> getSubRatings() {
8566057102dbb746593a7d59cf377c969b62e38c664Jae Seo        if (mSubRatings == null) {
8576057102dbb746593a7d59cf377c969b62e38c664Jae Seo            return null;
8586057102dbb746593a7d59cf377c969b62e38c664Jae Seo        }
8596057102dbb746593a7d59cf377c969b62e38c664Jae Seo        return Collections.unmodifiableList(Arrays.asList(mSubRatings));
8606057102dbb746593a7d59cf377c969b62e38c664Jae Seo    }
8616057102dbb746593a7d59cf377c969b62e38c664Jae Seo
8626057102dbb746593a7d59cf377c969b62e38c664Jae Seo    /**
8636057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * Returns a String that unambiguously describes both the rating and sub-rating information
8646057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * contained in the TvContentRating. You can later recover the TvContentRating from this string
8656057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * through {@link #unflattenFromString}.
8666057102dbb746593a7d59cf377c969b62e38c664Jae Seo     *
8676057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * @return a new String holding rating/sub-rating information, which can later be stored in the
8686057102dbb746593a7d59cf377c969b62e38c664Jae Seo     *         database and settings.
8696057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * @see #unflattenFromString
8706057102dbb746593a7d59cf377c969b62e38c664Jae Seo     */
8716057102dbb746593a7d59cf377c969b62e38c664Jae Seo    public String flattenToString() {
8725c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        StringBuilder builder = new StringBuilder();
8735c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(mDomain);
8745c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(DELIMITER);
8755c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(mCountryCode);
8765c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(DELIMITER);
8775c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(mRatingSystem);
8785c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(DELIMITER);
8795c5b83fcd58d21c9ab7ac986bf84f604ec5bb4b5Sungsoo Lim        builder.append(mRating);
8806057102dbb746593a7d59cf377c969b62e38c664Jae Seo        if (mSubRatings != null) {
8816057102dbb746593a7d59cf377c969b62e38c664Jae Seo            for (String subRating : mSubRatings) {
8826057102dbb746593a7d59cf377c969b62e38c664Jae Seo                builder.append(DELIMITER);
8836057102dbb746593a7d59cf377c969b62e38c664Jae Seo                builder.append(subRating);
8846057102dbb746593a7d59cf377c969b62e38c664Jae Seo            }
8856057102dbb746593a7d59cf377c969b62e38c664Jae Seo        }
8866057102dbb746593a7d59cf377c969b62e38c664Jae Seo        return builder.toString();
8876057102dbb746593a7d59cf377c969b62e38c664Jae Seo    }
8886057102dbb746593a7d59cf377c969b62e38c664Jae Seo
8896057102dbb746593a7d59cf377c969b62e38c664Jae Seo    /**
8906057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * Returns true if this rating has the same main rating as the specified rating and when this
8916057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * rating's sub-ratings contain the other's.
8926057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * <p>
8936057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * For example, a TvContentRating object that represents TV-PG with S(Sexual content) and
8946057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * V(Violence) contains TV-PG, TV-PG/S, TV-PG/V and itself.
8956057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * </p>
8966057102dbb746593a7d59cf377c969b62e38c664Jae Seo     *
8976057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * @param rating The {@link TvContentRating} to check.
8986057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * @return {@code true} if this object contains {@code rating}, {@code false} otherwise.
8996057102dbb746593a7d59cf377c969b62e38c664Jae Seo     * @hide
900e16873467cda89d905027458e2664c759465d463Sungsoo Lim     */
9016057102dbb746593a7d59cf377c969b62e38c664Jae Seo    @SystemApi
9026057102dbb746593a7d59cf377c969b62e38c664Jae Seo    public final boolean contains(TvContentRating rating) {
9036057102dbb746593a7d59cf377c969b62e38c664Jae Seo        if (rating == null) {
9046057102dbb746593a7d59cf377c969b62e38c664Jae Seo            throw new IllegalArgumentException("rating cannot be null");
9056057102dbb746593a7d59cf377c969b62e38c664Jae Seo        }
9066057102dbb746593a7d59cf377c969b62e38c664Jae Seo        if (!rating.getMainRating().equals(mRating)) {
9076057102dbb746593a7d59cf377c969b62e38c664Jae Seo            return false;
9086057102dbb746593a7d59cf377c969b62e38c664Jae Seo        }
9096057102dbb746593a7d59cf377c969b62e38c664Jae Seo        List<String> subRatings = getSubRatings();
9106057102dbb746593a7d59cf377c969b62e38c664Jae Seo        List<String> subRatingsOther = rating.getSubRatings();
9116057102dbb746593a7d59cf377c969b62e38c664Jae Seo        if (subRatings == null && subRatingsOther == null) {
9126057102dbb746593a7d59cf377c969b62e38c664Jae Seo            return true;
9136057102dbb746593a7d59cf377c969b62e38c664Jae Seo        } else if (subRatings == null && subRatingsOther != null) {
9146057102dbb746593a7d59cf377c969b62e38c664Jae Seo            return false;
9156057102dbb746593a7d59cf377c969b62e38c664Jae Seo        } else if (subRatings != null && subRatingsOther == null) {
9166057102dbb746593a7d59cf377c969b62e38c664Jae Seo            return true;
9176057102dbb746593a7d59cf377c969b62e38c664Jae Seo        } else {
9186057102dbb746593a7d59cf377c969b62e38c664Jae Seo            return subRatings.containsAll(subRatingsOther);
919e16873467cda89d905027458e2664c759465d463Sungsoo Lim        }
920e16873467cda89d905027458e2664c759465d463Sungsoo Lim    }
921e16873467cda89d905027458e2664c759465d463Sungsoo Lim}
922