author | Hualing Chen <hualing.chen@amlogic.com> | 2017-12-29 08:20:06 (GMT) |
---|---|---|
committer | Hualing Chen <hualing.chen@amlogic.com> | 2017-12-29 08:25:42 (GMT) |
commit | 2e05d3c7e1d8eb339555cbef6e39e80f31dd0b61 (patch) | |
tree | 95ca546d08597709407ebee8a79d7f3f864d4b72 | |
parent | 2dd73b7a6d68f1a58331cacfc2993c9f210aa367 (diff) | |
download | tv-2e05d3c7e1d8eb339555cbef6e39e80f31dd0b61.zip tv-2e05d3c7e1d8eb339555cbef6e39e80f31dd0b61.tar.gz tv-2e05d3c7e1d8eb339555cbef6e39e80f31dd0b61.tar.bz2 |
PD#157047: tvserver: fixed rating parse error when have many ratings.
1.fixed ratings parse error.
Change-Id: I76bd1da2d4f93e340c4e47a64fc98413bc269bc1
Signed-off-by: Hualing Chen <hualing.chen@amlogic.com>
-rw-r--r-- | core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java b/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java index bb59110..ce3c56f 100644 --- a/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java +++ b/core/java/com/droidlogic/app/tv/DroidLogicTvUtils.java @@ -764,33 +764,26 @@ public class DroidLogicTvUtils if (dimension == -1 || value == -1) continue; if (region == 1) {//US ratings - if (dimension == 7 - /*&& ratingDescription != null - && ratingDescription.startsWith("MPAA-")*/ - ) { - TvContentRating r = TvContentRating.createRating(RatingDomain, "US_MV", - DroidLogicTvUtils.US_ContentRatingDimensions[dimension][value]); - RatingList.add(r); - Log.d(TAG, "add rating:"+r.flattenToString()); - } else /*if (ratingDescription != null - && ratingDescription.startsWith("TV-") - )*/ { - ArrayList<String> subRatings = new ArrayList<String>(); - for (int j = 1; j < ratings.length(); j++) { - JSONObject subRatingValues = ratings.optJSONObject(j); - int subDimension = subRatingValues.optInt("d", -1); - int subValue = subRatingValues.optInt("r", -1); - if (subDimension == -1 || subValue == -1) - continue; - subRatings.add(DroidLogicTvUtils.US_ContentRatingDimensions[subDimension][subValue]); + for (int j = 0; j < ratings.length(); j++) { + JSONObject subRatingValues = ratings.optJSONObject(j); + int subDimension = subRatingValues.optInt("d", -1); + int subValue = subRatingValues.optInt("r", -1); + + if (subDimension == -1 || subValue == -1) + continue; + if (subDimension == 7) { + TvContentRating r = TvContentRating.createRating(RatingDomain, "US_MV", + DroidLogicTvUtils.US_ContentRatingDimensions[subDimension][subValue]); + RatingList.add(r); + Log.d(TAG, "mv add rating:"+r.flattenToString()); + } else { + if (subDimension == 255) + subDimension = 0; + TvContentRating r = TvContentRating.createRating(RatingDomain, "US_TV", + DroidLogicTvUtils.US_ContentRatingDimensions[subDimension][subValue]); + RatingList.add(r); + Log.d(TAG, "tv add rating:"+r.flattenToString()); } - if (dimension == 255) - dimension = 0; - TvContentRating r = TvContentRating.createRating(RatingDomain, "US_TV", - DroidLogicTvUtils.US_ContentRatingDimensions[dimension][value], - subRatings.toArray(new String[subRatings.size()])); - RatingList.add(r); - Log.d(TAG, "add rating:"+r.flattenToString()); } } else if (region == 2) {//Canadian ratings for (int j = 0; j < ratings.length(); j++) { |