Update emulator device names

PiperOrigin-RevId: 585682881
This commit is contained in:
tofunmi 2023-11-27 09:59:26 -08:00 committed by Copybara-Service
parent 1c7c06999e
commit b598c96c2f
5 changed files with 17 additions and 21 deletions

View File

@ -491,6 +491,15 @@ public final class Util {
return TextUtils.isEmpty(scheme) || "file".equals(scheme);
}
/** Returns true if the code path is currently running on an emulator. */
@UnstableApi
public static boolean isRunningOnEmulator() {
String deviceName = Ascii.toLowerCase(Util.DEVICE);
return deviceName.contains("emulator")
|| deviceName.contains("emu64a")
|| deviceName.contains("generic");
}
/**
* Tests two objects for {@link Object#equals(Object)} equality, handling the case where one or
* both may be null.

View File

@ -16,6 +16,7 @@
package androidx.media3.effect;
import static androidx.media3.common.util.Assertions.checkStateNotNull;
import static androidx.media3.common.util.Util.isRunningOnEmulator;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import android.graphics.SurfaceTexture;
@ -30,7 +31,6 @@ import androidx.media3.common.util.GlUtil;
import androidx.media3.common.util.Log;
import androidx.media3.common.util.Util;
import androidx.media3.effect.GlShaderProgram.InputListener;
import com.google.common.base.Ascii;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Future;
@ -55,11 +55,7 @@ import java.util.concurrent.atomic.AtomicInteger;
* operation takes a long time to finish, the timeout could be a result of slow GL operation back
* pressured the decoder, and the decoder is not able to decode another frame.
*/
private static final long SURFACE_TEXTURE_TIMEOUT_MS =
Ascii.toLowerCase(Util.DEVICE).contains("emulator")
|| Ascii.toLowerCase(Util.DEVICE).contains("generic")
? 10_000
: 500;
private static final long SURFACE_TEXTURE_TIMEOUT_MS = isRunningOnEmulator() ? 10_000 : 500;
private final GlObjectsProvider glObjectsProvider;
private final ExternalShaderProgram externalShaderProgram;

View File

@ -18,6 +18,7 @@ package androidx.media3.test.utils;
import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.common.util.Assertions.checkState;
import static androidx.media3.common.util.Util.SDK_INT;
import static androidx.media3.common.util.Util.isRunningOnEmulator;
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
import static com.google.common.truth.Truth.assertThat;
import static java.lang.Math.abs;
@ -39,7 +40,6 @@ import androidx.media3.common.util.GlUtil;
import androidx.media3.common.util.Log;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util;
import com.google.common.base.Ascii;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@ -95,10 +95,7 @@ public class BitmapPixelTestUtil {
* if running on physical devices.
*/
public static final float MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE =
Ascii.toLowerCase(Util.DEVICE).contains("emulator")
|| Ascii.toLowerCase(Util.DEVICE).contains("generic")
? 1f
: MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE_DIFFERENT_DEVICE;
isRunningOnEmulator() ? 1f : MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE_DIFFERENT_DEVICE;
/**
* Maximum allowed average pixel difference between bitmaps with 16-bit primaries generated using

View File

@ -16,6 +16,7 @@
package androidx.media3.transformer;
import static androidx.media3.common.util.Util.SDK_INT;
import static androidx.media3.common.util.Util.isRunningOnEmulator;
import static androidx.media3.test.utils.BitmapPixelTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE;
import static androidx.media3.test.utils.BitmapPixelTestUtil.maybeSaveTestBitmap;
import static androidx.media3.test.utils.BitmapPixelTestUtil.readBitmapUnpremultipliedAlpha;
@ -62,7 +63,6 @@ import androidx.media3.effect.VideoCompositorSettings;
import androidx.media3.test.utils.BitmapPixelTestUtil;
import androidx.media3.test.utils.TextureBitmapReader;
import androidx.media3.test.utils.VideoFrameProcessorTestRunner;
import com.google.common.base.Ascii;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import java.io.IOException;
@ -96,11 +96,7 @@ public final class DefaultVideoCompositorPixelTest {
// Golden images were generated on an API 33 emulator. API 26 emulators have a different text
// rendering implementation that leads to a larger pixel difference.
public static final float MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE_WITH_TEXT_OVERLAY =
(Ascii.toLowerCase(Util.DEVICE).contains("emulator")
|| Ascii.toLowerCase(Util.DEVICE).contains("generic"))
&& SDK_INT <= 26
? 2.5f
: MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE;
isRunningOnEmulator() && SDK_INT <= 26 ? 2.5f : MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE;
@Parameterized.Parameter public boolean useSharedExecutor;
@Rule public final TestName testName = new TestName();

View File

@ -17,6 +17,7 @@
package androidx.media3.transformer;
import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.common.util.Util.isRunningOnEmulator;
import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS;
import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS;
import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_MAX_BUFFER_MS;
@ -40,7 +41,6 @@ import androidx.media3.common.Timeline;
import androidx.media3.common.Tracks;
import androidx.media3.common.util.Clock;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.DefaultLoadControl;
import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.Renderer;
@ -54,7 +54,6 @@ import androidx.media3.exoplayer.trackselection.DefaultTrackSelector;
import androidx.media3.exoplayer.video.VideoRendererEventListener;
import androidx.media3.extractor.DefaultExtractorsFactory;
import androidx.media3.extractor.mp4.Mp4Extractor;
import com.google.common.base.Ascii;
import com.google.common.collect.ImmutableMap;
/** An {@link AssetLoader} implementation that uses an {@link ExoPlayer} to load samples. */
@ -375,8 +374,7 @@ public final class ExoPlayerAssetLoader implements AssetLoader {
private static long getReleaseTimeoutMs() {
// b/297916906 - Emulators need a larger timeout for releasing.
return Ascii.toLowerCase(Util.DEVICE).contains("emulator")
|| Ascii.toLowerCase(Util.DEVICE).contains("generic")
return isRunningOnEmulator()
? EMULATOR_RELEASE_TIMEOUT_MS
: ExoPlayer.DEFAULT_RELEASE_TIMEOUT_MS;
}