aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2019-10-22 09:06:18 -0700
committerNick Chalko <nchalko@google.com>2019-11-13 12:15:55 -0800
commitb97f0a19118c444a2070832e49aa53ebf8876316 (patch)
treebb5c18acf6586c35d65ed87f74de138185f3389e /src
parent14567b871296296cb25d0d76de240893e25414ef (diff)
downloadTV-b97f0a19118c444a2070832e49aa53ebf8876316.tar.gz
Convert third_party_epg_inputs flag to a list
PiperOrigin-RevId: 276076118 Change-Id: I7f3f14b1988b614d2571fe1771c4afdb047498f4 Merged-In: I7f3f14b1988b614d2571fe1771c4afdb047498f4 Test: m LiveTv
Diffstat (limited to 'src')
-rw-r--r--src/com/android/tv/data/epg/EpgInputWhiteList.java43
1 files changed, 22 insertions, 21 deletions
diff --git a/src/com/android/tv/data/epg/EpgInputWhiteList.java b/src/com/android/tv/data/epg/EpgInputWhiteList.java
index 4a5f98bb..5f4219f2 100644
--- a/src/com/android/tv/data/epg/EpgInputWhiteList.java
+++ b/src/com/android/tv/data/epg/EpgInputWhiteList.java
@@ -17,26 +17,28 @@
package com.android.tv.data.epg;
import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.util.Log;
+
import com.android.tv.common.BuildConfig;
+
+import com.google.common.collect.ImmutableSet;
+
import com.android.tv.common.flags.CloudEpgFlags;
import com.android.tv.common.flags.LegacyFlags;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
+
import java.util.List;
-import java.util.Set;
+
import javax.inject.Inject;
/** Checks if a package or a input is white listed. */
public final class EpgInputWhiteList {
private static final boolean DEBUG = false;
private static final String TAG = "EpgInputWhiteList";
- private static final String QA_DEV_INPUTS =
- "com.example.partnersupportsampletvinput/.SampleTvInputService,"
- + "com.android.tv.tuner.sample.dvb/.tvinput.SampleDvbTunerTvInputService";
+ private static final ImmutableSet<String> QA_DEV_INPUTS =
+ ImmutableSet.of(
+ "com.example.partnersupportsampletvinput/.SampleTvInputService",
+ "com.android.tv.tuner.sample.dvb/.tvinput.SampleDvbTunerTvInputService");
private final LegacyFlags mLegacyFlags;
/** Returns the package portion of a inputId */
@@ -59,7 +61,7 @@ public final class EpgInputWhiteList {
public boolean isPackageWhiteListed(String packageName) {
if (DEBUG) Log.d(TAG, "isPackageWhiteListed " + packageName);
- Set<String> whiteList = getWhiteListedInputs();
+ ImmutableSet<String> whiteList = getWhiteListedInputs();
for (String good : whiteList) {
try {
String goodPackage = getPackageFromInput(good);
@@ -74,33 +76,32 @@ public final class EpgInputWhiteList {
return false;
}
- private Set<String> getWhiteListedInputs() {
- Set<String> result = toInputSet(mCloudEpgFlags.thirdPartyEpgInputsCsv());
+ private ImmutableSet<String> getWhiteListedInputs() {
+ ImmutableSet<String> result =
+ toInputSet(mCloudEpgFlags.thirdPartyEpgInputs().getElementList());
if (BuildConfig.ENG || mLegacyFlags.enableQaFeatures()) {
- HashSet<String> moreInputs = new HashSet<>(toInputSet(QA_DEV_INPUTS));
if (result.isEmpty()) {
- result = moreInputs;
+ result = QA_DEV_INPUTS;
} else {
- result.addAll(moreInputs);
+ result =
+ ImmutableSet.<String>builder().addAll(result).addAll(QA_DEV_INPUTS).build();
}
}
if (DEBUG) Log.d(TAG, "getWhiteListedInputs " + result);
return result;
}
- @VisibleForTesting
- static Set<String> toInputSet(String value) {
- if (TextUtils.isEmpty(value)) {
- return Collections.emptySet();
+ private static ImmutableSet<String> toInputSet(List<String> strings) {
+ if (strings.isEmpty()) {
+ return ImmutableSet.of();
}
- List<String> strings = Arrays.asList(value.split(","));
- Set<String> result = new HashSet<>(strings.size());
+ ImmutableSet.Builder<String> result = ImmutableSet.builder();
for (String s : strings) {
String trimmed = s.trim();
if (!TextUtils.isEmpty(trimmed)) {
result.add(trimmed);
}
}
- return result;
+ return result.build();
}
}