From ca80c001e2de2beb427a1115ebd1b21ed9c2f572 Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 26 Feb 2025 07:48:41 -0800 Subject: [PATCH] Suppress UnnecessarilyFullyQualified lint in DefaultRenderersFactory Also only fully-qualify the media3 types, since these are the ones that are at risk of moving - I don't think `android.os.Handler` is going anywhere, and doesn't need to be proguard-kept anyway. PiperOrigin-RevId: 731315177 --- .../exoplayer/DefaultRenderersFactory.java | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java index 768fee8a72..af3bc5d0b4 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java @@ -429,13 +429,15 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.vp9.LibvpxVideoRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( long.class, - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.video.VideoRendererEventListener.class, int.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -456,13 +458,15 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.av1.Libgav1VideoRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( long.class, - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.video.VideoRendererEventListener.class, int.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -483,14 +487,16 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.ffmpeg.ExperimentalFfmpegVideoRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( long.class, - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.video.VideoRendererEventListener.class, int.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -554,13 +560,15 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.midi.MidiRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( Context.class, - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.audio.AudioRendererEventListener.class, androidx.media3.exoplayer.audio.AudioSink.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -576,12 +584,14 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.opus.LibopusAudioRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.audio.AudioRendererEventListener.class, androidx.media3.exoplayer.audio.AudioSink.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -597,12 +607,14 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.flac.LibflacAudioRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.audio.AudioRendererEventListener.class, androidx.media3.exoplayer.audio.AudioSink.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -618,12 +630,14 @@ public class DefaultRenderersFactory implements RenderersFactory { } try { - // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.audio.AudioRendererEventListener.class, androidx.media3.exoplayer.audio.AudioSink.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -642,10 +656,13 @@ public class DefaultRenderersFactory implements RenderersFactory { // Full class names used for constructor args so the LINT rule triggers if any of them move. // LINT.IfChange Class clazz = Class.forName("androidx.media3.decoder.iamf.LibiamfAudioRenderer"); + // Full class names used for media3 constructor args so the LINT rule triggers if any of them + // move. + @SuppressWarnings("UnnecessarilyFullyQualified") Constructor constructor = clazz.getConstructor( Context.class, - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.audio.AudioRendererEventListener.class, androidx.media3.exoplayer.audio.AudioSink.class); // LINT.ThenChange(../../../../../../proguard-rules.txt) @@ -665,7 +682,7 @@ public class DefaultRenderersFactory implements RenderersFactory { Class clazz = Class.forName("androidx.media3.decoder.mpegh.MpeghAudioRenderer"); Constructor constructor = clazz.getConstructor( - android.os.Handler.class, + Handler.class, androidx.media3.exoplayer.audio.AudioRendererEventListener.class, androidx.media3.exoplayer.audio.AudioSink.class); Renderer renderer =