Merge "Enable StreamSharing feature" into androidx-main
diff --git a/camera/camera-core/src/main/java/androidx/camera/core/internal/CameraUseCaseAdapter.java b/camera/camera-core/src/main/java/androidx/camera/core/internal/CameraUseCaseAdapter.java
index ee71415..f6b3836 100644
--- a/camera/camera-core/src/main/java/androidx/camera/core/internal/CameraUseCaseAdapter.java
+++ b/camera/camera-core/src/main/java/androidx/camera/core/internal/CameraUseCaseAdapter.java
@@ -90,7 +90,6 @@
private final UseCaseConfigFactory mUseCaseConfigFactory;
private static final String TAG = "CameraUseCaseAdapter";
- private boolean mStreamSharingEnabled = false;
private final CameraId mId;
@@ -279,7 +278,7 @@
// resolution. Throw exception here if (applyStreamSharing == false), both video
// and preview are used and preview resolution is lower than user configuration.
} catch (IllegalArgumentException exception) {
- if (!applyStreamSharing && mStreamSharingEnabled && hasNoExtension()) {
+ if (!applyStreamSharing && hasNoExtension()) {
// Try again and see if StreamSharing resolves the issue.
updateUseCases(appUseCases, /*applyStreamSharing*/true);
return;
@@ -870,9 +869,4 @@
private ImageCapture createExtraImageCapture() {
return new ImageCapture.Builder().setTargetName("ImageCapture-Extra").build();
}
-
- @VisibleForTesting
- void setStreamSharingEnabled(boolean streamSharingEnabled) {
- mStreamSharingEnabled = streamSharingEnabled;
- }
}
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/internal/CameraUseCaseAdapterTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/internal/CameraUseCaseAdapterTest.kt
index d8c9c75..898c3b7 100644
--- a/camera/camera-core/src/test/java/androidx/camera/core/internal/CameraUseCaseAdapterTest.kt
+++ b/camera/camera-core/src/test/java/androidx/camera/core/internal/CameraUseCaseAdapterTest.kt
@@ -122,7 +122,6 @@
@Test
fun attachAndDetachUseCases_cameraUseCasesAttachedAndDetached() {
// Arrange: bind UseCases that requires sharing.
- adapter.setStreamSharingEnabled(true)
adapter.addUseCases(setOf(preview, video, image))
val streamSharing =
adapter.cameraUseCases.filterIsInstance(StreamSharing::class.java).single()
@@ -138,8 +137,6 @@
@Test(expected = CameraException::class)
fun addStreamSharing_throwsException() {
- // Arrange.
- adapter.setStreamSharingEnabled(true)
val streamSharing = StreamSharing(fakeCamera, setOf(preview, video), useCaseConfigFactory)
// Act: add use cases that can only be supported with StreamSharing
adapter.addUseCases(setOf(streamSharing, video, image))
@@ -147,8 +144,6 @@
@Test
fun invalidUseCaseCombo_streamSharingOn() {
- // Arrange.
- adapter.setStreamSharingEnabled(true)
// Act: add use cases that can only be supported with StreamSharing
adapter.addUseCases(setOf(preview, video, image))
// Assert: StreamSharing is connected to camera.
@@ -168,8 +163,6 @@
@Test
fun validUseCaseCombo_streamSharingOff() {
- // Arrange.
- adapter.setStreamSharingEnabled(true)
// Act: add use cases that do not need StreamSharing
adapter.addUseCases(setOf(preview, video))
// Assert: the app UseCase are connected to camera.
@@ -184,7 +177,6 @@
@Test(expected = CameraException::class)
fun invalidUseCaseComboCantBeFixedByStreamSharing_throwsException() {
// Arrange: create a camera that only support one JPEG stream.
- adapter.setStreamSharingEnabled(true)
fakeCameraDeviceSurfaceManager.setValidSurfaceCombos(setOf(listOf(JPEG)))
// Act: add PRIV and JPEG streams.
adapter.addUseCases(setOf(preview, image))
@@ -192,8 +184,6 @@
@Test
fun addChildThatRequiresStreamSharing_streamSharingOn() {
- // Arrange.
- adapter.setStreamSharingEnabled(true)
// Act: add UseCase that do not need StreamSharing
adapter.addUseCases(setOf(video, image))
// Assert.
@@ -223,8 +213,6 @@
@Test
fun removeChildThatRequiresStreamSharing_streamSharingOff() {
- // Arrange.
- adapter.setStreamSharingEnabled(true)
// Act: add UseCases that need StreamSharing.
adapter.addUseCases(setOf(preview, video, image))
// Assert: StreamSharing exists and bound.
@@ -257,15 +245,12 @@
fun extensionEnabled_streamSharingOffAndThrowsException() {
// Arrange: enable extensions
adapter.setExtendedConfig(createCoexistingRequiredRuleCameraConfig())
- adapter.setStreamSharingEnabled(true)
// Act: add UseCases that require StreamSharing
adapter.addUseCases(setOf(preview, video, image))
}
@Test
fun addAdditionalUseCase_streamSharingReused() {
- // Arrange.
- adapter.setStreamSharingEnabled(true)
// Act: add UseCases that require StreamSharing
adapter.addUseCases(setOf(preview, video, image))
// Assert: StreamSharing is used.