aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-11-11 21:33:57 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-11-11 21:33:57 +0000
commitf537bf4098f11b26517c8ddac179a940226268e5 (patch)
tree2b4079d4d7c1498278c311bfd9c7c3ae90d00000
parent30911a597a211f9fb1e0f0697858df6333f7c8fb (diff)
parent7b718f23aafbe107256ee1efb3f8517215c469a0 (diff)
downloadTV-android10-mainline-resolv-release.tar.gz
Snap for 6001391 from 7b718f23aafbe107256ee1efb3f8517215c469a0 to qt-aml-resolv-releaseandroid-mainline-10.0.0_r8android10-mainline-resolv-release
Change-Id: I6165574dab08a376d9b4950e2660583c25208403
-rwxr-xr-xcommon/src/com/android/tv/common/flags/MessagesFlags.java3
-rw-r--r--common/src/com/android/tv/common/flags/impl/DefaultMessagesFlags.java4
-rw-r--r--common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java69
-rw-r--r--common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java3
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java3
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateCommandTest.java2
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/PrivateRecordingCommandTest.java2
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/RecordingSessionEventTest.java2
-rw-r--r--common/tests/robotests/src/com/android/tv/common/compat/internal/SessionEventTest.java2
-rw-r--r--common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java3
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/BaseTvInputServiceTest.java6
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/SimpleSessionManagerTest.java4
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/TisSessionTest.java8
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tis/WrappedSessionTest.java4
-rw-r--r--common/tests/robotests/src/com/android/tv/common/support/tvprovider/TvContractCompatXTest.java3
-rw-r--r--common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java8
-rw-r--r--common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java4
-rw-r--r--libs/Android.bp1
-rw-r--r--partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/BaseCustomizationTest.java5
-rw-r--r--partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/TunerSetupUtilsTest.java12
-rw-r--r--res/values/strings-custom.xml3
-rw-r--r--src/com/android/tv/onboarding/SetupSourcesFragment.java2
-rw-r--r--tests/common/Android.bp2
-rw-r--r--tests/common/Android.mk23
-rw-r--r--tests/robotests/Android.mk76
-rw-r--r--tests/robotests/src/com/android/tv/MainActivityRoboTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/MediaSessionWrapperTest.java4
-rw-r--r--tests/robotests/src/com/android/tv/SetupPassthroughActivityTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/TvActivityTest.java2
-rw-r--r--tests/robotests/src/com/android/tv/audio/AudioManagerHelperTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/data/ChannelNumberTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/data/GenreItemTest.java5
-rw-r--r--tests/robotests/src/com/android/tv/data/PreviewDataManagerTest.java5
-rw-r--r--tests/robotests/src/com/android/tv/data/ProgramDataManagerTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/data/ProgramTest.java4
-rw-r--r--tests/robotests/src/com/android/tv/data/TvInputNewComparatorTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/data/WatchedHistoryManagerTest.java2
-rw-r--r--tests/robotests/src/com/android/tv/data/api/ProgramTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java4
-rw-r--r--tests/robotests/src/com/android/tv/dvr/BaseDvrDataManagerTest.java10
-rw-r--r--tests/robotests/src/com/android/tv/dvr/DvrDataManagerImplTest.java9
-rw-r--r--tests/robotests/src/com/android/tv/dvr/DvrScheduleManagerTest.java10
-rw-r--r--tests/robotests/src/com/android/tv/dvr/ScheduledRecordingTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/dvr/data/SeriesRecordingTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/dvr/provider/DvrDbSyncTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/dvr/provider/EpisodicProgramLoadTaskTest.java14
-rw-r--r--tests/robotests/src/com/android/tv/dvr/recorder/InputTaskSchedulerTest.java16
-rw-r--r--tests/robotests/src/com/android/tv/dvr/recorder/RecordingTaskTest.java9
-rw-r--r--tests/robotests/src/com/android/tv/dvr/recorder/ScheduledProgramReaperTest.java8
-rw-r--r--tests/robotests/src/com/android/tv/dvr/recorder/SchedulerTest.java7
-rw-r--r--tests/robotests/src/com/android/tv/dvr/recorder/SeriesRecordingSchedulerTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/dvr/ui/SortedArrayAdapterTest.java11
-rw-r--r--tests/robotests/src/com/android/tv/dvr/ui/browse/DvrBrowseFragmentTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/dvr/ui/list/DvrHistoryRowAdapterTest.java5
-rw-r--r--tests/robotests/src/com/android/tv/dvr/ui/playback/DvrPlayerTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/guide/ProgramItemViewTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/guide/ProgramTableAdapterTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/search/LocalSearchProviderTest.java5
-rw-r--r--tests/robotests/src/com/android/tv/testing/TvRobolectricTestRunner.java49
-rw-r--r--tests/robotests/src/com/android/tv/ui/ChannelBannerViewTest.java5
-rw-r--r--tests/robotests/src/com/android/tv/ui/hideable/AutoHideSchedulerTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/util/MultiLongSparseArrayTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/util/TvInputManagerHelperRoboTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/util/TvProviderUtilsTest.java3
-rw-r--r--tests/robotests/src/com/android/tv/util/TvTrackInfoUtilsTest.java13
-rw-r--r--tests/robotests/src/com/android/tv/util/UtilsTest.java3
-rw-r--r--tests/unit/Android.mk2
-rw-r--r--tuner/SampleDvbTuner/robotests/javatests/com/android/tv/tuner/sample/dvb/util/SampleDvbConstantsTest.java5
-rw-r--r--tuner/SampleNetworkTuner/robotests/javatests/com/android/tv/tuner/sample/network/util/SampleNetworkConstantsTest.java5
-rw-r--r--tuner/tests/robotests/Android.mk68
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/data/SectionParserTest.java5
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/dvb/DvbTunerHalTest.java5
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/exoplayer/tests/SampleSourceExtractorTest.java4
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/testing/TvTunerRobolectricTestRunner.java74
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2Test.java6
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerTest.java4
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/datamanager/ChannelDataManagerTest.java5
-rw-r--r--tuner/tests/robotests/javatests/com/android/tv/tuner/util/PostalCodeUtilsTest.java5
-rw-r--r--tuner/tests/testing/Android.mk2
80 files changed, 472 insertions, 232 deletions
diff --git a/common/src/com/android/tv/common/flags/MessagesFlags.java b/common/src/com/android/tv/common/flags/MessagesFlags.java
index 298e854d..596442fe 100755
--- a/common/src/com/android/tv/common/flags/MessagesFlags.java
+++ b/common/src/com/android/tv/common/flags/MessagesFlags.java
@@ -32,7 +32,4 @@ public interface MessagesFlags {
* code generation.
*/
boolean compiled();
-
- /** Use setup_sources_description2 */
- boolean setupSourcesDescription2();
}
diff --git a/common/src/com/android/tv/common/flags/impl/DefaultMessagesFlags.java b/common/src/com/android/tv/common/flags/impl/DefaultMessagesFlags.java
index 091f422f..f2130a33 100644
--- a/common/src/com/android/tv/common/flags/impl/DefaultMessagesFlags.java
+++ b/common/src/com/android/tv/common/flags/impl/DefaultMessagesFlags.java
@@ -27,8 +27,4 @@ public final class DefaultMessagesFlags
return true;
}
- @Override
- public boolean setupSourcesDescription2() {
- return false;
- }
}
diff --git a/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java b/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java
index a0d72ade..521b2205 100644
--- a/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java
+++ b/common/tests/robotests/src/com/android/tv/common/TvContentRatingCacheTest.java
@@ -21,14 +21,17 @@ 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.robolectric.RobolectricTestRunner;
+
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}. */
@@ -72,7 +75,7 @@ public class TvContentRatingCacheTest {
mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
ImmutableList<TvContentRating> second =
mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- assertThat(first).isSameInstanceAs(second);
+ assertThat(first).isSameInstanceAs(second);
}
@Test
@@ -82,26 +85,26 @@ public class TvContentRatingCacheTest {
mCache.performTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE);
ImmutableList<TvContentRating> second =
mCache.getRatings(TvContentRatingConstants.STRING_US_TV_MA);
- assertThat(first).isNotSameInstanceAs(second);
+ 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);
+ assertThat(first).isSameInstanceAs(second);
}
@Test
public void testContentRatingsToString_null() {
String result = TvContentRatingCache.contentRatingsToString(null);
- assertWithMessage("ratings string").that(result).isNull();
+ assertWithMessage("ratings string").that(result).isNull();
}
@Test
public void testContentRatingsToString_none() {
String result = TvContentRatingCache.contentRatingsToString(ImmutableList.of());
- assertWithMessage("ratings string").that(result).isEmpty();
+ assertWithMessage("ratings string").that(result).isEmpty();
}
@Test
@@ -109,9 +112,9 @@ public class TvContentRatingCacheTest {
String result =
TvContentRatingCache.contentRatingsToString(
ImmutableList.of(TvContentRatingConstants.CONTENT_RATING_US_TV_MA));
- assertWithMessage("ratings string")
- .that(result)
- .isEqualTo(TvContentRatingConstants.STRING_US_TV_MA);
+ assertWithMessage("ratings string")
+ .that(result)
+ .isEqualTo(TvContentRatingConstants.STRING_US_TV_MA);
}
@Test
@@ -121,7 +124,7 @@ public class TvContentRatingCacheTest {
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);
+ assertWithMessage("ratings string").that(result).isEqualTo(MA_AND_Y7);
}
@Test
@@ -131,7 +134,7 @@ public class TvContentRatingCacheTest {
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);
+ assertWithMessage("ratings string").that(result).isEqualTo(MA_AND_Y7);
}
@Test
@@ -141,9 +144,9 @@ public class TvContentRatingCacheTest {
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);
+ assertWithMessage("ratings string")
+ .that(result)
+ .isEqualTo(TvContentRatingConstants.STRING_US_TV_MA);
}
@Test
@@ -166,9 +169,9 @@ public class TvContentRatingCacheTest {
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);
+ assertWithMessage("ratings")
+ .that(results)
+ .containsExactly(TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV);
}
@Test
@@ -176,31 +179,31 @@ public class TvContentRatingCacheTest {
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);
+ 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);
+ 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);
+ assertWithMessage("ratings")
+ .that(results)
+ .containsExactly(
+ TvContentRatingConstants.CONTENT_RATING_US_TV_MA,
+ TvContentRatingConstants.CONTENT_RATING_US_TV_Y7_US_TV_FV);
}
@Test
@@ -210,9 +213,9 @@ public class TvContentRatingCacheTest {
TvContentRatingConstants.STRING_US_TV_MA
+ ","
+ TvContentRatingConstants.STRING_US_TV_MA);
- assertWithMessage("ratings")
- .that(results)
- .containsExactly((TvContentRatingConstants.CONTENT_RATING_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
index f27e93fd..be586be5 100644
--- a/common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java
+++ b/common/tests/robotests/src/com/android/tv/common/actions/InputSetupActionUtilsTest.java
@@ -23,10 +23,9 @@ import android.os.Bundle;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link InputSetupActionUtils} */
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
index de835ce0..5c10c00b 100644
--- a/common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java
+++ b/common/tests/robotests/src/com/android/tv/common/compat/TvInputInfoCompatTest.java
@@ -28,11 +28,10 @@ import androidx.test.InstrumentationRegistry;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.testing.utils.TestUtils;
-import org.robolectric.RobolectricTestRunner;
-
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;
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
index 626bfb5c..aa9221fa 100644
--- 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
@@ -23,13 +23,13 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.testing.mockito.Mocks;
-import org.robolectric.RobolectricTestRunner;
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;
/**
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
index e5690b78..1a3c0916 100644
--- 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
@@ -23,13 +23,13 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.testing.mockito.Mocks;
-import org.robolectric.RobolectricTestRunner;
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;
/**
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
index 6c2a7bc8..3de3a6df 100644
--- 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
@@ -23,13 +23,13 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.testing.mockito.Mocks;
-import org.robolectric.RobolectricTestRunner;
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;
/**
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
index 81a04565..e65297cc 100644
--- 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
@@ -23,13 +23,13 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.testing.mockito.Mocks;
-import org.robolectric.RobolectricTestRunner;
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;
/**
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
index a53c1f0b..a9c15ada 100644
--- a/common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java
+++ b/common/tests/robotests/src/com/android/tv/common/dev/DeveloperPreferenceTest.java
@@ -19,10 +19,9 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
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
index acbcf810..88b0215e 100644
--- 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
@@ -9,13 +9,15 @@ 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.robolectric.RobolectricTestRunner;
+
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;
@@ -114,7 +116,7 @@ public class BaseTvInputServiceTest {
first.onRelease();
WrappedSession second = tvInputService.onCreateSession("test");
assertThat(second).isNotNull();
- assertThat(second).isNotSameInstanceAs(first);
+ assertThat(second).isNotSameInstanceAs(first);
}
@Test
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
index a8e5c778..3972559f 100644
--- 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
@@ -8,12 +8,14 @@ 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.robolectric.RobolectricTestRunner;
+
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;
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
index 965a6a2e..e2f849ee 100644
--- 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
@@ -13,15 +13,19 @@ 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.robolectric.RobolectricTestRunner;
-import java.util.List;
+
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)
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
index aff46164..f5b6146f 100644
--- 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
@@ -7,15 +7,17 @@ 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.robolectric.RobolectricTestRunner;
+
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;
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
index bec848a2..51cc19dd 100644
--- 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
@@ -22,10 +22,9 @@ import android.net.Uri;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Test for {@link TvContractCompatX}. */
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
index a35594c1..3930ff69 100644
--- a/common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java
+++ b/common/tests/robotests/src/com/android/tv/common/util/CommonUtilsTest.java
@@ -18,14 +18,16 @@ package com.android.tv.common.util;
import static com.google.common.truth.Truth.assertThat;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-import java.io.File;
-import java.io.IOException;
+
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)
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
index 36bbc696..58286724 100644
--- a/common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java
+++ b/common/tests/robotests/src/com/android/tv/common/util/ContentUriUtilsTest.java
@@ -18,10 +18,12 @@ 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.robolectric.RobolectricTestRunner;
+
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link ContentUriUtils}. */
diff --git a/libs/Android.bp b/libs/Android.bp
index 8ebed8b2..7c41f4ea 100644
--- a/libs/Android.bp
+++ b/libs/Android.bp
@@ -169,6 +169,7 @@ java_plugin {
"tv-guava-jre-jar",
"tv-guava-failureaccess-jar",
"tv-javapoet-jar",
+ "tv-google-java-format-jar",
"jsr330",
"tv-lib-dagger",
],
diff --git a/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/BaseCustomizationTest.java b/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/BaseCustomizationTest.java
index 1b515109..03d68e4e 100644
--- a/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/BaseCustomizationTest.java
+++ b/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/BaseCustomizationTest.java
@@ -28,11 +28,10 @@ import android.content.pm.PackageManager;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
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;
@@ -43,7 +42,7 @@ import java.util.List;
// TODO: move to partner-support
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK, application = TestSingletonApp.class)
public class BaseCustomizationTest {
diff --git a/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/TunerSetupUtilsTest.java b/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/TunerSetupUtilsTest.java
index d9b48cfd..8d089e55 100644
--- a/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/TunerSetupUtilsTest.java
+++ b/partner_support/tests/robotests/javatests/com/google/android/tv/partner/support/TunerSetupUtilsTest.java
@@ -19,16 +19,18 @@ package com.google.android.tv.partner.support;
import static com.google.common.truth.Truth.assertThat;
import com.android.tv.testing.constants.ConfigConstants;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
/** Tests for {@link TunerSetupUtils} */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class TunerSetupUtilsTest {
diff --git a/res/values/strings-custom.xml b/res/values/strings-custom.xml
index d9a7a26b..5ecb8592 100644
--- a/res/values/strings-custom.xml
+++ b/res/values/strings-custom.xml
@@ -23,9 +23,6 @@
<!-- Name of application [CHAR LIMIT=NONE] -->
<string name="app_name" translatable="false">Live TV</string>
<!-- Description for channel sources screen in onboarding. [CHAR LIMIT=NONE] -->
- <string name="setup_sources_description">Live TV combines the experience of traditional TV channels with streaming channels provided by apps.
-\n\nGet started by setting up the channel sources already installed. Or browse Google Play Store for more apps that offer live channels.</string>
- <!-- Description for channel sources screen in onboarding. [CHAR LIMIT=NONE] -->
<string name="setup_sources_description2"
meaning="Live TV version of setup_sources_description2"
><xliff:g id="app_name">Live TV</xliff:g> combines the experience of traditional TV channels with streaming channels provided by apps.
diff --git a/src/com/android/tv/onboarding/SetupSourcesFragment.java b/src/com/android/tv/onboarding/SetupSourcesFragment.java
index 2b0a736c..b54d1bc9 100644
--- a/src/com/android/tv/onboarding/SetupSourcesFragment.java
+++ b/src/com/android/tv/onboarding/SetupSourcesFragment.java
@@ -230,7 +230,7 @@ public class SetupSourcesFragment extends SetupMultiPaneFragment {
@Override
public Guidance onCreateGuidance(Bundle savedInstanceState) {
String title = getString(R.string.setup_sources_text);
- String description = getString(R.string.setup_sources_description);
+ String description = getString(R.string.setup_sources_description2);
return new Guidance(title, description, null, null);
}
diff --git a/tests/common/Android.bp b/tests/common/Android.bp
index a3b6bb2b..1abaaf76 100644
--- a/tests/common/Android.bp
+++ b/tests/common/Android.bp
@@ -28,7 +28,7 @@ android_library {
"androidx.test.runner",
"androidx.test.rules",
"tv-guava-android-jar",
- "mockito-target",
+ "mockito-robolectric-prebuilt",
"tv-lib-truth",
"ub-uiautomator",
"Robolectric_all-target",
diff --git a/tests/common/Android.mk b/tests/common/Android.mk
new file mode 100644
index 00000000..e434e124
--- /dev/null
+++ b/tests/common/Android.mk
@@ -0,0 +1,23 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := tv-test-common-robo
+
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, src/com/android/tv/testing/robo) \
+ $(call all-java-files-under, src/com/android/tv/testing/shadows)
+
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ robolectric_android-all-stub \
+ Robolectric_all-target \
+ mockito-robolectric-prebuilt \
+ tv-test-common \
+
+LOCAL_INSTRUMENTATION_FOR := LiveTv
+
+LOCAL_MODULE_TAGS := optional
+LOCAL_SDK_VERSION := system_current
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk
new file mode 100644
index 00000000..d5c51b57
--- /dev/null
+++ b/tests/robotests/Android.mk
@@ -0,0 +1,76 @@
+#############################################################
+# Tv Robolectric test target. #
+#############################################################
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := TvRoboTests
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+BASE_DIR = src/com/android/tv
+EXCLUDE_FILES := \
+ $(BASE_DIR)/TvActivityTest.java \
+ $(BASE_DIR)/data/epg/EpgFetcherImplTest.java \
+ $(BASE_DIR)/guide/ProgramItemViewTest.java \
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_SRC_FILES))
+
+LOCAL_JAVA_LIBRARIES := \
+ Robolectric_all-target \
+ mockito-robolectric-prebuilt \
+ robolectric_android-all-stub \
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ tv-lib-dagger
+
+LOCAL_STATIC_ANDROID_LIBRARIES := \
+ androidx.test.core \
+ tv-lib-dagger-android \
+ tv-test-common \
+ tv-test-common-robo \
+
+LOCAL_ANNOTATION_PROCESSORS := \
+ tv-lib-dagger-android-processor \
+ tv-lib-dagger-compiler \
+
+LOCAL_ANNOTATION_PROCESSOR_CLASSES := \
+ dagger.internal.codegen.ComponentProcessor,dagger.android.processor.AndroidProcessor
+
+LOCAL_INSTRUMENTATION_FOR := LiveTv
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+#############################################################
+# Tv runner target to run the previous target. #
+#############################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE := RunTvRoboTests
+
+BASE_DIR = com/android/tv
+EXCLUDE_FILES := \
+ $(BASE_DIR)/MainActivityRoboTest.java \
+ $(BASE_DIR)/TvActivityTest.java \
+ $(BASE_DIR)/data/epg/EpgFetcherImplTest.java \
+ $(BASE_DIR)/guide/ProgramItemViewTest.java \
+ $(BASE_DIR)/guide/ProgramTableAdapterTest.java \
+
+LOCAL_ROBOTEST_FILES := $(call find-files-in-subdirs,$(LOCAL_PATH)/src,*Test.java,.)
+LOCAL_ROBOTEST_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_ROBOTEST_FILES))
+
+LOCAL_JAVA_LIBRARIES := \
+ Robolectric_all-target \
+ TvRoboTests \
+ mockito-robolectric-prebuilt \
+ robolectric_android-all-stub \
+ tv-lib-truth \
+ tv-test-common \
+ tv-test-common-robo \
+
+LOCAL_TEST_PACKAGE := LiveTv
+
+LOCAL_ROBOTEST_TIMEOUT := 36000
+
+include external/robolectric-shadows/run_robotests.mk
diff --git a/tests/robotests/src/com/android/tv/MainActivityRoboTest.java b/tests/robotests/src/com/android/tv/MainActivityRoboTest.java
index c399006e..be7ae06b 100644
--- a/tests/robotests/src/com/android/tv/MainActivityRoboTest.java
+++ b/tests/robotests/src/com/android/tv/MainActivityRoboTest.java
@@ -30,12 +30,11 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.ui.TunableTvView;
import com.android.tv.util.TvInputManagerHelper;
-import org.robolectric.RobolectricTestRunner;
-
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.annotation.Config;
import org.robolectric.shadow.api.Shadow;
diff --git a/tests/robotests/src/com/android/tv/MediaSessionWrapperTest.java b/tests/robotests/src/com/android/tv/MediaSessionWrapperTest.java
index 3370f72d..5be62acb 100644
--- a/tests/robotests/src/com/android/tv/MediaSessionWrapperTest.java
+++ b/tests/robotests/src/com/android/tv/MediaSessionWrapperTest.java
@@ -24,12 +24,12 @@ import android.media.MediaMetadata;
import android.media.session.PlaybackState;
import com.android.tv.testing.EpgTestData;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.testing.shadows.ShadowMediaSession;
import com.google.common.collect.Maps;
-import org.robolectric.RobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
@@ -41,7 +41,7 @@ import org.robolectric.shadow.api.Shadow;
import java.util.Map;
/** Tests fpr {@link MediaSessionWrapper}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(
sdk = ConfigConstants.SDK,
application = TestSingletonApp.class,
diff --git a/tests/robotests/src/com/android/tv/SetupPassthroughActivityTest.java b/tests/robotests/src/com/android/tv/SetupPassthroughActivityTest.java
index 8d9b9ff4..76037b49 100644
--- a/tests/robotests/src/com/android/tv/SetupPassthroughActivityTest.java
+++ b/tests/robotests/src/com/android/tv/SetupPassthroughActivityTest.java
@@ -53,7 +53,7 @@ import com.android.tv.util.TvInputManagerHelper;
import com.google.android.tv.partner.support.EpgContract;
import com.google.common.base.Optional;
-import org.robolectric.RobolectricTestRunner;
+import com.android.tv.common.flags.proto.TypedFeatures.StringListParam;
import dagger.Component;
import dagger.Module;
@@ -70,6 +70,7 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito;
import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.android.util.concurrent.RoboExecutorService;
diff --git a/tests/robotests/src/com/android/tv/TvActivityTest.java b/tests/robotests/src/com/android/tv/TvActivityTest.java
index d385f0ee..c153de8a 100644
--- a/tests/robotests/src/com/android/tv/TvActivityTest.java
+++ b/tests/robotests/src/com/android/tv/TvActivityTest.java
@@ -23,11 +23,11 @@ import com.android.tv.util.Utils;
import com.google.android.libraries.testing.truth.IntentSubject;
import com.google.common.truth.Truth;
-import org.robolectric.RobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
diff --git a/tests/robotests/src/com/android/tv/audio/AudioManagerHelperTest.java b/tests/robotests/src/com/android/tv/audio/AudioManagerHelperTest.java
index d5b32794..e71b5620 100644
--- a/tests/robotests/src/com/android/tv/audio/AudioManagerHelperTest.java
+++ b/tests/robotests/src/com/android/tv/audio/AudioManagerHelperTest.java
@@ -24,12 +24,11 @@ import android.os.Build;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.ui.api.TunableTvViewPlayingApi;
-import org.robolectric.RobolectricTestRunner;
-
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.Shadows;
import org.robolectric.annotation.Config;
diff --git a/tests/robotests/src/com/android/tv/data/ChannelNumberTest.java b/tests/robotests/src/com/android/tv/data/ChannelNumberTest.java
index cb02ac15..de051cf5 100644
--- a/tests/robotests/src/com/android/tv/data/ChannelNumberTest.java
+++ b/tests/robotests/src/com/android/tv/data/ChannelNumberTest.java
@@ -23,10 +23,9 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.tv.testing.ComparableTester;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link ChannelNumber}. */
diff --git a/tests/robotests/src/com/android/tv/data/GenreItemTest.java b/tests/robotests/src/com/android/tv/data/GenreItemTest.java
index 747d1d8c..b19dc0d1 100644
--- a/tests/robotests/src/com/android/tv/data/GenreItemTest.java
+++ b/tests/robotests/src/com/android/tv/data/GenreItemTest.java
@@ -21,17 +21,16 @@ import static com.google.common.truth.Truth.assertThat;
import android.media.tv.TvContract.Programs.Genres;
import android.os.Build;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
/** Tests for {@link GenreItems}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class GenreItemTest {
private static final String INVALID_GENRE = "INVALID GENRE";
diff --git a/tests/robotests/src/com/android/tv/data/PreviewDataManagerTest.java b/tests/robotests/src/com/android/tv/data/PreviewDataManagerTest.java
index bfc8f7fa..b341abf4 100644
--- a/tests/robotests/src/com/android/tv/data/PreviewDataManagerTest.java
+++ b/tests/robotests/src/com/android/tv/data/PreviewDataManagerTest.java
@@ -35,10 +35,9 @@ import androidx.tvprovider.media.tv.TvContractCompat;
import com.android.tv.data.api.Channel;
import com.android.tv.data.api.Program;
import com.android.tv.dvr.data.RecordedProgram;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
@@ -50,7 +49,7 @@ import org.robolectric.shadows.ShadowLog;
import java.util.List;
/** Tests for {@link PreviewDataManager}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class PreviewDataManagerTest {
private static final long FAKE_PREVIEW_CHANNEL_ID = 2002;
diff --git a/tests/robotests/src/com/android/tv/data/ProgramDataManagerTest.java b/tests/robotests/src/com/android/tv/data/ProgramDataManagerTest.java
index 80c1bbf4..2176aa98 100644
--- a/tests/robotests/src/com/android/tv/data/ProgramDataManagerTest.java
+++ b/tests/robotests/src/com/android/tv/data/ProgramDataManagerTest.java
@@ -40,12 +40,11 @@ import com.android.tv.testing.fakes.FakeTvProvider;
import com.android.tv.testing.robo.ContentProviders;
import com.android.tv.testing.testdata.TestData;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.util.concurrent.RoboExecutorService;
import org.robolectric.annotation.Config;
diff --git a/tests/robotests/src/com/android/tv/data/ProgramTest.java b/tests/robotests/src/com/android/tv/data/ProgramTest.java
index 40cc729c..407cca97 100644
--- a/tests/robotests/src/com/android/tv/data/ProgramTest.java
+++ b/tests/robotests/src/com/android/tv/data/ProgramTest.java
@@ -27,10 +27,10 @@ import android.os.Parcel;
import com.android.tv.data.api.Program;
import com.android.tv.data.api.Program.CriticScore;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.constants.ConfigConstants;
import com.google.common.collect.ImmutableList;
-import org.robolectric.RobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,7 +42,7 @@ import java.util.Arrays;
import java.util.List;
/** Tests for {@link ProgramImpl}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class ProgramTest {
private static final int NOT_FOUND_GENRE = 987;
diff --git a/tests/robotests/src/com/android/tv/data/TvInputNewComparatorTest.java b/tests/robotests/src/com/android/tv/data/TvInputNewComparatorTest.java
index ff604fc7..201fa03d 100644
--- a/tests/robotests/src/com/android/tv/data/TvInputNewComparatorTest.java
+++ b/tests/robotests/src/com/android/tv/data/TvInputNewComparatorTest.java
@@ -26,14 +26,13 @@ import com.android.tv.testing.utils.TestUtils;
import com.android.tv.util.SetupUtils;
import com.android.tv.util.TvInputManagerHelper;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.Comparator;
diff --git a/tests/robotests/src/com/android/tv/data/WatchedHistoryManagerTest.java b/tests/robotests/src/com/android/tv/data/WatchedHistoryManagerTest.java
index 4bb97ea3..761827a9 100644
--- a/tests/robotests/src/com/android/tv/data/WatchedHistoryManagerTest.java
+++ b/tests/robotests/src/com/android/tv/data/WatchedHistoryManagerTest.java
@@ -24,11 +24,11 @@ import com.android.tv.data.WatchedHistoryManager.WatchedRecord;
import com.android.tv.testing.constants.ConfigConstants;
import com.google.common.util.concurrent.MoreExecutors;
-import org.robolectric.RobolectricTestRunner;
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;
diff --git a/tests/robotests/src/com/android/tv/data/api/ProgramTest.java b/tests/robotests/src/com/android/tv/data/api/ProgramTest.java
index 47bfbf31..3b9f062a 100644
--- a/tests/robotests/src/com/android/tv/data/api/ProgramTest.java
+++ b/tests/robotests/src/com/android/tv/data/api/ProgramTest.java
@@ -20,10 +20,9 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.tv.data.ProgramImpl;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link Program}. */
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 358626a2..91472d0d 100644
--- a/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java
+++ b/tests/robotests/src/com/android/tv/data/epg/EpgFetcherImplTest.java
@@ -48,7 +48,7 @@ import com.android.tv.testing.robo.ContentProviders;
import com.google.android.tv.livechannels.epg.provider.EpgContentProvider;
import com.google.android.tv.partner.support.EpgContract;
import com.google.common.collect.ImmutableList;
-import org.robolectric.RobolectricTestRunner;
+import com.android.tv.common.flags.proto.TypedFeatures.StringListParam;
import dagger.Component;
import dagger.Module;
@@ -61,6 +61,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.android.util.concurrent.RoboExecutorService;
diff --git a/tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java b/tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java
index 92fcc37d..d989b51f 100644
--- a/tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java
+++ b/tests/robotests/src/com/android/tv/data/epg/EpgInputWhiteListTest.java
@@ -22,13 +22,13 @@ import com.android.tv.common.flags.impl.DefaultCloudEpgFlags;
import com.android.tv.common.flags.impl.DefaultLegacyFlags;
import com.android.tv.features.TvFeatures;
import com.android.tv.testing.constants.ConfigConstants;
-
-import org.robolectric.RobolectricTestRunner;
+import com.android.tv.common.flags.proto.TypedFeatures.StringListParam;
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;
/** Tests for {@link EpgInputWhiteList}. */
diff --git a/tests/robotests/src/com/android/tv/dvr/BaseDvrDataManagerTest.java b/tests/robotests/src/com/android/tv/dvr/BaseDvrDataManagerTest.java
index 3d924583..8c3baadb 100644
--- a/tests/robotests/src/com/android/tv/dvr/BaseDvrDataManagerTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/BaseDvrDataManagerTest.java
@@ -18,6 +18,7 @@ package com.android.tv.dvr;
import android.os.Build;
import android.support.annotation.NonNull;
+
import com.android.tv.common.feature.CommonFeatures;
import com.android.tv.common.feature.TestableFeature;
import com.android.tv.dvr.data.ScheduledRecording;
@@ -25,17 +26,20 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.dvr.RecordingTestUtils;
import com.android.tv.testing.fakes.FakeClock;
+
import com.google.common.truth.Truth;
-import org.robolectric.RobolectricTestRunner;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
+
import org.junit.After;
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;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
/** Tests for {@link BaseDvrDataManager} using {@link DvrDataManagerInMemoryImpl}. */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.N, application = TestSingletonApp.class)
diff --git a/tests/robotests/src/com/android/tv/dvr/DvrDataManagerImplTest.java b/tests/robotests/src/com/android/tv/dvr/DvrDataManagerImplTest.java
index 49673503..528e0233 100644
--- a/tests/robotests/src/com/android/tv/dvr/DvrDataManagerImplTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/DvrDataManagerImplTest.java
@@ -19,16 +19,19 @@ package com.android.tv.dvr;
import static com.google.common.truth.Truth.assertWithMessage;
import android.os.Build;
+
import com.android.tv.dvr.data.ScheduledRecording;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.RecordingTestUtils;
-import org.robolectric.RobolectricTestRunner;
-import java.util.ArrayList;
-import java.util.List;
+
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import java.util.ArrayList;
+import java.util.List;
+
/** Tests for {@link DvrDataManagerImpl} */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.N, application = TestSingletonApp.class)
diff --git a/tests/robotests/src/com/android/tv/dvr/DvrScheduleManagerTest.java b/tests/robotests/src/com/android/tv/dvr/DvrScheduleManagerTest.java
index 904cb51d..bd4113e4 100644
--- a/tests/robotests/src/com/android/tv/dvr/DvrScheduleManagerTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/DvrScheduleManagerTest.java
@@ -17,22 +17,26 @@
package com.android.tv.dvr;
import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.fail;
import android.os.Build;
import android.util.Range;
+
import com.android.tv.dvr.DvrScheduleManager.ConflictInfo;
import com.android.tv.dvr.data.ScheduledRecording;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.RecordingTestUtils;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
/** Tests for {@link DvrScheduleManager} */
@RunWith(RobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/tv/dvr/ScheduledRecordingTest.java b/tests/robotests/src/com/android/tv/dvr/ScheduledRecordingTest.java
index 122e8308..4c845c49 100644
--- a/tests/robotests/src/com/android/tv/dvr/ScheduledRecordingTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/ScheduledRecordingTest.java
@@ -33,10 +33,9 @@ import com.android.tv.dvr.data.ScheduledRecording;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.RecordingTestUtils;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.Arrays;
diff --git a/tests/robotests/src/com/android/tv/dvr/data/SeriesRecordingTest.java b/tests/robotests/src/com/android/tv/dvr/data/SeriesRecordingTest.java
index 8d33b45f..a0b79cef 100644
--- a/tests/robotests/src/com/android/tv/dvr/data/SeriesRecordingTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/data/SeriesRecordingTest.java
@@ -25,10 +25,9 @@ import com.android.tv.data.ProgramImpl;
import com.android.tv.data.api.Program;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link SeriesRecording}. */
diff --git a/tests/robotests/src/com/android/tv/dvr/provider/DvrDbSyncTest.java b/tests/robotests/src/com/android/tv/dvr/provider/DvrDbSyncTest.java
index 24793115..5f8db0ad 100644
--- a/tests/robotests/src/com/android/tv/dvr/provider/DvrDbSyncTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/provider/DvrDbSyncTest.java
@@ -34,13 +34,12 @@ import com.android.tv.dvr.recorder.SeriesRecordingScheduler;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.util.concurrent.RoboExecutorService;
import org.robolectric.annotation.Config;
diff --git a/tests/robotests/src/com/android/tv/dvr/provider/EpisodicProgramLoadTaskTest.java b/tests/robotests/src/com/android/tv/dvr/provider/EpisodicProgramLoadTaskTest.java
index 4c1f49e9..3597342d 100644
--- a/tests/robotests/src/com/android/tv/dvr/provider/EpisodicProgramLoadTaskTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/provider/EpisodicProgramLoadTaskTest.java
@@ -19,21 +19,21 @@ package com.android.tv.dvr.provider;
import static com.google.common.truth.Truth.assertThat;
import android.os.Build.VERSION_CODES;
+
import com.android.tv.dvr.data.SeasonEpisodeNumber;
import com.android.tv.testing.TestSingletonApp;
-import org.robolectric.RobolectricTestRunner;
-import java.util.ArrayList;
-import java.util.List;
+
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import java.util.ArrayList;
+import java.util.List;
+
/** Tests for {@link EpisodicProgramLoadTask} */
@RunWith(RobolectricTestRunner.class)
-@Config(
- sdk = VERSION_CODES.N,
- application = TestSingletonApp.class
-)
+@Config(sdk = VERSION_CODES.N, application = TestSingletonApp.class)
public class EpisodicProgramLoadTaskTest {
private static final long SERIES_RECORDING_ID1 = 1;
private static final long SERIES_RECORDING_ID2 = 2;
diff --git a/tests/robotests/src/com/android/tv/dvr/recorder/InputTaskSchedulerTest.java b/tests/robotests/src/com/android/tv/dvr/recorder/InputTaskSchedulerTest.java
index ebcff2f3..40069f62 100644
--- a/tests/robotests/src/com/android/tv/dvr/recorder/InputTaskSchedulerTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/recorder/InputTaskSchedulerTest.java
@@ -31,6 +31,7 @@ import android.media.tv.TvInputInfo;
import android.os.Build;
import android.os.Looper;
import android.os.SystemClock;
+
import com.android.tv.InputSessionManager;
import com.android.tv.common.util.Clock;
import com.android.tv.data.ChannelDataManager;
@@ -43,18 +44,20 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.RecordingTestUtils;
import com.android.tv.testing.fakes.FakeClock;
import com.android.tv.testing.utils.TestUtils;
-import org.robolectric.RobolectricTestRunner;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
/** Tests for {@link InputTaskScheduler}. */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.N, application = TestSingletonApp.class)
@@ -126,8 +129,9 @@ public class InputTaskSchedulerTest {
.changeState(
any(ScheduledRecording.class),
eq(ScheduledRecording.STATE_RECORDING_FAILED),
- eq(ScheduledRecording
- .FAILED_REASON_PROGRAM_ENDED_BEFORE_RECORDING_STARTED));
+ eq(
+ ScheduledRecording
+ .FAILED_REASON_PROGRAM_ENDED_BEFORE_RECORDING_STARTED));
}
@Test
diff --git a/tests/robotests/src/com/android/tv/dvr/recorder/RecordingTaskTest.java b/tests/robotests/src/com/android/tv/dvr/recorder/RecordingTaskTest.java
index 0c813ce8..55ee270c 100644
--- a/tests/robotests/src/com/android/tv/dvr/recorder/RecordingTaskTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/recorder/RecordingTaskTest.java
@@ -31,6 +31,7 @@ import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
+
import com.android.tv.InputSessionManager;
import com.android.tv.InputSessionManager.RecordingSession;
import com.android.tv.common.feature.CommonFeatures;
@@ -44,17 +45,19 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.dvr.RecordingTestUtils;
import com.android.tv.testing.fakes.FakeClock;
-import org.robolectric.RobolectricTestRunner;
-import java.util.concurrent.TimeUnit;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import java.util.concurrent.TimeUnit;
+
/** Tests for {@link RecordingTask}. */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.N, application = TestSingletonApp.class)
@@ -97,7 +100,7 @@ public class RecordingTaskTest {
when(mMockSessionManager.createRecordingSession(
eq(inputId), anyString(), eq(task), eq(mMockHandler), anyLong()))
.thenReturn(mMockRecordingSession);
- when(mMockHandler.sendMessageAtTime(any(), anyLong())).thenReturn(true);
+ when(mMockHandler.sendMessageAtTime(any(), anyLong())).thenReturn(true);
assertTrue(task.handleMessage(createMessage(RecordingTask.MSG_INITIALIZE)));
assertEquals(State.CONNECTION_PENDING, task.getState());
verify(mMockSessionManager)
diff --git a/tests/robotests/src/com/android/tv/dvr/recorder/ScheduledProgramReaperTest.java b/tests/robotests/src/com/android/tv/dvr/recorder/ScheduledProgramReaperTest.java
index da8fb3c5..945c031f 100644
--- a/tests/robotests/src/com/android/tv/dvr/recorder/ScheduledProgramReaperTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/recorder/ScheduledProgramReaperTest.java
@@ -17,9 +17,11 @@
package com.android.tv.dvr.recorder;
import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertTrue;
import android.os.Build;
+
import com.android.tv.common.feature.CommonFeatures;
import com.android.tv.common.feature.TestableFeature;
import com.android.tv.common.util.CommonUtils;
@@ -29,17 +31,19 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.dvr.RecordingTestUtils;
import com.android.tv.testing.fakes.FakeClock;
-import org.robolectric.RobolectricTestRunner;
-import java.util.concurrent.TimeUnit;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import java.util.concurrent.TimeUnit;
+
/** Tests for {@link ScheduledProgramReaper}. */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.N, application = TestSingletonApp.class)
diff --git a/tests/robotests/src/com/android/tv/dvr/recorder/SchedulerTest.java b/tests/robotests/src/com/android/tv/dvr/recorder/SchedulerTest.java
index 1ffd15f1..d2bd2ff1 100644
--- a/tests/robotests/src/com/android/tv/dvr/recorder/SchedulerTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/recorder/SchedulerTest.java
@@ -27,6 +27,7 @@ import android.app.AlarmManager;
import android.app.PendingIntent;
import android.os.Build;
import android.os.Looper;
+
import com.android.tv.InputSessionManager;
import com.android.tv.common.feature.CommonFeatures;
import com.android.tv.common.feature.TestableFeature;
@@ -38,8 +39,7 @@ import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.dvr.RecordingTestUtils;
import com.android.tv.testing.fakes.FakeClock;
import com.android.tv.util.TvInputManagerHelper;
-import org.robolectric.RobolectricTestRunner;
-import java.util.concurrent.TimeUnit;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -47,9 +47,12 @@ 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;
+import java.util.concurrent.TimeUnit;
+
/** Tests for {@link RecordingScheduler}. */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = Build.VERSION_CODES.N, application = TestSingletonApp.class)
diff --git a/tests/robotests/src/com/android/tv/dvr/recorder/SeriesRecordingSchedulerTest.java b/tests/robotests/src/com/android/tv/dvr/recorder/SeriesRecordingSchedulerTest.java
index b7ea5350..dc4f4db4 100644
--- a/tests/robotests/src/com/android/tv/dvr/recorder/SeriesRecordingSchedulerTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/recorder/SeriesRecordingSchedulerTest.java
@@ -30,12 +30,11 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.fakes.FakeClock;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.After;
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;
diff --git a/tests/robotests/src/com/android/tv/dvr/ui/SortedArrayAdapterTest.java b/tests/robotests/src/com/android/tv/dvr/ui/SortedArrayAdapterTest.java
index 01fab44c..aa90d413 100644
--- a/tests/robotests/src/com/android/tv/dvr/ui/SortedArrayAdapterTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/ui/SortedArrayAdapterTest.java
@@ -21,16 +21,19 @@ import static com.google.common.truth.Truth.assertWithMessage;
import androidx.leanback.widget.ClassPresenterSelector;
import androidx.leanback.widget.ObjectAdapter;
+
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Objects;
+
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.Arrays;
+import java.util.Comparator;
+import java.util.Objects;
+
/** Tests for {@link SortedArrayAdapter}. */
@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
diff --git a/tests/robotests/src/com/android/tv/dvr/ui/browse/DvrBrowseFragmentTest.java b/tests/robotests/src/com/android/tv/dvr/ui/browse/DvrBrowseFragmentTest.java
index 971179ee..25a4256f 100644
--- a/tests/robotests/src/com/android/tv/dvr/ui/browse/DvrBrowseFragmentTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/ui/browse/DvrBrowseFragmentTest.java
@@ -21,10 +21,9 @@ import com.android.tv.dvr.data.ScheduledRecording;
import com.android.tv.testing.ComparatorTester;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Test for {@link DvrBrowseFragment}. */
diff --git a/tests/robotests/src/com/android/tv/dvr/ui/list/DvrHistoryRowAdapterTest.java b/tests/robotests/src/com/android/tv/dvr/ui/list/DvrHistoryRowAdapterTest.java
index c277510e..5d247e37 100644
--- a/tests/robotests/src/com/android/tv/dvr/ui/list/DvrHistoryRowAdapterTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/ui/list/DvrHistoryRowAdapterTest.java
@@ -24,13 +24,12 @@ import com.android.tv.common.flags.impl.DefaultUiFlags;
import com.android.tv.common.util.Clock;
import com.android.tv.dvr.data.RecordedProgram;
import com.android.tv.dvr.data.ScheduledRecording;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.testing.dvr.DvrDataManagerInMemoryImpl;
import com.android.tv.testing.fakes.FakeClock;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -41,7 +40,7 @@ import java.util.ArrayList;
import java.util.List;
/** Test for {@link DvrHistoryRowAdapter}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK, application = TestSingletonApp.class)
public class DvrHistoryRowAdapterTest {
diff --git a/tests/robotests/src/com/android/tv/dvr/ui/playback/DvrPlayerTest.java b/tests/robotests/src/com/android/tv/dvr/ui/playback/DvrPlayerTest.java
index 0e5a86e1..ad0ddf35 100644
--- a/tests/robotests/src/com/android/tv/dvr/ui/playback/DvrPlayerTest.java
+++ b/tests/robotests/src/com/android/tv/dvr/ui/playback/DvrPlayerTest.java
@@ -25,11 +25,10 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.ui.AppLayerTvView;
-import org.robolectric.RobolectricTestRunner;
-
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;
import org.robolectric.shadow.api.Shadow;
diff --git a/tests/robotests/src/com/android/tv/guide/ProgramItemViewTest.java b/tests/robotests/src/com/android/tv/guide/ProgramItemViewTest.java
index cb2b5c1b..e7850c1b 100644
--- a/tests/robotests/src/com/android/tv/guide/ProgramItemViewTest.java
+++ b/tests/robotests/src/com/android/tv/guide/ProgramItemViewTest.java
@@ -34,8 +34,6 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.testing.robo.RobotTestAppHelper;
import com.android.tv.testing.testdata.TestData;
-import org.robolectric.RobolectricTestRunner;
-
import dagger.Component;
import dagger.Module;
import dagger.Provides;
@@ -51,6 +49,7 @@ 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;
diff --git a/tests/robotests/src/com/android/tv/guide/ProgramTableAdapterTest.java b/tests/robotests/src/com/android/tv/guide/ProgramTableAdapterTest.java
index 9f233440..52072748 100644
--- a/tests/robotests/src/com/android/tv/guide/ProgramTableAdapterTest.java
+++ b/tests/robotests/src/com/android/tv/guide/ProgramTableAdapterTest.java
@@ -30,14 +30,13 @@ import com.android.tv.data.api.Program;
import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
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;
diff --git a/tests/robotests/src/com/android/tv/search/LocalSearchProviderTest.java b/tests/robotests/src/com/android/tv/search/LocalSearchProviderTest.java
index 29f02351..76151264 100644
--- a/tests/robotests/src/com/android/tv/search/LocalSearchProviderTest.java
+++ b/tests/robotests/src/com/android/tv/search/LocalSearchProviderTest.java
@@ -40,8 +40,6 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.testing.robo.ContentProviders;
-import org.robolectric.RobolectricTestRunner;
-
import dagger.Component;
import dagger.Module;
import dagger.Provides;
@@ -55,6 +53,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@@ -119,7 +118,7 @@ public class LocalSearchProviderTest {
.setVideoHeight(960)
.build();
- private final String mAuthority = "com.google.android.tv.search";
+ private final String mAuthority = "com.android.tv.search";
private final String mKeyword = "mKeyword";
private final Uri mBaseSearchUri =
Uri.parse(
diff --git a/tests/robotests/src/com/android/tv/testing/TvRobolectricTestRunner.java b/tests/robotests/src/com/android/tv/testing/TvRobolectricTestRunner.java
index 38cbfe10..445fab26 100644
--- a/tests/robotests/src/com/android/tv/testing/TvRobolectricTestRunner.java
+++ b/tests/robotests/src/com/android/tv/testing/TvRobolectricTestRunner.java
@@ -17,6 +17,7 @@
package com.android.tv.testing;
import org.junit.runners.model.InitializationError;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.manifest.AndroidManifest;
import org.robolectric.res.Fs;
@@ -45,47 +46,39 @@ public class TvRobolectricTestRunner extends RobolectricTestRunner {
*/
@Override
protected AndroidManifest getAppManifest(Config config) {
- // Using the manifest file's relative path, we can figure out the application directory.
- final String appRoot = "vendor/unbundled_google/packages/TV";
- final String manifestPath = appRoot + "/AndroidManifest.xml";
- final String resDir = appRoot + "/tests/robotests/res";
- final String assetsDir = appRoot + config.assetDir();
+ final String packageName = "com.android.tv";
// By adding any resources from libraries we need the AndroidManifest, we can access
// them from within the parallel universe's resource loader.
- final AndroidManifest manifest =
- new AndroidManifest(
- Fs.fileFromPath(manifestPath),
- Fs.fileFromPath(resDir),
- Fs.fileFromPath(assetsDir)) {
- @Override
- public List<ResourcePath> getIncludedResourcePaths() {
- List<ResourcePath> paths = super.getIncludedResourcePaths();
- TvRobolectricTestRunner.getIncludedResourcePaths(getPackageName(), paths);
- return paths;
- }
- };
-
- // Set the package name to the renamed one
- manifest.setPackageName("com.android.tv");
- return manifest;
+ return new AndroidManifest(
+ Fs.fileFromPath(config.manifest()),
+ Fs.fileFromPath(config.resourceDir()),
+ Fs.fileFromPath(config.assetDir()),
+ packageName) {
+ @Override
+ public List<ResourcePath> getIncludedResourcePaths() {
+ List<ResourcePath> paths = super.getIncludedResourcePaths();
+ TvRobolectricTestRunner.getIncludedResourcePaths(paths);
+ return paths;
+ }
+ };
}
- public static void getIncludedResourcePaths(String packageName, List<ResourcePath> paths) {
+ public static void getIncludedResourcePaths(List<ResourcePath> paths) {
paths.add(
new ResourcePath(
- packageName,
- Fs.fileFromPath("./vendor/unbundled_google/packages/TV/res"),
+ null,
+ Fs.fileFromPath("./packages/apps/TV/res"),
null));
paths.add(
new ResourcePath(
- packageName,
- Fs.fileFromPath("./vendor/unbundled_google/packages/TV/common/res"),
+ null,
+ Fs.fileFromPath("./packages/apps/TV/common/res"),
null));
paths.add(
new ResourcePath(
- packageName,
- Fs.fileFromPath("./vendor/unbundled_google/packages/TV/tuner/res"),
+ null,
+ Fs.fileFromPath("./packages/apps/TV/material_res"),
null));
}
}
diff --git a/tests/robotests/src/com/android/tv/ui/ChannelBannerViewTest.java b/tests/robotests/src/com/android/tv/ui/ChannelBannerViewTest.java
index d87f90c3..80a50f6f 100644
--- a/tests/robotests/src/com/android/tv/ui/ChannelBannerViewTest.java
+++ b/tests/robotests/src/com/android/tv/ui/ChannelBannerViewTest.java
@@ -31,12 +31,11 @@ import com.android.tv.common.singletons.HasSingletons;
import com.android.tv.data.api.Channel;
import com.android.tv.data.api.Program;
import com.android.tv.dvr.DvrManager;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.ui.ChannelBannerView.MySingletons;
import com.android.tv.util.TvInputManagerHelper;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -46,7 +45,7 @@ import org.robolectric.annotation.Config;
import javax.inject.Provider;
/** Tests for {@link ChannelBannerView}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class ChannelBannerViewTest {
diff --git a/tests/robotests/src/com/android/tv/ui/hideable/AutoHideSchedulerTest.java b/tests/robotests/src/com/android/tv/ui/hideable/AutoHideSchedulerTest.java
index 9815307b..a0a21070 100644
--- a/tests/robotests/src/com/android/tv/ui/hideable/AutoHideSchedulerTest.java
+++ b/tests/robotests/src/com/android/tv/ui/hideable/AutoHideSchedulerTest.java
@@ -19,11 +19,10 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
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;
import org.robolectric.shadows.ShadowLooper;
diff --git a/tests/robotests/src/com/android/tv/util/MultiLongSparseArrayTest.java b/tests/robotests/src/com/android/tv/util/MultiLongSparseArrayTest.java
index 5a10d1f3..931ff0be 100644
--- a/tests/robotests/src/com/android/tv/util/MultiLongSparseArrayTest.java
+++ b/tests/robotests/src/com/android/tv/util/MultiLongSparseArrayTest.java
@@ -20,10 +20,9 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link MultiLongSparseArray}. */
diff --git a/tests/robotests/src/com/android/tv/util/TvInputManagerHelperRoboTest.java b/tests/robotests/src/com/android/tv/util/TvInputManagerHelperRoboTest.java
index 4620bea6..9586c1f5 100644
--- a/tests/robotests/src/com/android/tv/util/TvInputManagerHelperRoboTest.java
+++ b/tests/robotests/src/com/android/tv/util/TvInputManagerHelperRoboTest.java
@@ -24,10 +24,9 @@ import android.media.tv.TvInputManager;
import com.android.tv.common.flags.impl.DefaultLegacyFlags;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
diff --git a/tests/robotests/src/com/android/tv/util/TvProviderUtilsTest.java b/tests/robotests/src/com/android/tv/util/TvProviderUtilsTest.java
index 58b1e1d7..bd0e9966 100644
--- a/tests/robotests/src/com/android/tv/util/TvProviderUtilsTest.java
+++ b/tests/robotests/src/com/android/tv/util/TvProviderUtilsTest.java
@@ -25,12 +25,11 @@ import android.os.Bundle;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.testing.fakes.FakeTvProvider;
-import org.robolectric.RobolectricTestRunner;
-
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.annotation.Config;
import org.robolectric.shadows.ShadowContentResolver;
diff --git a/tests/robotests/src/com/android/tv/util/TvTrackInfoUtilsTest.java b/tests/robotests/src/com/android/tv/util/TvTrackInfoUtilsTest.java
index 8f75affc..c59cb16e 100644
--- a/tests/robotests/src/com/android/tv/util/TvTrackInfoUtilsTest.java
+++ b/tests/robotests/src/com/android/tv/util/TvTrackInfoUtilsTest.java
@@ -26,11 +26,9 @@ import android.os.Build.VERSION_CODES;
import android.os.LocaleList;
import com.android.tv.testing.ComparatorTester;
+import com.android.tv.testing.TvRobolectricTestRunner;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
@@ -40,9 +38,10 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import java.util.Locale;
/** Tests for {@link com.android.tv.util.TvTrackInfoUtils}. */
-@RunWith(RobolectricTestRunner.class)
+@RunWith(TvRobolectricTestRunner.class)
@Config(minSdk = ConfigConstants.MIN_SDK, maxSdk = ConfigConstants.MAX_SDK)
public class TvTrackInfoUtilsTest {
@@ -96,8 +95,9 @@ public class TvTrackInfoUtilsTest {
@Test
@Config(minSdk = ConfigConstants.MIN_SDK, maxSdk = VERSION_CODES.M)
- @Ignore("b/129982262")
public void testGetBestTrackInfo_channelCountOnlyMatchWithNullLanguage_23() {
+ Locale localPreference = Locale.forLanguageTag("es");
+ Locale.setDefault(localPreference);
TvTrackInfo result = getBestTrackInfo(allTracks, UN_MATCHED_ID, null, 8);
assertWithMessage("best track ").that(result).isEqualTo(info3Fr8);
}
@@ -120,8 +120,9 @@ public class TvTrackInfoUtilsTest {
@Test
@Config(minSdk = ConfigConstants.MIN_SDK, maxSdk = VERSION_CODES.M)
- @Ignore("b/129982262")
public void testGetBestTrackInfo_noMatchesWithNullLanguage_23() {
+ Locale localPreference = Locale.forLanguageTag("es");
+ Locale.setDefault(localPreference);
TvTrackInfo result = getBestTrackInfo(allTracks, UN_MATCHED_ID, null, 0);
assertWithMessage("best track ").that(result).isEqualTo(info3Fr8);
}
diff --git a/tests/robotests/src/com/android/tv/util/UtilsTest.java b/tests/robotests/src/com/android/tv/util/UtilsTest.java
index e249a1cd..eb27e8a0 100644
--- a/tests/robotests/src/com/android/tv/util/UtilsTest.java
+++ b/tests/robotests/src/com/android/tv/util/UtilsTest.java
@@ -23,12 +23,11 @@ import android.text.format.DateUtils;
import com.android.tv.testing.constants.ConfigConstants;
-import org.robolectric.RobolectricTestRunner;
-
import org.junit.After;
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;
diff --git a/tests/unit/Android.mk b/tests/unit/Android.mk
index 5ea7ccd8..80dbfeef 100644
--- a/tests/unit/Android.mk
+++ b/tests/unit/Android.mk
@@ -9,7 +9,7 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_STATIC_JAVA_LIBRARIES := \
androidx.test.runner \
- mockito-target \
+ mockito-robolectric-prebuilt \
tv-test-common \
LOCAL_JAVA_LIBRARIES := \
diff --git a/tuner/SampleDvbTuner/robotests/javatests/com/android/tv/tuner/sample/dvb/util/SampleDvbConstantsTest.java b/tuner/SampleDvbTuner/robotests/javatests/com/android/tv/tuner/sample/dvb/util/SampleDvbConstantsTest.java
index b378e2f4..52fcffd6 100644
--- a/tuner/SampleDvbTuner/robotests/javatests/com/android/tv/tuner/sample/dvb/util/SampleDvbConstantsTest.java
+++ b/tuner/SampleDvbTuner/robotests/javatests/com/android/tv/tuner/sample/dvb/util/SampleDvbConstantsTest.java
@@ -24,14 +24,13 @@ import androidx.test.core.app.ApplicationProvider;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.tuner.sample.dvb.tvinput.SampleDvbTunerTvInputService;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link SampleDvbConstants}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class SampleDvbConstantsTest {
diff --git a/tuner/SampleNetworkTuner/robotests/javatests/com/android/tv/tuner/sample/network/util/SampleNetworkConstantsTest.java b/tuner/SampleNetworkTuner/robotests/javatests/com/android/tv/tuner/sample/network/util/SampleNetworkConstantsTest.java
index 6910aa09..5c860ef0 100644
--- a/tuner/SampleNetworkTuner/robotests/javatests/com/android/tv/tuner/sample/network/util/SampleNetworkConstantsTest.java
+++ b/tuner/SampleNetworkTuner/robotests/javatests/com/android/tv/tuner/sample/network/util/SampleNetworkConstantsTest.java
@@ -24,14 +24,13 @@ import androidx.test.core.app.ApplicationProvider;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.tuner.sample.network.tvinput.SampleNetworkTunerTvInputService;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link SampleNetworkConstants}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class SampleNetworkConstantsTest {
diff --git a/tuner/tests/robotests/Android.mk b/tuner/tests/robotests/Android.mk
new file mode 100644
index 00000000..16af9e9c
--- /dev/null
+++ b/tuner/tests/robotests/Android.mk
@@ -0,0 +1,68 @@
+#############################################################
+# Tv Robolectric test target. #
+#############################################################
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := TvTunerRoboTests
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+LOCAL_SRC_FILES := $(call all-java-files-under, javatests)
+
+LOCAL_JAVA_LIBRARIES := \
+ Robolectric_all-target \
+ mockito-robolectric-prebuilt \
+ robolectric_android-all-stub \
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ tv-lib-dagger
+
+LOCAL_STATIC_ANDROID_LIBRARIES := \
+ androidx.test.core \
+ tv-lib-dagger-android \
+ tv-test-common \
+ tv-test-common-robo \
+ tv-tuner-testing \
+
+LOCAL_ANNOTATION_PROCESSORS := \
+ tv-lib-dagger-android-processor \
+ tv-lib-dagger-compiler \
+
+LOCAL_ANNOTATION_PROCESSOR_CLASSES := \
+ dagger.internal.codegen.ComponentProcessor,dagger.android.processor.AndroidProcessor
+
+LOCAL_INSTRUMENTATION_FOR := LiveTv
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+#############################################################
+# Tv runner target to run the previous target. #
+#############################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE := RunTvTunerRoboTests
+
+BASE_DIR = com/android/tv/tuner
+EXCLUDE_FILES := \
+ $(BASE_DIR)/dvb/DvbTunerHalTest.java \
+ $(BASE_DIR)/exoplayer/tests/SampleSourceExtractorTest.java \
+
+LOCAL_ROBOTEST_FILES := $(call find-files-in-subdirs,$(LOCAL_PATH)/javatests,*Test.java,.)
+LOCAL_ROBOTEST_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_ROBOTEST_FILES))
+
+LOCAL_JAVA_LIBRARIES := \
+ Robolectric_all-target \
+ TvTunerRoboTests \
+ mockito-robolectric-prebuilt \
+ robolectric_android-all-stub \
+ tv-lib-truth \
+ tv-test-common \
+ tv-test-common-robo \
+ tv-tuner-testing \
+
+LOCAL_TEST_PACKAGE := LiveTv
+
+LOCAL_ROBOTEST_TIMEOUT := 36000
+
+include external/robolectric-shadows/run_robotests.mk
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/data/SectionParserTest.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/data/SectionParserTest.java
index c75ebad6..e40abdc4 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/data/SectionParserTest.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/data/SectionParserTest.java
@@ -25,10 +25,9 @@ import com.android.tv.tuner.data.PsipData.RatingRegion;
import com.android.tv.tuner.data.PsipData.RegionalRating;
import com.android.tv.tuner.data.PsipData.TsDescriptor;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
@@ -39,7 +38,7 @@ import java.util.List;
import java.util.Map;
/** Tests for {@link com.android.tv.tuner.data.SectionParser}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class SectionParserTest {
private static final Map<String, String> US_RATING_MAP = new HashMap<>();
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/dvb/DvbTunerHalTest.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/dvb/DvbTunerHalTest.java
index 420754a7..13fb06a3 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/dvb/DvbTunerHalTest.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/dvb/DvbTunerHalTest.java
@@ -22,15 +22,14 @@ import com.android.tv.testing.TestSingletonApp;
import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.tuner.tvinput.TunerSessionWorker;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
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 TunerSessionWorker}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK, application = TestSingletonApp.class)
public class DvbTunerHalTest {
private int mSignal = 0;
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/exoplayer/tests/SampleSourceExtractorTest.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/exoplayer/tests/SampleSourceExtractorTest.java
index 7c674a96..5af30b93 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/exoplayer/tests/SampleSourceExtractorTest.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/exoplayer/tests/SampleSourceExtractorTest.java
@@ -37,12 +37,12 @@ import com.google.android.exoplayer.MediaFormat;
import com.google.android.exoplayer.SampleHolder;
import com.google.android.exoplayer.SampleSource;
import com.google.android.exoplayer2.upstream.DataSource;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
@@ -55,7 +55,7 @@ import java.util.List;
import java.util.SortedMap;
/** Tests for {@link ExoPlayerSampleExtractor} */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class SampleSourceExtractorTest {
// Maximum bandwidth of 1080p channel is about 2.2MB/s. 2MB for a sample will suffice.
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/testing/TvTunerRobolectricTestRunner.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/testing/TvTunerRobolectricTestRunner.java
new file mode 100644
index 00000000..31dc25d5
--- /dev/null
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/testing/TvTunerRobolectricTestRunner.java
@@ -0,0 +1,74 @@
+/*
+ * 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.tuner.testing;
+
+import org.junit.runners.model.InitializationError;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.manifest.AndroidManifest;
+import org.robolectric.res.Fs;
+import org.robolectric.res.ResourcePath;
+
+import java.util.List;
+
+/**
+ * Custom test runner TV tuner. This is needed because the default behavior for robolectric is just
+ * to grab the resource directory in the target package. We want to override this to add several
+ * spanning different projects.
+ *
+ * <p><b>Note</b> copied from
+ * http://cs/android/packages/apps/Settings/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
+ */
+public class TvTunerRobolectricTestRunner extends RobolectricTestRunner {
+
+ /** We don't actually want to change this behavior, so we just call super. */
+ public TvTunerRobolectricTestRunner(Class<?> testClass) throws InitializationError {
+ super(testClass);
+ }
+
+ /**
+ * We are going to create our own custom manifest so that we can add multiple resource paths to
+ * it.
+ */
+ @Override
+ protected AndroidManifest getAppManifest(Config config) {
+ final String packageName = "com.android.tv.tuner";
+
+ // By adding any resources from libraries we need the AndroidManifest, we can access
+ // them from within the parallel universe's resource loader.
+ return new AndroidManifest(
+ Fs.fileFromPath(config.manifest()),
+ Fs.fileFromPath(config.resourceDir()),
+ Fs.fileFromPath(config.assetDir()),
+ packageName) {
+ @Override
+ public List<ResourcePath> getIncludedResourcePaths() {
+ List<ResourcePath> paths = super.getIncludedResourcePaths();
+ TvTunerRobolectricTestRunner.getIncludedResourcePaths(paths);
+ return paths;
+ }
+ };
+ }
+
+ public static void getIncludedResourcePaths(List<ResourcePath> paths) {
+ paths.add(
+ new ResourcePath(
+ null,
+ Fs.fileFromPath("./packages/apps/TV/tuner/res"),
+ null));
+ }
+}
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2Test.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2Test.java
index f80d54cd..24adbaa9 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2Test.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerExoV2Test.java
@@ -37,10 +37,10 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.tuner.exoplayer.MpegTsPlayer;
import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.source.TunerTsStreamerManager;
+import com.android.tv.tuner.testing.TvTunerRobolectricTestRunner;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.google.android.exoplayer.audio.AudioCapabilities;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
import org.junit.Before;
import org.junit.Ignore;
@@ -57,8 +57,8 @@ import java.lang.reflect.Field;
import javax.inject.Provider;
-/** Tests for {@link TunerSessionWorker}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+/** Tests for {@link TunerSessionWorkerExoV2}. */
+@RunWith(TvTunerRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK, application = TestSingletonApp.class)
public class TunerSessionWorkerExoV2Test {
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerTest.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerTest.java
index 80ad8df9..536af60c 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerTest.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/TunerSessionWorkerTest.java
@@ -37,10 +37,10 @@ import com.android.tv.testing.constants.ConfigConstants;
import com.android.tv.tuner.exoplayer.MpegTsPlayer;
import com.android.tv.tuner.source.TsDataSourceManager;
import com.android.tv.tuner.source.TunerTsStreamerManager;
+import com.android.tv.tuner.testing.TvTunerRobolectricTestRunner;
import com.android.tv.tuner.tvinput.datamanager.ChannelDataManager;
import com.google.android.exoplayer.audio.AudioCapabilities;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
import org.junit.Before;
import org.junit.Ignore;
@@ -58,7 +58,7 @@ import java.lang.reflect.Field;
import javax.inject.Provider;
/** Tests for {@link TunerSessionWorker}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(TvTunerRobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK, application = TestSingletonApp.class)
public class TunerSessionWorkerTest {
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/datamanager/ChannelDataManagerTest.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/datamanager/ChannelDataManagerTest.java
index b1078b7a..0da76ef8 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/datamanager/ChannelDataManagerTest.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/tvinput/datamanager/ChannelDataManagerTest.java
@@ -28,20 +28,19 @@ import com.android.tv.testing.fakes.FakeTvProvider;
import com.android.tv.tuner.data.Channel;
import com.android.tv.tuner.data.TunerChannel;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
import org.junit.After;
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.annotation.Config;
import org.robolectric.shadows.ShadowContentResolver;
import org.robolectric.shadows.ShadowContextWrapper;
/** Tests for {@link com.android.tv.tuner.tvinput.datamanager.ChannelDataManager}. */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK, application = TestSingletonApp.class)
public class ChannelDataManagerTest {
diff --git a/tuner/tests/robotests/javatests/com/android/tv/tuner/util/PostalCodeUtilsTest.java b/tuner/tests/robotests/javatests/com/android/tv/tuner/util/PostalCodeUtilsTest.java
index 121ce825..5a49904e 100644
--- a/tuner/tests/robotests/javatests/com/android/tv/tuner/util/PostalCodeUtilsTest.java
+++ b/tuner/tests/robotests/javatests/com/android/tv/tuner/util/PostalCodeUtilsTest.java
@@ -21,16 +21,15 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.tv.common.util.PostalCodeUtils;
import com.android.tv.testing.constants.ConfigConstants;
-import com.google.thirdparty.robolectric.GoogleRobolectricTestRunner;
-
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.Locale;
/** Tests for {@link PostalCodeUtils} */
-@RunWith(GoogleRobolectricTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
@Config(sdk = ConfigConstants.SDK)
public class PostalCodeUtilsTest {
diff --git a/tuner/tests/testing/Android.mk b/tuner/tests/testing/Android.mk
index 79e35e5a..864f5f3e 100644
--- a/tuner/tests/testing/Android.mk
+++ b/tuner/tests/testing/Android.mk
@@ -10,7 +10,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-annotations \
androidx.test.runner \
tv-guava-android-jar \
- mockito-target \
+ mockito-robolectric-prebuilt \
tv-lib-truth \
ub-uiautomator \