Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 5d1ed48

Browse files
authored
Ensure setExposureOffset returns new value on Android (#4301)
1 parent bafc4ee commit 5d1ed48

File tree

5 files changed

+16
-3
lines changed

5 files changed

+16
-3
lines changed

packages/camera/camera/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.9.2+2
2+
3+
* Ensure that setting the exposure offset returns the new offset value on Android.
4+
15
## 0.9.2+1
26

37
* Fixed camera controller throwing an exception when being replaced in the preview widget.

packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,7 @@ public void setExposureOffset(@NonNull final Result result, double offset) {
906906
exposureOffsetFeature.updateBuilder(previewRequestBuilder);
907907

908908
refreshPreviewCaptureSession(
909-
() -> result.success(null),
909+
() -> result.success(exposureOffsetFeature.getValue()),
910910
(code, message) ->
911911
result.error("setExposureOffsetFailed", "Could not set exposure offset.", null));
912912
}

packages/camera/camera/android/src/test/java/io/flutter/plugins/camera/CameraTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -687,11 +687,13 @@ public void setExposureOffset_shouldUpdateExposureOffsetFeature() {
687687
mockCameraFeatureFactory.createExposureOffsetFeature(mockCameraProperties);
688688
MethodChannel.Result mockResult = mock(MethodChannel.Result.class);
689689

690+
when(mockExposureOffsetFeature.getValue()).thenReturn(1.0);
691+
690692
camera.setExposureOffset(mockResult, 1.0);
691693

692694
verify(mockExposureOffsetFeature, times(1)).setValue(1.0);
693695
verify(mockResult, never()).error(any(), any(), any());
694-
verify(mockResult, times(1)).success(null);
696+
verify(mockResult, times(1)).success(1.0);
695697
}
696698

697699
@Test

packages/camera/camera/example/lib/main.dart

+7
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,13 @@ class _CameraExampleHomeState extends State<CameraExampleHome>
399399
onSetExposureModeButtonPressed(ExposureMode.locked)
400400
: null,
401401
),
402+
TextButton(
403+
child: Text('RESET OFFSET'),
404+
style: styleLocked,
405+
onPressed: controller != null
406+
? () => controller!.setExposureOffset(0.0)
407+
: null,
408+
),
402409
],
403410
),
404411
Center(

packages/camera/camera/pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: A Flutter plugin for getting information about and controlling the
44
and streaming image buffers to dart.
55
repository: https://github.com/flutter/plugins/tree/master/packages/camera/camera
66
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
7-
version: 0.9.2+1
7+
version: 0.9.2+2
88

99
environment:
1010
sdk: ">=2.12.0 <3.0.0"

0 commit comments

Comments
 (0)