Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
743b38d
Merge remote-tracking branch 'upstream/main' into camx_occ
camsim99 May 1, 2023
4427ac6
Undo changes
camsim99 May 10, 2023
3f9cf35
Start wrapping
camsim99 Nov 27, 2023
c37e8cd
Progress, left todo as marker
camsim99 Dec 13, 2023
ad9c29c
More wrapping, start with meteringpoint
camsim99 Dec 13, 2023
8472b7c
Wrapping
camsim99 Dec 26, 2023
886706b
New files
camsim99 Dec 27, 2023
51da157
Finish non cam2 wrpaping
camsim99 Jan 2, 2024
d157b46
Adding tests + docs
camsim99 Jan 3, 2024
4a0872c
More wrapping and tests
camsim99 Jan 4, 2024
aa0f947
More wrapping, tests
camsim99 Jan 5, 2024
05b784d
Final inital wrapping
camsim99 Jan 5, 2024
36257d4
java formatting + fix dart tests
camsim99 Jan 5, 2024
a9af98d
Fix Java classes
camsim99 Jan 8, 2024
4af2266
Get tests running
camsim99 Jan 8, 2024
fb7927b
Fix java tests
camsim99 Jan 8, 2024
b5e974c
Bump version
camsim99 Jan 8, 2024
ba95c41
Self review
camsim99 Jan 9, 2024
c435903
Merge remote-tracking branch 'upstream/main' into camx_cc
camsim99 Jan 9, 2024
be193db
Merge branch 'main' into camx_cc
camsim99 Jan 9, 2024
2e69a9c
Nits
camsim99 Jan 9, 2024
cc4ecee
Merge remote-tracking branch 'refs/remotes/origin/camx_cc' into camx_cc
camsim99 Jan 9, 2024
643fabb
lint
camsim99 Jan 9, 2024
36d9a2e
Update packages/camera/camera_android_camerax/pigeons/camerax_library…
camsim99 Jan 24, 2024
92157c4
Update packages/camera/camera_android_camerax/android/src/test/java/i…
camsim99 Jan 24, 2024
9977463
Update packages/camera/camera_android_camerax/lib/src/camera_control.…
camsim99 Jan 24, 2024
469d0cd
Merge remote-tracking branch 'upstream/main' into camx_cc
camsim99 Jan 24, 2024
cdfd98c
format
camsim99 Jan 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix java tests
  • Loading branch information
