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 af200e682777..5e4a6b9ffe6e 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 @@ -4,9 +4,10 @@ import 'dart:async'; +import 'package:camera_platform_interface/src/method_channel/method_channel_camera.dart'; +import 'package:file_selector_platform_interface/file_selector_platform_interface.dart'; import 'package:flutter/widgets.dart'; import 'package:plugin_platform_interface/plugin_platform_interface.dart'; -import 'package:camera_platform_interface/src/method_channel/method_channel_camera.dart'; import '../../camera_platform_interface.dart'; @@ -66,8 +67,8 @@ abstract class CameraPlatform extends PlatformInterface { throw UnimplementedError('onCameraError() is not implemented.'); } - /// Captures an image and saves it to [path]. - Future takePicture(int cameraId, String path) { + /// Captures an image and returns the file where it was saved. + Future takePicture(int cameraId) { throw UnimplementedError('takePicture() is not implemented.'); } @@ -76,19 +77,19 @@ abstract class CameraPlatform extends PlatformInterface { throw UnimplementedError('prepareForVideoRecording() is not implemented.'); } - /// Start a video recording and save the file to [path]. - /// - /// A path can for example be obtained using - /// [path_provider](https://pub.dartlang.org/packages/path_provider). + /// Starts a video recording and returns the file where it will be saved. /// /// The file is written on the flight as the video is being recorded. - /// If a file already exists at the provided path an error will be thrown. /// The file can be read as soon as [stopVideoRecording] returns. - Future startVideoRecording(int cameraId, String path) { + Future startVideoRecording(int cameraId) { throw UnimplementedError('startVideoRecording() is not implemented.'); } - /// Stop the video recording. + /// Stops the video recording. + /// + /// When the [stopVideoRecording] method completes successfully the recorded + /// video can be accessed through the file returned by the + /// [startVideoRecording] method. Future stopVideoRecording(int cameraId) { throw UnimplementedError('stopVideoRecording() is not implemented.'); } diff --git a/packages/camera/camera_platform_interface/pubspec.yaml b/packages/camera/camera_platform_interface/pubspec.yaml index 4d6f4733927c..1316e35f0706 100644 --- a/packages/camera/camera_platform_interface/pubspec.yaml +++ b/packages/camera/camera_platform_interface/pubspec.yaml @@ -10,6 +10,7 @@ dependencies: sdk: flutter meta: ^1.0.5 plugin_platform_interface: ^1.0.1 + file_selector_platform_interface: ^1.0.0 dev_dependencies: flutter_test: 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 fff072ff1f1f..bccdf3a86abd 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 @@ -156,7 +156,7 @@ void main() { // Act & Assert expect( - () => cameraPlatform.startVideoRecording(1, null), + () => cameraPlatform.startVideoRecording(1), throwsUnimplementedError, ); }); @@ -182,7 +182,7 @@ void main() { // Act & Assert expect( - () => cameraPlatform.takePicture(1, null), + () => cameraPlatform.takePicture(1), throwsUnimplementedError, ); });