Loading services/core/java/com/android/server/tv/PersistentDataStore.java +14 −8 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** Loading @@ -69,7 +70,8 @@ final class PersistentDataStore { // The atomic file used to safely read or write the file. private final AtomicFile mAtomicFile; private final List<TvContentRating> mBlockedRatings = new ArrayList<TvContentRating>(); private final List<TvContentRating> mBlockedRatings = Collections.synchronizedList(new ArrayList<TvContentRating>()); private boolean mBlockedRatingsChanged; Loading Loading @@ -107,11 +109,13 @@ final class PersistentDataStore { public boolean isRatingBlocked(TvContentRating rating) { loadIfNeeded(); synchronized (mBlockedRatings) { for (TvContentRating blcokedRating : mBlockedRatings) { if (rating.contains(blcokedRating)) { return true; } } } return false; } Loading Loading @@ -271,11 +275,13 @@ final class PersistentDataStore { serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, TAG_TV_INPUT_MANAGER_STATE); serializer.startTag(null, TAG_BLOCKED_RATINGS); synchronized (mBlockedRatings) { for (TvContentRating rating : mBlockedRatings) { serializer.startTag(null, TAG_RATING); serializer.attribute(null, ATTR_STRING, rating.flattenToString()); serializer.endTag(null, TAG_RATING); } } serializer.endTag(null, TAG_BLOCKED_RATINGS); serializer.startTag(null, TAG_PARENTAL_CONTROLS); serializer.attribute(null, ATTR_ENABLED, Boolean.toString(mParentalControlsEnabled)); Loading Loading
services/core/java/com/android/server/tv/PersistentDataStore.java +14 −8 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** Loading @@ -69,7 +70,8 @@ final class PersistentDataStore { // The atomic file used to safely read or write the file. private final AtomicFile mAtomicFile; private final List<TvContentRating> mBlockedRatings = new ArrayList<TvContentRating>(); private final List<TvContentRating> mBlockedRatings = Collections.synchronizedList(new ArrayList<TvContentRating>()); private boolean mBlockedRatingsChanged; Loading Loading @@ -107,11 +109,13 @@ final class PersistentDataStore { public boolean isRatingBlocked(TvContentRating rating) { loadIfNeeded(); synchronized (mBlockedRatings) { for (TvContentRating blcokedRating : mBlockedRatings) { if (rating.contains(blcokedRating)) { return true; } } } return false; } Loading Loading @@ -271,11 +275,13 @@ final class PersistentDataStore { serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, TAG_TV_INPUT_MANAGER_STATE); serializer.startTag(null, TAG_BLOCKED_RATINGS); synchronized (mBlockedRatings) { for (TvContentRating rating : mBlockedRatings) { serializer.startTag(null, TAG_RATING); serializer.attribute(null, ATTR_STRING, rating.flattenToString()); serializer.endTag(null, TAG_RATING); } } serializer.endTag(null, TAG_BLOCKED_RATINGS); serializer.startTag(null, TAG_PARENTAL_CONTROLS); serializer.attribute(null, ATTR_ENABLED, Boolean.toString(mParentalControlsEnabled)); Loading