camsim99 committed Jan 8, 2024
commit fb7927b69cc77ba3735a14145bd012c33b8fd901
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ public void setUp(
binaryMessenger, new FallbackStrategyHostApiImpl(instanceManager));
GeneratedCameraXLibrary.QualitySelectorHostApi.setup(
binaryMessenger, new QualitySelectorHostApiImpl(instanceManager));
cameraControlHostApiImpl = new CameraControlHostApiImpl(binaryMessenger, instanceManager, context);
cameraControlHostApiImpl =
new CameraControlHostApiImpl(binaryMessenger, instanceManager, context);
GeneratedCameraXLibrary.CameraControlHostApi.setup(binaryMessenger, cameraControlHostApiImpl);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.camera.core.CameraControl;
import androidx.camera.core.CameraInfo;
import androidx.camera.core.FocusMeteringAction;
import androidx.camera.core.FocusMeteringResult;
import androidx.core.content.ContextCompat;
Expand Down Expand Up @@ -165,7 +164,9 @@ public void onFailure(Throwable t) {
* @param instanceManager maintains instances stored to communicate with attached Dart objects
*/
public CameraControlHostApiImpl(
@NonNull BinaryMessenger binaryMessenger, @NonNull InstanceManager instanceManager, @NonNull Context context) {
@NonNull BinaryMessenger binaryMessenger,
@NonNull InstanceManager instanceManager,
@NonNull Context context) {
this(binaryMessenger, instanceManager, new CameraControlProxy(), context);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ public static class FocusMeteringActionProxy {
MeteringPoint firstMeteringPoint = meteringPoints.get(0);
Integer firstMeteringPointMode = meteringPointModes.get(0);
if (firstMeteringPointMode == null) {
focusMeteringActionBuilder = getFocusMeteringActionBuilder(firstMeteringPoint);
focusMeteringActionBuilder = getFocusMeteringActionBuilder(firstMeteringPoint);
} else {
focusMeteringActionBuilder = getFocusMeteringActionBuilder(firstMeteringPoint, firstMeteringPointMode);
focusMeteringActionBuilder =
getFocusMeteringActionBuilder(firstMeteringPoint, firstMeteringPointMode);
}

// Add any additional metering points in order as specified by input lists.
Expand Down Expand Up @@ -103,7 +104,8 @@ public void create(
final List<Integer> meteringPointModes = new ArrayList<Integer>();
for (MeteringPointInfo meteringPointInfo : meteringPointInfos) {
meteringPoints.add(instanceManager.getInstance(meteringPointInfo.getMeteringPointId()));
meteringPointModes.add(meteringPointInfo.getMeteringMode().intValue());
Long meteringPointMode = meteringPointInfo.getMeteringMode();
meteringPointModes.add(meteringPointMode == null ? null : meteringPointMode.intValue());
}

instanceManager.addDartCreatedInstance(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ public void tearDown() {
public void enableTorch_turnsTorchModeOnAndOffAsExpected() {
try (MockedStatic<Futures> mockedFutures = Mockito.mockStatic(Futures.class)) {
final CameraControlHostApiImpl cameraControlHostApiImpl =
new CameraControlHostApiImpl(mockBinaryMessenger, testInstanceManager, mock(Context.class));
new CameraControlHostApiImpl(
mockBinaryMessenger, testInstanceManager, mock(Context.class));
final Long cameraControlIdentifier = 88L;
final boolean enableTorch = true;

Expand Down Expand Up @@ -103,7 +104,8 @@ public void enableTorch_turnsTorchModeOnAndOffAsExpected() {
public void setZoomRatio_setsZoomAsExpected() {
try (MockedStatic<Futures> mockedFutures = Mockito.mockStatic(Futures.class)) {
final CameraControlHostApiImpl cameraControlHostApiImpl =
new CameraControlHostApiImpl(mockBinaryMessenger, testInstanceManager, mock(Context.class));
new CameraControlHostApiImpl(
mockBinaryMessenger, testInstanceManager, mock(Context.class));
final Long cameraControlIdentifier = 33L;
final Double zoomRatio = 0.2D;

Expand Down Expand Up @@ -154,7 +156,8 @@ public void setZoomRatio_setsZoomAsExpected() {
public void startFocusAndMetering_startsFocusAndMeteringAsExpected() {
try (MockedStatic<Futures> mockedFutures = Mockito.mockStatic(Futures.class)) {
final CameraControlHostApiImpl cameraControlHostApiImpl =
new CameraControlHostApiImpl(mockBinaryMessenger, testInstanceManager, mock(Context.class));
new CameraControlHostApiImpl(
mockBinaryMessenger, testInstanceManager, mock(Context.class));
final Long cameraControlIdentifier = 90L;
final FocusMeteringAction mockAction = mock(FocusMeteringAction.class);
final Long mockActionId = 44L;
Expand Down Expand Up @@ -216,7 +219,8 @@ public void startFocusAndMetering_startsFocusAndMeteringAsExpected() {
public void cancelFocusAndMetering_cancelFocusAndMeteringAsExpected() {
try (MockedStatic<Futures> mockedFutures = Mockito.mockStatic(Futures.class)) {
final CameraControlHostApiImpl cameraControlHostApiImpl =
new CameraControlHostApiImpl(mockBinaryMessenger, testInstanceManager, mock(Context.class));
new CameraControlHostApiImpl(
mockBinaryMessenger, testInstanceManager, mock(Context.class));
final Long cameraControlIdentifier = 8L;

@SuppressWarnings("unchecked")
Expand Down Expand Up @@ -269,7 +273,8 @@ public void cancelFocusAndMetering_cancelFocusAndMeteringAsExpected() {
public void setExposureCompensationIndex_setsExposureCompensationIndexAsExpected() {
try (MockedStatic<Futures> mockedFutures = Mockito.mockStatic(Futures.class)) {
final CameraControlHostApiImpl cameraControlHostApiImpl =
new CameraControlHostApiImpl(mockBinaryMessenger, testInstanceManager, mock(Context.class));
new CameraControlHostApiImpl(
mockBinaryMessenger, testInstanceManager, mock(Context.class));
final Long cameraControlIdentifier = 53L;
final Long index = 2L;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ public void tearDown() {
}

@Test
public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode() {
public void hostApiCreatecreatesExpectedFocusMeteringActionWithInitialPointThatHasMode() {
FocusMeteringActionHostApiImpl.FocusMeteringActionProxy proxySpy =
spy(new FocusMeteringActionHostApiImpl.FocusMeteringActionProxy());
FocusMeteringActionHostApiImpl hostApi =
new FocusMeteringActionHostApiImpl(testInstanceManager);
new FocusMeteringActionHostApiImpl(testInstanceManager, proxySpy);
final Long focusMeteringActionIdentifier = 43L;

FocusMeteringAction.Builder mockFocusMeteringActionBuilder =
Expand All @@ -65,13 +65,13 @@ public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode
new MeteringPointInfo.Builder()
.setMeteringPointId(mockMeteringPoint1Id)
.setMeteringMode(mockMeteringPoint1Mode.longValue())
.build();
.build();

MeteringPointInfo fakeMeteringPointInfo2 =
new MeteringPointInfo.Builder()
.setMeteringPointId(mockMeteringPoint2Id)
.setMeteringMode(mockMeteringPoint2Mode.longValue())
.build();
.build();

MeteringPointInfo fakeMeteringPointInfo3 =
new MeteringPointInfo.Builder()
Expand All @@ -83,7 +83,8 @@ public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode
testInstanceManager.addDartCreatedInstance(mockMeteringPoint2, mockMeteringPoint2Id);
testInstanceManager.addDartCreatedInstance(mockMeteringPoint3, mockMeteringPoint3Id);

when(proxySpy.getFocusMeteringActionBuilder(mockMeteringPoint1, mockMeteringPoint1Id.intValue()))
when(proxySpy.getFocusMeteringActionBuilder(
mockMeteringPoint1, mockMeteringPoint1Mode.intValue()))
.thenReturn(mockFocusMeteringActionBuilder);
when(mockFocusMeteringActionBuilder.build()).thenReturn(focusMeteringAction);

Expand All @@ -92,18 +93,18 @@ public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode

hostApi.create(focusMeteringActionIdentifier, mockMeteringPointInfos);

verify(mockFocusMeteringActionBuilder.addPoint(mockMeteringPoint2, mockMeteringPoint2Mode));
verify(mockFocusMeteringActionBuilder.addPoint(mockMeteringPoint3));
assertEquals(testInstanceManager.getInstance(focusMeteringActionIdentifier), focusMeteringAction);
verify(mockFocusMeteringActionBuilder).addPoint(mockMeteringPoint2, mockMeteringPoint2Mode);
verify(mockFocusMeteringActionBuilder).addPoint(mockMeteringPoint3);
assertEquals(
testInstanceManager.getInstance(focusMeteringActionIdentifier), focusMeteringAction);
}

@Test
public void
create_createsExpectedFocusMeteringActionWithInitialPointThatDoesNotHaveMode() {
public void hostApiCreatecreatesExpectedFocusMeteringActionWithInitialPointThatDoesNotHaveMode() {
FocusMeteringActionHostApiImpl.FocusMeteringActionProxy proxySpy =
spy(new FocusMeteringActionHostApiImpl.FocusMeteringActionProxy());
FocusMeteringActionHostApiImpl hostApi =
new FocusMeteringActionHostApiImpl(testInstanceManager);
new FocusMeteringActionHostApiImpl(testInstanceManager, proxySpy);
final Long focusMeteringActionIdentifier = 43L;

FocusMeteringAction.Builder mockFocusMeteringActionBuilder =
Expand All @@ -120,7 +121,7 @@ public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode
new MeteringPointInfo.Builder()
.setMeteringPointId(mockMeteringPoint1Id)
.setMeteringMode(null)
.build();
.build();

MeteringPointInfo fakeMeteringPointInfo2 =
new MeteringPointInfo.Builder()
Expand All @@ -131,8 +132,7 @@ public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode
new MeteringPointInfo.Builder()
.setMeteringPointId(mockMeteringPoint3Id)
.setMeteringMode(null)
.build();

.build();

testInstanceManager.addDartCreatedInstance(mockMeteringPoint1, mockMeteringPoint1Id);
testInstanceManager.addDartCreatedInstance(mockMeteringPoint2, mockMeteringPoint2Id);
Expand All @@ -147,8 +147,9 @@ public void create_createsExpectedFocusMeteringActionWithInitialPointThatHasMode

hostApi.create(focusMeteringActionIdentifier, mockMeteringPointInfos);

verify(mockFocusMeteringActionBuilder.addPoint(mockMeteringPoint2, mockMeteringPoint2Mode));
verify(mockFocusMeteringActionBuilder.addPoint(mockMeteringPoint3));
assertEquals(testInstanceManager.getInstance(focusMeteringActionIdentifier), focusMeteringAction);
verify(mockFocusMeteringActionBuilder).addPoint(mockMeteringPoint2, mockMeteringPoint2Mode);
verify(mockFocusMeteringActionBuilder).addPoint(mockMeteringPoint3);
assertEquals(
testInstanceManager.getInstance(focusMeteringActionIdentifier), focusMeteringAction);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,9 @@
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.Context;
import androidx.camera.core.FocusMeteringResult;
import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugins.camerax.GeneratedCameraXLibrary.FocusMeteringResultFlutterApi;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public void tearDown() {
public void hostApiCreate_createsExpectedMeteringPointWithSizeSpecified() {
MeteringPointHostApiImpl.MeteringPointProxy proxySpy =
spy(new MeteringPointHostApiImpl.MeteringPointProxy());
MeteringPointHostApiImpl hostApi = new MeteringPointHostApiImpl(testInstanceManager);
MeteringPointHostApiImpl hostApi = new MeteringPointHostApiImpl(testInstanceManager, proxySpy);
final Long meteringPointIdentifier = 78L;
final Float x = 0.3f;
final Float y = 0.2f;
Expand All @@ -59,21 +59,19 @@ public void hostApiCreate_createsExpectedMeteringPointWithSizeSpecified() {

when(proxySpy.getSurfaceOrientedMeteringPointFactory(surfaceWidth, surfaceHeight))
.thenReturn(mockSurfaceOrientedMeteringPointFactory);
when(mockSurfaceOrientedMeteringPointFactory.createPoint(
x, y, size))
.thenReturn(meteringPoint);
when(mockSurfaceOrientedMeteringPointFactory.createPoint(x, y, size)).thenReturn(meteringPoint);

hostApi.create(meteringPointIdentifier, x.doubleValue(), y.doubleValue(), size.doubleValue());

verify(mockSurfaceOrientedMeteringPointFactory.createPoint(x, y, size));
verify(mockSurfaceOrientedMeteringPointFactory).createPoint(x, y, size);
assertEquals(testInstanceManager.getInstance(meteringPointIdentifier), meteringPoint);
}

@Test
public void hostApiCreate_createsExpectedMeteringPointWithoutSizeSpecified() {
MeteringPointHostApiImpl.MeteringPointProxy proxySpy =
spy(new MeteringPointHostApiImpl.MeteringPointProxy());
MeteringPointHostApiImpl hostApi = new MeteringPointHostApiImpl(testInstanceManager);
MeteringPointHostApiImpl hostApi = new MeteringPointHostApiImpl(testInstanceManager, proxySpy);
final Long meteringPointIdentifier = 78L;
final Float x = 0.3f;
final Float y = 0.2f;
Expand All @@ -84,12 +82,11 @@ public void hostApiCreate_createsExpectedMeteringPointWithoutSizeSpecified() {

when(proxySpy.getSurfaceOrientedMeteringPointFactory(surfaceWidth, surfaceHeight))
.thenReturn(mockSurfaceOrientedMeteringPointFactory);
when(mockSurfaceOrientedMeteringPointFactory.createPoint(x, y))
.thenReturn(meteringPoint);
when(mockSurfaceOrientedMeteringPointFactory.createPoint(x, y)).thenReturn(meteringPoint);

hostApi.create(meteringPointIdentifier, x.doubleValue(), y.doubleValue(), null);

verify(mockSurfaceOrientedMeteringPointFactory.createPoint(x, y));
verify(mockSurfaceOrientedMeteringPointFactory).createPoint(x, y);
assertEquals(testInstanceManager.getInstance(meteringPointIdentifier), meteringPoint);
}

Expand Down