Merge "Update language to comply with Android's inclusive language guidance"
diff --git a/OWNERS b/OWNERS
index 4aa5fe5..ecf9aa4 100644
--- a/OWNERS
+++ b/OWNERS
@@ -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 ed7b827..40e7384 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/SetupPassthroughActivity.java b/src/com/android/tv/SetupPassthroughActivity.java
index 25049f1..98f9b80 100644
--- a/src/com/android/tv/SetupPassthroughActivity.java
+++ b/src/com/android/tv/SetupPassthroughActivity.java
@@ -33,7 +33,7 @@
 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 @@
     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 @@
                 && 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/data/ProgramDataManager.java b/src/com/android/tv/data/ProgramDataManager.java
index a866c78..dcfa69e 100644
--- a/src/com/android/tv/data/ProgramDataManager.java
+++ b/src/com/android/tv/data/ProgramDataManager.java
@@ -402,7 +402,7 @@
      *
      * <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 @@
     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 @@
                 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 @@
                 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 @@
         }
     }
 
-    // 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 5097e2d..84e42fb 100644
--- a/src/com/android/tv/data/ProgramImpl.java
+++ b/src/com/android/tv/data/ProgramImpl.java
@@ -419,7 +419,7 @@
 
     @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 @@
         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 27d7f8d..b62efbe 100644
--- a/src/com/android/tv/data/epg/EpgFetcherImpl.java
+++ b/src/com/android/tv/data/epg/EpgFetcherImpl.java
@@ -124,7 +124,7 @@
     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 @@
     @Inject
     public EpgFetcherImpl(
             @ApplicationContext Context context,
-            EpgInputWhiteList epgInputWhiteList,
+            EpgInputAllowList epgInputAllowList,
             ChannelDataManager channelDataManager,
             EpgReader epgReader,
             PerformanceMonitor performanceMonitor,
@@ -153,7 +153,7 @@
         mEpgReader = epgReader;
         mPerformanceMonitor = performanceMonitor;
         mClock = clock;
-        mEpgInputWhiteList = epgInputWhiteList;
+        mEpgInputAllowList = epgInputAllowList;
         mBackendKnobsFlags = backendKnobsFlags;
         mBuildType = buildType;
     }
@@ -516,7 +516,7 @@
         return numbers.size();
     }
 
-    private boolean isInputInWhiteList(EpgInput epgInput) {
+    private boolean isInputAllowed(EpgInput epgInput) {
         if (mBuildType == HasBuildType.BuildType.AOSP) {
             return false;
         }
@@ -524,7 +524,7 @@
                         && epgInput.getInputId()
                                 .equals(
                                         "com.example.partnersupportsampletvinput/.SampleTvInputService"))
-                || mEpgInputWhiteList.isInputWhiteListed(epgInput.getInputId());
+                || mEpgInputAllowList.isInputAllowed(epgInput.getInputId());
     }
 
     @VisibleForTesting
@@ -561,7 +561,7 @@
                         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
similarity index 77%
rename from src/com/android/tv/data/epg/EpgInputWhiteList.java
rename to src/com/android/tv/data/epg/EpgInputAllowList.java
index 5f4219f..7ef52f8 100644
--- a/src/com/android/tv/data/epg/EpgInputWhiteList.java
+++ b/src/com/android/tv/data/epg/EpgInputAllowList.java
@@ -31,10 +31,10 @@
 
 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 @@
     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 @@
                         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/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java b/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java
index 47b3b21..7b9141f 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 @@
         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
similarity index 65%
rename from tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java
rename to tests/robotests/src/com/android/tv/data/epg/EpgInputAllowListTest.java
index 4c51399..d384be9 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 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 @@
         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 @@
     }
 
     @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();
     }