Fix Gradle Lint with @RequiresApi and SDK version

Gradle Lint doesn't recognise `checkState` assertion and TargetApi should only ever be used for suppressing a bug in Android Lint. Hence, we keep @RequiresApi and add an if-statement explicitly. Also, fixes >26 to >=26 for the version check.

PiperOrigin-RevId: 555144577
(cherry picked from commit f7c31bd3ef)
This commit is contained in:
jbibik 2023-08-09 13:31:48 +00:00 committed by Tianyi Feng
parent 4af6fcb838
commit 2fb3a45b6c

View file

@ -15,15 +15,14 @@
*/
package androidx.media3.transformer.mh;
import static androidx.media3.common.util.Assertions.checkState;
import static androidx.media3.common.util.Assertions.checkStateNotNull;
import android.graphics.Bitmap;
import android.os.Build;
import android.view.Surface;
import androidx.media3.common.GlTextureInfo;
import androidx.media3.common.VideoFrameProcessingException;
import androidx.media3.common.util.GlUtil;
import androidx.media3.common.util.Util;
import androidx.media3.effect.DefaultVideoFrameProcessor;
import androidx.media3.test.utils.BitmapPixelTestUtil;
import androidx.media3.test.utils.VideoFrameProcessorTestRunner;
@ -39,7 +38,6 @@ import org.checkerframework.checker.nullness.qual.Nullable;
* <p>Reads from an OpenGL texture. Only for use on physical devices.
*/
public final class TextureBitmapReader implements VideoFrameProcessorTestRunner.BitmapReader {
// TODO(b/239172735): This outputs an incorrect black output image on emulators.
private final Map<Long, Bitmap> outputTimestampsToBitmaps;
private boolean useHighPrecisionColorComponents;
private @MonotonicNonNull Bitmap outputBitmap;
@ -91,7 +89,9 @@ public final class TextureBitmapReader implements VideoFrameProcessorTestRunner.
if (!useHighPrecisionColorComponents) {
return BitmapPixelTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height);
}
checkState(Util.SDK_INT > 26, "useHighPrecisionColorComponents only supported on API 26+");
if (Build.VERSION.SDK_INT < 26) {
throw new IllegalStateException("useHighPrecisionColorComponents only supported on API 26+");
}
return BitmapPixelTestUtil.createFp16BitmapFromCurrentGlFramebuffer(width, height);
}
}