From 826145bb21590dc23a457b5b5f9c8e646714ad57 Mon Sep 17 00:00:00 2001 From: Adam Harwood Date: Mon, 21 Nov 2022 15:31:53 +1000 Subject: [PATCH 1/2] Export VideoCaptureOptions so that it is accessible to other packages Also added tests so that missing exports can be more easily tested in the future. --- .../camera_platform_interface/CHANGELOG.md | 4 ++ .../platform_interface/camera_platform.dart | 1 - .../lib/src/types/types.dart | 1 + .../camera_platform_interface/pubspec.yaml | 2 +- .../test/camera_platform_interface_test.dart | 42 +++++++++++++++++++ 5 files changed, 48 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_platform_interface/CHANGELOG.md b/packages/camera/camera_platform_interface/CHANGELOG.md index 3bfc56f3f6e2..9c93cf93887e 100644 --- a/packages/camera/camera_platform_interface/CHANGELOG.md +++ b/packages/camera/camera_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.3.1 + +* Exports VideoCaptureOptions to allow dependencies to implement concurrent stream and record. + ## 2.3.0 * Adds new capture method for a camera to allow concurrent streaming and recording. diff --git a/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart b/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart index d8f8f9ca4cc9..b3e5b8f82afa 100644 --- a/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart +++ b/packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart @@ -11,7 +11,6 @@ import 'package:plugin_platform_interface/plugin_platform_interface.dart'; import '../../camera_platform_interface.dart'; import '../method_channel/method_channel_camera.dart'; -import '../types/video_capture_options.dart'; /// The interface that implementations of camera must implement. /// diff --git a/packages/camera/camera_platform_interface/lib/src/types/types.dart b/packages/camera/camera_platform_interface/lib/src/types/types.dart index 3eb09fcb833c..a8a4f8ca5dc4 100644 --- a/packages/camera/camera_platform_interface/lib/src/types/types.dart +++ b/packages/camera/camera_platform_interface/lib/src/types/types.dart @@ -10,3 +10,4 @@ export 'flash_mode.dart'; export 'focus_mode.dart'; export 'image_format_group.dart'; export 'resolution_preset.dart'; +export 'video_capture_options.dart'; diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml index 7ddc6d561aa4..19642a0c958e 100644 --- a/packages/camera/camera_platform_interface/pubspec.yaml +++ b/packages/camera/camera_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/plugins/tree/main/packages/camera/camera_ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.3.0 +version: 2.3.1 environment: sdk: '>=2.12.0 <3.0.0' diff --git a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart index eab518ce3b23..4284f0d76c02 100644 --- a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart +++ b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart @@ -442,6 +442,48 @@ void main() { ); }); }); + + group('exports', () { + test('CameraDescription is exported', () { + const CameraDescription( + name: 'abc-123', + sensorOrientation: 1, + lensDirection: CameraLensDirection.external); + }); + + test('CameraException is exported', () { + CameraException('1', 'error'); + }); + + test('CameraImageData is exported', () { + const CameraImageData( + width: 1, + height: 1, + format: CameraImageFormat(ImageFormatGroup.bgra8888, raw: 1), + planes: [], + ); + }); + + test('ExposureMode is exported', () { + ExposureMode.auto; + }); + + test('FlashMode is exported', () { + FlashMode.auto; + }); + + test('FocusMode is exported', () { + FocusMode.auto; + }); + + test('ResolutionPreset is exported', () { + ResolutionPreset.high; + }); + + test('VideoCaptureOptions is exported', () { + const VideoCaptureOptions(123); + }); + }); } class ImplementsCameraPlatform implements CameraPlatform { From 3a6664221b27dacf621443c57393bb2c8c16e585 Mon Sep 17 00:00:00 2001 From: Adam Harwood Date: Mon, 21 Nov 2022 15:36:54 +1000 Subject: [PATCH 2/2] Fix dart analyze warnings --- .../test/camera_platform_interface_test.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart index 4284f0d76c02..e3b6858e6d25 100644 --- a/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart +++ b/packages/camera/camera_platform_interface/test/camera_platform_interface_test.dart @@ -460,23 +460,27 @@ void main() { width: 1, height: 1, format: CameraImageFormat(ImageFormatGroup.bgra8888, raw: 1), - planes: [], + planes: [], ); }); test('ExposureMode is exported', () { + // ignore: unnecessary_statements ExposureMode.auto; }); test('FlashMode is exported', () { + // ignore: unnecessary_statements FlashMode.auto; }); test('FocusMode is exported', () { + // ignore: unnecessary_statements FocusMode.auto; }); test('ResolutionPreset is exported', () { + // ignore: unnecessary_statements ResolutionPreset.high; });