diff options
author | Nick Chalko <nchalko@google.com> | 2019-10-22 09:06:18 -0700 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2019-11-13 12:15:55 -0800 |
commit | b97f0a19118c444a2070832e49aa53ebf8876316 (patch) | |
tree | bb5c18acf6586c35d65ed87f74de138185f3389e /src | |
parent | 14567b871296296cb25d0d76de240893e25414ef (diff) | |
download | TV-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.java | 43 |
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(); } } |