aboutsummaryrefslogtreecommitdiff
path: root/common/tests/robotests/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'common/tests/robotests/src/com/android')
-rw-r--r--common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java222
-rw-r--r--common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java150
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java111
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateCommandTest.java61
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateRecordingCommandTest.java63
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/RecordingSessionEventTest.java70
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/SessionEventTest.java70
-rw-r--r--common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java54
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/BaseTvInputServiceTest.java147
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/SimpleSessionManagerTest.java124
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/TisSessionTest.java209
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/WrappedSessionTest.java190
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tvprovider/TvContractCompatXTest.java71
-rw-r--r--common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java78
-rw-r--r--common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java48
15 files changed, 0 insertions, 1668 deletions
diff --git a/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java b/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java
deleted file mode 100644
index 521b2205..00000000
--- a/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.tv.common;
-
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import android.content.ComponentCallbacks2;
-import android.media.tv.TvContentRating;
-
-import com.android.tv.testing.constants.ConfigConstants;
-import com.android.tv.testing.constants.TvContentRatingConstants;
-
-import com.google.common.collect.ImmutableList;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/** Test for {@link TvContentRatingCache}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class TvContentRatingCacheTest {
- /** US_TV_MA and US_TV_Y7 in order */
- public static final String MA_AND_Y7 =
- TvContentRatingConstants.STRING_US_TV_MA
- + ","
- + TvContentRatingConstants.STRING_US_TV_Y7_US_TV_FV;
-
- /** US_TV_MA and US_TV_Y7 not in order */
- public static final String Y7_AND_MA =
- TvContentRatingConstants.STRING_US_TV_Y7_US_TV_FV
- + ","
- + TvContentRatingConstants.STRING_US_TV_MA;
-
- final TvContentRatingCache mCache = TvContentRatingCache.getInstance();
-
- @Before
- public void setUp() {
- mCache.performTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE);
- }
-
- @After
- public void tearDown() {
- mCache.performTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE);
- }
-
- @Test
- public void testGetRatings_US_TV_MA() {
- ImmutableList<TvContentRating> result =
- mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- assertThat(result).contains(TvContentRatingConstants.CONTENT_RATING_US_TV_MA);
- }
-
- @Test
- public void testGetRatings_US_TV_MA_same() {
- ImmutableList<TvContentRating> first =
- mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- ImmutableList<TvContentRating> second =
- mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- assertThat(first).isSameInstanceAs(second);
- }
-
- @Test
- public void testGetRatings_US_TV_MA_diffAfterClear() {
- ImmutableList<TvContentRating> first =
- mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- mCache.performTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE);
- ImmutableList<TvContentRating> second =
- mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- assertThat(first).isNotSameInstanceAs(second);
- }
-
- @Test
- public void testGetRatings_TWO_orderDoesNotMatter() {
- ImmutableList<TvContentRating> first = mCache.getRatings(MA_AND_Y7);
- ImmutableList<TvContentRating> second = mCache.getRatings(Y7_AND_MA);
- assertThat(first).isSameInstanceAs(second);
- }
-
- @Test
- public void testContentRatingsToString_null() {
- String result = TvContentRatingCache.contentRatingsToString(null);
- assertWithMessage("ratings string").that(result).isNull();
- }
-
- @Test
- public void testContentRatingsToString_none() {
- String result = TvContentRatingCache.contentRatingsToString(ImmutableList.of());
- assertWithMessage("ratings string").that(result).isEmpty();
- }
-
- @Test
- public void testContentRatingsToString_one() {
- String result =
- TvContentRatingCache.contentRatingsToString(
- ImmutableList.of(TvContentRatingConstants.CONTENT_RATING_US_TV_MA));
- assertWithMessage("ratings string")
- .that(result)
- .isEqualTo(TvContentRatingConstants.STRING_US_TV_MA);
- }
-
- @Test
- public void testContentRatingsToString_twoInOrder() {
- String result =
- TvContentRatingCache.contentRatingsToString(
- ImmutableList.of(
- TvContentRatingConstants.CONTENT_RATING_US_TV_MA,
- TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV));
- assertWithMessage("ratings string").that(result).isEqualTo(MA_AND_Y7);
- }
-
- @Test
- public void testContentRatingsToString_twoNotInOrder() {
- String result =
- TvContentRatingCache.contentRatingsToString(
- ImmutableList.of(
- TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV,
- TvContentRatingConstants.CONTENT_RATING_US_TV_MA));
- assertWithMessage("ratings string").that(result).isEqualTo(MA_AND_Y7);
- }
-
- @Test
- public void testContentRatingsToString_double() {
- String result =
- TvContentRatingCache.contentRatingsToString(
- ImmutableList.of(
- TvContentRatingConstants.CONTENT_RATING_US_TV_MA,
- TvContentRatingConstants.CONTENT_RATING_US_TV_MA));
- assertWithMessage("ratings string")
- .that(result)
- .isEqualTo(TvContentRatingConstants.STRING_US_TV_MA);
- }
-
- @Test
- public void testStringToContentRatings_null() {
- assertThat(TvContentRatingCache.stringToContentRatings(null)).isEmpty();
- }
-
- @Test
- public void testStringToContentRatings_none() {
- assertThat(TvContentRatingCache.stringToContentRatings("")).isEmpty();
- }
-
- @Test
- public void testStringToContentRatings_bad() {
- assertThat(TvContentRatingCache.stringToContentRatings("bad")).isEmpty();
- }
-
- @Test
- public void testStringToContentRatings_oneGoodOneBad() {
- ImmutableList<TvContentRating> results =
- TvContentRatingCache.stringToContentRatings(
- TvContentRatingConstants.STRING_US_TV_Y7_US_TV_FV + ",bad");
- assertWithMessage("ratings")
- .that(results)
- .containsExactly(TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV);
- }
-
- @Test
- public void testStringToContentRatings_one() {
- ImmutableList<TvContentRating> results =
- TvContentRatingCache.stringToContentRatings(
- TvContentRatingConstants.STRING_US_TV_Y7_US_TV_FV);
- assertWithMessage("ratings")
- .that(results)
- .containsExactly(TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV);
- }
-
- @Test
- public void testStringToContentRatings_twoNotInOrder() {
- ImmutableList<TvContentRating> results =
- TvContentRatingCache.stringToContentRatings(Y7_AND_MA);
- assertWithMessage("ratings")
- .that(results)
- .containsExactly(
- TvContentRatingConstants.CONTENT_RATING_US_TV_MA,
- TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV);
- }
-
- @Test
- public void testStringToContentRatings_twoInOrder() {
- ImmutableList<TvContentRating> results =
- TvContentRatingCache.stringToContentRatings(MA_AND_Y7);
- assertWithMessage("ratings")
- .that(results)
- .containsExactly(
- TvContentRatingConstants.CONTENT_RATING_US_TV_MA,
- TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV);
- }
-
- @Test
- public void testStringToContentRatings_double() {
- ImmutableList<TvContentRating> results =
- TvContentRatingCache.stringToContentRatings(
- TvContentRatingConstants.STRING_US_TV_MA
- + ","
- + TvContentRatingConstants.STRING_US_TV_MA);
- assertWithMessage("ratings")
- .that(results)
- .containsExactly((TvContentRatingConstants.CONTENT_RATING_US_TV_MA));
-
- assertThat(results).containsExactly(TvContentRatingConstants.CONTENT_RATING_US_TV_MA);
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java b/common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java
deleted file mode 100644
index be586be5..00000000
--- a/common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.actions;
-
-import static com.google.android.libraries.testing.truth.BundleSubject.assertThat;
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Intent;
-import android.os.Bundle;
-
-import com.android.tv.testing.constants.ConfigConstants;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/** Tests for {@link InputSetupActionUtils} */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class InputSetupActionUtilsTest {
-
- @Test
- public void hasInputSetupAction_launchInputSetup() {
- Intent intent = new Intent("com.android.tv.action.LAUNCH_INPUT_SETUP");
- assertThat(InputSetupActionUtils.hasInputSetupAction(intent)).isTrue();
- }
-
- @Test
- public void hasInputSetupAction_googleLaunchInputSetup() {
- Intent intent = new Intent("com.google.android.tv.action.LAUNCH_INPUT_SETUP");
- assertThat(InputSetupActionUtils.hasInputSetupAction(intent)).isTrue();
- }
-
- @Test
- public void hasInputSetupAction_bad() {
- Intent intent = new Intent("com.example.action.LAUNCH_INPUT_SETUP");
- assertThat(InputSetupActionUtils.hasInputSetupAction(intent)).isFalse();
- }
-
- @Test
- public void getExtraActivityAfter_null() {
- Intent intent = new Intent();
- assertThat(InputSetupActionUtils.getExtraActivityAfter(intent)).isNull();
- }
-
- @Test
- public void getExtraActivityAfter_activityAfter() {
- Intent intent = new Intent();
- Intent after = new Intent("after");
- intent.putExtra("com.android.tv.intent.extra.ACTIVITY_AFTER_COMPLETION", after);
- assertThat(InputSetupActionUtils.getExtraActivityAfter(intent)).isEqualTo(after);
- }
-
- @Test
- public void getExtraActivityAfter_googleActivityAfter() {
- Intent intent = new Intent();
- Intent after = new Intent("google_setup");
- intent.putExtra("com.google.android.tv.intent.extra.ACTIVITY_AFTER_COMPLETION", after);
- assertThat(InputSetupActionUtils.getExtraActivityAfter(intent)).isEqualTo(after);
- }
-
- @Test
- public void getExtraSetupIntent_null() {
- Intent intent = new Intent();
- assertThat(InputSetupActionUtils.getExtraSetupIntent(intent)).isNull();
- }
-
- @Test
- public void getExtraSetupIntent_setupIntent() {
- Intent intent = new Intent();
- Intent setup = new Intent("setup");
- intent.putExtra("com.android.tv.extra.SETUP_INTENT", setup);
- assertThat(InputSetupActionUtils.getExtraSetupIntent(intent)).isEqualTo(setup);
- }
-
- @Test
- public void getExtraSetupIntent_googleSetupIntent() {
- Intent intent = new Intent();
- Intent setup = new Intent("google_setup");
- intent.putExtra("com.google.android.tv.extra.SETUP_INTENT", setup);
- assertThat(InputSetupActionUtils.getExtraSetupIntent(intent)).isEqualTo(setup);
- }
-
- @Test
- public void removeSetupIntent_empty() {
- Bundle extras = new Bundle();
- InputSetupActionUtils.removeSetupIntent(extras);
- assertThat(extras).exactlyMatches(new Bundle());
- }
-
- @Test
- public void removeSetupIntent_other() {
- Bundle extras = createTestBundle();
- Bundle expected = createTestBundle();
- InputSetupActionUtils.removeSetupIntent(extras);
- assertThat(extras).exactlyMatches(expected);
- }
-
- @Test
- public void removeSetupIntent_setup() {
- Bundle extras = createTestBundle();
- Bundle expected = createTestBundle();
- Intent setup = new Intent("setup");
- extras.putParcelable("com.android.tv.extra.SETUP_INTENT", setup);
- InputSetupActionUtils.removeSetupIntent(extras);
- assertThat(extras).exactlyMatches(expected);
- }
-
- @Test
- public void removeSetupIntent_googleSetup() {
- Bundle extras = createTestBundle();
- Bundle expected = createTestBundle();
- Intent googleSetup = new Intent("googleSetup");
- extras.putParcelable("com.google.android.tv.extra.SETUP_INTENT", googleSetup);
- InputSetupActionUtils.removeSetupIntent(extras);
- assertThat(extras).exactlyMatches(expected);
- }
-
- @Test
- public void removeSetupIntent_bothSetups() {
- Bundle extras = createTestBundle();
- Bundle expected = createTestBundle();
- Intent setup = new Intent("setup");
- extras.putParcelable("com.android.tv.extra.SETUP_INTENT", setup);
- Intent googleSetup = new Intent("googleSetup");
- extras.putParcelable("com.google.android.tv.extra.SETUP_INTENT", googleSetup);
- InputSetupActionUtils.removeSetupIntent(extras);
- assertThat(extras).exactlyMatches(expected);
- }
-
- private static Bundle createTestBundle() {
- Bundle extras = new Bundle();
- extras.putInt("other", 1);
- return extras;
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java b/common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java
deleted file mode 100644
index 5c10c00b..00000000
--- a/common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.compat;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static junit.framework.Assert.fail;
-
-import android.content.pm.ResolveInfo;
-import android.content.res.XmlResourceParser;
-import android.media.tv.TvInputInfo;
-
-import androidx.test.InstrumentationRegistry;
-
-import com.android.tv.testing.constants.ConfigConstants;
-import com.android.tv.testing.utils.TestUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlPullParserFactory;
-
-import java.io.StringReader;
-
-/** Tests for {@link TvInputInfoCompat}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class TvInputInfoCompatTest {
- private TvInputInfoCompat mTvInputInfoCompat;
- private String mInputXml;
-
- @Before
- public void setUp() throws Exception {
- ResolveInfo resolveInfo = TestUtils.createResolveInfo("test", "test");
- TvInputInfo info =
- TestUtils.createTvInputInfo(
- resolveInfo, "test_input", "test1", TvInputInfo.TYPE_OTHER, false);
- mTvInputInfoCompat =
- new TvInputInfoCompat(InstrumentationRegistry.getTargetContext(), info) {
- @Override
- XmlPullParser getXmlResourceParser() {
- XmlPullParser xpp = null;
- try {
- xpp = XmlPullParserFactory.newInstance().newPullParser();
- xpp.setInput(new StringReader(mInputXml));
- xpp.setFeature(XmlResourceParser.FEATURE_PROCESS_NAMESPACES, true);
- } catch (XmlPullParserException e) {
- fail("failed in setUp() " + e.getMessage());
- }
- return xpp;
- }
- };
- }
-
- @Test
- public void testGetAttributeValue_notTvInputTag() {
- mInputXml =
- "<not-tv-input xmlns:android=\"http://schemas.android.com/apk/res/android\"\n"
- + " android:setupActivity=\"\"\n"
- + " android:settingsActivity=\"\"/>\n";
- assertThat(mTvInputInfoCompat.getExtras()).isEmpty();
- }
-
- @Test
- public void testGetAttributeValue_noExtra() {
- mInputXml =
- "<not-tv-input xmlns:android=\"http://schemas.android.com/apk/res/android\"\n"
- + " android:setupActivity=\"\"\n"
- + " android:settingsActivity=\"\"/>\n";
- assertThat(mTvInputInfoCompat.getExtras()).isEmpty();
- }
-
- @Test
- public void testGetAttributeValue() {
- mInputXml =
- "<tv-input xmlns:android=\"http://schemas.android.com/apk/res/android\"\n"
- + " android:setupActivity=\"\"\n"
- + " android:settingsActivity=\"\">\n"
- + " <extra android:name=\"otherAttr1\" android:value=\"false\" />\n"
- + " <extra android:name=\"otherAttr2\" android:value=\"false\" />\n"
- + " <extra android:name="
- + " \"com.android.tv.common.compat.tvinputinfocompat.audioOnly\""
- + " android:value=\"true\" />\n"
- + "</tv-input>";
- assertThat(mTvInputInfoCompat.getExtras())
- .containsExactly(
- "otherAttr1",
- "false",
- "otherAttr2",
- "false",
- "com.android.tv.common.compat.tvinputinfocompat.audioOnly",
- "true");
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateCommandTest.java b/common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateCommandTest.java
deleted file mode 100644
index aa9221fa..00000000
--- a/common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateCommandTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.compat.internal;
-
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.verify;
-
-import com.android.tv.common.compat.api.SessionCompatCommands;
-import com.android.tv.testing.constants.ConfigConstants;
-
-import com.google.protobuf.InvalidProtocolBufferException;
-import com.google.testing.mockito.Mocks;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/**
- * Tests sending {@link Commands.PrivateCommand}s to a {@link SessionCompatCommands} from {@link
- * TvViewCompatProcessor} via {@link TifSessionCompatProcessor}.
- */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class PrivateCommandTest {
- @Rule public final Mocks mocks = new Mocks(this);
-
- @Mock SessionCompatCommands mCallback;
-
- private TvViewCompatProcessor mTvViewCompatProcessor;
-
- @Before
- public void setUp() {
- TifSessionCompatProcessor sessionCompatProcessor =
- new TifSessionCompatProcessor(null, mCallback);
- mTvViewCompatProcessor =
- new TvViewCompatProcessor(sessionCompatProcessor::handleAppPrivateCommand);
- }
-
- @Test
- public void notifyDevToast() throws InvalidProtocolBufferException {
- mTvViewCompatProcessor.devMessage("Hello Developers");
- verify(mCallback, only()).onDevMessage("Hello Developers");
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateRecordingCommandTest.java b/common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateRecordingCommandTest.java
deleted file mode 100644
index 1a3c0916..00000000
--- a/common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateRecordingCommandTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.compat.internal;
-
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.verify;
-
-import com.android.tv.common.compat.api.RecordingSessionCompatCommands;
-import com.android.tv.testing.constants.ConfigConstants;
-
-import com.google.protobuf.InvalidProtocolBufferException;
-import com.google.testing.mockito.Mocks;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/**
- * Tests sending {@link RecordingCommands.PrivateRecordingCommand}s to a {@link
- * RecordingSessionCompatCommands} from {@link RecordingClientCompatProcessor} via {@link
- * RecordingSessionCompatProcessor}.
- */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class PrivateRecordingCommandTest {
- @Rule public final Mocks mocks = new Mocks(this);
-
- @Mock private RecordingSessionCompatCommands mCallback;
-
- private RecordingClientCompatProcessor mCompatProcessor;
-
- @Before
- public void setUp() {
- RecordingSessionCompatProcessor sessionCompatProcessor =
- new RecordingSessionCompatProcessor(null, mCallback);
- mCompatProcessor =
- new RecordingClientCompatProcessor(
- sessionCompatProcessor::handleAppPrivateCommand, null);
- }
-
- @Test
- public void notifyDevToast() throws InvalidProtocolBufferException {
- mCompatProcessor.devMessage("Hello Recorders");
- verify(mCallback, only()).onDevMessage("Hello Recorders");
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/compat/internal/RecordingSessionEventTest.java b/common/tests/robotests/src/com/android/tv/common/compat/internal/RecordingSessionEventTest.java
deleted file mode 100644
index 3de3a6df..00000000
--- a/common/tests/robotests/src/com/android/tv/common/compat/internal/RecordingSessionEventTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.compat.internal;
-
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.verify;
-
-import com.android.tv.common.compat.api.RecordingClientCallbackCompatEvents;
-import com.android.tv.testing.constants.ConfigConstants;
-
-import com.google.protobuf.InvalidProtocolBufferException;
-import com.google.testing.mockito.Mocks;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/**
- * Tests sending {@link RecordingEvents.RecordingSessionEvent}s to a {@link
- * RecordingClientCallbackCompatEvents} from {@link RecordingSessionCompatProcessor} via {@link
- * RecordingClientCompatProcessor}.
- */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class RecordingSessionEventTest {
- @Rule public final Mocks mocks = new Mocks(this);
-
- @Mock RecordingClientCallbackCompatEvents mCallback;
-
- private RecordingSessionCompatProcessor mCompatProcess;
-
- @Before
- public void setUp() {
- RecordingClientCompatProcessor compatProcessor =
- new RecordingClientCompatProcessor(null, mCallback);
- mCompatProcess =
- new RecordingSessionCompatProcessor(
- (event, data) -> compatProcessor.handleEvent("testinput", event, data),
- null);
- }
-
- @Test
- public void notifyDevToast() throws InvalidProtocolBufferException {
- mCompatProcess.notifyDevToast("Recording");
- verify(mCallback, only()).onDevToast("testinput", "Recording");
- }
-
- @Test
- public void notifyRecordingStarted() throws InvalidProtocolBufferException {
- mCompatProcess.notifyRecordingStarted("file:example");
- verify(mCallback, only()).onRecordingStarted("testinput", "file:example");
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/compat/internal/SessionEventTest.java b/common/tests/robotests/src/com/android/tv/common/compat/internal/SessionEventTest.java
deleted file mode 100644
index e65297cc..00000000
--- a/common/tests/robotests/src/com/android/tv/common/compat/internal/SessionEventTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.compat.internal;
-
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.verify;
-
-import com.android.tv.common.compat.api.TvInputCallbackCompatEvents;
-import com.android.tv.testing.constants.ConfigConstants;
-
-import com.google.protobuf.InvalidProtocolBufferException;
-import com.google.testing.mockito.Mocks;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/**
- * Tests sending {@link Events.SessionEvent}s to a {@link TvInputCallbackCompatEvents} from {@link
- * TifSessionCompatProcessor} via {@link TvViewCompatProcessor}.
- */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class SessionEventTest {
- @Rule public final Mocks mocks = new Mocks(this);
-
- @Mock TvInputCallbackCompatEvents mCallback;
-
- private TifSessionCompatProcessor mCompatProcess;
-
- @Before
- public void setUp() {
- TvViewCompatProcessor tvViewCompatProcessor = new TvViewCompatProcessor(null);
- tvViewCompatProcessor.setCallback(mCallback);
- mCompatProcess =
- new TifSessionCompatProcessor(
- (event, data) ->
- tvViewCompatProcessor.handleEvent("testinput", event, data),
- null);
- }
-
- @Test
- public void notifyDevToast() throws InvalidProtocolBufferException {
- mCompatProcess.notifyDevToast("testing");
- verify(mCallback, only()).onDevToast("testinput", "testing");
- }
-
- @Test
- public void notifySignalStrength() throws InvalidProtocolBufferException {
- mCompatProcess.notifySignalStrength(3);
- verify(mCallback, only()).onSignalStrength("testinput", 3);
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java b/common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java
deleted file mode 100644
index a9c15ada..00000000
--- a/common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.dev;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.android.tv.testing.constants.ConfigConstants;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-/** Test for {@link DeveloperPreference}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class DeveloperPreferenceTest {
-
- @Test
- public void createBoolean_default_true() {
- DeveloperPreference<Boolean> devPref = DeveloperPreference.create("test", true);
- assertThat(devPref.get(RuntimeEnvironment.systemContext)).isTrue();
- DeveloperPreference.getPreferences(RuntimeEnvironment.systemContext)
- .edit()
- .putBoolean("test", false)
- .apply();
- assertThat(devPref.get(RuntimeEnvironment.systemContext)).isFalse();
- }
-
- @Test
- public void create_integer_default_one() {
- DeveloperPreference<Integer> devPref = DeveloperPreference.create("test", 1);
- assertThat(devPref.get(RuntimeEnvironment.systemContext)).isEqualTo(1);
- DeveloperPreference.getPreferences(RuntimeEnvironment.systemContext)
- .edit()
- .putInt("test", 2)
- .apply();
- assertThat(devPref.get(RuntimeEnvironment.systemContext)).isEqualTo(2);
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/support/tis/BaseTvInputServiceTest.java b/common/tests/robotests/src/com/android/tv/common/support/tis/BaseTvInputServiceTest.java
deleted file mode 100644
index 88b0215e..00000000
--- a/common/tests/robotests/src/com/android/tv/common/support/tis/BaseTvInputServiceTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package com.android.tv.common.support.tis;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Intent;
-import android.media.tv.TvContentRating;
-import android.media.tv.TvInputManager;
-import android.net.Uri;
-import android.os.Build;
-import android.support.annotation.Nullable;
-import android.view.Surface;
-
-import com.android.tv.common.support.tis.TifSession.TifSessionCallbacks;
-import com.android.tv.common.support.tis.TifSession.TifSessionFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.android.controller.ServiceController;
-import org.robolectric.annotation.Config;
-
-/** Tests for {@link BaseTvInputService}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(minSdk = Build.VERSION_CODES.LOLLIPOP, maxSdk = Build.VERSION_CODES.P)
-public class BaseTvInputServiceTest {
-
- private static class TestTvInputService extends BaseTvInputService {
-
- private final SessionManager sessionManager = new SimpleSessionManager(1);
-
- private int parentalControlsChangedCount = 0;
- private final TifSessionFactory sessionFactory;
-
- private TestTvInputService() {
- super();
- this.sessionFactory =
- new TifSessionFactory() {
- @Override
- public TifSession create(TifSessionCallbacks callbacks, String inputId) {
- return new TifSession(callbacks) {
- @Override
- public boolean onSetSurface(@Nullable Surface surface) {
- return false;
- }
-
- @Override
- public void onSurfaceChanged(int format, int width, int height) {}
-
- @Override
- public void onSetStreamVolume(float volume) {}
-
- @Override
- public boolean onTune(Uri channelUri) {
- return false;
- }
-
- @Override
- public void onSetCaptionEnabled(boolean enabled) {}
-
- @Override
- public void onUnblockContent(TvContentRating unblockedRating) {}
-
- @Override
- public void onParentalControlsChanged() {
- parentalControlsChangedCount++;
- }
- };
- }
- };
- }
-
- @Override
- protected TifSessionFactory getTifSessionFactory() {
- return sessionFactory;
- }
-
- @Override
- protected SessionManager getSessionManager() {
- return sessionManager;
- }
-
- private int getParentalControlsChangedCount() {
- return parentalControlsChangedCount;
- }
- }
-
- TestTvInputService tvInputService;
- ServiceController<TestTvInputService> controller;
-
- @Before
- public void setUp() {
- controller = Robolectric.buildService(TestTvInputService.class);
- tvInputService = controller.create().get();
- }
-
- @Test
- public void createSession_once() {
- assertThat(tvInputService.onCreateSession("test")).isNotNull();
- }
-
- @Test
- public void createSession_twice() {
- WrappedSession first = tvInputService.onCreateSession("test");
- assertThat(first).isNotNull();
- WrappedSession second = tvInputService.onCreateSession("test");
- assertThat(second).isNull();
- }
-
- @Test
- public void createSession_release() {
- WrappedSession first = tvInputService.onCreateSession("test");
- assertThat(first).isNotNull();
- first.onRelease();
- WrappedSession second = tvInputService.onCreateSession("test");
- assertThat(second).isNotNull();
- assertThat(second).isNotSameInstanceAs(first);
- }
-
- @Test
- public void testReceiver_actionEnabledChanged() {
- tvInputService.getSessionManager().addSession(tvInputService.onCreateSession("test"));
- tvInputService.broadcastReceiver.onReceive(
- RuntimeEnvironment.application,
- new Intent(TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED));
- assertThat(tvInputService.getParentalControlsChangedCount()).isEqualTo(1);
- }
-
- @Test
- public void testReceiver_actionBlockedChanged() {
- tvInputService.getSessionManager().addSession(tvInputService.onCreateSession("test"));
- tvInputService.broadcastReceiver.onReceive(
- RuntimeEnvironment.application,
- new Intent(TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED));
- assertThat(tvInputService.getParentalControlsChangedCount()).isEqualTo(1);
- }
-
- @Test
- public void testReceiver_invalidAction() {
- tvInputService.getSessionManager().addSession(tvInputService.onCreateSession("test"));
- tvInputService.broadcastReceiver.onReceive(
- RuntimeEnvironment.application, new Intent("test"));
- assertThat(tvInputService.getParentalControlsChangedCount()).isEqualTo(0);
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/support/tis/SimpleSessionManagerTest.java b/common/tests/robotests/src/com/android/tv/common/support/tis/SimpleSessionManagerTest.java
deleted file mode 100644
index 3972559f..00000000
--- a/common/tests/robotests/src/com/android/tv/common/support/tis/SimpleSessionManagerTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.android.tv.common.support.tis;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.media.tv.TvContentRating;
-import android.net.Uri;
-import android.os.Build;
-import android.support.annotation.FloatRange;
-import android.support.annotation.Nullable;
-import android.view.Surface;
-
-import com.android.tv.common.support.tis.TifSession.TifSessionCallbacks;
-import com.android.tv.common.support.tis.TifSession.TifSessionFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-/** Tests for {@link SimpleSessionManager}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(minSdk = Build.VERSION_CODES.LOLLIPOP, maxSdk = Build.VERSION_CODES.P)
-public class SimpleSessionManagerTest {
-
- private SimpleSessionManager sessionManager;
-
- @Before
- public void setup() {
- sessionManager = new SimpleSessionManager(1);
- }
-
- @Test
- public void canCreateSession_none() {
- assertThat(sessionManager.canCreateNewSession()).isTrue();
- }
-
- @Test
- public void canCreateSession_one() {
- sessionManager.addSession(createTestSession());
- assertThat(sessionManager.canCreateNewSession()).isFalse();
- }
-
- @Test
- public void addSession() {
- assertThat(sessionManager.getSessionCount()).isEqualTo(0);
- sessionManager.addSession(createTestSession());
- assertThat(sessionManager.getSessionCount()).isEqualTo(1);
- }
-
- @Test
- public void onRelease() {
- WrappedSession testSession = createTestSession();
- sessionManager.addSession(testSession);
- assertThat(sessionManager.getSessionCount()).isEqualTo(1);
- testSession.onRelease();
- assertThat(sessionManager.getSessionCount()).isEqualTo(0);
- }
-
- @Test
- public void onRelease_withUnRegisteredSession() {
- WrappedSession testSession = createTestSession();
- sessionManager.addSession(createTestSession());
- assertThat(sessionManager.getSessionCount()).isEqualTo(1);
- testSession.onRelease();
- assertThat(sessionManager.getSessionCount()).isEqualTo(1);
- }
-
- @Test
- public void getSessions() {
- WrappedSession testSession = createTestSession();
- sessionManager.addSession(testSession);
- assertThat(sessionManager.getSessions()).containsExactly(testSession);
- }
-
- private WrappedSession createTestSession() {
- return new WrappedSession(
- RuntimeEnvironment.application,
- sessionManager,
- new TestTifSessionFactory(),
- "testInputId");
- }
-
- private static final class TestTifSessionFactory implements TifSessionFactory {
-
- @Override
- public TifSession create(TifSessionCallbacks callbacks, String inputId) {
- return new TestTifSession(callbacks);
- }
- }
-
- private static final class TestTifSession extends TifSession {
-
- private TestTifSession(TifSessionCallbacks callbacks) {
- super(callbacks);
- }
-
- @Override
- public void onRelease() {}
-
- @Override
- public boolean onSetSurface(@Nullable Surface surface) {
- return false;
- }
-
- @Override
- public void onSurfaceChanged(int format, int width, int height) {}
-
- @Override
- public void onSetStreamVolume(@FloatRange(from = 0.0, to = 1.0) float volume) {}
-
- @Override
- public boolean onTune(Uri channelUri) {
- return false;
- }
-
- @Override
- public void onSetCaptionEnabled(boolean enabled) {}
-
- @Override
- public void onUnblockContent(TvContentRating unblockedRating) {}
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/support/tis/TisSessionTest.java b/common/tests/robotests/src/com/android/tv/common/support/tis/TisSessionTest.java
deleted file mode 100644
index e2f849ee..00000000
--- a/common/tests/robotests/src/com/android/tv/common/support/tis/TisSessionTest.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package com.android.tv.common.support.tis;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.media.tv.TvContentRating;
-import android.media.tv.TvInputManager;
-import android.media.tv.TvTrackInfo;
-import android.net.Uri;
-import android.os.Build;
-import android.support.annotation.FloatRange;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.util.Pair;
-import android.view.Surface;
-import android.view.View;
-
-import com.android.tv.common.support.tis.TifSession.TifSessionCallbacks;
-
-import com.google.common.collect.ImmutableList;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-import java.util.List;
-
-/** Tests for {@link TifSession}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(minSdk = Build.VERSION_CODES.LOLLIPOP, maxSdk = Build.VERSION_CODES.P)
-public class TisSessionTest {
-
- private TestSession testSession;
- private TestCallback testCallback;
-
- @Before
- public void setup() {
- testCallback = new TestCallback();
- testSession = new TestSession(testCallback);
- }
-
- @Test
- public void notifyChannelReturned() {
- Uri uri = Uri.parse("http://example.com");
- testSession.notifyChannelRetuned(uri);
- assertThat(testCallback.channelUri).isEqualTo(uri);
- }
-
- @Test
- public void notifyTracksChanged() {
- List<TvTrackInfo> tracks =
- ImmutableList.of(new TvTrackInfo.Builder(TvTrackInfo.TYPE_VIDEO, "test").build());
- testSession.notifyTracksChanged(tracks);
- assertThat(testCallback.tracks).isEqualTo(tracks);
- }
-
- @Test
- public void notifyTrackSelected() {
- testSession.notifyTrackSelected(TvTrackInfo.TYPE_AUDIO, "audio_test");
- assertThat(testCallback.trackSelected)
- .isEqualTo(Pair.create(TvTrackInfo.TYPE_AUDIO, "audio_test"));
- }
-
- @Test
- public void notifyVideoAvailable() {
- testSession.notifyVideoAvailable();
- assertThat(testCallback.videoAvailable).isTrue();
- }
-
- @Test
- public void notifyVideoUnavailable() {
- testSession.notifyVideoUnavailable(TvInputManager.VIDEO_UNAVAILABLE_REASON_UNKNOWN);
- assertThat(testCallback.notifyVideoUnavailableReason)
- .isEqualTo(TvInputManager.VIDEO_UNAVAILABLE_REASON_UNKNOWN);
- }
-
- @Test
- public void notifyContentAllowed() {
- testSession.notifyContentAllowed();
- assertThat(testCallback.contentAllowed).isTrue();
- }
-
- @Test
- public void notifyContentBlocked() {
- TvContentRating rating = TvContentRating.createRating("1", "2", "3");
- testSession.notifyContentBlocked(rating);
- assertThat(testCallback.blockedContentRating).isEqualTo(rating);
- }
-
- @Test
- public void notifyTimeShiftStatusChanged() {
- testSession.notifyTimeShiftStatusChanged(TvInputManager.TIME_SHIFT_STATUS_AVAILABLE);
- assertThat(testCallback.timeShiftStatus)
- .isEqualTo(TvInputManager.TIME_SHIFT_STATUS_AVAILABLE);
- }
-
- @Test
- public void testSetOverlayViewEnabled() {
- testSession.helpTestSetOverlayViewEnabled(true);
- assertThat(testCallback.overlayViewEnabled).isTrue();
-
- testSession.helpTestSetOverlayViewEnabled(false);
- assertThat(testCallback.overlayViewEnabled).isFalse();
- }
-
- @Test
- public void testOnCreateOverlayView() {
- View actualView = testSession.onCreateOverlayView();
- assertThat(actualView).isNull(); // Default implementation returns a null.
- }
-
- @Test
- public void testOnOverlayViewSizeChanged() {
- testSession.onOverlayViewSizeChanged(5 /* width */, 7 /* height */);
- // Just verifing that the call completes.
- }
-
- private static final class TestCallback implements TifSessionCallbacks {
-
- private Uri channelUri;
- private List<TvTrackInfo> tracks;
- private Pair<Integer, String> trackSelected;
- private boolean videoAvailable;
- private int notifyVideoUnavailableReason;
- private boolean contentAllowed;
- private TvContentRating blockedContentRating;
- private int timeShiftStatus;
- private boolean overlayViewEnabled;
-
- @Override
- public void notifyChannelRetuned(Uri channelUri) {
- this.channelUri = channelUri;
- }
-
- @Override
- public void notifyTracksChanged(List<TvTrackInfo> tracks) {
- this.tracks = tracks;
- }
-
- @Override
- public void notifyTrackSelected(int type, String trackId) {
- this.trackSelected = Pair.create(type, trackId);
- }
-
- @Override
- public void notifyVideoAvailable() {
- this.videoAvailable = true;
- }
-
- @Override
- public void notifyVideoUnavailable(int reason) {
- this.notifyVideoUnavailableReason = reason;
- }
-
- @Override
- public void notifyContentAllowed() {
- this.contentAllowed = true;
- }
-
- @Override
- public void notifyContentBlocked(@NonNull TvContentRating rating) {
- this.blockedContentRating = rating;
- }
-
- @Override
- public void notifyTimeShiftStatusChanged(int status) {
- this.timeShiftStatus = status;
- }
-
- @Override
- public void setOverlayViewEnabled(boolean enabled) {
- this.overlayViewEnabled = enabled;
- }
- }
-
- private static final class TestSession extends TifSession {
-
- private TestSession(TifSessionCallbacks callbacks) {
- super(callbacks);
- }
-
- @Override
- public boolean onSetSurface(@Nullable Surface surface) {
- return false;
- }
-
- @Override
- public void onSurfaceChanged(int format, int width, int height) {}
-
- @Override
- public void onSetStreamVolume(@FloatRange(from = 0.0, to = 1.0) float volume) {}
-
- @Override
- public boolean onTune(Uri channelUri) {
- return false;
- }
-
- @Override
- public void onSetCaptionEnabled(boolean enabled) {}
-
- @Override
- public void onUnblockContent(TvContentRating unblockedRating) {}
-
- public void helpTestSetOverlayViewEnabled(boolean enabled) {
- super.setOverlayViewEnabled(enabled);
- }
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/support/tis/WrappedSessionTest.java b/common/tests/robotests/src/com/android/tv/common/support/tis/WrappedSessionTest.java
deleted file mode 100644
index f5b6146f..00000000
--- a/common/tests/robotests/src/com/android/tv/common/support/tis/WrappedSessionTest.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package com.android.tv.common.support.tis;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.media.PlaybackParams;
-import android.media.tv.TvContentRating;
-import android.net.Uri;
-import android.os.Build;
-import android.view.View;
-
-import com.android.tv.common.support.tis.TifSession.TifSessionCallbacks;
-import com.android.tv.common.support.tis.TifSession.TifSessionFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-/** Tests for {@link WrappedSession}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(minSdk = Build.VERSION_CODES.M, maxSdk = Build.VERSION_CODES.P)
-public class WrappedSessionTest {
-
- @Mock TifSession mockDelegate;
- private TifSessionFactory sessionFactory =
- new TifSessionFactory() {
- @Override
- public TifSession create(TifSessionCallbacks callbacks, String inputId) {
- return mockDelegate;
- }
- };
- private WrappedSession wrappedSession;
- private SimpleSessionManager sessionManager = new SimpleSessionManager(1);
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- wrappedSession =
- new WrappedSession(
- RuntimeEnvironment.application,
- sessionManager,
- sessionFactory,
- "testInputId");
- }
-
- @Test
- public void onRelease() {
- sessionManager.addSession(wrappedSession);
- assertThat(sessionManager.getSessionCount()).isEqualTo(1);
- wrappedSession.onRelease();
- assertThat(sessionManager.getSessionCount()).isEqualTo(0);
- Mockito.verify(mockDelegate).onRelease();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void onSetSurface() {
- wrappedSession.onSetSurface(null);
- Mockito.verify(mockDelegate).onSetSurface(null);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void onSurfaceChanged() {
- wrappedSession.onSurfaceChanged(1, 2, 3);
- Mockito.verify(mockDelegate).onSurfaceChanged(1, 2, 3);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void onSetStreamVolume() {
- wrappedSession.onSetStreamVolume(.8f);
- Mockito.verify(mockDelegate).onSetStreamVolume(.8f);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void onTune() {
- Uri uri = Uri.EMPTY;
- wrappedSession.onTune(uri);
- Mockito.verify(mockDelegate).onTune(uri);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void onSetCaptionEnabled() {
- wrappedSession.onSetCaptionEnabled(true);
- Mockito.verify(mockDelegate).onSetCaptionEnabled(true);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onTimeShiftGetCurrentPosition() {
- Mockito.when(mockDelegate.onTimeShiftGetCurrentPosition()).thenReturn(7L);
- assertThat(wrappedSession.onTimeShiftGetCurrentPosition()).isEqualTo(7L);
- Mockito.verify(mockDelegate).onTimeShiftGetCurrentPosition();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onTimeShiftGetStartPosition() {
- Mockito.when(mockDelegate.onTimeShiftGetStartPosition()).thenReturn(8L);
- assertThat(wrappedSession.onTimeShiftGetStartPosition()).isEqualTo(8L);
- Mockito.verify(mockDelegate).onTimeShiftGetStartPosition();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onTimeShiftPause() {
- wrappedSession.onTimeShiftPause();
- Mockito.verify(mockDelegate).onTimeShiftPause();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onTimeShiftResume() {
- wrappedSession.onTimeShiftResume();
- Mockito.verify(mockDelegate).onTimeShiftResume();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onTimeShiftSeekTo() {
- wrappedSession.onTimeShiftSeekTo(9L);
- Mockito.verify(mockDelegate).onTimeShiftSeekTo(9L);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onTimeShiftSetPlaybackParams() {
- PlaybackParams paras = new PlaybackParams();
- wrappedSession.onTimeShiftSetPlaybackParams(paras);
- Mockito.verify(mockDelegate).onTimeShiftSetPlaybackParams(paras);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- @Config(minSdk = Build.VERSION_CODES.M)
- public void onUnblockContent() {
- TvContentRating rating =
- TvContentRating.createRating(
- "domain", "rating_system", "rating", "subrating1", "subrating2");
- wrappedSession.onUnblockContent(rating);
- Mockito.verify(mockDelegate).onUnblockContent(rating);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void onParentalControlsChanged() {
- wrappedSession.onParentalControlsChanged();
- Mockito.verify(mockDelegate).onParentalControlsChanged();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void testSetOverlayViewEnabled() {
- wrappedSession.setOverlayViewEnabled(true);
- // Just verifying that the call completes.
- }
-
- @Test
- public void testOnCreateOverlayView() {
- View v = new View(RuntimeEnvironment.application);
- Mockito.when(mockDelegate.onCreateOverlayView()).thenReturn(v);
-
- View actualView = wrappedSession.onCreateOverlayView();
-
- assertThat(actualView).isEqualTo(v);
- Mockito.verify(mockDelegate).onCreateOverlayView();
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-
- @Test
- public void testOnOverlayViewSizeChanged() {
- wrappedSession.onOverlayViewSizeChanged(5 /* width */, 13 /* height */);
- Mockito.verify(mockDelegate).onOverlayViewSizeChanged(5, 13);
- Mockito.verifyNoMoreInteractions(mockDelegate);
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/support/tvprovider/TvContractCompatXTest.java b/common/tests/robotests/src/com/android/tv/common/support/tvprovider/TvContractCompatXTest.java
deleted file mode 100644
index 51cc19dd..00000000
--- a/common/tests/robotests/src/com/android/tv/common/support/tvprovider/TvContractCompatXTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.tv.common.support.tvprovider;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.net.Uri;
-
-import com.android.tv.testing.constants.ConfigConstants;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/** Test for {@link TvContractCompatX}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class TvContractCompatXTest {
-
- @Test
- public void buildChannelUri() {
- assertThat(TvContractCompatX.buildChannelUri("com.example", "foo"))
- .isEqualTo(
- Uri.parse(
- "content://android.media.tv/channel?"
- + "package=com.example&internal_provider_id=foo"));
- }
-
- @Test
- public void buildProgramsUriForChannel() {
- assertThat(TvContractCompatX.buildProgramsUriForChannel("com.example", "foo"))
- .isEqualTo(
- Uri.parse(
- "content://android.media.tv/program?"
- + "package=com.example&internal_provider_id=foo"));
- }
-
- @Test
- public void buildProgramsUriForChannel_period() {
- assertThat(TvContractCompatX.buildProgramsUriForChannel("com.example", "foo", 1234L, 5467L))
- .isEqualTo(
- Uri.parse(
- "content://android.media.tv/program?"
- + "package=com.example&internal_provider_id=foo"
- + "&start_time=1234&end_time=5467"));
- }
-
- @Test
- public void buildProgramsUri_period() {
- assertThat(TvContractCompatX.buildProgramsUri(1234L, 5467L))
- .isEqualTo(
- Uri.parse(
- "content://android.media.tv/program?"
- + "start_time=1234&end_time=5467"));
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java b/common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java
deleted file mode 100644
index 3930ff69..00000000
--- a/common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.util;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.android.tv.testing.constants.ConfigConstants;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import java.io.File;
-import java.io.IOException;
-
-/** Tests for {@link CommonUtils}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class CommonUtilsTest {
-
- @Test
- public void deleteDirOrFile_file() throws IOException {
- File file = new File(RuntimeEnvironment.application.getExternalFilesDir(null), "file");
- assertThat(file.createNewFile()).isTrue();
- assertThat(CommonUtils.deleteDirOrFile(file)).isTrue();
- assertThat(file.exists()).isFalse();
- }
-
- @Test
- public void deleteDirOrFile_Dir() throws IOException {
- File dir = new File(RuntimeEnvironment.application.getExternalFilesDir(null), "dir");
- assertThat(dir.mkdirs()).isTrue();
- assertThat(new File(dir, "file").createNewFile()).isTrue();
- assertThat(CommonUtils.deleteDirOrFile(dir)).isTrue();
- assertThat(dir.exists()).isFalse();
- }
-
- @Test
- public void deleteDirOrFile_unreadableDir() throws IOException {
- File dir = new File(RuntimeEnvironment.application.getExternalFilesDir(null), "dir");
- assertThat(dir.mkdirs()).isTrue();
- assertThat(new File(dir, "file").createNewFile()).isTrue();
- dir.setReadable(false);
- // Since dir is unreadable dir.listFiles() returns null and file is not deleted thus
- // dir is not actually deleted.
- assertThat(CommonUtils.deleteDirOrFile(dir)).isFalse();
- assertThat(dir.exists()).isTrue();
- }
-
- @Test
- public void deleteDirOrFile_unreadableSubDir() throws IOException {
- File dir = new File(RuntimeEnvironment.application.getExternalFilesDir(null), "dir");
- File subDir = new File(dir, "sub");
- assertThat(subDir.mkdirs()).isTrue();
- File file = new File(subDir, "file");
- assertThat(file.createNewFile()).isTrue();
- subDir.setReadable(false);
- // Since subDir is unreadable subDir.listFiles() returns null and file is not deleted thus
- // dir is not actually deleted.
- assertThat(CommonUtils.deleteDirOrFile(dir)).isFalse();
- assertThat(dir.exists()).isTrue();
- }
-}
diff --git a/common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java b/common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java
deleted file mode 100644
index 58286724..00000000
--- a/common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.tv.common.util;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.net.Uri;
-
-import com.android.tv.testing.constants.ConfigConstants;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-/** Tests for {@link ContentUriUtils}. */
-@RunWith(RobolectricTestRunner.class)
-@Config(sdk = ConfigConstants.SDK)
-public class ContentUriUtilsTest {
-
- @Test
- public void safeParseId_empty() {
- assertThat(ContentUriUtils.safeParseId(Uri.EMPTY)).isEqualTo(-1);
- }
-
- @Test
- public void safeParseId_bad() {
- assertThat(ContentUriUtils.safeParseId(Uri.parse("foo/bad"))).isEqualTo(-1);
- }
-
- @Test
- public void safeParseId_123() {
- assertThat(ContentUriUtils.safeParseId(Uri.parse("foo/123"))).isEqualTo(123);
- }
-}