From 76db936d682d21334581aef6c557394b434e40d8 Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 17 Jul 2024 03:47:29 -0700 Subject: [PATCH] Enable lint errors in session tests Also resolve some failures. Lint checks [aren't enabled in tests by default](http://groups.google.com/g/lint-dev/c/rtjVpqHmY0Y). This change suppresses `NewApi` failures in Robolectric tests because these tests only run at 'target SDK' by default (currently 30), but the lint doesn't understand this and so flags spurious issues with API usages below this. PiperOrigin-RevId: 653172059 --- libraries/session/build.gradle | 5 +++++ .../media3/session/CommandButtonTest.java | 8 +++---- .../media3/session/LegacyConversionsTest.java | 15 ++++++------- .../media3/session/SessionErrorTest.java | 1 + libraries/session/src/test/lint.xml | 21 +++++++++++++++++++ 5 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 libraries/session/src/test/lint.xml diff --git a/libraries/session/build.gradle b/libraries/session/build.gradle index 8642e06022..d174081fe8 100644 --- a/libraries/session/build.gradle +++ b/libraries/session/build.gradle @@ -33,6 +33,11 @@ android { buildFeatures { aidl true } + lintOptions { + // TODO: b/353490583 - Move this to common_library_config.gradle once it's enabled for all + // libraries. + checkTestSources true + } } dependencies { api project(modulePrefix + 'lib-common') diff --git a/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java b/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java index 6f4b600f1d..a973112dfe 100644 --- a/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/CommandButtonTest.java @@ -225,7 +225,7 @@ public class CommandButtonTest { assertThat(button) .isNotEqualTo( new CommandButton.Builder(CommandButton.ICON_UNDEFINED) - .setSessionCommand(new SessionCommand(Player.COMMAND_PLAY_PAUSE)) + .setSessionCommand(new SessionCommand(SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM)) .setDisplayName("button") .setIconResId(R.drawable.media3_notification_small_icon) .build()); @@ -268,17 +268,17 @@ public class CommandButtonTest { public void equals_differencesInSessionCommand_notEqual() { assertThat( new CommandButton.Builder(CommandButton.ICON_PLAY) - .setSessionCommand(new SessionCommand(Player.COMMAND_PLAY_PAUSE)) + .setSessionCommand(new SessionCommand(SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM)) .setDisplayName("button") .build()) .isNotEqualTo( new CommandButton.Builder(CommandButton.ICON_PLAY) - .setSessionCommand(new SessionCommand(Player.COMMAND_SEEK_BACK)) + .setSessionCommand(new SessionCommand(SessionCommand.COMMAND_CODE_LIBRARY_SEARCH)) .setDisplayName("button") .build()); assertThat( new CommandButton.Builder(CommandButton.ICON_PLAY) - .setSessionCommand(new SessionCommand(Player.COMMAND_PLAY_PAUSE)) + .setSessionCommand(new SessionCommand(SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM)) .setDisplayName("button") .build()) .isNotEqualTo( diff --git a/libraries/session/src/test/java/androidx/media3/session/LegacyConversionsTest.java b/libraries/session/src/test/java/androidx/media3/session/LegacyConversionsTest.java index b9f168026d..2fca50659b 100644 --- a/libraries/session/src/test/java/androidx/media3/session/LegacyConversionsTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/LegacyConversionsTest.java @@ -1159,20 +1159,17 @@ public final class LegacyConversionsTest { LegacyConversions.convertToAudioAttributes((MediaControllerCompat.PlaybackInfo) null)) .isSameInstanceAs(AudioAttributes.DEFAULT); - int contentType = AudioAttributesCompat.CONTENT_TYPE_MUSIC; - int flags = AudioAttributesCompat.FLAG_AUDIBILITY_ENFORCED; - int usage = AudioAttributesCompat.USAGE_MEDIA; AudioAttributesCompat aaCompat = new AudioAttributesCompat.Builder() - .setContentType(contentType) - .setFlags(flags) - .setUsage(usage) + .setContentType(AudioAttributesCompat.CONTENT_TYPE_MUSIC) + .setFlags(AudioAttributesCompat.FLAG_AUDIBILITY_ENFORCED) + .setUsage(AudioAttributesCompat.USAGE_MEDIA) .build(); AudioAttributes aa = new AudioAttributes.Builder() - .setContentType(contentType) - .setFlags(flags) - .setUsage(usage) + .setContentType(C.AUDIO_CONTENT_TYPE_MUSIC) + .setFlags(C.FLAG_AUDIBILITY_ENFORCED) + .setUsage(C.USAGE_MEDIA) .build(); assertThat(LegacyConversions.convertToAudioAttributes(aaCompat)).isEqualTo(aa); assertThat(LegacyConversions.convertToAudioAttributesCompat(aa)).isEqualTo(aaCompat); diff --git a/libraries/session/src/test/java/androidx/media3/session/SessionErrorTest.java b/libraries/session/src/test/java/androidx/media3/session/SessionErrorTest.java index c73892a12a..de7976147d 100644 --- a/libraries/session/src/test/java/androidx/media3/session/SessionErrorTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/SessionErrorTest.java @@ -36,6 +36,7 @@ public class SessionErrorTest { } @Test + @SuppressWarnings("WrongConstant") // Deliberately testing an unrecognized error code. public void constructor_withNonErrorCode_throwsIllegalArgumentException() { assertThrows( IllegalArgumentException.class, diff --git a/libraries/session/src/test/lint.xml b/libraries/session/src/test/lint.xml new file mode 100644 index 0000000000..c73f9eaa61 --- /dev/null +++ b/libraries/session/src/test/lint.xml @@ -0,0 +1,21 @@ + + + + + +