Bump targetSdkVersion to 30

- Remove Robolectric workarounds that are no longer needed
- Add workarounds for b/190021699

PiperOrigin-RevId: 377279422
This commit is contained in:
olly 2021-06-03 14:58:40 +01:00 committed by bachinger
parent 61397f2abe
commit bb2e0bc0ef
25 changed files with 18 additions and 79 deletions

View File

@ -17,7 +17,7 @@ project.ext {
releaseVersionCode = 2014000 releaseVersionCode = 2014000
minSdkVersion = 16 minSdkVersion = 16
appTargetSdkVersion = 29 appTargetSdkVersion = 29
targetSdkVersion = 28 // TODO: Bump once b/143232359 is resolved. Also fix TODOs in UtilTest. targetSdkVersion = 30
compileSdkVersion = 30 compileSdkVersion = 30
dexmakerVersion = '2.21.0' dexmakerVersion = '2.21.0'
junitVersion = '4.13.2' junitVersion = '4.13.2'

View File

@ -25,11 +25,9 @@ import com.google.android.exoplayer2.video.ColorInfo;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
/** Unit tests for {@link MediaFormatUtil}. */ /** Unit tests for {@link MediaFormatUtil}. */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@Config(sdk = 29) // Allows using MediaFormat.getKeys() to make assertions over the expected keys.
public class MediaFormatUtilTest { public class MediaFormatUtilTest {
@Test @Test

View File

@ -984,9 +984,8 @@ public class UtilTest {
assertThat(Arrays.copyOf(output.getData(), output.limit())).isEqualTo(testData); assertThat(Arrays.copyOf(output.getData(), output.limit())).isEqualTo(testData);
} }
// TODO: Revert to @Config(sdk = Config.ALL_SDKS) once b/143232359 is resolved
@Test @Test
@Config(minSdk = Config.OLDEST_SDK, maxSdk = Config.TARGET_SDK) @Config(sdk = Config.ALL_SDKS)
public void normalizeLanguageCode_keepsUndefinedTagsUnchanged() { public void normalizeLanguageCode_keepsUndefinedTagsUnchanged() {
assertThat(Util.normalizeLanguageCode(null)).isNull(); assertThat(Util.normalizeLanguageCode(null)).isNull();
assertThat(Util.normalizeLanguageCode("")).isEmpty(); assertThat(Util.normalizeLanguageCode("")).isEmpty();
@ -994,9 +993,8 @@ public class UtilTest {
assertThat(Util.normalizeLanguageCode("DoesNotExist")).isEqualTo("doesnotexist"); assertThat(Util.normalizeLanguageCode("DoesNotExist")).isEqualTo("doesnotexist");
} }
// TODO: Revert to @Config(sdk = Config.ALL_SDKS) once b/143232359 is resolved
@Test @Test
@Config(minSdk = Config.OLDEST_SDK, maxSdk = Config.TARGET_SDK) @Config(sdk = Config.ALL_SDKS)
public void normalizeLanguageCode_normalizesCodeToTwoLetterISOAndLowerCase_keepingAllSubtags() { public void normalizeLanguageCode_normalizesCodeToTwoLetterISOAndLowerCase_keepingAllSubtags() {
assertThat(Util.normalizeLanguageCode("es")).isEqualTo("es"); assertThat(Util.normalizeLanguageCode("es")).isEqualTo("es");
assertThat(Util.normalizeLanguageCode("spa")).isEqualTo("es"); assertThat(Util.normalizeLanguageCode("spa")).isEqualTo("es");
@ -1014,9 +1012,8 @@ public class UtilTest {
assertThat(Util.normalizeLanguageCode("sv-illegalSubtag")).isEqualTo("sv-illegalsubtag"); assertThat(Util.normalizeLanguageCode("sv-illegalSubtag")).isEqualTo("sv-illegalsubtag");
} }
// TODO: Revert to @Config(sdk = Config.ALL_SDKS) once b/143232359 is resolved
@Test @Test
@Config(minSdk = Config.OLDEST_SDK, maxSdk = Config.TARGET_SDK) @Config(sdk = Config.ALL_SDKS)
public void normalizeLanguageCode_iso6392BibliographicalAndTextualCodes_areNormalizedToSameTag() { public void normalizeLanguageCode_iso6392BibliographicalAndTextualCodes_areNormalizedToSameTag() {
// See https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes. // See https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes.
assertThat(Util.normalizeLanguageCode("alb")).isEqualTo(Util.normalizeLanguageCode("sqi")); assertThat(Util.normalizeLanguageCode("alb")).isEqualTo(Util.normalizeLanguageCode("sqi"));
@ -1042,9 +1039,8 @@ public class UtilTest {
assertThat(Util.normalizeLanguageCode("wel")).isEqualTo(Util.normalizeLanguageCode("cym")); assertThat(Util.normalizeLanguageCode("wel")).isEqualTo(Util.normalizeLanguageCode("cym"));
} }
// TODO: Revert to @Config(sdk = Config.ALL_SDKS) once b/143232359 is resolved
@Test @Test
@Config(minSdk = Config.OLDEST_SDK, maxSdk = Config.TARGET_SDK) @Config(sdk = Config.ALL_SDKS)
public void public void
normalizeLanguageCode_deprecatedLanguageTagsAndModernReplacement_areNormalizedToSameTag() { normalizeLanguageCode_deprecatedLanguageTagsAndModernReplacement_areNormalizedToSameTag() {
// See https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes, "ISO 639:1988" // See https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes, "ISO 639:1988"
@ -1081,9 +1077,8 @@ public class UtilTest {
.isEqualTo(Util.normalizeLanguageCode("zh-hsn")); .isEqualTo(Util.normalizeLanguageCode("zh-hsn"));
} }
// TODO: Revert to @Config(sdk = Config.ALL_SDKS) once b/143232359 is resolved
@Test @Test
@Config(minSdk = Config.OLDEST_SDK, maxSdk = Config.TARGET_SDK) @Config(sdk = Config.ALL_SDKS)
public void normalizeLanguageCode_macrolanguageTags_areFullyMaintained() { public void normalizeLanguageCode_macrolanguageTags_areFullyMaintained() {
// See https://en.wikipedia.org/wiki/ISO_639_macrolanguage // See https://en.wikipedia.org/wiki/ISO_639_macrolanguage
assertThat(Util.normalizeLanguageCode("zh-cmn")).isEqualTo("zh-cmn"); assertThat(Util.normalizeLanguageCode("zh-cmn")).isEqualTo("zh-cmn");

View File

@ -21,7 +21,6 @@ import static com.google.android.exoplayer2.AudioFocusManager.PLAYER_COMMAND_WAI
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import static org.robolectric.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
import static org.robolectric.annotation.Config.TARGET_SDK;
import android.content.Context; import android.content.Context;
import android.media.AudioFocusRequest; import android.media.AudioFocusRequest;
@ -100,7 +99,7 @@ public class AudioFocusManagerTest {
} }
@Test @Test
@Config(minSdk = 26, maxSdk = TARGET_SDK) @Config(minSdk = 26)
public void setAudioAttributes_withNullUsage_abandonsAudioFocus_v26() { public void setAudioAttributes_withNullUsage_abandonsAudioFocus_v26() {
Shadows.shadowOf(audioManager) Shadows.shadowOf(audioManager)
.setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED); .setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
@ -286,7 +285,7 @@ public class AudioFocusManagerTest {
} }
@Test @Test
@Config(minSdk = 26, maxSdk = TARGET_SDK) @Config(minSdk = 26)
public void updateAudioFocus_readyToIdle_abandonsAudioFocus_v26() { public void updateAudioFocus_readyToIdle_abandonsAudioFocus_v26() {
Shadows.shadowOf(audioManager) Shadows.shadowOf(audioManager)
.setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED); .setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
@ -324,7 +323,7 @@ public class AudioFocusManagerTest {
} }
@Test @Test
@Config(minSdk = 26, maxSdk = TARGET_SDK) @Config(minSdk = 26)
public void updateAudioFocus_readyToIdle_withoutFocus_isNoOp_v26() { public void updateAudioFocus_readyToIdle_withoutFocus_isNoOp_v26() {
Shadows.shadowOf(audioManager) Shadows.shadowOf(audioManager)
.setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED); .setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
@ -455,7 +454,7 @@ public class AudioFocusManagerTest {
} }
@Test @Test
@Config(minSdk = 26, maxSdk = TARGET_SDK) @Config(minSdk = 26)
public void onAudioFocusChange_withFocusLoss_sendsDoNotPlayAndAbandonsFocus_v26() { public void onAudioFocusChange_withFocusLoss_sendsDoNotPlayAndAbandonsFocus_v26() {
Shadows.shadowOf(audioManager) Shadows.shadowOf(audioManager)
.setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED); .setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_GRANTED);

View File

@ -46,9 +46,8 @@ import org.robolectric.shadows.ShadowLooper;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class SimpleExoPlayerTest { public class SimpleExoPlayerTest {
// TODO(b/143232359): Revert to @Config(sdk = Config.ALL_SDKS) once b/143232359 is resolved
@Test @Test
@Config(minSdk = Config.OLDEST_SDK, maxSdk = Config.TARGET_SDK) @Config(sdk = Config.ALL_SDKS)
public void builder_inBackgroundThread_doesNotThrow() throws Exception { public void builder_inBackgroundThread_doesNotThrow() throws Exception {
Thread builderThread = Thread builderThread =
new Thread( new Thread(

View File

@ -19,8 +19,6 @@ import static com.google.android.exoplayer2.audio.AudioSink.CURRENT_POSITION_NOT
import static com.google.android.exoplayer2.audio.AudioSink.SINK_FORMAT_SUPPORTED_DIRECTLY; import static com.google.android.exoplayer2.audio.AudioSink.SINK_FORMAT_SUPPORTED_DIRECTLY;
import static com.google.android.exoplayer2.audio.AudioSink.SINK_FORMAT_SUPPORTED_WITH_TRANSCODING; import static com.google.android.exoplayer2.audio.AudioSink.SINK_FORMAT_SUPPORTED_WITH_TRANSCODING;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.annotation.Config.OLDEST_SDK;
import static org.robolectric.annotation.Config.TARGET_SDK;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
@ -219,7 +217,7 @@ public final class DefaultAudioSinkTest {
.isEqualTo(SINK_FORMAT_SUPPORTED_WITH_TRANSCODING); .isEqualTo(SINK_FORMAT_SUPPORTED_WITH_TRANSCODING);
} }
@Config(minSdk = OLDEST_SDK, maxSdk = 20) @Config(maxSdk = 20)
@Test @Test
public void floatPcmNeedsTranscodingIfFloatOutputEnabledBeforeApi21() { public void floatPcmNeedsTranscodingIfFloatOutputEnabledBeforeApi21() {
defaultAudioSink = defaultAudioSink =
@ -237,7 +235,7 @@ public final class DefaultAudioSinkTest {
.isEqualTo(SINK_FORMAT_SUPPORTED_WITH_TRANSCODING); .isEqualTo(SINK_FORMAT_SUPPORTED_WITH_TRANSCODING);
} }
@Config(minSdk = 21, maxSdk = TARGET_SDK) @Config(minSdk = 21)
@Test @Test
public void floatOutputSupportedIfFloatOutputEnabledFromApi21() { public void floatOutputSupportedIfFloatOutputEnabledFromApi21() {
defaultAudioSink = defaultAudioSink =

View File

@ -55,10 +55,8 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule; import org.mockito.junit.MockitoRule;
import org.robolectric.annotation.Config;
/** Unit tests for {@link MediaCodecAudioRenderer} */ /** Unit tests for {@link MediaCodecAudioRenderer} */
@Config(sdk = 29)
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class MediaCodecAudioRendererTest { public class MediaCodecAudioRendererTest {
@Rule public final MockitoRule mockito = MockitoJUnit.rule(); @Rule public final MockitoRule mockito = MockitoJUnit.rule();

View File

@ -39,7 +39,6 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.MediaCodecInfoBuilder; import org.robolectric.shadows.MediaCodecInfoBuilder;
import org.robolectric.shadows.ShadowAudioTrack; import org.robolectric.shadows.ShadowAudioTrack;
import org.robolectric.shadows.ShadowMediaCodec; import org.robolectric.shadows.ShadowMediaCodec;
@ -47,7 +46,6 @@ import org.robolectric.shadows.ShadowMediaCodecList;
/** End to end playback test for gapless audio playbacks. */ /** End to end playback test for gapless audio playbacks. */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@Config(sdk = 29)
public class EndToEndGaplessTest { public class EndToEndGaplessTest {
private static final int CODEC_INPUT_BUFFER_SIZE = 5120; private static final int CODEC_INPUT_BUFFER_SIZE = 5120;
private static final int CODEC_OUTPUT_BUFFER_SIZE = 5120; private static final int CODEC_OUTPUT_BUFFER_SIZE = 5120;

View File

@ -33,11 +33,8 @@ import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameter; import org.robolectric.ParameterizedRobolectricTestRunner.Parameter;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using FLAC samples. */ /** End-to-end tests using FLAC samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public class FlacPlaybackTest { public class FlacPlaybackTest {

View File

@ -34,11 +34,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using FLV samples. */ /** End-to-end tests using FLV samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class FlvPlaybackTest { public final class FlvPlaybackTest {
@Parameters(name = "{0}") @Parameters(name = "{0}")

View File

@ -32,11 +32,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using MKA samples. */ /** End-to-end tests using MKA samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class MkaPlaybackTest { public final class MkaPlaybackTest {
@Parameters(name = "{0}") @Parameters(name = "{0}")

View File

@ -34,11 +34,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using MKV samples. */ /** End-to-end tests using MKV samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class MkvPlaybackTest { public final class MkvPlaybackTest {
@Parameters(name = "{0}") @Parameters(name = "{0}")

View File

@ -32,11 +32,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using MP3 samples. */ /** End-to-end tests using MP3 samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class Mp3PlaybackTest { public final class Mp3PlaybackTest {
@Parameters(name = "{0}") @Parameters(name = "{0}")

View File

@ -35,11 +35,8 @@ import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameter; import org.robolectric.ParameterizedRobolectricTestRunner.Parameter;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using MP4 samples. */ /** End-to-end tests using MP4 samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public class Mp4PlaybackTest { public class Mp4PlaybackTest {

View File

@ -31,11 +31,8 @@ import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.annotation.Config;
/** End-to-end tests using OGG samples. */ /** End-to-end tests using OGG samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class OggPlaybackTest { public final class OggPlaybackTest {
@ParameterizedRobolectricTestRunner.Parameters(name = "{0}") @ParameterizedRobolectricTestRunner.Parameters(name = "{0}")

View File

@ -30,11 +30,8 @@ import com.google.android.exoplayer2.testutil.FakeClock;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
/** End-to-end tests for playlists. */ /** End-to-end tests for playlists. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public final class PlaylistPlaybackTest { public final class PlaylistPlaybackTest {

View File

@ -30,11 +30,8 @@ import com.google.android.exoplayer2.testutil.FakeClock;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
/** End-to-end tests using {@link SilenceMediaSource}. */ /** End-to-end tests using {@link SilenceMediaSource}. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public final class SilencePlaybackTest { public final class SilencePlaybackTest {

View File

@ -35,11 +35,8 @@ import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameter; import org.robolectric.ParameterizedRobolectricTestRunner.Parameter;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using TS samples. */ /** End-to-end tests using TS samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public class TsPlaybackTest { public class TsPlaybackTest {

View File

@ -34,11 +34,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.ParameterizedRobolectricTestRunner.Parameters; import org.robolectric.ParameterizedRobolectricTestRunner.Parameters;
import org.robolectric.annotation.Config;
/** End-to-end tests using VP9 samples. */ /** End-to-end tests using VP9 samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class Vp9PlaybackTest { public final class Vp9PlaybackTest {
@Parameters(name = "{0}") @Parameters(name = "{0}")

View File

@ -31,11 +31,8 @@ import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.ParameterizedRobolectricTestRunner; import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.annotation.Config;
/** End-to-end tests using WAV samples. */ /** End-to-end tests using WAV samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(ParameterizedRobolectricTestRunner.class) @RunWith(ParameterizedRobolectricTestRunner.class)
public final class WavPlaybackTest { public final class WavPlaybackTest {
@ParameterizedRobolectricTestRunner.Parameters(name = "{0}") @ParameterizedRobolectricTestRunner.Parameters(name = "{0}")

View File

@ -33,7 +33,6 @@ import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
/** Unit test for {@link ProgressiveMediaPeriod}. */ /** Unit test for {@link ProgressiveMediaPeriod}. */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@ -47,7 +46,6 @@ public final class ProgressiveMediaPeriodTest {
} }
@Test @Test
@Config(sdk = 30)
public void prepareUsingMediaParser_updatesSourceInfoBeforeOnPreparedCallback() public void prepareUsingMediaParser_updatesSourceInfoBeforeOnPreparedCallback()
throws TimeoutException { throws TimeoutException {
testExtractorsUpdatesSourceInfoBeforeOnPreparedCallback(new MediaParserExtractorAdapter()); testExtractorsUpdatesSourceInfoBeforeOnPreparedCallback(new MediaParserExtractorAdapter());

View File

@ -52,11 +52,8 @@ import java.util.concurrent.atomic.AtomicReference;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
/** Unit test for {@link ServerSideInsertedAdsMediaSource}. */ /** Unit test for {@link ServerSideInsertedAdsMediaSource}. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public final class ServerSideInsertedAdMediaSourceTest { public final class ServerSideInsertedAdMediaSourceTest {

View File

@ -183,6 +183,7 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimateEthernet).isGreaterThan(initialEstimate3g); assertThat(initialEstimateEthernet).isGreaterThan(initialEstimate3g);
} }
@Config(sdk = 28) // TODO(b/190021699): Fix 4G tests to work on newer API levels
@Test @Test
public void defaultInitialBitrateEstimate_for4G_isGreaterThanEstimateFor2G() { public void defaultInitialBitrateEstimate_for4G_isGreaterThanEstimateFor2G() {
setActiveNetworkInfo(networkInfo4g); setActiveNetworkInfo(networkInfo4g);
@ -198,6 +199,7 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimate4g).isGreaterThan(initialEstimate2g); assertThat(initialEstimate4g).isGreaterThan(initialEstimate2g);
} }
@Config(sdk = 28) // TODO(b/190021699): Fix 4G tests to work on newer API levels
@Test @Test
public void defaultInitialBitrateEstimate_for4G_isGreaterThanEstimateFor3G() { public void defaultInitialBitrateEstimate_for4G_isGreaterThanEstimateFor3G() {
setActiveNetworkInfo(networkInfo4g); setActiveNetworkInfo(networkInfo4g);
@ -228,7 +230,6 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimate3g).isGreaterThan(initialEstimate2g); assertThat(initialEstimate3g).isGreaterThan(initialEstimate2g);
} }
@Config(sdk = Config.NEWEST_SDK) // TODO: Remove once targetSDK >= 29
@Test @Test
public void defaultInitialBitrateEstimate_for5gSa_isGreaterThanEstimateFor4g() { public void defaultInitialBitrateEstimate_for5gSa_isGreaterThanEstimateFor4g() {
setActiveNetworkInfo(networkInfo4g); setActiveNetworkInfo(networkInfo4g);
@ -323,6 +324,7 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimateFast).isGreaterThan(initialEstimateSlow); assertThat(initialEstimateFast).isGreaterThan(initialEstimateSlow);
} }
@Config(sdk = 28) // TODO(b/190021699): Fix 4G tests to work on newer API levels
@Test @Test
public void public void
defaultInitialBitrateEstimate_for4g_forFastCountry_isGreaterThanEstimateForSlowCountry() { defaultInitialBitrateEstimate_for4g_forFastCountry_isGreaterThanEstimateForSlowCountry() {
@ -340,7 +342,6 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimateFast).isGreaterThan(initialEstimateSlow); assertThat(initialEstimateFast).isGreaterThan(initialEstimateSlow);
} }
@Config(sdk = Config.NEWEST_SDK) // TODO: Remove once targetSDK >= 29
@Test @Test
public void public void
defaultInitialBitrateEstimate_for5gSa_forFastCountry_isGreaterThanEstimateForSlowCountry() { defaultInitialBitrateEstimate_for5gSa_forFastCountry_isGreaterThanEstimateForSlowCountry() {
@ -483,6 +484,7 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimate).isNotEqualTo(123456789); assertThat(initialEstimate).isNotEqualTo(123456789);
} }
@Config(sdk = 28) // TODO(b/190021699): Fix 4G tests to work on newer API levels
@Test @Test
public void initialBitrateEstimateOverwrite_for4G_whileConnectedTo4G_setsInitialEstimate() { public void initialBitrateEstimateOverwrite_for4G_whileConnectedTo4G_setsInitialEstimate() {
setActiveNetworkInfo(networkInfo4g); setActiveNetworkInfo(networkInfo4g);
@ -495,6 +497,7 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimate).isEqualTo(123456789); assertThat(initialEstimate).isEqualTo(123456789);
} }
@Config(sdk = 28) // TODO(b/190021699): Fix 4G tests to work on newer API levels
@Test @Test
public void public void
initialBitrateEstimateOverwrite_for4G_whileConnectedToOtherNetwork_doesNotSetInitialEstimate() { initialBitrateEstimateOverwrite_for4G_whileConnectedToOtherNetwork_doesNotSetInitialEstimate() {
@ -508,7 +511,6 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimate).isNotEqualTo(123456789); assertThat(initialEstimate).isNotEqualTo(123456789);
} }
@Config(sdk = Config.NEWEST_SDK) // TODO: Remove once targetSDK >= 29
@Test @Test
public void initialBitrateEstimateOverwrite_for5gSa_whileConnectedTo5gSa_setsInitialEstimate() { public void initialBitrateEstimateOverwrite_for5gSa_whileConnectedTo5gSa_setsInitialEstimate() {
setActiveNetworkInfo(networkInfo5gSa); setActiveNetworkInfo(networkInfo5gSa);
@ -521,7 +523,6 @@ public final class DefaultBandwidthMeterTest {
assertThat(initialEstimate).isEqualTo(123456789); assertThat(initialEstimate).isEqualTo(123456789);
} }
@Config(sdk = Config.NEWEST_SDK) // TODO: Remove once targetSDK >= 29
@Test @Test
public void public void
initialBitrateEstimateOverwrite_for5gSa_whileConnectedToOtherNetwork_doesNotSetInitialEstimate() { initialBitrateEstimateOverwrite_for5gSa_whileConnectedToOtherNetwork_doesNotSetInitialEstimate() {

View File

@ -35,12 +35,9 @@ import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.internal.DoNotInstrument; import org.robolectric.annotation.internal.DoNotInstrument;
/** End-to-end tests using DASH samples. */ /** End-to-end tests using DASH samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config(sdk = 29)
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@DoNotInstrument @DoNotInstrument
public final class DashPlaybackTest { public final class DashPlaybackTest {

View File

@ -18,7 +18,6 @@ package com.google.android.exoplayer2.source.dash;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import static org.robolectric.annotation.LooperMode.Mode.PAUSED;
import android.net.Uri; import android.net.Uri;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
@ -44,13 +43,11 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.LooperMode;
import org.robolectric.annotation.internal.DoNotInstrument; import org.robolectric.annotation.internal.DoNotInstrument;
import org.robolectric.shadows.ShadowLooper; import org.robolectric.shadows.ShadowLooper;
/** Unit test for {@link DashMediaSource}. */ /** Unit test for {@link DashMediaSource}. */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@LooperMode(PAUSED)
@DoNotInstrument @DoNotInstrument
public final class DashMediaSourceTest { public final class DashMediaSourceTest {