diff options
18 files changed, 147 insertions, 145 deletions
@@ -1,2 +1,3 @@ +akersten@google.com nchalko@google.com shubang@google.com diff --git a/res/layout/menu_card_channel.xml b/res/layout/menu_card_channel.xml index ed7b8273..40e73845 100644 --- a/res/layout/menu_card_channel.xml +++ b/res/layout/menu_card_channel.xml @@ -32,9 +32,9 @@ android:layout_gravity="top" android:scaleType="centerCrop"/> - <!-- The bottom margin specified in the redline is 8dp, but the redline doesn't consider - the descenders. So actually, if the bottom margin is set to 8dp, the bottom line of - the text lies 11dp above the bottom of the poster art due to the descenders. + <!-- The bottom margin specified in the UI annotation is 8dp, but the annotation doesn't + consider the descenders. So actually, if the bottom margin is set to 8dp, the bottom + line of the text lies 11dp above the bottom of the poster art due to the descenders. Therefore the bottom margin needs to be set to 5dp(=8dp-3dp) here. If the text size or font is changed, the bottom margin needs to be changed. --> <TextView android:id="@+id/channel_number_and_name" diff --git a/src/com/android/tv/MainActivity.java b/src/com/android/tv/MainActivity.java index 5cfdd194..9c615b93 100644 --- a/src/com/android/tv/MainActivity.java +++ b/src/com/android/tv/MainActivity.java @@ -230,20 +230,20 @@ public class MainActivity extends Activity private static final String SCREEN_BEHIND_NAME = "Behind"; private static final float REFRESH_RATE_EPSILON = 0.01f; - private static final HashSet<Integer> BLACKLIST_KEYCODE_TO_TIS; + private static final HashSet<Integer> BLOCKLIST_KEYCODE_TO_TIS; // These keys won't be passed to TIS in addition to gamepad buttons. static { - BLACKLIST_KEYCODE_TO_TIS = new HashSet<>(); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_TV_INPUT); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_MENU); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_CHANNEL_UP); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_CHANNEL_DOWN); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_VOLUME_UP); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_VOLUME_DOWN); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_VOLUME_MUTE); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_MUTE); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_SEARCH); - BLACKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_WINDOW); + BLOCKLIST_KEYCODE_TO_TIS = new HashSet<>(); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_TV_INPUT); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_MENU); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_CHANNEL_UP); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_CHANNEL_DOWN); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_VOLUME_UP); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_VOLUME_DOWN); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_VOLUME_MUTE); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_MUTE); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_SEARCH); + BLOCKLIST_KEYCODE_TO_TIS.add(KeyEvent.KEYCODE_WINDOW); } private static final IntentFilter SYSTEM_INTENT_FILTER = new IntentFilter(); @@ -330,7 +330,7 @@ public class MainActivity extends Activity private boolean mActivityResumed; private boolean mActivityStarted; private boolean mShouldTuneToTunerChannel; - private boolean mUseKeycodeBlacklist; + private boolean mUseKeycodeBlocklist; private boolean mShowLockedChannelsTemporarily; private boolean mBackKeyPressed; private boolean mNeedShowBackKeyGuide; @@ -1441,16 +1441,16 @@ public class MainActivity extends Activity || mOverlayManager.getSideFragmentManager().isActive()) { return super.dispatchKeyEvent(event); } - if (BLACKLIST_KEYCODE_TO_TIS.contains(event.getKeyCode()) + if (BLOCKLIST_KEYCODE_TO_TIS.contains(event.getKeyCode()) || KeyEvent.isGamepadButton(event.getKeyCode())) { - // If the event is in blacklisted or gamepad key, do not pass it to session. - // Gamepad keys are blacklisted to support TV UIs and here's the detail. + // If the event is in blocklisted or gamepad key, do not pass it to session. + // Gamepad keys are blocklisted to support TV UIs and here's the detail. // If there's a TIS granted RECEIVE_INPUT_EVENT, TIF sends key events to TIS // and return immediately saying that the event is handled. // In this case, fallback key will be injected but with FLAG_CANCELED // while gamepads support DPAD_CENTER and BACK by fallback. // Since we don't expect that TIS want to handle gamepad buttons now, - // blacklist gamepad buttons and wait for next fallback keys. + // blocklist gamepad buttons and wait for next fallback keys. // TODO: Need to consider other fallback keys (e.g. ESCAPE) return super.dispatchKeyEvent(event); } @@ -2215,7 +2215,7 @@ public class MainActivity extends Activity if (event.isCanceled()) { // Ignore canceled key. // Note that if there's a TIS granted RECEIVE_INPUT_EVENT, - // fallback keys not blacklisted will have FLAG_CANCELED. + // fallback keys not blocklisted will have FLAG_CANCELED. // See dispatchKeyEvent() for detail. return true; } @@ -2330,7 +2330,7 @@ public class MainActivity extends Activity return true; case KeyEvent.KEYCODE_CTRL_LEFT: case KeyEvent.KEYCODE_CTRL_RIGHT: - mUseKeycodeBlacklist = !mUseKeycodeBlacklist; + mUseKeycodeBlocklist = !mUseKeycodeBlocklist; return true; case KeyEvent.KEYCODE_O: mOverlayManager.getSideFragmentManager().show(new DisplayModeFragment()); diff --git a/src/com/android/tv/SetupPassthroughActivity.java b/src/com/android/tv/SetupPassthroughActivity.java index 25049f1d..98f9b809 100644 --- a/src/com/android/tv/SetupPassthroughActivity.java +++ b/src/com/android/tv/SetupPassthroughActivity.java @@ -33,7 +33,7 @@ import com.android.tv.common.actions.InputSetupActionUtils; import com.android.tv.data.ChannelDataManager; import com.android.tv.data.ChannelDataManager.Listener; import com.android.tv.data.epg.EpgFetcher; -import com.android.tv.data.epg.EpgInputWhiteList; +import com.android.tv.data.epg.EpgInputAllowList; import com.android.tv.features.TvFeatures; import com.android.tv.util.SetupUtils; import com.android.tv.util.TvInputManagerHelper; @@ -64,7 +64,7 @@ public class SetupPassthroughActivity extends Activity { private TvInputInfo mTvInputInfo; private Intent mActivityAfterCompletion; private boolean mEpgFetcherDuringScan; - @Inject EpgInputWhiteList mEpgInputWhiteList; + @Inject EpgInputAllowList mEpgInputAllowList; @Inject TvInputManagerHelper mInputManager; @Inject SetupUtils mSetupUtils; @Inject ChannelDataManager mChannelDataManager; @@ -169,7 +169,7 @@ public class SetupPassthroughActivity extends Activity { && data.getBooleanExtra(EpgContract.EXTRA_USE_CLOUD_EPG, false)) { if (DEBUG) Log.d(TAG, "extra " + data.getExtras()); String inputId = data.getStringExtra(TvInputInfo.EXTRA_INPUT_ID); - if (mEpgInputWhiteList.isInputWhiteListed(inputId)) { + if (mEpgInputAllowList.isInputAllowed(inputId)) { mEpgFetcher.fetchImmediately(); } } diff --git a/src/com/android/tv/TimeShiftManager.java b/src/com/android/tv/TimeShiftManager.java index f08b5e85..3167a631 100644 --- a/src/com/android/tv/TimeShiftManager.java +++ b/src/com/android/tv/TimeShiftManager.java @@ -110,7 +110,7 @@ public class TimeShiftManager { private static final int MSG_GET_CURRENT_POSITION = 1000; private static final int MSG_PREFETCH_PROGRAM = 1001; private static final long REQUEST_CURRENT_POSITION_INTERVAL = TimeUnit.SECONDS.toMillis(1); - private static final long MAX_DUMMY_PROGRAM_DURATION = TimeUnit.MINUTES.toMillis(30); + private static final long MAX_PLACEHOLDER_PROGRAM_DURATION = TimeUnit.MINUTES.toMillis(30); @VisibleForTesting static final long INVALID_TIME = -1; static final long CURRENT_TIME = -2; private static final long PREFETCH_TIME_OFFSET_FROM_PROGRAM_END = TimeUnit.MINUTES.toMillis(1); @@ -489,7 +489,7 @@ public class TimeShiftManager { Program program = mProgramManager.getProgramAt(timeMs); if (program == null) { // Guard just in case when the program prefetch handler doesn't work on time. - mProgramManager.addDummyProgramsAt(timeMs); + mProgramManager.addPlaceholderProgramsAt(timeMs); program = mProgramManager.getProgramAt(timeMs); } return program; @@ -544,8 +544,8 @@ public class TimeShiftManager { /** * Returns the current program which airs right now. * - * <p>If the program is a dummy program, which means there's no program information, returns - * {@code null}. + * <p>If the program is a placeholder program, which means there's no program information, + * returns {@code null}. */ @Nullable public Program getCurrentProgram() { @@ -909,11 +909,11 @@ public class TimeShiftManager { prefetchStartTimeMs = program.getEndTimeUtcMillis(); } else { prefetchStartTimeMs = - Utils.floorTime(currentPositionMs, MAX_DUMMY_PROGRAM_DURATION); + Utils.floorTime(currentPositionMs, MAX_PLACEHOLDER_PROGRAM_DURATION); } - // Create dummy program + // Create placeholder program mPrograms.addAll( - createDummyPrograms( + createPlaceholderPrograms( prefetchStartTimeMs, currentPositionMs + PREFETCH_DURATION_FOR_NEXT)); schedulePrefetchPrograms(); @@ -929,12 +929,12 @@ public class TimeShiftManager { endTimeMs = System.currentTimeMillis(); } - long fetchStartTimeMs = Utils.floorTime(startTimeMs, MAX_DUMMY_PROGRAM_DURATION); + long fetchStartTimeMs = Utils.floorTime(startTimeMs, MAX_PLACEHOLDER_PROGRAM_DURATION); long fetchEndTimeMs = Utils.ceilTime( - endTimeMs + PREFETCH_DURATION_FOR_NEXT, MAX_DUMMY_PROGRAM_DURATION); + endTimeMs + PREFETCH_DURATION_FOR_NEXT, MAX_PLACEHOLDER_PROGRAM_DURATION); removeOutdatedPrograms(fetchStartTimeMs); - boolean needToLoad = addDummyPrograms(fetchStartTimeMs, fetchEndTimeMs); + boolean needToLoad = addPlaceholderPrograms(fetchStartTimeMs, fetchEndTimeMs); if (needToLoad) { Range<Long> period = Range.create(fetchStartTimeMs, fetchEndTimeMs); mProgramLoadQueue.add(period); @@ -983,60 +983,60 @@ public class TimeShiftManager { } } - void addDummyProgramsAt(long timeMs) { - addDummyPrograms(timeMs, timeMs + PREFETCH_DURATION_FOR_NEXT); + void addPlaceholderProgramsAt(long timeMs) { + addPlaceholderPrograms(timeMs, timeMs + PREFETCH_DURATION_FOR_NEXT); } - private boolean addDummyPrograms(Range<Long> period) { - return addDummyPrograms(period.getLower(), period.getUpper()); + private boolean addPlaceholderPrograms(Range<Long> period) { + return addPlaceholderPrograms(period.getLower(), period.getUpper()); } - private boolean addDummyPrograms(long startTimeMs, long endTimeMs) { + private boolean addPlaceholderPrograms(long startTimeMs, long endTimeMs) { boolean added = false; if (mPrograms.isEmpty()) { - // Insert dummy program. - mPrograms.addAll(createDummyPrograms(startTimeMs, endTimeMs)); + // Insert placeholder program. + mPrograms.addAll(createPlaceholderPrograms(startTimeMs, endTimeMs)); return true; } - // Insert dummy program to the head of the list if needed. + // Insert placeholder program to the head of the list if needed. Program firstProgram = mPrograms.get(0); if (startTimeMs < firstProgram.getStartTimeUtcMillis()) { if (!firstProgram.isValid()) { - // Already the firstProgram is dummy. + // Already the firstProgram is a placeholder. mPrograms.remove(0); mPrograms.addAll( 0, - createDummyPrograms(startTimeMs, firstProgram.getEndTimeUtcMillis())); + createPlaceholderPrograms(startTimeMs, firstProgram.getEndTimeUtcMillis())); } else { mPrograms.addAll( 0, - createDummyPrograms(startTimeMs, firstProgram.getStartTimeUtcMillis())); + createPlaceholderPrograms(startTimeMs, firstProgram.getStartTimeUtcMillis())); } added = true; } - // Insert dummy program to the tail of the list if needed. + // Insert placeholder program to the tail of the list if needed. Program lastProgram = mPrograms.get(mPrograms.size() - 1); if (endTimeMs > lastProgram.getEndTimeUtcMillis()) { if (!lastProgram.isValid()) { - // Already the lastProgram is dummy. + // Already the lastProgram is a placeholder. mPrograms.remove(mPrograms.size() - 1); mPrograms.addAll( - createDummyPrograms(lastProgram.getStartTimeUtcMillis(), endTimeMs)); + createPlaceholderPrograms(lastProgram.getStartTimeUtcMillis(), endTimeMs)); } else { mPrograms.addAll( - createDummyPrograms(lastProgram.getEndTimeUtcMillis(), endTimeMs)); + createPlaceholderPrograms(lastProgram.getEndTimeUtcMillis(), endTimeMs)); } added = true; } - // Insert dummy programs if the holes exist in the list. + // Insert placeholder programs if the holes exist in the list. for (int i = 1; i < mPrograms.size(); ++i) { long endOfPrevious = mPrograms.get(i - 1).getEndTimeUtcMillis(); long startOfCurrent = mPrograms.get(i).getStartTimeUtcMillis(); if (startOfCurrent > endOfPrevious) { - List<Program> dummyPrograms = - createDummyPrograms(endOfPrevious, startOfCurrent); - mPrograms.addAll(i, dummyPrograms); - i += dummyPrograms.size(); + List<Program> placeholderPrograms = + createPlaceholderPrograms(endOfPrevious, startOfCurrent); + mPrograms.addAll(i, placeholderPrograms); + i += placeholderPrograms.size(); added = true; } } @@ -1049,7 +1049,7 @@ public class TimeShiftManager { } } - private void removeDummyPrograms() { + private void removePlaceholderPrograms() { for (Iterator<Program> it = mPrograms.listIterator(); it.hasNext(); ) { if (!it.next().isValid()) { it.remove(); @@ -1084,18 +1084,18 @@ public class TimeShiftManager { } } - // Returns a list of dummy programs. - // The maximum duration of a dummy program is {@link MAX_DUMMY_PROGRAM_DURATION}. + // Returns a list of placeholder programs. + // The maximum duration of a placeholder program is {@link MAX_PLACEHOLDER_PROGRAM_DURATION}. // So if the duration ({@code endTimeMs}-{@code startTimeMs}) is greater than the duration, - // we need to create multiple dummy programs. + // we need to create multiple placeholder programs. // The reason of the limitation of the duration is because we want the trick play viewer - // to show the time-line duration of {@link MAX_DUMMY_PROGRAM_DURATION} at most - // for a dummy program. - private List<Program> createDummyPrograms(long startTimeMs, long endTimeMs) { + // to show the time-line duration of {@link MAX_PLACEHOLDER_PROGRAM_DURATION} at most + // for a placeholder program. + private List<Program> createPlaceholderPrograms(long startTimeMs, long endTimeMs) { SoftPreconditions.checkArgument( endTimeMs - startTimeMs <= TWO_WEEKS_MS, TAG, - "createDummyProgram: long duration of dummy programs are requested ( %s , %s)", + "createPlaceholderProgram: long duration of placeholder programs are requested ( %s , %s)", Utils.toTimeString(startTimeMs), Utils.toTimeString(endTimeMs)); if (startTimeMs >= endTimeMs) { @@ -1103,7 +1103,7 @@ public class TimeShiftManager { } List<Program> programs = new ArrayList<>(); long start = startTimeMs; - long end = Utils.ceilTime(startTimeMs, MAX_DUMMY_PROGRAM_DURATION); + long end = Utils.ceilTime(startTimeMs, MAX_PLACEHOLDER_PROGRAM_DURATION); while (end < endTimeMs) { programs.add( new ProgramImpl.Builder() @@ -1111,7 +1111,7 @@ public class TimeShiftManager { .setEndTimeUtcMillis(end) .build()); start = end; - end += MAX_DUMMY_PROGRAM_DURATION; + end += MAX_PLACEHOLDER_PROGRAM_DURATION; } programs.add( new ProgramImpl.Builder() @@ -1256,7 +1256,7 @@ public class TimeShiftManager { } if (programs == null || programs.isEmpty()) { mEmptyFetchCount++; - if (addDummyPrograms(mPeriod)) { + if (addPlaceholderPrograms(mPeriod)) { TimeShiftManager.this.onProgramInfoChanged(); } schedulePrefetchPrograms(); @@ -1265,7 +1265,7 @@ public class TimeShiftManager { } mEmptyFetchCount = 0; if (!mPrograms.isEmpty()) { - removeDummyPrograms(); + removePlaceholderPrograms(); removeOverlappedPrograms(programs); Program loadedProgram = programs.get(0); for (int i = 0; i < mPrograms.size() && !programs.isEmpty(); ++i) { @@ -1282,7 +1282,7 @@ public class TimeShiftManager { } } mPrograms.addAll(programs); - addDummyPrograms(mPeriod); + addPlaceholderPrograms(mPeriod); TimeShiftManager.this.onProgramInfoChanged(); schedulePrefetchPrograms(); startNextLoadingIfNeeded(); diff --git a/src/com/android/tv/data/ProgramDataManager.java b/src/com/android/tv/data/ProgramDataManager.java index a866c78e..dcfa69e2 100644 --- a/src/com/android/tv/data/ProgramDataManager.java +++ b/src/com/android/tv/data/ProgramDataManager.java @@ -402,7 +402,7 @@ public class ProgramDataManager implements MemoryManageable { * * <p>Prefetch should be enabled to call it. * - * @return {@link List} with Programs. It may includes dummy program if the entry needs DB + * @return {@link List} with Programs. It may includes stub program if the entry needs DB * operations to get. */ public List<Program> getPrograms(long channelId, long startTime) { @@ -425,7 +425,7 @@ public class ProgramDataManager implements MemoryManageable { private int getProgramIndexAt(List<Program> programs, long time) { Program key = mZeroLengthProgramCache.get(time); if (key == null) { - key = createDummyProgram(time, time); + key = createStubProgram(time, time); mZeroLengthProgramCache.put(time, key); } int index = Collections.binarySearch(programs, key); @@ -527,11 +527,11 @@ public class ProgramDataManager implements MemoryManageable { continue; } - // Update dummy program around current program if any. + // Update stub program around current program if any. if (cachedProgram.getStartTimeUtcMillis() < currentProgram.getStartTimeUtcMillis()) { - // The dummy program starts earlier than the current program. Adjust its end time. + // The stub program starts earlier than the current program. Adjust its end time. i.set( - createDummyProgram( + createStubProgram( cachedProgram.getStartTimeUtcMillis(), currentProgram.getStartTimeUtcMillis())); i.add(currentProgram); @@ -539,9 +539,9 @@ public class ProgramDataManager implements MemoryManageable { i.set(currentProgram); } if (currentProgram.getEndTimeUtcMillis() < cachedProgram.getEndTimeUtcMillis()) { - // The dummy program ends later than the current program. Adjust its start time. + // The stub program ends later than the current program. Adjust its start time. i.add( - createDummyProgram( + createStubProgram( currentProgram.getEndTimeUtcMillis(), cachedProgram.getEndTimeUtcMillis())); } @@ -1010,8 +1010,8 @@ public class ProgramDataManager implements MemoryManageable { } } - // Create dummy program which indicates data isn't loaded yet so DB query is required. - private Program createDummyProgram(long startTimeMs, long endTimeMs) { + // Create stub program which indicates data isn't loaded yet so DB query is required. + private Program createStubProgram(long startTimeMs, long endTimeMs) { return new ProgramImpl.Builder() .setChannelId(Channel.INVALID_ID) .setStartTimeUtcMillis(startTimeMs) diff --git a/src/com/android/tv/data/ProgramImpl.java b/src/com/android/tv/data/ProgramImpl.java index 5097e2d4..84e42fbe 100644 --- a/src/com/android/tv/data/ProgramImpl.java +++ b/src/com/android/tv/data/ProgramImpl.java @@ -419,7 +419,7 @@ public final class ProgramImpl extends BaseProgramImpl implements Parcelable, Pr @Override public int hashCode() { - // Hash with all the properties because program ID can be invalid for the dummy programs. + // Hash with all the properties because program ID can be invalid for the stub programs. return Objects.hash( mChannelId, mStartTimeUtcMillis, @@ -446,7 +446,7 @@ public final class ProgramImpl extends BaseProgramImpl implements Parcelable, Pr if (!(other instanceof ProgramImpl)) { return false; } - // Compare all the properties because program ID can be invalid for the dummy programs. + // Compare all the properties because program ID can be invalid for the stub programs. ProgramImpl program = (ProgramImpl) other; return Objects.equals(mPackageName, program.mPackageName) && mChannelId == program.mChannelId diff --git a/src/com/android/tv/data/epg/EpgFetcherImpl.java b/src/com/android/tv/data/epg/EpgFetcherImpl.java index 27d7f8d5..b62efbe1 100644 --- a/src/com/android/tv/data/epg/EpgFetcherImpl.java +++ b/src/com/android/tv/data/epg/EpgFetcherImpl.java @@ -124,7 +124,7 @@ public class EpgFetcherImpl implements EpgFetcher { private final ChannelDataManager mChannelDataManager; private final EpgReader mEpgReader; private final PerformanceMonitor mPerformanceMonitor; - private final EpgInputWhiteList mEpgInputWhiteList; + private final EpgInputAllowList mEpgInputAllowList; private final BackendKnobsFlags mBackendKnobsFlags; private final HasBuildType.BuildType mBuildType; private FetchAsyncTask mFetchTask; @@ -141,7 +141,7 @@ public class EpgFetcherImpl implements EpgFetcher { @Inject public EpgFetcherImpl( @ApplicationContext Context context, - EpgInputWhiteList epgInputWhiteList, + EpgInputAllowList epgInputAllowList, ChannelDataManager channelDataManager, EpgReader epgReader, PerformanceMonitor performanceMonitor, @@ -153,7 +153,7 @@ public class EpgFetcherImpl implements EpgFetcher { mEpgReader = epgReader; mPerformanceMonitor = performanceMonitor; mClock = clock; - mEpgInputWhiteList = epgInputWhiteList; + mEpgInputAllowList = epgInputAllowList; mBackendKnobsFlags = backendKnobsFlags; mBuildType = buildType; } @@ -516,7 +516,7 @@ public class EpgFetcherImpl implements EpgFetcher { return numbers.size(); } - private boolean isInputInWhiteList(EpgInput epgInput) { + private boolean isInputAllowed(EpgInput epgInput) { if (mBuildType == HasBuildType.BuildType.AOSP) { return false; } @@ -524,7 +524,7 @@ public class EpgFetcherImpl implements EpgFetcher { && epgInput.getInputId() .equals( "com.example.partnersupportsampletvinput/.SampleTvInputService")) - || mEpgInputWhiteList.isInputWhiteListed(epgInput.getInputId()); + || mEpgInputAllowList.isInputAllowed(epgInput.getInputId()); } @VisibleForTesting @@ -561,7 +561,7 @@ public class EpgFetcherImpl implements EpgFetcher { if (isCancelled()) { break; } - if (isInputInWhiteList(epgInput)) { + if (isInputAllowed(epgInput)) { // TODO(b/66191312) check timestamp and result code and decide if update // is needed. Set<Channel> channels = getExistingChannelsFor(epgInput.getInputId()); diff --git a/src/com/android/tv/data/epg/EpgInputWhiteList.java b/src/com/android/tv/data/epg/EpgInputAllowList.java index 5f4219f2..7ef52f8b 100644 --- a/src/com/android/tv/data/epg/EpgInputWhiteList.java +++ b/src/com/android/tv/data/epg/EpgInputAllowList.java @@ -31,10 +31,10 @@ import java.util.List; import javax.inject.Inject; -/** Checks if a package or a input is white listed. */ -public final class EpgInputWhiteList { +/** Checks if a package or a input is allowed. */ +public final class EpgInputAllowList { private static final boolean DEBUG = false; - private static final String TAG = "EpgInputWhiteList"; + private static final String TAG = "EpgInputAllowList"; private static final ImmutableSet<String> QA_DEV_INPUTS = ImmutableSet.of( "com.example.partnersupportsampletvinput/.SampleTvInputService", @@ -50,33 +50,33 @@ public final class EpgInputWhiteList { private final CloudEpgFlags mCloudEpgFlags; @Inject - public EpgInputWhiteList(CloudEpgFlags cloudEpgFlags, LegacyFlags legacyFlags) { + public EpgInputAllowList(CloudEpgFlags cloudEpgFlags, LegacyFlags legacyFlags) { mCloudEpgFlags = cloudEpgFlags; mLegacyFlags = legacyFlags; } - public boolean isInputWhiteListed(String inputId) { - return getWhiteListedInputs().contains(inputId); + public boolean isInputAllowed(String inputId) { + return getAllowedInputs().contains(inputId); } - public boolean isPackageWhiteListed(String packageName) { - if (DEBUG) Log.d(TAG, "isPackageWhiteListed " + packageName); - ImmutableSet<String> whiteList = getWhiteListedInputs(); - for (String good : whiteList) { + public boolean isPackageAllowed(String packageName) { + if (DEBUG) Log.d(TAG, "isPackageAllowed " + packageName); + ImmutableSet<String> allowedInputs = getAllowedInputs(); + for (String allowed : allowedInputs) { try { - String goodPackage = getPackageFromInput(good); - if (goodPackage.equals(packageName)) { + String allowedPackage = getPackageFromInput(allowed); + if (allowedPackage.equals(packageName)) { return true; } } catch (Exception e) { - if (DEBUG) Log.d(TAG, "Error parsing package name of " + good, e); + if (DEBUG) Log.d(TAG, "Error parsing package name of " + allowed, e); continue; } } return false; } - private ImmutableSet<String> getWhiteListedInputs() { + private ImmutableSet<String> getAllowedInputs() { ImmutableSet<String> result = toInputSet(mCloudEpgFlags.thirdPartyEpgInputs().getElementList()); if (BuildConfig.ENG || mLegacyFlags.enableQaFeatures()) { @@ -87,7 +87,7 @@ public final class EpgInputWhiteList { ImmutableSet.<String>builder().addAll(result).addAll(QA_DEV_INPUTS).build(); } } - if (DEBUG) Log.d(TAG, "getWhiteListedInputs " + result); + if (DEBUG) Log.d(TAG, "getAllowedInputs " + result); return result; } diff --git a/src/com/android/tv/features/TvFeatures.java b/src/com/android/tv/features/TvFeatures.java index a18d9c89..3075c225 100644 --- a/src/com/android/tv/features/TvFeatures.java +++ b/src/com/android/tv/features/TvFeatures.java @@ -99,7 +99,7 @@ public final class TvFeatures extends CommonFeatures { public static final Feature SHOW_UPCOMING_CONFLICT_DIALOG = OFF; /** Use input blacklist to disable partner's tuner input. */ - public static final Feature USE_PARTNER_INPUT_BLACKLIST = ON; + public static final Feature USE_PARTNER_INPUT_BLOCKLIST = ON; private TvFeatures() {} } diff --git a/src/com/android/tv/guide/ProgramManager.java b/src/com/android/tv/guide/ProgramManager.java index 516a4d9c..9dfc05c0 100644 --- a/src/com/android/tv/guide/ProgramManager.java +++ b/src/com/android/tv/guide/ProgramManager.java @@ -417,8 +417,9 @@ public class ProgramManager { /** * Returns an entry as {@link ProgramImpl} for a given {@code channelId} and {@code index} of - * entries within the currently managed time range. Returned {@link ProgramImpl} can be a dummy - * one (e.g., whose channelId is INVALID_ID), when it corresponds to a gap between programs. + * entries within the currently managed time range. Returned {@link ProgramImpl} can be a + * placeholder (e.g., whose channelId is INVALID_ID), when it corresponds to a gap between + * programs. */ TableEntry getTableEntry(long channelId, int index) { mProgramDataManager.prefetchChannel(channelId, index); @@ -613,7 +614,7 @@ public class ProgramManager { List<Program> programs = mProgramDataManager.getPrograms(channelId, mStartUtcMillis); for (Program program : programs) { if (program.getChannelId() == INVALID_ID) { - // Dummy program. + // Placeholder program. continue; } long programStartTime = Math.max(program.getStartTimeUtcMillis(), mStartUtcMillis); diff --git a/src/com/android/tv/util/TvInputManagerHelper.java b/src/com/android/tv/util/TvInputManagerHelper.java index 23c9b494..72d527a9 100644 --- a/src/com/android/tv/util/TvInputManagerHelper.java +++ b/src/com/android/tv/util/TvInputManagerHelper.java @@ -128,14 +128,14 @@ public class TvInputManagerHelper { private static final String PERMISSION_ACCESS_ALL_EPG_DATA = "com.android.providers.tv.permission.ACCESS_ALL_EPG_DATA"; - private static final String[] mPhysicalTunerBlackList = { + private static final String[] mPhysicalTunerBlockList = { "com.google.android.videos", // Play Movies }; private static final String META_LABEL_SORT_KEY = "input_sort_key"; private static final String TV_INPUT_ALLOW_3RD_PARTY_INPUTS = "tv_input_allow_3rd_party_inputs"; - private static final String[] SYSTEM_INPUT_ID_BLACKLIST = { + private static final String[] SYSTEM_INPUT_ID_BLOCKLIST = { "com.google.android.videos/" // Play Movies }; @@ -160,7 +160,7 @@ public class TvInputManagerHelper { DEFAULT_TV_INPUT_PRIORITY.add(TvInputInfo.TYPE_OTHER); } - private static final String[] PARTNER_TUNER_INPUT_PREFIX_BLACKLIST = { + private static final String[] PARTNER_TUNER_INPUT_PREFIX_BLOCKLIST = { /* Begin_AOSP_Comment_Out // Disabled partner's tuner input prefix list. "com.mediatek.tvinput/.dtv" @@ -597,7 +597,7 @@ public class TvInputManagerHelper { private boolean isInputPhysicalTuner(TvInputInfo input) { String packageName = input.getServiceInfo().packageName; - if (Arrays.asList(mPhysicalTunerBlackList).contains(packageName)) { + if (Arrays.asList(mPhysicalTunerBlockList).contains(packageName)) { return false; } @@ -628,9 +628,9 @@ public class TvInputManagerHelper { return true; } - private boolean isInBlackList(String inputId) { - if (TvFeatures.USE_PARTNER_INPUT_BLACKLIST.isEnabled(mContext)) { - for (String disabledTunerInputPrefix : PARTNER_TUNER_INPUT_PREFIX_BLACKLIST) { + private boolean isBlocked(String inputId) { + if (TvFeatures.USE_PARTNER_INPUT_BLOCKLIST.isEnabled(mContext)) { + for (String disabledTunerInputPrefix : PARTNER_TUNER_INPUT_PREFIX_BLOCKLIST) { if (inputId.contains(disabledTunerInputPrefix)) { return true; } @@ -694,13 +694,13 @@ public class TvInputManagerHelper { if (!isSystemInput(info)) { return true; } - for (String id : SYSTEM_INPUT_ID_BLACKLIST) { + for (String id : SYSTEM_INPUT_ID_BLOCKLIST) { if (info.getId().startsWith(id)) { return true; } } } - return isInBlackList(info.getId()); + return isBlocked(info.getId()); } /** diff --git a/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java b/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java index 47b3b213..7b9141f6 100644 --- a/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java +++ b/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java @@ -164,7 +164,7 @@ public class EpgFetcherImplTest { mEpgFetcher = new EpgFetcherImpl( RuntimeEnvironment.application, - new EpgInputWhiteList( + new EpgInputAllowList( mTestApp.flagsModule.cloudEpgFlags, mTestApp.flagsModule.legacyFlags), mChannelDataManager, diff --git a/tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java b/tests/robotests/src/com/android/tv/data/epg/EpgInputAllowListTest.java index 4c51399a..d384be97 100644 --- a/tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java +++ b/tests/robotests/src/com/android/tv/data/epg/EpgInputAllowListTest.java @@ -34,12 +34,12 @@ import org.robolectric.annotation.Config; import java.util.Arrays; import java.util.List; -/** Tests for {@link EpgInputWhiteList}. */ +/** Tests for {@link EpgInputAllowList}. */ @RunWith(RobolectricTestRunner.class) @Config(sdk = ConfigConstants.SDK) -public class EpgInputWhiteListTest { +public class EpgInputAllowListTest { - private EpgInputWhiteList mWhiteList; + private EpgInputAllowList mAllowList; private DefaultCloudEpgFlags mCloudEpgFlags; private DefaultLegacyFlags mLegacyFlags; @@ -48,7 +48,7 @@ public class EpgInputWhiteListTest { TvFeatures.CLOUD_EPG_FOR_3RD_PARTY.enableForTest(); mCloudEpgFlags = new DefaultCloudEpgFlags(); mLegacyFlags = DefaultLegacyFlags.DEFAULT; - mWhiteList = new EpgInputWhiteList(mCloudEpgFlags, mLegacyFlags); + mAllowList = new EpgInputAllowList(mCloudEpgFlags, mLegacyFlags); } @After @@ -57,65 +57,65 @@ public class EpgInputWhiteListTest { } @Test - public void isInputWhiteListed_noRemoteConfig() { - assertThat(mWhiteList.isInputWhiteListed("com.example/.Foo")).isFalse(); + public void isInputAllowed_noRemoteConfig() { + assertThat(mAllowList.isInputAllowed("com.example/.Foo")).isFalse(); } @Test - public void isInputWhiteListed_noMatch() { + public void isInputAllowed_noMatch() { mCloudEpgFlags.setThirdPartyEpgInput(asStringListParam("com.example/.Bar")); - assertThat(mWhiteList.isInputWhiteListed("com.example/.Foo")).isFalse(); + assertThat(mAllowList.isInputAllowed("com.example/.Foo")).isFalse(); } @Test - public void isInputWhiteListed_match() { + public void isInputAllowed_match() { mCloudEpgFlags.setThirdPartyEpgInput(asStringListParam("com.example/.Foo")); - assertThat(mWhiteList.isInputWhiteListed("com.example/.Foo")).isTrue(); + assertThat(mAllowList.isInputAllowed("com.example/.Foo")).isTrue(); } @Test - public void isInputWhiteListed_matchWithTwo() { + public void isInputAllowed_matchWithTwo() { mCloudEpgFlags.setThirdPartyEpgInput( asStringListParam("com.example/.Foo", "com.example/.Bar")); - assertThat(mWhiteList.isInputWhiteListed("com.example/.Foo")).isTrue(); + assertThat(mAllowList.isInputAllowed("com.example/.Foo")).isTrue(); } @Test - public void isPackageWhiteListed_noRemoteConfig() { - assertThat(mWhiteList.isPackageWhiteListed("com.example")).isFalse(); + public void isPackageAllowListed_noRemoteConfig() { + assertThat(mAllowList.isPackageAllowed("com.example")).isFalse(); } @Test - public void isPackageWhiteListed_noMatch() { + public void isPackageAllowed_noMatch() { mCloudEpgFlags.setThirdPartyEpgInput(asStringListParam("com.example/.Bar")); - assertThat(mWhiteList.isPackageWhiteListed("com.other")).isFalse(); + assertThat(mAllowList.isPackageAllowed("com.other")).isFalse(); } @Test - public void isPackageWhiteListed_match() { + public void isPackageAllowed_match() { mCloudEpgFlags.setThirdPartyEpgInput(asStringListParam("com.example/.Foo")); - assertThat(mWhiteList.isPackageWhiteListed("com.example")).isTrue(); + assertThat(mAllowList.isPackageAllowed("com.example")).isTrue(); } @Test - public void isPackageWhiteListed_matchWithTwo() { + public void isPackageAllowed_matchWithTwo() { mCloudEpgFlags.setThirdPartyEpgInput( asStringListParam("com.example/.Foo", "com.example/.Bar")); - assertThat(mWhiteList.isPackageWhiteListed("com.example")).isTrue(); + assertThat(mAllowList.isPackageAllowed("com.example")).isTrue(); } @Test - public void isPackageWhiteListed_matchBadInput() { + public void isPackageAllowed_matchBadInput() { mCloudEpgFlags.setThirdPartyEpgInput(asStringListParam("com.example.Foo")); - assertThat(mWhiteList.isPackageWhiteListed("com.example")).isFalse(); + assertThat(mAllowList.isPackageAllowed("com.example")).isFalse(); } @Test - public void isPackageWhiteListed_tunerInput() { - EpgInputWhiteList whiteList = - new EpgInputWhiteList(new DefaultCloudEpgFlags(), DefaultLegacyFlags.DEFAULT); + public void isPackageAllowed_tunerInput() { + EpgInputAllowList allowList = + new EpgInputAllowList(new DefaultCloudEpgFlags(), DefaultLegacyFlags.DEFAULT); assertThat( - whiteList.isInputWhiteListed( + allowList.isInputAllowed( "com.google.android.tv/.tuner.tvinput.TunerTvInputService")) .isTrue(); } diff --git a/tuner/src/com/android/tv/tuner/data/Cea708Parser.java b/tuner/src/com/android/tv/tuner/data/Cea708Parser.java index 7a5538c8..67683ccb 100644 --- a/tuner/src/com/android/tv/tuner/data/Cea708Parser.java +++ b/tuner/src/com/android/tv/tuner/data/Cea708Parser.java @@ -142,7 +142,7 @@ public class Cea708Parser { private boolean mDtvCcPacking = false; private boolean mFirstServiceNumberDiscovered; - // Assign a dummy listener in order to avoid null checks. + // Assign an empty listener in order to avoid null checks. private OnCea708ParserListener mListener = new OnCea708ParserListener() { @Override diff --git a/tuner/src/com/android/tv/tuner/exoplayer/MpegTsPlayer.java b/tuner/src/com/android/tv/tuner/exoplayer/MpegTsPlayer.java index 89b55d65..b62c1867 100644 --- a/tuner/src/com/android/tv/tuner/exoplayer/MpegTsPlayer.java +++ b/tuner/src/com/android/tv/tuner/exoplayer/MpegTsPlayer.java @@ -257,7 +257,7 @@ public class MpegTsPlayer mBuilderCallback = null; for (int i = 0; i < RENDERER_COUNT; i++) { if (renderers[i] == null) { - // Convert a null renderer to a dummy renderer. + // Convert a null renderer to an empty renderer. renderers[i] = new DummyTrackRenderer(); } } diff --git a/tuner/src/com/android/tv/tuner/setup/ScanFragment.java b/tuner/src/com/android/tv/tuner/setup/ScanFragment.java index 8c14aaa1..9da14d95 100644 --- a/tuner/src/com/android/tv/tuner/setup/ScanFragment.java +++ b/tuner/src/com/android/tv/tuner/setup/ScanFragment.java @@ -62,7 +62,7 @@ public class ScanFragment extends SetupFragment { private static final boolean DEBUG = false; // In the fake mode, the connection to antenna or cable is not necessary. - // Instead dummy channels are added. + // Instead fake channels are added. private static final boolean FAKE_MODE = false; private static final String VCTLESS_CHANNEL_NAME_FORMAT = "RF%d-%d"; diff --git a/tuner/src/com/android/tv/tuner/tvinput/datamanager/ChannelDataManager.java b/tuner/src/com/android/tv/tuner/tvinput/datamanager/ChannelDataManager.java index 447618a4..b06d15ca 100644 --- a/tuner/src/com/android/tv/tuner/tvinput/datamanager/ChannelDataManager.java +++ b/tuner/src/com/android/tv/tuner/tvinput/datamanager/ChannelDataManager.java @@ -283,7 +283,7 @@ public class ChannelDataManager implements Handler.Callback { * obsolete channels, which are previously scanned but are not in the current scanned result. */ public void notifyScanCompleted() { - // Send a dummy message to check whether there is any MSG_HANDLE_CHANNEL in queue + // Send an empty message to check whether there is any MSG_HANDLE_CHANNEL in queue // and avoid race conditions. scanCompleted.set(true); mHandler.sendMessageAtFrontOfQueue(mHandler.obtainMessage(MSG_HANDLE_CHANNEL, null)); @@ -635,7 +635,7 @@ public class ChannelDataManager implements Handler.Callback { private void clearChannels() { int count = mContext.getContentResolver().delete(mChannelsUri, null, null); if (count > 0) { - // We have just deleted obsolete data. Now tell the user that he or she needs + // We have just deleted obsolete data. Now tell the user that they need // to perform the auto-scan again. if (mListener != null) { mListener.onRescanNeeded(); |