Update tests to use PreTestCameraIdList
Update tests to set the CameraXConfig into
the PreTestCameraIdList for testing.
Bug: 211723992
Test: ./gradlew camera:camera-camera2:connectedAndroidTest &&
./gradlew camera:camera-extensions:connectedAndroidTest &&
./gradlew camera:integration-tests:camera-testapp-core:connectedAndroidTest &&
./gradlew camera:integration-tests:camera-testapp-extensions:connectedAndroidTest &&
./gradlew camera:integration-tests:camera-testapp-view:connectedAndroidTest &&
./gradlew camera:integration-tests:camera-testapp-uiwidgets:connectedAndroidTest &&
./gradlew camera:camera-view:connectedAndroidTest &&
./gradlew camera:camera-video:connectedAndroidTest
Change-Id: I7e2e12fc3334ec58aed8a506166570c2541ca064
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/CameraControlDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/CameraControlDeviceTest.java
index f2f0ef3..bf6628a 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/CameraControlDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/CameraControlDeviceTest.java
@@ -82,7 +82,9 @@
}
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private final Instrumentation mInstrumentation = InstrumentationRegistry.getInstrumentation();
private CameraUseCaseAdapter mCamera;
private UseCase mBoundUseCase;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.kt
index 3310d6b..a351980 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/PreviewTest.kt
@@ -30,6 +30,7 @@
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.core.internal.CameraUseCaseAdapter
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CameraXUtil
import androidx.camera.testing.GLUtil
import androidx.camera.testing.SurfaceTextureProvider
@@ -41,6 +42,14 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.Executor
+import java.util.concurrent.Executors
+import java.util.concurrent.Semaphore
+import java.util.concurrent.ThreadFactory
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.TimeoutException
+import java.util.concurrent.atomic.AtomicReference
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -50,21 +59,15 @@
import org.mockito.ArgumentMatchers
import org.mockito.Mockito
import org.mockito.invocation.InvocationOnMock
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Executor
-import java.util.concurrent.Executors
-import java.util.concurrent.Semaphore
-import java.util.concurrent.ThreadFactory
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.TimeoutException
-import java.util.concurrent.atomic.AtomicReference
@LargeTest
@RunWith(AndroidJUnit4::class)
@SdkSuppress(minSdkVersion = 21)
class PreviewTest {
@get:Rule
- var cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val instrumentation = InstrumentationRegistry.getInstrumentation()
private val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
private var defaultBuilder: Preview.Builder? = null
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTest.kt
index 5bd397e..95253ee 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTest.kt
@@ -34,6 +34,7 @@
import androidx.camera.core.internal.CameraUseCaseAdapter
import androidx.camera.testing.AudioUtil
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CameraXUtil
import androidx.camera.testing.SurfaceTextureProvider.SurfaceTextureCallback
import androidx.camera.testing.SurfaceTextureProvider.createSurfaceTextureProvider
@@ -46,21 +47,20 @@
import androidx.test.rule.GrantPermissionRule
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
+import java.io.File
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assume.assumeFalse
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers.any
import org.mockito.Mockito.mock
import org.mockito.Mockito.timeout
import org.mockito.Mockito.verify
-import java.io.File
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
@@ -74,7 +74,9 @@
val useRecordingResource = CameraUtil.checkVideoRecordingResource()
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val permissionRule: GrantPermissionRule =
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTestWithoutAudioPermissionTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTestWithoutAudioPermissionTest.kt
index 7fdbaa4..8a7b21a 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTestWithoutAudioPermissionTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/VideoCaptureTestWithoutAudioPermissionTest.kt
@@ -32,6 +32,7 @@
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.core.internal.CameraUseCaseAdapter
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CameraXUtil
import androidx.camera.testing.SurfaceTextureProvider
import androidx.core.content.ContextCompat
@@ -42,18 +43,17 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.rule.GrantPermissionRule
import com.google.common.truth.Truth.assertThat
+import java.io.File
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assume
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers
import org.mockito.Mockito
-import java.io.File
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
@@ -63,7 +63,9 @@
const val TAG: String = "VideoCaptureTestWithoutAudioPermission"
}
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val permissionRule: GrantPermissionRule =
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlImplDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlImplDeviceTest.java
index 964ea8a..fe6d5dd 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlImplDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlImplDeviceTest.java
@@ -109,7 +109,9 @@
@SdkSuppress(minSdkVersion = 21)
public final class Camera2CameraControlImplDeviceTest {
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private Camera2CameraControlImpl mCamera2CameraControlImpl;
private CameraControlInternal.ControlUpdateCallback mControlUpdateCallback;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplCameraReopenTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplCameraReopenTest.kt
index 4b393b5..7c79a87 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplCameraReopenTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplCameraReopenTest.kt
@@ -25,6 +25,7 @@
import androidx.annotation.GuardedBy
import androidx.annotation.RequiresApi
import androidx.camera.camera2.AsyncCameraDevice
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.internal.compat.CameraAccessExceptionCompat
import androidx.camera.camera2.internal.compat.CameraManagerCompat
import androidx.camera.core.CameraSelector
@@ -36,12 +37,19 @@
import androidx.camera.core.impl.utils.MainThreadAsyncHandler
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.core.os.HandlerCompat
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.Executor
+import java.util.concurrent.ExecutorService
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
+import kotlin.math.ceil
import org.junit.After
import org.junit.AfterClass
import org.junit.Assume
@@ -50,12 +58,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Executor
-import java.util.concurrent.ExecutorService
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
-import kotlin.math.ceil
import org.mockito.Mockito.mock
/** Contains [Camera2CameraImpl] tests for reopening the camera with failures. */
@@ -64,7 +66,9 @@
@SdkSuppress(minSdkVersion = 21)
class Camera2CameraImplCameraReopenTest {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private var camera2CameraImpl: Camera2CameraImpl? = null
private var cameraId: String? = null
private var anotherCameraDevice: AsyncCameraDevice? = null
@@ -589,7 +593,9 @@
field = value
}
}
- @Volatile var shouldEmitCameraInUseError = false
+ @Volatile
+ var shouldEmitCameraInUseError = false
+
@GuardedBy("lock")
var deviceStateCallback: CameraDeviceCallbackWrapper? = null
get() {
@@ -644,8 +650,10 @@
if (shouldFailCameraOpen) {
if (shouldEmitCameraInUseError) {
executor.execute {
- callback.onError(mock(CameraDevice::class.java),
- CameraDevice.StateCallback.ERROR_CAMERA_IN_USE)
+ callback.onError(
+ mock(CameraDevice::class.java),
+ CameraDevice.StateCallback.ERROR_CAMERA_IN_USE
+ )
}
}
// Throw any exception
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt
index 9f89f38..1d1910c 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplForceOpenCameraTest.kt
@@ -23,6 +23,7 @@
import android.os.Handler
import android.os.HandlerThread
import androidx.camera.camera2.AsyncCameraDevice
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.internal.compat.CameraManagerCompat
import androidx.camera.core.CameraSelector
import androidx.camera.core.Logger
@@ -31,6 +32,7 @@
import androidx.camera.core.impl.Observable.Observer
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.core.os.HandlerCompat
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -38,6 +40,9 @@
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
import com.google.common.util.concurrent.ListenableFuture
+import java.util.concurrent.ExecutorService
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.AfterClass
import org.junit.Assume.assumeFalse
@@ -45,11 +50,7 @@
import org.junit.BeforeClass
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
-import java.util.concurrent.ExecutorService
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
/**
* Tests [Camera2CameraImpl]'s force opening camera behavior.
@@ -68,7 +69,9 @@
class Camera2CameraImplForceOpenCameraTest {
@get:Rule
- val mCameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private lateinit var cameraId: String
private lateinit var camera2Camera: AsyncCameraDevice
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt
index d119e32..5e7316d 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplStateTest.kt
@@ -20,6 +20,7 @@
import android.hardware.camera2.CameraManager
import android.os.Handler
import android.os.HandlerThread
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.internal.compat.CameraAccessExceptionCompat
import androidx.camera.camera2.internal.compat.CameraAccessExceptionCompat.CAMERA_UNAVAILABLE_DO_NOT_DISTURB
import androidx.camera.camera2.internal.compat.CameraManagerCompat
@@ -34,6 +35,7 @@
import androidx.camera.core.impl.utils.MainThreadAsyncHandler
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.fakes.FakeCamera
import androidx.core.os.HandlerCompat
import androidx.lifecycle.Observer
@@ -41,6 +43,9 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
+import java.util.concurrent.Executor
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
@@ -55,9 +60,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito
-import java.util.concurrent.Executor
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
@@ -65,7 +67,9 @@
internal class Camera2CameraImplStateTest {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private lateinit var cameraId: String
private lateinit var camera: Camera2CameraImpl
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java
index e207dbf..8471ac9 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraImplTest.java
@@ -43,6 +43,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.camera2.internal.compat.CameraManagerCompat;
import androidx.camera.camera2.internal.util.SemaphoreReleasingCamera2Callbacks;
import androidx.camera.camera2.interop.Camera2Interop;
@@ -120,8 +121,9 @@
static ExecutorService sCameraExecutor;
@Rule
- public TestRule mCameraRule = CameraUtil.grantCameraPermissionAndPreTest();
-
+ public TestRule mCameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private ArrayList<FakeUseCase> mFakeUseCases = new ArrayList<>();
private Camera2CameraImpl mCamera2CameraImpl;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraXTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraXTest.java
index 7c1d472..051af05 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraXTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2ImplCameraXTest.java
@@ -91,7 +91,9 @@
new CameraSelector.Builder().requireLensFacing(DEFAULT_LENS_FACING).build();
@Rule
- public TestRule mCameraRule = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mCameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private CameraDevice.StateCallback mDeviceStateCallback;
private FakeLifecycleOwner mLifecycle;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt
index 093d340..3efb25f 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2RequestProcessorTest.kt
@@ -28,6 +28,7 @@
import android.os.Handler
import android.os.Looper
import android.view.Surface
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.impl.Camera2CameraCaptureResultConverter
import androidx.camera.camera2.internal.util.RequestProcessorRequest
import androidx.camera.camera2.interop.CaptureRequestOptions
@@ -38,12 +39,16 @@
import androidx.camera.core.impl.SessionProcessorSurface
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.concurrent.futures.await
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.Executor
+import java.util.concurrent.ScheduledExecutorService
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
@@ -53,9 +58,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executor
-import java.util.concurrent.ScheduledExecutorService
const val CAMERA_ID = "0"
const val PREVIEW_OUTPUT_CONFIG_ID = 1
@@ -69,7 +71,9 @@
@SdkSuppress(minSdkVersion = 21)
class Camera2RequestProcessorTest {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private lateinit var cameraDeviceHolder: CameraUtil.CameraDeviceHolder
private lateinit var captureSessionRepository: CaptureSessionRepository
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
index 1ba8b54..0610617 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/CaptureSessionTest.java
@@ -50,6 +50,7 @@
import android.view.Surface;
import androidx.annotation.NonNull;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.camera2.impl.Camera2ImplConfig;
import androidx.camera.camera2.impl.CameraEventCallback;
import androidx.camera.camera2.impl.CameraEventCallbacks;
@@ -131,7 +132,9 @@
private final List<CaptureSession> mCaptureSessions = new ArrayList<>();
@Rule
- public TestRule mUseCameraRule = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@BeforeClass
public static void setUpClass() {
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ExposureDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ExposureDeviceTest.java
index 9b8d57bd..1e49ba3 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ExposureDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ExposureDeviceTest.java
@@ -41,6 +41,7 @@
import android.view.Surface;
import androidx.annotation.NonNull;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.camera2.internal.compat.CameraManagerCompat;
import androidx.camera.camera2.internal.util.SemaphoreReleasingCamera2Callbacks;
import androidx.camera.camera2.interop.Camera2Interop;
@@ -102,7 +103,9 @@
private static final int DEFAULT_AVAILABLE_CAMERA_COUNT = 1;
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private final ArrayList<FakeTestUseCase> mFakeTestUseCases = new ArrayList<>();
private Camera2CameraImpl mCamera2CameraImpl;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt
index a2d476c..e631b70 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/ProcessingCaptureSessionTest.kt
@@ -32,6 +32,7 @@
import android.os.SystemClock
import android.util.Size
import android.view.Surface
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.internal.compat.CameraManagerCompat
import androidx.camera.camera2.internal.util.RequestProcessorRequest
import androidx.camera.camera2.interop.CaptureRequestOptions
@@ -55,6 +56,7 @@
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.testing.CameraUtil
import androidx.camera.testing.CameraUtil.CameraDeviceHolder
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.concurrent.futures.await
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
@@ -62,6 +64,12 @@
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
import com.google.common.util.concurrent.ListenableFuture
+import java.util.Objects
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.Executor
+import java.util.concurrent.ScheduledExecutorService
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.Dispatchers
@@ -75,12 +83,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.Objects
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Executor
-import java.util.concurrent.ScheduledExecutorService
-import java.util.concurrent.TimeUnit
const val FAKE_CAPTURE_SEQUENCE_ID = 1
const val JPEG_ORIENTATION_VALUE = 90
@@ -131,7 +133,9 @@
}
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private lateinit var cameraDeviceHolder: CameraDeviceHolder
private lateinit var captureSessionRepository: CaptureSessionRepository
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/TorchControlDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/TorchControlDeviceTest.java
index a8c97fa..8143d94 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/TorchControlDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/TorchControlDeviceTest.java
@@ -56,7 +56,9 @@
private static final int LENS_FACING = CameraSelector.LENS_FACING_BACK;
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private TorchControl mTorchControl;
private CameraUseCaseAdapter mCamera;
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt
index cfc9f3d..b4b2411 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/CameraDeviceCompatDeviceTest.kt
@@ -16,21 +16,23 @@
package androidx.camera.camera2.internal.compat
import android.content.Context
-import androidx.camera.testing.CameraUtil
-import android.hardware.camera2.CameraDevice
import android.graphics.SurfaceTexture
import android.hardware.camera2.CameraAccessException
-import android.hardware.camera2.CameraManager
-import androidx.test.core.app.ApplicationProvider
-import android.hardware.camera2.CameraCharacteristics
import android.hardware.camera2.CameraCaptureSession
+import android.hardware.camera2.CameraCharacteristics
+import android.hardware.camera2.CameraDevice
+import android.hardware.camera2.CameraManager
import android.os.Handler
import android.os.HandlerThread
import android.view.Surface
import androidx.camera.camera2.AsyncCameraDevice
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.internal.compat.params.OutputConfigurationCompat
import androidx.camera.camera2.internal.compat.params.SessionConfigurationCompat
+import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.core.os.HandlerCompat
+import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
@@ -44,7 +46,6 @@
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers
import org.mockito.Mockito
-import java.lang.AssertionError
/**
* Tests some of the methods of [CameraDeviceCompat] on device.
@@ -58,7 +59,9 @@
@SdkSuppress(minSdkVersion = 21)
class CameraDeviceCompatDeviceTest {
@get:Rule
- var useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private var cameraDevice: AsyncCameraDevice? = null
private var surfaceTexture: SurfaceTexture? = null
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt
index 59cd140..bebdb7a 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/compat/workaround/ExtraSupportedSurfaceCombinationsContainerDeviceTest.kt
@@ -45,12 +45,16 @@
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.core.internal.CameraUseCaseAdapter
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CameraXUtil
import androidx.camera.testing.SurfaceTextureProvider
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.Arrays
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -60,12 +64,8 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.Arrays
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
private const val CAPTURE_TIMEOUT = 10_000.toLong() // 10 seconds
@@ -75,7 +75,9 @@
class ExtraSupportedSurfaceCombinationsContainerDeviceTest(val cameraId: String) {
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2CameraControlDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2CameraControlDeviceTest.java
index 058be03..7977243 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2CameraControlDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2CameraControlDeviceTest.java
@@ -82,7 +82,9 @@
private Camera2CameraControlImpl mCamera2CameraControlImpl;
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Before
public void setUp() {
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java
index 1ff29da..471ab2c 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/interop/Camera2InteropDeviceTest.java
@@ -81,7 +81,9 @@
private CameraUseCaseAdapter mCamera;
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Before
public void setUp() {
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionTest.java b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionTest.java
index 86176ba..ba39474 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionTest.java
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ExtensionTest.java
@@ -29,6 +29,7 @@
import android.content.Context;
import android.os.Build;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.camera2.impl.Camera2ImplConfig;
import androidx.camera.camera2.impl.CameraEventCallback;
import androidx.camera.camera2.impl.CameraEventCallbacks;
@@ -65,7 +66,9 @@
public class ExtensionTest {
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Parameterized.Parameters(name = "effect = {0}, facing = {1}")
public static Collection<Object[]> getParameters() {
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt
index 7e9dc0d..f0be504 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/ImageCaptureTest.kt
@@ -19,6 +19,7 @@
import android.content.Context
import android.graphics.SurfaceTexture
import android.util.Size
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageCapture
import androidx.camera.core.ImageCaptureException
@@ -28,6 +29,7 @@
import androidx.camera.extensions.util.ExtensionsTestUtil
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.SurfaceTextureProvider.SurfaceTextureCallback
import androidx.camera.testing.fakes.FakeLifecycleOwner
@@ -35,6 +37,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -48,7 +51,6 @@
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers
import org.mockito.Mockito
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
@@ -59,7 +61,9 @@
) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt
index ec23a83..241e9ab 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/PreviewTest.kt
@@ -21,11 +21,13 @@
import android.os.Handler
import android.os.HandlerThread
import android.util.Size
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.Preview
import androidx.camera.extensions.util.ExtensionsTestUtil
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.GLUtil
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.fakes.FakeLifecycleOwner
@@ -34,6 +36,8 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -44,8 +48,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
@@ -56,7 +58,9 @@
) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/ImageCaptureConfigProviderTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/ImageCaptureConfigProviderTest.kt
index 9ffab01..dc7e11a 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/ImageCaptureConfigProviderTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/ImageCaptureConfigProviderTest.kt
@@ -22,6 +22,7 @@
import android.hardware.camera2.CaptureRequest
import android.util.Pair
import android.util.Size
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageCapture
@@ -32,12 +33,14 @@
import androidx.camera.extensions.impl.ImageCaptureExtenderImpl
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -53,14 +56,15 @@
import org.mockito.Mockito.timeout
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
@SdkSuppress(minSdkVersion = 21)
class ImageCaptureConfigProviderTest {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/PreviewConfigProviderTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/PreviewConfigProviderTest.kt
index 7b1fbc1..fc1d2f0 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/PreviewConfigProviderTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/PreviewConfigProviderTest.kt
@@ -25,6 +25,7 @@
import android.media.Image
import android.util.Pair
import android.util.Size
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.core.CameraSelector
import androidx.camera.core.Preview
@@ -36,6 +37,7 @@
import androidx.camera.extensions.impl.RequestUpdateProcessorImpl
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.SurfaceTextureProvider.SurfaceTextureCallback
import androidx.camera.testing.fakes.FakeLifecycleOwner
@@ -44,6 +46,7 @@
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -61,14 +64,15 @@
import org.mockito.Mockito.timeout
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
-import java.util.concurrent.TimeUnit
@MediumTest
@RunWith(AndroidJUnit4::class)
@SdkSuppress(minSdkVersion = 21)
class PreviewConfigProviderTest {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
index 0acdac5..60223dc 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
@@ -76,7 +76,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestName
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers.any
@@ -98,7 +97,9 @@
class RecorderTest {
@get:Rule
- var cameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
var testName: TestName = TestName()
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
index a9a76e3..c29dc5c 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/SupportedQualitiesVerificationTest.kt
@@ -34,6 +34,7 @@
import android.content.Context
import android.os.Build
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.Camera
import androidx.camera.core.CameraInfo
import androidx.camera.core.CameraSelector
@@ -67,7 +68,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
companion object {
private const val VIDEO_TIMEOUT_SEC = 10L
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoCaptureDeviceTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoCaptureDeviceTest.kt
index e29939a..83d3697 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoCaptureDeviceTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoCaptureDeviceTest.kt
@@ -37,6 +37,10 @@
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.ArrayBlockingQueue
+import java.util.concurrent.Executors
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -47,10 +51,6 @@
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
-import java.util.concurrent.ArrayBlockingQueue
-import java.util.concurrent.Executors
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
@@ -58,7 +58,9 @@
class VideoCaptureDeviceTest {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val instrumentation = InstrumentationRegistry.getInstrumentation()
private val context: Context = ApplicationProvider.getApplicationContext()
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt
index 8fa45e5..3fb0fb8d 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingFrameDropTest.kt
@@ -23,6 +23,7 @@
import android.hardware.camera2.CaptureRequest
import android.os.Build
import android.view.Surface
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.camera2.interop.Camera2Interop
import androidx.camera.core.AspectRatio
@@ -56,7 +57,6 @@
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.SharedFlow
import kotlinx.coroutines.flow.asSharedFlow
-import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.takeWhile
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
@@ -67,7 +67,6 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
@@ -83,7 +82,9 @@
private val perSelectorTestData: PerSelectorTestData
) {
@get:Rule
- var cameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
// Due to the flaky nature of this test, it should only be run in the lab
@get:Rule
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt
index 76f75a3..cdad492 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/VideoRecordingTest.kt
@@ -25,6 +25,7 @@
import android.util.Log
import android.util.Size
import android.view.Surface
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.Camera
import androidx.camera.core.CameraInfo
import androidx.camera.core.CameraSelector
@@ -76,7 +77,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val permissionRule: GrantPermissionRule =
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt
index ca8de01..57cbb30 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/encoder/VideoEncoderTest.kt
@@ -60,7 +60,6 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers.any
@@ -84,8 +83,10 @@
@SdkSuppress(minSdkVersion = 21)
class VideoEncoderTest {
- @get: Rule
- var cameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ @get:Rule
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val instrumentation = InstrumentationRegistry.getInstrumentation()
private val context: Context = ApplicationProvider.getApplicationContext()
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
index 6c34d8d..9a2d3db 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/internal/workaround/EncoderFinderTest.kt
@@ -56,7 +56,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val labTest: LabTestRule = LabTestRule()
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt
index 94d3653..9acd91c 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/CameraControllerDeviceTest.kt
@@ -18,12 +18,14 @@
import android.content.ContentValues
import android.provider.MediaStore
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.CameraSelector.LENS_FACING_BACK
import androidx.camera.core.CameraSelector.LENS_FACING_FRONT
import androidx.camera.core.ImageCapture
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.annotation.UiThreadTest
import androidx.test.core.app.ApplicationProvider
@@ -32,14 +34,13 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
/**
* Instrumentation tests for [CameraController].
@@ -50,7 +51,9 @@
class CameraControllerDeviceTest {
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val controller = LifecycleCameraController(ApplicationProvider.getApplicationContext())
private val instrumentation = InstrumentationRegistry.getInstrumentation()
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.java b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.java
index 285c7f3..162a8e7 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.java
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewBitmapTest.java
@@ -22,6 +22,7 @@
import android.graphics.Bitmap;
import androidx.annotation.NonNull;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.Preview;
import androidx.camera.lifecycle.ProcessCameraProvider;
@@ -62,7 +63,9 @@
FakeActivity.class);
@Rule
- public final TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
private static final int CAMERA_LENS = CameraSelector.LENS_FACING_BACK;
private ProcessCameraProvider mCameraProvider;
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt
index 8f54585..0e93506 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewDeviceTest.kt
@@ -29,6 +29,7 @@
import android.view.TextureView
import android.view.View
import android.widget.FrameLayout
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.Camera
import androidx.camera.core.CameraInfo
import androidx.camera.core.CameraSelector
@@ -43,6 +44,7 @@
import androidx.camera.core.impl.utils.futures.Futures
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.camera.testing.CoreAppTestUtil.ForegroundOccupiedError
import androidx.camera.testing.SurfaceFormatUtil
@@ -66,6 +68,12 @@
import androidx.test.uiautomator.UiSelector
import com.google.common.truth.Truth
import com.google.common.util.concurrent.ListenableFuture
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.TimeoutException
+import java.util.concurrent.atomic.AtomicReference
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -73,12 +81,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.TimeoutException
-import java.util.concurrent.atomic.AtomicReference
/**
* Instrumented tests for [PreviewView].
@@ -88,7 +90,9 @@
@SdkSuppress(minSdkVersion = 21)
class PreviewViewDeviceTest {
@get:Rule
- var useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val instrumentation = InstrumentationRegistry.getInstrumentation()
private var activityScenario: ActivityScenario<FakeActivity>? = null
diff --git a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt
index effaf39..d59f07a 100644
--- a/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt
+++ b/camera/camera-view/src/androidTest/java/androidx/camera/view/PreviewViewStreamStateTest.kt
@@ -17,11 +17,13 @@
package androidx.camera.view
import android.content.Context
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageAnalysis
import androidx.camera.core.Preview
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.camera.testing.fakes.FakeActivity
import androidx.camera.testing.fakes.FakeLifecycleOwner
@@ -33,17 +35,16 @@
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assume
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
@@ -74,7 +75,9 @@
private lateinit var mCameraProvider: ProcessCameraProvider
@get:Rule
- val mUseCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val mActivityRule: ActivityScenarioRule<FakeActivity> =
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.java b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.java
index 70f90bf..aefea06 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.java
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/BasicUITest.java
@@ -27,6 +27,7 @@
import android.content.Context;
import android.content.Intent;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.Preview;
import androidx.camera.testing.CameraUtil;
@@ -67,7 +68,9 @@
new ActivityTestRule<>(CameraXActivity.class, true, false);
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Rule
public GrantPermissionRule mStoragePermissionRule =
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/Camera2InteropIntegrationTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/Camera2InteropIntegrationTest.kt
index 84eccda..c444306 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/Camera2InteropIntegrationTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/Camera2InteropIntegrationTest.kt
@@ -27,6 +27,7 @@
import android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
import android.hardware.camera2.CaptureRequest
import android.hardware.camera2.TotalCaptureResult
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraControl
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.camera2.interop.Camera2Interop
@@ -38,6 +39,7 @@
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.concurrent.futures.await
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
@@ -46,6 +48,8 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
@@ -60,17 +64,16 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
class Camera2InteropIntegrationTest {
@get:Rule
- val useCameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private var processCameraProvider: ProcessCameraProvider? = null
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraDisconnectTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraDisconnectTest.kt
index c7b1753..44d8215 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraDisconnectTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/CameraDisconnectTest.kt
@@ -25,6 +25,7 @@
import androidx.camera.core.CameraXConfig
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.camera.testing.activity.Camera2TestActivity
import androidx.camera.testing.activity.CameraXTestActivity
@@ -37,13 +38,13 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
/** Tests for [CameraX] which varies use case combinations to run. */
@LargeTest
@@ -54,7 +55,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(cameraConfig)
+ )
companion object {
@JvmStatic
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ExistingActivityLifecycleTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ExistingActivityLifecycleTest.kt
index 1414e30..e84c886 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ExistingActivityLifecycleTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ExistingActivityLifecycleTest.kt
@@ -19,9 +19,11 @@
import android.app.Instrumentation
import android.content.Context
import android.os.Build
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.lifecycle.Lifecycle.State.CREATED
import androidx.lifecycle.Lifecycle.State.RESUMED
@@ -37,6 +39,7 @@
import androidx.test.uiautomator.UiDevice
import androidx.testutils.RepeatRule
import androidx.testutils.withActivity
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.runBlocking
import org.junit.After
import org.junit.AfterClass
@@ -44,9 +47,7 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
private const val HOME_TIMEOUT_MS = 3000L
private const val ROTATE_TIMEOUT_MS = 2000L
@@ -59,7 +60,9 @@
UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
@get:Rule
- val mUseCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val mPermissionRule: GrantPermissionRule =
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/FlashTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/FlashTest.kt
index 9c8383c..f643280 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/FlashTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/FlashTest.kt
@@ -29,12 +29,15 @@
import androidx.camera.core.Preview
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.LabTestRule
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.delay
@@ -47,8 +50,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
private val BACK_SELECTOR = CameraSelector.DEFAULT_BACK_CAMERA
private const val BACK_LENS_FACING = CameraSelector.LENS_FACING_BACK
@@ -59,7 +60,9 @@
class FlashTest(private val implName: String, private val cameraXConfig: CameraXConfig) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(cameraXConfig)
+ )
@get:Rule
val labTest: LabTestRule = LabTestRule()
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt
index cc54f36..b713dbc 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageAnalysisTest.kt
@@ -34,11 +34,14 @@
import androidx.camera.core.impl.utils.executor.CameraXExecutors
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.LabTestRule
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -49,8 +52,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
private val DEFAULT_CAMERA_SELECTOR = CameraSelector.DEFAULT_BACK_CAMERA
@@ -62,7 +63,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(cameraConfig)
+ )
@get:Rule
val labTest: LabTestRule = LabTestRule()
@@ -120,7 +123,9 @@
}
}
- handlerThread.quitSafely()
+ if (::handler.isInitialized) {
+ handlerThread.quitSafely()
+ }
}
@Test
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt
index 9f207ab..b06614e 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageCaptureTest.kt
@@ -67,6 +67,13 @@
import androidx.test.filters.SdkSuppress
import androidx.test.rule.GrantPermissionRule
import com.google.common.truth.Truth.assertThat
+import java.io.ByteArrayInputStream
+import java.io.File
+import java.io.FileOutputStream
+import java.util.concurrent.ExecutionException
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.atomic.AtomicInteger
+import kotlin.math.abs
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
@@ -81,13 +88,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.io.ByteArrayInputStream
-import java.io.File
-import java.io.FileOutputStream
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.atomic.AtomicInteger
-import kotlin.math.abs
private val DEFAULT_RESOLUTION = Size(640, 480)
private val BACK_SELECTOR = CameraSelector.DEFAULT_BACK_CAMERA
@@ -99,7 +99,9 @@
class ImageCaptureTest(private val implName: String, private val cameraXConfig: CameraXConfig) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(cameraXConfig)
+ )
@get:Rule
val externalStorageRule: GrantPermissionRule =
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt
index e0a6b31..157c379 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ImageProcessingLatencyTest.kt
@@ -18,6 +18,7 @@
import android.content.Context
import android.util.Size
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageAnalysis
import androidx.camera.core.ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888
@@ -29,6 +30,8 @@
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.runBlocking
@@ -39,11 +42,8 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
// Profile the ImageProcessing performance to convert the input image from CameraX.
@LargeTest
@@ -52,7 +52,9 @@
private val targetResolution: Size
) {
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val labTest: LabTestRule = LabTestRule()
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt
index 3bca7d9..ef5f4da 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/InitializationTest.kt
@@ -18,6 +18,7 @@
import android.content.Context
import android.content.Intent
+import androidx.camera.camera2.Camera2Config
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
import androidx.camera.testing.CoreAppTestUtil
@@ -32,6 +33,7 @@
import androidx.testutils.LocaleTestUtils
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.runBlocking
import org.junit.After
import org.junit.AfterClass
@@ -39,16 +41,16 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
class InitializationTest(private val config: TestConfig) {
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val storagePermissionRule: GrantPermissionRule =
GrantPermissionRule.grant(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/MLKitBarcodeTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/MLKitBarcodeTest.kt
index 614ba47..9921e84 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/MLKitBarcodeTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/MLKitBarcodeTest.kt
@@ -20,6 +20,7 @@
import android.util.Log
import android.util.Size
import android.view.Surface
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageAnalysis
import androidx.camera.core.impl.utils.executor.CameraXExecutors
@@ -30,11 +31,13 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
import com.google.common.truth.Truth.assertWithMessage
-import com.google.mlkit.vision.barcode.common.Barcode.FORMAT_QR_CODE
import com.google.mlkit.vision.barcode.BarcodeScanner
import com.google.mlkit.vision.barcode.BarcodeScannerOptions
import com.google.mlkit.vision.barcode.BarcodeScanning
+import com.google.mlkit.vision.barcode.common.Barcode.FORMAT_QR_CODE
import com.google.mlkit.vision.common.InputImage
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -44,8 +47,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
/* The integration-test is for MLKit vision barcode component with CameraX ImageAnalysis use case.
The test is for lab device test. For the local test, mark the @LabTestRule.LabTestFrontCamera,
@@ -59,7 +60,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val labTest: LabTestRule = LabTestRule()
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/NewActivityLifecycleTest.java b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/NewActivityLifecycleTest.java
index ab53a5b..48ba511 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/NewActivityLifecycleTest.java
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/NewActivityLifecycleTest.java
@@ -26,6 +26,7 @@
import android.content.Context;
import android.content.Intent;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.testing.CameraUtil;
import androidx.camera.testing.CoreAppTestUtil;
@@ -73,7 +74,9 @@
new ActivityTestRule<>(CameraXActivity.class, true, false);
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Rule
public GrantPermissionRule mStoragePermissionRule =
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/TakePictureTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/TakePictureTest.kt
index a9dc4f0..09ccab3 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/TakePictureTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/TakePictureTest.kt
@@ -18,6 +18,7 @@
import android.Manifest
import android.content.Context
+import androidx.camera.camera2.Camera2Config
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
import androidx.camera.testing.CoreAppTestUtil
@@ -30,20 +31,21 @@
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.rule.GrantPermissionRule
+import java.util.concurrent.TimeUnit
import org.junit.AfterClass
import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(AndroidJUnit4::class)
class TakePictureTest {
@get:Rule
- val mUseCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val mPermissionRule: GrantPermissionRule =
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ToggleButtonUITest.java b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ToggleButtonUITest.java
index 25f75e6..7951333 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ToggleButtonUITest.java
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/ToggleButtonUITest.java
@@ -32,6 +32,7 @@
import android.content.Intent;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.core.CameraInfo;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageCapture;
@@ -85,7 +86,9 @@
false);
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Rule
public GrantPermissionRule mStoragePermissionRule =
GrantPermissionRule.grant(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/UseCaseCombinationTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/UseCaseCombinationTest.kt
index f6cf786..db385e7 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/UseCaseCombinationTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/UseCaseCombinationTest.kt
@@ -29,6 +29,7 @@
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -39,7 +40,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
private val DEFAULT_SELECTOR = CameraSelector.DEFAULT_BACK_CAMERA
@@ -52,7 +52,9 @@
) {
@get:Rule
- val cameraRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val cameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(cameraConfig)
+ )
companion object {
@JvmStatic
diff --git a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/YuvToRgbConverterTest.kt b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/YuvToRgbConverterTest.kt
index df4c80d..8a145f1 100644
--- a/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/YuvToRgbConverterTest.kt
+++ b/camera/integration-tests/coretestapp/src/androidTest/java/androidx/camera/integration/core/YuvToRgbConverterTest.kt
@@ -30,6 +30,8 @@
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.LargeTest
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.runBlocking
@@ -40,11 +42,8 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
// Test the YubToRgbConverter to convert the input image from CameraX
@LargeTest
@@ -54,7 +53,9 @@
private val cameraXConfig: CameraXConfig
) {
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ CameraUtil.PreTestCameraIdList(cameraXConfig)
+ )
@get:Rule
val labTest: LabTestRule = LabTestRule()
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureExtenderValidationTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureExtenderValidationTest.kt
index 1baf61ac..0e9daa6 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureExtenderValidationTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureExtenderValidationTest.kt
@@ -20,6 +20,7 @@
import android.content.Intent
import android.hardware.camera2.CameraCharacteristics
import android.os.Build
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.core.CameraSelector
import androidx.camera.core.impl.ImageCaptureConfig
@@ -30,6 +31,7 @@
import androidx.camera.integration.extensions.utils.CameraSelectorUtil
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.camera.testing.waitForIdle
@@ -41,6 +43,7 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -51,7 +54,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
private const val BASIC_SAMPLE_PACKAGE = "androidx.camera.integration.extensions"
@@ -63,7 +65,9 @@
private val extensionMode: Int
) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt
index 17be3dd..a483822 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/ImageCaptureTest.kt
@@ -19,8 +19,10 @@
import android.Manifest
import android.content.Context
import android.content.Intent
+import androidx.camera.camera2.Camera2Config
import androidx.camera.integration.extensions.util.ExtensionsTestUtil
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.camera.testing.waitForIdle
import androidx.test.core.app.ActivityScenario
@@ -51,7 +53,9 @@
class ImageCaptureTest(private val cameraId: String, private val extensionMode: Int) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val storagePermissionRule =
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewExtenderValidationTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewExtenderValidationTest.kt
index f5bb9db..f707563 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewExtenderValidationTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewExtenderValidationTest.kt
@@ -19,6 +19,7 @@
import android.content.Context
import android.hardware.camera2.CameraCharacteristics
import android.os.Build
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.core.CameraSelector
import androidx.camera.extensions.ExtensionsManager
@@ -31,11 +32,13 @@
import androidx.camera.integration.extensions.utils.CameraSelectorUtil
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.fakes.FakeLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.filters.SdkSuppress
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
@@ -46,7 +49,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.TimeUnit
@SmallTest
@RunWith(Parameterized::class)
@@ -56,7 +58,9 @@
private val extensionMode: Int
) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.kt
index 8669162..221c834 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewProcessorTimestampTest.kt
@@ -23,6 +23,7 @@
import android.os.Handler
import android.os.HandlerThread
import android.util.Size
+import androidx.camera.camera2.Camera2Config
import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.core.CameraFilter
import androidx.camera.core.CameraInfo
@@ -42,6 +43,7 @@
import androidx.camera.integration.extensions.utils.CameraSelectorUtil
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.GLUtil
import androidx.camera.testing.SurfaceTextureProvider
import androidx.camera.testing.SurfaceTextureProvider.SurfaceTextureCallback
@@ -52,6 +54,8 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import junit.framework.AssertionFailedError
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
@@ -65,8 +69,6 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@LargeTest
@RunWith(Parameterized::class)
@@ -76,7 +78,9 @@
private val extensionMode: Int
) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val context = ApplicationProvider.getApplicationContext<Context>()
diff --git a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt
index 1e59b05..504c0e2 100644
--- a/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt
+++ b/camera/integration-tests/extensionstestapp/src/androidTest/java/androidx/camera/integration/extensions/PreviewTest.kt
@@ -19,8 +19,10 @@
import android.Manifest
import android.content.Context
import android.content.Intent
+import androidx.camera.camera2.Camera2Config
import androidx.camera.integration.extensions.util.ExtensionsTestUtil
import androidx.camera.testing.CameraUtil
+import androidx.camera.testing.CameraUtil.PreTestCameraIdList
import androidx.camera.testing.CoreAppTestUtil
import androidx.camera.testing.waitForIdle
import androidx.test.core.app.ActivityScenario
@@ -48,7 +50,9 @@
class PreviewTest(private val cameraId: String, private val extensionMode: Int) {
@get:Rule
- val useCamera = CameraUtil.grantCameraPermissionAndPreTest()
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val storagePermissionRule =
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt
index 3ee32c0..5d45ab8 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageAnalysisBaseTest.kt
@@ -18,6 +18,7 @@
import android.content.Context
import android.content.Intent
+import androidx.camera.camera2.Camera2Config
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.testing.CameraUtil
import androidx.camera.testing.CoreAppTestUtil
@@ -28,11 +29,10 @@
import androidx.test.uiautomator.UiDevice
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.TimeUnit
import org.junit.Assume
import org.junit.BeforeClass
import org.junit.Rule
-import org.junit.rules.TestRule
-import java.util.concurrent.TimeUnit
/**
* Base class for rotation image analysis tests.
@@ -47,7 +47,9 @@
abstract class ImageAnalysisBaseTest<A : CameraActivity> {
@get:Rule
- val mUseCameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest(testCameraRule)
+ val useCameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ testCameraRule, CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val mCameraActivityRules: GrantPermissionRule =
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt
index 3f6c5ca..025cb71 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/rotations/ImageCaptureBaseTest.kt
@@ -21,6 +21,7 @@
import android.os.Build
import android.os.Environment
import android.view.View
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.integration.uiwidgets.R
import androidx.camera.lifecycle.ProcessCameraProvider
@@ -34,12 +35,11 @@
import androidx.testutils.withActivity
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.TimeUnit
import org.junit.Assume.assumeFalse
import org.junit.Assume.assumeTrue
import org.junit.BeforeClass
import org.junit.Rule
-import org.junit.rules.TestRule
-import java.util.concurrent.TimeUnit
/**
* Base class for rotation image capture tests.
@@ -56,7 +56,9 @@
abstract class ImageCaptureBaseTest<A : CameraActivity> {
@get:Rule
- val mUseCameraRule: TestRule = CameraUtil.grantCameraPermissionAndPreTest(testCameraRule)
+ val useCameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ testCameraRule, CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val mCameraActivityRules: GrantPermissionRule =
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPager2ActivityTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPager2ActivityTest.kt
index 09aa803..2eac455 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPager2ActivityTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPager2ActivityTest.kt
@@ -21,6 +21,7 @@
import android.graphics.SurfaceTexture
import android.view.TextureView
import android.view.View
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.integration.uiwidgets.R
import androidx.camera.testing.CameraUtil
@@ -39,6 +40,8 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.async
import kotlinx.coroutines.runBlocking
@@ -46,11 +49,8 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@RunWith(Parameterized::class)
@LargeTest
@@ -70,7 +70,9 @@
}
@get:Rule
- val mUseCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest(testCameraRule)
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ testCameraRule, CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val mDevice =
UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
diff --git a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt
index f609ccc..99c9316 100644
--- a/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt
+++ b/camera/integration-tests/uiwidgetstestapp/src/androidTest/java/androidx/camera/integration/uiwidgets/viewpager/ViewPagerActivityTest.kt
@@ -21,6 +21,7 @@
import android.graphics.SurfaceTexture
import android.view.TextureView
import android.view.View
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.integration.uiwidgets.R
import androidx.camera.testing.CameraUtil
@@ -39,6 +40,8 @@
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.async
import kotlinx.coroutines.runBlocking
@@ -46,11 +49,8 @@
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
@RunWith(Parameterized::class)
@LargeTest
@@ -70,7 +70,9 @@
}
@get:Rule
- val mUseCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest(testCameraRule)
+ val useCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ testCameraRule, CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
private val mDevice =
UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
diff --git a/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/CameraControllerFragmentTest.kt b/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/CameraControllerFragmentTest.kt
index 1716025..28fe8db 100644
--- a/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/CameraControllerFragmentTest.kt
+++ b/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/CameraControllerFragmentTest.kt
@@ -24,6 +24,7 @@
import android.net.Uri
import android.os.Build
import android.view.Surface
+import androidx.camera.camera2.Camera2Config
import androidx.camera.core.CameraSelector
import androidx.camera.core.ImageAnalysis
import androidx.camera.core.ImageCapture
@@ -57,6 +58,8 @@
import com.google.common.collect.ImmutableList
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.Semaphore
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Assert
import org.junit.Assume
@@ -65,10 +68,7 @@
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
-import org.junit.rules.TestRule
import org.junit.runner.RunWith
-import java.util.concurrent.Semaphore
-import java.util.concurrent.TimeUnit
/**
* Instrument tests for [CameraControllerFragment].
@@ -93,7 +93,10 @@
}
@get:Rule
- val useCamera: TestRule = CameraUtil.grantCameraPermissionAndPreTest(testCameraRule)
+ val useCameraRule = CameraUtil.grantCameraPermissionAndPreTest(
+ testCameraRule,
+ CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ )
@get:Rule
val grantPermissionRule: GrantPermissionRule = GrantPermissionRule.grant(
diff --git a/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.java b/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.java
index 1a73700..36841e3 100644
--- a/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.java
+++ b/camera/integration-tests/viewtestapp/src/androidTest/java/androidx/camera/integration/view/PreviewViewFragmentTest.java
@@ -27,6 +27,7 @@
import android.app.Instrumentation;
import androidx.annotation.NonNull;
+import androidx.camera.camera2.Camera2Config;
import androidx.camera.core.CameraSelector;
import androidx.camera.testing.CameraUtil;
import androidx.camera.testing.CoreAppTestUtil;
@@ -58,7 +59,9 @@
private static final int PREVIEW_UPDATE_COUNT = 30;
@Rule
- public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest();
+ public TestRule mUseCamera = CameraUtil.grantCameraPermissionAndPreTest(
+ new CameraUtil.PreTestCameraIdList(Camera2Config.defaultConfig())
+ );
@Rule
public GrantPermissionRule mStoragePermissionRule =