From 26e6a0b93b85991643a140904afc4f4c876327bf Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Thu, 27 Nov 2025 02:16:04 -0500 Subject: [PATCH 1/4] update pigeon --- .../main/java/io/flutter/plugins/camerax/CameraXLibrary.g.kt | 4 ++-- .../camera_android_camerax/lib/src/camerax_library.g.dart | 2 +- packages/camera/camera_android_camerax/pubspec.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/CameraXLibrary.g.kt b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/CameraXLibrary.g.kt index 6d283750494..b3eeac7f630 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/CameraXLibrary.g.kt +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/CameraXLibrary.g.kt @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v26.1.0), do not edit directly. +// Autogenerated from Pigeon (v26.1.2), do not edit directly. // See also: https://pub.dev/packages/pigeon @file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") @@ -213,7 +213,7 @@ class CameraXLibraryPigeonInstanceManager( } /** Retrieves the instance associated with identifier, if present, otherwise `null`. */ - fun getInstance(identifier: Long): T? { + fun getInstance(identifier: Long): T? { logWarningIfFinalizationListenerHasStopped() val instance = weakInstances[identifier] as IdentityWeakReference? return instance?.get() diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_library.g.dart b/packages/camera/camera_android_camerax/lib/src/camerax_library.g.dart index 9927f57103e..a0abb4cd345 100644 --- a/packages/camera/camera_android_camerax/lib/src/camerax_library.g.dart +++ b/packages/camera/camera_android_camerax/lib/src/camerax_library.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v26.1.0), do not edit directly. +// Autogenerated from Pigeon (v26.1.2), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index 756c856eba0..29d5de139fc 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -31,7 +31,7 @@ dev_dependencies: sdk: flutter leak_tracker_flutter_testing: any mockito: ^5.4.4 - pigeon: ^26.1.0 + pigeon: ^26.1.2 topics: - camera From 9869d64663f9fa7eb476586650ce6f6ca6f62237 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Sat, 29 Nov 2025 12:43:04 -0500 Subject: [PATCH 2/4] update to pigeonoverrides --- .../camera_android_camerax/CHANGELOG.md | 4 + .../lib/src/android_camera_camerax.dart | 155 +- .../lib/src/camerax_library.dart | 53 +- .../lib/src/camerax_proxy.dart | 838 +-- .../camera_android_camerax/pubspec.yaml | 2 +- .../test/android_camera_camerax_test.dart | 4800 ++++++----------- .../android_camera_camerax_test.mocks.dart | 1715 +----- .../test/preview_rotation_test.dart | 357 +- 8 files changed, 2472 insertions(+), 5452 deletions(-) diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index 256fb9b78c7..7bc21b3bd1b 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.26 + +* Removes internal native library Dart proxy. + ## 0.6.25 * Adds support for `MediaSettings.fps` for camera preview, image streaming, and video recording. diff --git a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart index a74bd444676..ff47fee9fda 100644 --- a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart +++ b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart @@ -13,7 +13,6 @@ import 'package:flutter/services.dart' import 'package:flutter/widgets.dart' show Texture, Widget, visibleForTesting; import 'package:stream_transform/stream_transform.dart'; import 'camerax_library.dart'; -import 'camerax_proxy.dart'; import 'rotated_preview_delegate.dart'; /// The Android implementation of [CameraPlatform] that uses the CameraX library. @@ -26,11 +25,6 @@ class AndroidCameraCameraX extends CameraPlatform { CameraPlatform.instance = AndroidCameraCameraX(); } - /// Proxy for creating `JavaObject`s and calling their methods that require - /// testing. - @visibleForTesting - CameraXProxy proxy = CameraXProxy(); - /// The [ProcessCameraProvider] instance used to access camera functionality. @visibleForTesting ProcessCameraProvider? processCameraProvider; @@ -77,16 +71,16 @@ class AndroidCameraCameraX extends CameraPlatform { String? videoOutputPath; /// Handles access to system resources. - late final SystemServicesManager systemServicesManager = proxy - .newSystemServicesManager( + late final SystemServicesManager systemServicesManager = + SystemServicesManager( onCameraError: (_, String errorDescription) { cameraErrorStreamController.add(errorDescription); }, ); /// Handles retrieving media orientation for a device. - late final DeviceOrientationManager deviceOrientationManager = proxy - .newDeviceOrientationManager( + late final DeviceOrientationManager deviceOrientationManager = + DeviceOrientationManager( onDeviceOrientationChanged: (_, String orientation) { final DeviceOrientation deviceOrientation = _deserializeDeviceOrientation(orientation); @@ -118,8 +112,8 @@ class AndroidCameraCameraX extends CameraPlatform { final StreamQueue videoRecordingEventStreamQueue = StreamQueue(videoRecordingEventStreamController.stream); - late final VideoRecordEventListener _videoRecordingEventListener = proxy - .newVideoRecordEventListener( + late final VideoRecordEventListener _videoRecordingEventListener = + VideoRecordEventListener( onEvent: (_, VideoRecordEvent event) { videoRecordingEventStreamController.add(event); }, @@ -300,11 +294,11 @@ class AndroidCameraCameraX extends CameraPlatform { /// Returns list of all available cameras and their descriptions. @override Future> availableCameras() async { - proxy.setUpGenericsProxy(); + setUpGenerics(); final cameraDescriptions = []; - processCameraProvider ??= await proxy.getInstanceProcessCameraProvider(); + processCameraProvider ??= await ProcessCameraProvider.getInstance(); final List cameraInfos = (await processCameraProvider!.getAvailableCameraInfos()).cast(); @@ -316,15 +310,13 @@ class AndroidCameraCameraX extends CameraPlatform { for (final cameraInfo in cameraInfos) { // Determine the lens direction by filtering the CameraInfo // TODO(gmackall): replace this with call to CameraInfo.getLensFacing when changes containing that method are available - if ((await proxy - .newCameraSelector(requireLensFacing: LensFacing.back) - .filter([cameraInfo])) - .isNotEmpty) { + if ((await CameraSelector( + requireLensFacing: LensFacing.back, + ).filter([cameraInfo])).isNotEmpty) { cameraLensDirection = CameraLensDirection.back; - } else if ((await proxy - .newCameraSelector(requireLensFacing: LensFacing.front) - .filter([cameraInfo])) - .isNotEmpty) { + } else if ((await CameraSelector( + requireLensFacing: LensFacing.front, + ).filter([cameraInfo])).isNotEmpty) { cameraLensDirection = CameraLensDirection.front; } else { //Skip this CameraInfo as its lens direction is unknown @@ -399,9 +391,7 @@ class AndroidCameraCameraX extends CameraPlatform { final LensFacing cameraSelectorLensDirection = _getCameraSelectorLensDirection(cameraDescription.lensDirection); cameraIsFrontFacing = cameraSelectorLensDirection == LensFacing.front; - cameraSelector = proxy.newCameraSelector( - cameraInfoForFilter: chosenCameraInfo, - ); + cameraSelector = CameraSelector(cameraInfoForFilter: chosenCameraInfo); // Start listening for device orientation changes preceding camera creation. unawaited( deviceOrientationManager.startListeningForDeviceOrientationChange(), @@ -421,11 +411,11 @@ class AndroidCameraCameraX extends CameraPlatform { _getQualitySelectorFromPreset(mediaSettings?.resolutionPreset); // Retrieve a fresh ProcessCameraProvider instance. - processCameraProvider ??= await proxy.getInstanceProcessCameraProvider(); + processCameraProvider ??= await ProcessCameraProvider.getInstance(); unawaited(processCameraProvider!.unbindAll()); // Configure Preview instance. - preview = proxy.newPreview( + preview = Preview( resolutionSelector: _presetResolutionSelector, targetFpsRange: _targetFpsRange, /* use CameraX default target rotation */ targetRotation: null, @@ -435,15 +425,15 @@ class AndroidCameraCameraX extends CameraPlatform { ); // Configure ImageCapture instance. - imageCapture = proxy.newImageCapture( + imageCapture = ImageCapture( resolutionSelector: _presetResolutionSelector, /* use CameraX default target rotation */ targetRotation: await deviceOrientationManager.getDefaultDisplayRotation(), ); // Configure VideoCapture and Recorder instances. - recorder = proxy.newRecorder(qualitySelector: presetQualitySelector); - videoCapture = proxy.withOutputVideoCapture( + recorder = Recorder(qualitySelector: presetQualitySelector); + videoCapture = VideoCapture.withOutput( videoOutput: recorder!, targetFpsRange: _targetFpsRange, ); @@ -491,7 +481,7 @@ class AndroidCameraCameraX extends CameraPlatform { // Defaults to YUV_420_888 image format. _imageAnalysisOutputImageFormat = _imageAnalysisOutputFormatFromImageFormatGroup(imageFormatGroup); - imageAnalysis = proxy.newImageAnalysis( + imageAnalysis = ImageAnalysis( resolutionSelector: _presetResolutionSelector, targetFpsRange: _targetFpsRange, outputImageFormat: _imageAnalysisOutputImageFormat, @@ -704,12 +694,11 @@ class AndroidCameraCameraX extends CameraPlatform { // If there isn't, lock center of entire sensor area by default. if (lockedFocusPoint == null) { - final DisplayOrientedMeteringPointFactory meteringPointFactory = proxy - .newDisplayOrientedMeteringPointFactory( - cameraInfo: cameraInfo!, - width: 1, - height: 1, - ); + final meteringPointFactory = DisplayOrientedMeteringPointFactory( + cameraInfo: cameraInfo!, + width: 1, + height: 1, + ); lockedFocusPoint = await meteringPointFactory.createPointWithSize( 0.5, 0.5, @@ -853,17 +842,16 @@ class AndroidCameraCameraX extends CameraPlatform { /// [cameraId] is not used. @override Future setExposureMode(int cameraId, ExposureMode mode) async { - final Camera2CameraControl camera2Control = proxy.fromCamera2CameraControl( + final Camera2CameraControl camera2Control = Camera2CameraControl.from( cameraControl: cameraControl, ); final lockExposureMode = mode == ExposureMode.locked; - final CaptureRequestOptions captureRequestOptions = proxy - .newCaptureRequestOptions( - options: { - proxy.controlAELockCaptureRequest(): lockExposureMode, - }, - ); + final CaptureRequestOptions captureRequestOptions = CaptureRequestOptions( + options: { + CaptureRequest.controlAELock: lockExposureMode, + }, + ); try { await camera2Control.addCaptureRequestOptions(captureRequestOptions); @@ -964,9 +952,7 @@ class AndroidCameraCameraX extends CameraPlatform { final LensFacing cameraSelectorLensDirection = _getCameraSelectorLensDirection(description.lensDirection); cameraIsFrontFacing = cameraSelectorLensDirection == LensFacing.front; - cameraSelector = proxy.newCameraSelector( - cameraInfoForFilter: chosenCameraInfo, - ); + cameraSelector = CameraSelector(cameraInfoForFilter: chosenCameraInfo); // Unbind all use cases and rebind to new CameraSelector final useCases = [videoCapture!]; @@ -1149,12 +1135,10 @@ class AndroidCameraCameraX extends CameraPlatform { // the preview must be paused in order to allow those concurrently. See // https://developer.android.com/media/camera/camerax/architecture#combine-use-cases // for more information on supported concurrent camera use cases. - final Camera2CameraInfo camera2CameraInfo = proxy.fromCamera2CameraInfo( - cameraInfo: cameraInfo!, - ); + final camera2CameraInfo = Camera2CameraInfo.from(cameraInfo: cameraInfo!); final cameraInfoSupportedHardwareLevel = (await camera2CameraInfo.getCameraCharacteristic( - proxy.infoSupportedHardwareLevelCameraCharacteristics(), + CameraCharacteristics.infoSupportedHardwareLevel, ))! as InfoSupportedHardwareLevel; @@ -1362,7 +1346,7 @@ class AndroidCameraCameraX extends CameraPlatform { // Convert three generically YUV_420_888 formatted image planes into one singular // NV21 formatted image plane if NV21 was requested for image streaming. The conversion // should be null safe. - final Uint8List? bytes = await proxy.getNv21BufferImageProxyUtils( + final Uint8List bytes = await ImageProxyUtils.getNv21Buffer( imageProxy.width, imageProxy.height, planes, @@ -1370,7 +1354,7 @@ class AndroidCameraCameraX extends CameraPlatform { cameraImagePlanes.add( CameraImagePlane( - bytes: bytes!, + bytes: bytes, bytesPerRow: imageProxy.width, // NV21 has 1.5 bytes per pixel (Y plane has width * height; VU plane has width * height / 2), // but this is rounded up because an int is expected. camera_android reports the same. @@ -1421,7 +1405,7 @@ class AndroidCameraCameraX extends CameraPlatform { } await imageAnalysis!.setAnalyzer( - proxy.newAnalyzer(analyze: (_, ImageProxy image) => analyze(image)), + Analyzer(analyze: (_, ImageProxy image) => analyze(image)), ); } @@ -1542,7 +1526,7 @@ class AndroidCameraCameraX extends CameraPlatform { } } - return proxy.newObserver( + return Observer( onChanged: (_, CameraState value) => onChanged(value), ); } @@ -1596,47 +1580,43 @@ class AndroidCameraCameraX extends CameraPlatform { ResolutionStrategy? resolutionStrategy; switch (preset) { case ResolutionPreset.low: - boundSize = proxy.newCameraSize(width: 320, height: 240); + boundSize = CameraSize(width: 320, height: 240); aspectRatio = AspectRatio.ratio4To3; case ResolutionPreset.medium: - boundSize = proxy.newCameraSize(width: 720, height: 480); + boundSize = CameraSize(width: 720, height: 480); case ResolutionPreset.high: - boundSize = proxy.newCameraSize(width: 1280, height: 720); + boundSize = CameraSize(width: 1280, height: 720); aspectRatio = AspectRatio.ratio16To9; case ResolutionPreset.veryHigh: - boundSize = proxy.newCameraSize(width: 1920, height: 1080); + boundSize = CameraSize(width: 1920, height: 1080); aspectRatio = AspectRatio.ratio16To9; case ResolutionPreset.ultraHigh: - boundSize = proxy.newCameraSize(width: 3840, height: 2160); + boundSize = CameraSize(width: 3840, height: 2160); aspectRatio = AspectRatio.ratio16To9; case ResolutionPreset.max: // Automatically set strategy to choose highest available. - resolutionStrategy = proxy.highestAvailableStrategyResolutionStrategy(); - return proxy.newResolutionSelector( - resolutionStrategy: resolutionStrategy, - ); + resolutionStrategy = ResolutionStrategy.highestAvailableStrategy; + return ResolutionSelector(resolutionStrategy: resolutionStrategy); case null: // If no preset is specified, default to CameraX's default behavior // for each UseCase. return null; } - resolutionStrategy = proxy.newResolutionStrategy( - boundSize: proxy.newCameraSize( - width: boundSize.width, - height: boundSize.height, - ), + resolutionStrategy = ResolutionStrategy( + boundSize: CameraSize(width: boundSize.width, height: boundSize.height), fallbackRule: fallbackRule, ); - final ResolutionFilter resolutionFilter = proxy - .createWithOnePreferredSizeResolutionFilter(preferredSize: boundSize); + final resolutionFilter = ResolutionFilter.createWithOnePreferredSize( + preferredSize: boundSize, + ); final AspectRatioStrategy? aspectRatioStrategy = aspectRatio == null ? null - : proxy.newAspectRatioStrategy( + : AspectRatioStrategy( preferredAspectRatio: aspectRatio, fallbackRule: AspectRatioStrategyFallbackRule.auto, ); - return proxy.newResolutionSelector( + return ResolutionSelector( resolutionStrategy: resolutionStrategy, resolutionFilter: resolutionFilter, aspectRatioStrategy: aspectRatioStrategy, @@ -1671,10 +1651,11 @@ class AndroidCameraCameraX extends CameraPlatform { // We will choose the next highest video quality if the one desired // is unavailable. - final FallbackStrategy fallbackStrategy = proxy - .lowerQualityOrHigherThanFallbackStrategy(quality: videoQuality); + final fallbackStrategy = FallbackStrategy.lowerQualityOrHigherThan( + quality: videoQuality, + ); - return proxy.fromQualitySelector( + return QualitySelector.from( quality: videoQuality, fallbackStrategy: fallbackStrategy, ); @@ -1696,8 +1677,8 @@ class AndroidCameraCameraX extends CameraPlatform { ); } - final DisplayOrientedMeteringPointFactory meteringPointFactory = proxy - .newDisplayOrientedMeteringPointFactory( + final DisplayOrientedMeteringPointFactory meteringPointFactory = + DisplayOrientedMeteringPointFactory( width: 1.0, height: 1.0, cameraInfo: cameraInfo!, @@ -1772,11 +1753,10 @@ class AndroidCameraCameraX extends CameraPlatform { return true; } // Create builder to potentially add more MeteringPoints to. - final FocusMeteringActionBuilder actionBuilder = proxy - .withModeFocusMeteringActionBuilder( - point: newMeteringPointInfos.first.$1, - mode: newMeteringPointInfos.first.$2, - ); + final actionBuilder = FocusMeteringActionBuilder.withMode( + point: newMeteringPointInfos.first.$1, + mode: newMeteringPointInfos.first.$2, + ); if (disableAutoCancel) { unawaited(actionBuilder.disableAutoCancel()); } @@ -1812,11 +1792,10 @@ class AndroidCameraCameraX extends CameraPlatform { newMeteringPointInfos.add((meteringPoint, meteringMode)); - final FocusMeteringActionBuilder actionBuilder = proxy - .withModeFocusMeteringActionBuilder( - point: newMeteringPointInfos.first.$1, - mode: newMeteringPointInfos.first.$2, - ); + final actionBuilder = FocusMeteringActionBuilder.withMode( + point: newMeteringPointInfos.first.$1, + mode: newMeteringPointInfos.first.$2, + ); if (disableAutoCancel) { unawaited(actionBuilder.disableAutoCancel()); diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_library.dart b/packages/camera/camera_android_camerax/lib/src/camerax_library.dart index ba884275d35..12f34c846de 100644 --- a/packages/camera/camera_android_camerax/lib/src/camerax_library.dart +++ b/packages/camera/camera_android_camerax/lib/src/camerax_library.dart @@ -9,6 +9,29 @@ import 'camerax_library.g.dart' as camerax; export 'camerax_library.g.dart' hide CameraInfo, LiveData, Observer; +/// Provides overrides for the constructors and static members of classes that +/// extend Dart proxy classes. +/// +/// Intended to be similar to [camerax.PigeonOverrides]. +/// +/// This is only intended to be used with unit tests to prevent errors from +/// making message calls in a unit test. +/// +/// See [GenericsPigeonOverrides.reset] to set all overrides back to null. +@visibleForTesting +final class GenericsPigeonOverrides { + /// Overrides [Observer.new]. + static Observer Function({ + required void Function(Observer pigeonInstance, T value) onChanged, + })? + observerNew; + + /// Sets all overridden ProxyApi class members to null. + void reset() { + observerNew = null; + } +} + /// Handles adding support for generics to the API wrapper. /// /// APIs wrapped with the pigeon ProxyAPI system doesn't support generics, so @@ -24,13 +47,11 @@ void setUpGenerics({ return LiveData.detached( type: type, pigeon_binaryMessenger: pigeonBinaryMessenger, - pigeon_instanceManager: pigeonInstanceManager, ); case camerax.LiveDataSupportedType.zoomState: return LiveData.detached( type: type, pigeon_binaryMessenger: pigeonBinaryMessenger, - pigeon_instanceManager: pigeonInstanceManager, ); } }, @@ -43,7 +64,6 @@ void setUpGenerics({ sensorRotationDegrees: sensorRotationDegrees, exposureState: exposureState, pigeon_binaryMessenger: pigeonBinaryMessenger, - pigeon_instanceManager: pigeonInstanceManager, ); }, ); @@ -87,8 +107,6 @@ class CameraInfo extends camerax.CameraInfo { required super.exposureState, // ignore: non_constant_identifier_names super.pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - super.pigeon_instanceManager, }) : super.pigeon_detached(); @override @@ -108,7 +126,6 @@ class CameraInfo extends camerax.CameraInfo { sensorRotationDegrees: sensorRotationDegrees, exposureState: exposureState, pigeon_binaryMessenger: pigeon_binaryMessenger, - pigeon_instanceManager: pigeon_instanceManager, ); } } @@ -130,8 +147,6 @@ class LiveData extends camerax.LiveData { required super.type, // ignore: non_constant_identifier_names super.pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - super.pigeon_instanceManager, }) : super.pigeon_detached(); @override @@ -150,7 +165,6 @@ class LiveData extends camerax.LiveData { return LiveData.detached( type: type, pigeon_binaryMessenger: pigeon_binaryMessenger, - pigeon_instanceManager: pigeon_instanceManager, ); } } @@ -159,13 +173,25 @@ class LiveData extends camerax.LiveData { /// /// See https://developer.android.com/reference/androidx/lifecycle/Observer. class Observer extends camerax.Observer { + factory Observer({ + BinaryMessenger? pigeon_binaryMessenger, + required void Function(Observer pigeon_instance, T value) onChanged, + }) { + if (GenericsPigeonOverrides.observerNew != null) { + return GenericsPigeonOverrides.observerNew!(onChanged: onChanged); + } + return Observer.pigeonNew( + pigeon_binaryMessenger: pigeon_binaryMessenger, + onChanged: onChanged, + ); + } + /// Constructs an [Observer]. - Observer({ + @protected + Observer.pigeonNew({ required void Function(Observer instance, T value) onChanged, // ignore: non_constant_identifier_names super.pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - super.pigeon_instanceManager, }) : _genericOnChanged = onChanged, super.pigeon_new( onChanged: (camerax.Observer instance, Object value) { @@ -181,8 +207,6 @@ class Observer extends camerax.Observer { required void Function(Observer instance, T value) onChanged, // ignore: non_constant_identifier_names super.pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - super.pigeon_instanceManager, }) : _genericOnChanged = onChanged, super.pigeon_detached( onChanged: (camerax.Observer instance, Object value) { @@ -198,7 +222,6 @@ class Observer extends camerax.Observer { return Observer.detached( onChanged: _genericOnChanged, pigeon_binaryMessenger: pigeon_binaryMessenger, - pigeon_instanceManager: pigeon_instanceManager, ); } } diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart b/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart index 0b8da14861f..af81ef44a47 100644 --- a/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart +++ b/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart @@ -1,419 +1,419 @@ -// Copyright 2013 The Flutter Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/services.dart'; - -// ignore_for_file: non_constant_identifier_names - -import 'camerax_library.dart'; - -/// Handles constructing objects and calling static methods for the Android -/// Interactive Media Ads native library. -/// -/// This class provides dependency injection for the implementations of the -/// platform interface classes. Improving the ease of unit testing and/or -/// overriding the underlying Android classes. -/// -/// By default each function calls the default constructor of the class it -/// intends to return. -class CameraXProxy { - /// Constructs an [CameraXProxy]. - CameraXProxy({ - this.setUpGenericsProxy = setUpGenerics, - this.newCameraSize = CameraSize.new, - this.newCameraIntegerRange = CameraIntegerRange.new, - this.newObserver = Observer.new, - this.newCameraSelector = CameraSelector.new, - this.newSystemServicesManager = SystemServicesManager.new, - this.newDeviceOrientationManager = DeviceOrientationManager.new, - this.newPreview = Preview.new, - this.withOutputVideoCapture = VideoCapture.withOutput, - this.newRecorder = Recorder.new, - this.newVideoRecordEventListener = VideoRecordEventListener.new, - this.newImageCapture = ImageCapture.new, - this.newResolutionStrategy = ResolutionStrategy.new, - this.newResolutionSelector = ResolutionSelector.new, - this.newAspectRatioStrategy = AspectRatioStrategy.new, - this.newImageAnalysis = ImageAnalysis.new, - this.newAnalyzer = Analyzer.new, - this.fromQualitySelector = QualitySelector.from, - this.fromOrderedListQualitySelector = QualitySelector.fromOrderedList, - this.higherQualityOrLowerThanFallbackStrategy = - FallbackStrategy.higherQualityOrLowerThan, - this.higherQualityThanFallbackStrategy = FallbackStrategy.higherQualityThan, - this.lowerQualityOrHigherThanFallbackStrategy = - FallbackStrategy.lowerQualityOrHigherThan, - this.lowerQualityThanFallbackStrategy = FallbackStrategy.lowerQualityThan, - this.newFocusMeteringActionBuilder = FocusMeteringActionBuilder.new, - this.withModeFocusMeteringActionBuilder = - FocusMeteringActionBuilder.withMode, - this.newCaptureRequestOptions = CaptureRequestOptions.new, - this.fromCamera2CameraControl = Camera2CameraControl.from, - this.createWithOnePreferredSizeResolutionFilter = - ResolutionFilter.createWithOnePreferredSize, - this.fromCamera2CameraInfo = Camera2CameraInfo.from, - this.newDisplayOrientedMeteringPointFactory = - DisplayOrientedMeteringPointFactory.new, - this.getInstanceProcessCameraProvider = ProcessCameraProvider.getInstance, - this.getResolutionQualitySelector = QualitySelector.getResolution, - this.defaultBackCameraCameraSelector = _defaultBackCameraCameraSelector, - this.defaultFrontCameraCameraSelector = _defaultFrontCameraCameraSelector, - this.highestAvailableStrategyResolutionStrategy = - _highestAvailableStrategyResolutionStrategy, - this.ratio_16_9FallbackAutoStrategyAspectRatioStrategy = - _ratio_16_9FallbackAutoStrategyAspectRatioStrategy, - this.ratio_4_3FallbackAutoStrategyAspectRatioStrategy = - _ratio_4_3FallbackAutoStrategyAspectRatioStrategy, - this.controlAELockCaptureRequest = _controlAELockCaptureRequest, - this.infoSupportedHardwareLevelCameraCharacteristics = - _infoSupportedHardwareLevelCameraCharacteristics, - this.sensorOrientationCameraCharacteristics = - _sensorOrientationCameraCharacteristics, - this.getNv21BufferImageProxyUtils = ImageProxyUtils.getNv21Buffer, - }); - - /// Handles adding support for generic classes. - final void Function({ - BinaryMessenger? pigeonBinaryMessenger, - PigeonInstanceManager? pigeonInstanceManager, - }) - setUpGenericsProxy; - - /// Constructs [CameraSize]. - final CameraSize Function({ - required int width, - required int height, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newCameraSize; - - /// Constructs [CameraIntegerRange]. - final CameraIntegerRange Function({ - required int lower, - required int upper, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newCameraIntegerRange; - - /// Constructs [Observer]. - final Observer Function({ - required void Function(Observer, T) onChanged, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newObserver; - - /// Constructs [CameraSelector]. - final CameraSelector Function({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newCameraSelector; - - /// Constructs [SystemServicesManager]. - final SystemServicesManager Function({ - required void Function(SystemServicesManager, String) onCameraError, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newSystemServicesManager; - - /// Constructs [DeviceOrientationManager]. - final DeviceOrientationManager Function({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newDeviceOrientationManager; - - /// Constructs [Preview]. - final Preview Function({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - ResolutionSelector? resolutionSelector, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newPreview; - - /// Constructs [VideoCapture]. - final VideoCapture Function({ - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - withOutputVideoCapture; - - /// Constructs [Recorder]. - final Recorder Function({ - int? aspectRatio, - int? targetVideoEncodingBitRate, - QualitySelector? qualitySelector, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newRecorder; - - /// Constructs [VideoRecordEventListener]. - final VideoRecordEventListener Function({ - required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newVideoRecordEventListener; - - /// Constructs [ImageCapture]. - final ImageCapture Function({ - int? targetRotation, - CameraXFlashMode? flashMode, - ResolutionSelector? resolutionSelector, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newImageCapture; - - /// Constructs [ResolutionStrategy]. - final ResolutionStrategy Function({ - required CameraSize boundSize, - required ResolutionStrategyFallbackRule fallbackRule, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newResolutionStrategy; - - /// Constructs [ResolutionSelector]. - final ResolutionSelector Function({ - AspectRatioStrategy? aspectRatioStrategy, - ResolutionStrategy? resolutionStrategy, - ResolutionFilter? resolutionFilter, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newResolutionSelector; - - /// Constructs [AspectRatioStrategy]. - final AspectRatioStrategy Function({ - required AspectRatio preferredAspectRatio, - required AspectRatioStrategyFallbackRule fallbackRule, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newAspectRatioStrategy; - - /// Constructs [ImageAnalysis]. - final ImageAnalysis Function({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - ResolutionSelector? resolutionSelector, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newImageAnalysis; - - /// Constructs [Analyzer]. - final Analyzer Function({ - required void Function(Analyzer, ImageProxy) analyze, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newAnalyzer; - - /// Constructs [QualitySelector]. - final QualitySelector Function({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - fromQualitySelector; - - /// Constructs [QualitySelector]. - final QualitySelector Function({ - required List qualities, - FallbackStrategy? fallbackStrategy, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - fromOrderedListQualitySelector; - - /// Constructs [FallbackStrategy]. - final FallbackStrategy Function({ - required VideoQuality quality, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - higherQualityOrLowerThanFallbackStrategy; - - /// Constructs [FallbackStrategy]. - final FallbackStrategy Function({ - required VideoQuality quality, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - higherQualityThanFallbackStrategy; - - /// Constructs [FallbackStrategy]. - final FallbackStrategy Function({ - required VideoQuality quality, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - lowerQualityOrHigherThanFallbackStrategy; - - /// Constructs [FallbackStrategy]. - final FallbackStrategy Function({ - required VideoQuality quality, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - lowerQualityThanFallbackStrategy; - - /// Constructs [FocusMeteringActionBuilder]. - final FocusMeteringActionBuilder Function({ - required MeteringPoint point, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newFocusMeteringActionBuilder; - - /// Constructs [FocusMeteringActionBuilder]. - FocusMeteringActionBuilder Function({ - required MeteringPoint point, - required MeteringMode mode, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - withModeFocusMeteringActionBuilder; - - /// Constructs [CaptureRequestOptions]. - CaptureRequestOptions Function({ - required Map options, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newCaptureRequestOptions; - - /// Constructs [Camera2CameraControl]. - Camera2CameraControl Function({ - required CameraControl cameraControl, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - fromCamera2CameraControl; - - /// Constructs [ResolutionFilter]. - final ResolutionFilter Function({ - required CameraSize preferredSize, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - createWithOnePreferredSizeResolutionFilter; - - /// Constructs [Camera2CameraInfo]. - final Camera2CameraInfo Function({ - required CameraInfo cameraInfo, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - fromCamera2CameraInfo; - - /// Constructs [DisplayOrientedMeteringPointFactory]. - DisplayOrientedMeteringPointFactory Function({ - required CameraInfo cameraInfo, - required double width, - required double height, - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - newDisplayOrientedMeteringPointFactory; - - /// Calls to [ProcessCameraProvider.getInstance]. - final Future Function({ - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - getInstanceProcessCameraProvider; - - /// Calls to [QualitySelector.getResolution]. - final Future Function( - CameraInfo, - VideoQuality, { - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - getResolutionQualitySelector; - - /// Calls to [CameraSelector.defaultBackCamera]. - final CameraSelector Function() defaultBackCameraCameraSelector; - - /// Calls to [CameraSelector.defaultFrontCamera]. - final CameraSelector Function() defaultFrontCameraCameraSelector; - - /// Calls to [ResolutionStrategy.highestAvailableStrategy]. - final ResolutionStrategy Function() - highestAvailableStrategyResolutionStrategy; - - /// Calls to [AspectRatioStrategy.ratio_16_9FallbackAutoStrategy]. - final AspectRatioStrategy Function() - ratio_16_9FallbackAutoStrategyAspectRatioStrategy; - - /// Calls to [AspectRatioStrategy.ratio_4_3FallbackAutoStrategy]. - final AspectRatioStrategy Function() - ratio_4_3FallbackAutoStrategyAspectRatioStrategy; - - /// Calls to [CaptureRequest.controlAELock]. - CaptureRequestKey Function() controlAELockCaptureRequest; - - /// Calls to [CameraCharacteristics.infoSupportedHardwareLevel]. - final CameraCharacteristicsKey Function() - infoSupportedHardwareLevelCameraCharacteristics; - - /// Calls to [CameraCharacteristics.sensorOrientation]. - final CameraCharacteristicsKey Function() - sensorOrientationCameraCharacteristics; - - /// Calls to [ImageProxyUtils.getNv21Buffer]. - final Future Function( - int imageWidth, - int imageHeight, - List planes, { - BinaryMessenger? pigeon_binaryMessenger, - PigeonInstanceManager? pigeon_instanceManager, - }) - getNv21BufferImageProxyUtils; - - static CameraSelector _defaultBackCameraCameraSelector() => - CameraSelector.defaultBackCamera; - - static CameraSelector _defaultFrontCameraCameraSelector() => - CameraSelector.defaultFrontCamera; - - static ResolutionStrategy _highestAvailableStrategyResolutionStrategy() => - ResolutionStrategy.highestAvailableStrategy; - - static AspectRatioStrategy - _ratio_16_9FallbackAutoStrategyAspectRatioStrategy() => - AspectRatioStrategy.ratio_16_9FallbackAutoStrategy; - - static AspectRatioStrategy - _ratio_4_3FallbackAutoStrategyAspectRatioStrategy() => - AspectRatioStrategy.ratio_4_3FallbackAutoStrategy; - - static CaptureRequestKey _controlAELockCaptureRequest() => - CaptureRequest.controlAELock; - - static CameraCharacteristicsKey - _infoSupportedHardwareLevelCameraCharacteristics() => - CameraCharacteristics.infoSupportedHardwareLevel; - - static CameraCharacteristicsKey _sensorOrientationCameraCharacteristics() => - CameraCharacteristics.sensorOrientation; -} +// // Copyright 2013 The Flutter Authors +// // Use of this source code is governed by a BSD-style license that can be +// // found in the LICENSE file. +// +// import 'package:flutter/services.dart'; +// +// // ignore_for_file: non_constant_identifier_names +// +// import 'camerax_library.dart'; +// +// /// Handles constructing objects and calling static methods for the Android +// /// Interactive Media Ads native library. +// /// +// /// This class provides dependency injection for the implementations of the +// /// platform interface classes. Improving the ease of unit testing and/or +// /// overriding the underlying Android classes. +// /// +// /// By default each function calls the default constructor of the class it +// /// intends to return. +// class CameraXProxy { +// /// Constructs an [CameraXProxy]. +// CameraXProxy({ +// this.setUpGenericsProxy = setUpGenerics, +// this.newCameraSize = CameraSize.new, +// this.newCameraIntegerRange = CameraIntegerRange.new, +// this.newObserver = Observer.new, +// this.newCameraSelector = CameraSelector.new, +// this.newSystemServicesManager = SystemServicesManager.new, +// this.newDeviceOrientationManager = DeviceOrientationManager.new, +// this.newPreview = Preview.new, +// this.withOutputVideoCapture = VideoCapture.withOutput, +// this.newRecorder = Recorder.new, +// this.newVideoRecordEventListener = VideoRecordEventListener.new, +// this.newImageCapture = ImageCapture.new, +// this.newResolutionStrategy = ResolutionStrategy.new, +// this.newResolutionSelector = ResolutionSelector.new, +// this.newAspectRatioStrategy = AspectRatioStrategy.new, +// this.newImageAnalysis = ImageAnalysis.new, +// this.newAnalyzer = Analyzer.new, +// this.fromQualitySelector = QualitySelector.from, +// this.fromOrderedListQualitySelector = QualitySelector.fromOrderedList, +// this.higherQualityOrLowerThanFallbackStrategy = +// FallbackStrategy.higherQualityOrLowerThan, +// this.higherQualityThanFallbackStrategy = FallbackStrategy.higherQualityThan, +// this.lowerQualityOrHigherThanFallbackStrategy = +// FallbackStrategy.lowerQualityOrHigherThan, +// this.lowerQualityThanFallbackStrategy = FallbackStrategy.lowerQualityThan, +// this.newFocusMeteringActionBuilder = FocusMeteringActionBuilder.new, +// this.withModeFocusMeteringActionBuilder = +// FocusMeteringActionBuilder.withMode, +// this.newCaptureRequestOptions = CaptureRequestOptions.new, +// this.fromCamera2CameraControl = Camera2CameraControl.from, +// this.createWithOnePreferredSizeResolutionFilter = +// ResolutionFilter.createWithOnePreferredSize, +// this.fromCamera2CameraInfo = Camera2CameraInfo.from, +// this.newDisplayOrientedMeteringPointFactory = +// DisplayOrientedMeteringPointFactory.new, +// this.getInstanceProcessCameraProvider = ProcessCameraProvider.getInstance, +// this.getResolutionQualitySelector = QualitySelector.getResolution, +// this.defaultBackCameraCameraSelector = _defaultBackCameraCameraSelector, +// this.defaultFrontCameraCameraSelector = _defaultFrontCameraCameraSelector, +// this.highestAvailableStrategyResolutionStrategy = +// _highestAvailableStrategyResolutionStrategy, +// this.ratio_16_9FallbackAutoStrategyAspectRatioStrategy = +// _ratio_16_9FallbackAutoStrategyAspectRatioStrategy, +// this.ratio_4_3FallbackAutoStrategyAspectRatioStrategy = +// _ratio_4_3FallbackAutoStrategyAspectRatioStrategy, +// this.controlAELockCaptureRequest = _controlAELockCaptureRequest, +// this.infoSupportedHardwareLevelCameraCharacteristics = +// _infoSupportedHardwareLevelCameraCharacteristics, +// this.sensorOrientationCameraCharacteristics = +// _sensorOrientationCameraCharacteristics, +// this.getNv21BufferImageProxyUtils = ImageProxyUtils.getNv21Buffer, +// }); +// +// /// Handles adding support for generic classes. +// final void Function({ +// BinaryMessenger? pigeonBinaryMessenger, +// PigeonInstanceManager? pigeonInstanceManager, +// }) +// setUpGenericsProxy; +// +// /// Constructs [CameraSize]. +// final CameraSize Function({ +// required int width, +// required int height, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newCameraSize; +// +// /// Constructs [CameraIntegerRange]. +// final CameraIntegerRange Function({ +// required int lower, +// required int upper, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newCameraIntegerRange; +// +// /// Constructs [Observer]. +// final Observer Function({ +// required void Function(Observer, T) onChanged, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newObserver; +// +// /// Constructs [CameraSelector]. +// final CameraSelector Function({ +// LensFacing? requireLensFacing, +// CameraInfo? cameraInfoForFilter, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newCameraSelector; +// +// /// Constructs [SystemServicesManager]. +// final SystemServicesManager Function({ +// required void Function(SystemServicesManager, String) onCameraError, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newSystemServicesManager; +// +// /// Constructs [DeviceOrientationManager]. +// final DeviceOrientationManager Function({ +// required void Function(DeviceOrientationManager, String) +// onDeviceOrientationChanged, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newDeviceOrientationManager; +// +// /// Constructs [Preview]. +// final Preview Function({ +// int? targetRotation, +// CameraIntegerRange? targetFpsRange, +// ResolutionSelector? resolutionSelector, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newPreview; +// +// /// Constructs [VideoCapture]. +// final VideoCapture Function({ +// required VideoOutput videoOutput, +// CameraIntegerRange? targetFpsRange, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// withOutputVideoCapture; +// +// /// Constructs [Recorder]. +// final Recorder Function({ +// int? aspectRatio, +// int? targetVideoEncodingBitRate, +// QualitySelector? qualitySelector, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newRecorder; +// +// /// Constructs [VideoRecordEventListener]. +// final VideoRecordEventListener Function({ +// required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newVideoRecordEventListener; +// +// /// Constructs [ImageCapture]. +// final ImageCapture Function({ +// int? targetRotation, +// CameraXFlashMode? flashMode, +// ResolutionSelector? resolutionSelector, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newImageCapture; +// +// /// Constructs [ResolutionStrategy]. +// final ResolutionStrategy Function({ +// required CameraSize boundSize, +// required ResolutionStrategyFallbackRule fallbackRule, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newResolutionStrategy; +// +// /// Constructs [ResolutionSelector]. +// final ResolutionSelector Function({ +// AspectRatioStrategy? aspectRatioStrategy, +// ResolutionStrategy? resolutionStrategy, +// ResolutionFilter? resolutionFilter, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newResolutionSelector; +// +// /// Constructs [AspectRatioStrategy]. +// final AspectRatioStrategy Function({ +// required AspectRatio preferredAspectRatio, +// required AspectRatioStrategyFallbackRule fallbackRule, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newAspectRatioStrategy; +// +// /// Constructs [ImageAnalysis]. +// final ImageAnalysis Function({ +// int? targetRotation, +// CameraIntegerRange? targetFpsRange, +// int? outputImageFormat, +// ResolutionSelector? resolutionSelector, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newImageAnalysis; +// +// /// Constructs [Analyzer]. +// final Analyzer Function({ +// required void Function(Analyzer, ImageProxy) analyze, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newAnalyzer; +// +// /// Constructs [QualitySelector]. +// final QualitySelector Function({ +// required VideoQuality quality, +// FallbackStrategy? fallbackStrategy, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// fromQualitySelector; +// +// /// Constructs [QualitySelector]. +// final QualitySelector Function({ +// required List qualities, +// FallbackStrategy? fallbackStrategy, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// fromOrderedListQualitySelector; +// +// /// Constructs [FallbackStrategy]. +// final FallbackStrategy Function({ +// required VideoQuality quality, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// higherQualityOrLowerThanFallbackStrategy; +// +// /// Constructs [FallbackStrategy]. +// final FallbackStrategy Function({ +// required VideoQuality quality, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// higherQualityThanFallbackStrategy; +// +// /// Constructs [FallbackStrategy]. +// final FallbackStrategy Function({ +// required VideoQuality quality, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// lowerQualityOrHigherThanFallbackStrategy; +// +// /// Constructs [FallbackStrategy]. +// final FallbackStrategy Function({ +// required VideoQuality quality, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// lowerQualityThanFallbackStrategy; +// +// /// Constructs [FocusMeteringActionBuilder]. +// final FocusMeteringActionBuilder Function({ +// required MeteringPoint point, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newFocusMeteringActionBuilder; +// +// /// Constructs [FocusMeteringActionBuilder]. +// FocusMeteringActionBuilder Function({ +// required MeteringPoint point, +// required MeteringMode mode, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// withModeFocusMeteringActionBuilder; +// +// /// Constructs [CaptureRequestOptions]. +// CaptureRequestOptions Function({ +// required Map options, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newCaptureRequestOptions; +// +// /// Constructs [Camera2CameraControl]. +// Camera2CameraControl Function({ +// required CameraControl cameraControl, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// fromCamera2CameraControl; +// +// /// Constructs [ResolutionFilter]. +// final ResolutionFilter Function({ +// required CameraSize preferredSize, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// createWithOnePreferredSizeResolutionFilter; +// +// /// Constructs [Camera2CameraInfo]. +// final Camera2CameraInfo Function({ +// required CameraInfo cameraInfo, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// fromCamera2CameraInfo; +// +// /// Constructs [DisplayOrientedMeteringPointFactory]. +// DisplayOrientedMeteringPointFactory Function({ +// required CameraInfo cameraInfo, +// required double width, +// required double height, +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// newDisplayOrientedMeteringPointFactory; +// +// /// Calls to [ProcessCameraProvider.getInstance]. +// final Future Function({ +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// getInstanceProcessCameraProvider; +// +// /// Calls to [QualitySelector.getResolution]. +// final Future Function( +// CameraInfo, +// VideoQuality, { +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// getResolutionQualitySelector; +// +// /// Calls to [CameraSelector.defaultBackCamera]. +// final CameraSelector Function() defaultBackCameraCameraSelector; +// +// /// Calls to [CameraSelector.defaultFrontCamera]. +// final CameraSelector Function() defaultFrontCameraCameraSelector; +// +// /// Calls to [ResolutionStrategy.highestAvailableStrategy]. +// final ResolutionStrategy Function() +// highestAvailableStrategyResolutionStrategy; +// +// /// Calls to [AspectRatioStrategy.ratio_16_9FallbackAutoStrategy]. +// final AspectRatioStrategy Function() +// ratio_16_9FallbackAutoStrategyAspectRatioStrategy; +// +// /// Calls to [AspectRatioStrategy.ratio_4_3FallbackAutoStrategy]. +// final AspectRatioStrategy Function() +// ratio_4_3FallbackAutoStrategyAspectRatioStrategy; +// +// /// Calls to [CaptureRequest.controlAELock]. +// CaptureRequestKey Function() controlAELockCaptureRequest; +// +// /// Calls to [CameraCharacteristics.infoSupportedHardwareLevel]. +// final CameraCharacteristicsKey Function() +// infoSupportedHardwareLevelCameraCharacteristics; +// +// /// Calls to [CameraCharacteristics.sensorOrientation]. +// final CameraCharacteristicsKey Function() +// sensorOrientationCameraCharacteristics; +// +// /// Calls to [ImageProxyUtils.getNv21Buffer]. +// final Future Function( +// int imageWidth, +// int imageHeight, +// List planes, { +// BinaryMessenger? pigeon_binaryMessenger, +// PigeonInstanceManager? pigeon_instanceManager, +// }) +// getNv21BufferImageProxyUtils; +// +// static CameraSelector _defaultBackCameraCameraSelector() => +// CameraSelector.defaultBackCamera; +// +// static CameraSelector _defaultFrontCameraCameraSelector() => +// CameraSelector.defaultFrontCamera; +// +// static ResolutionStrategy _highestAvailableStrategyResolutionStrategy() => +// ResolutionStrategy.highestAvailableStrategy; +// +// static AspectRatioStrategy +// _ratio_16_9FallbackAutoStrategyAspectRatioStrategy() => +// AspectRatioStrategy.ratio_16_9FallbackAutoStrategy; +// +// static AspectRatioStrategy +// _ratio_4_3FallbackAutoStrategyAspectRatioStrategy() => +// AspectRatioStrategy.ratio_4_3FallbackAutoStrategy; +// +// static CaptureRequestKey _controlAELockCaptureRequest() => +// CaptureRequest.controlAELock; +// +// static CameraCharacteristicsKey +// _infoSupportedHardwareLevelCameraCharacteristics() => +// CameraCharacteristics.infoSupportedHardwareLevel; +// +// static CameraCharacteristicsKey _sensorOrientationCameraCharacteristics() => +// CameraCharacteristics.sensorOrientation; +// } diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index 29d5de139fc..c62db1899b4 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_android_camerax description: Android implementation of the camera plugin using the CameraX library. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.6.25 +version: 0.6.26 environment: sdk: ^3.9.0 diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart index 8c73428353a..31deeaec4b4 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart @@ -8,7 +8,6 @@ import 'dart:math' show Point; import 'package:async/async.dart'; import 'package:camera_android_camerax/camera_android_camerax.dart'; import 'package:camera_android_camerax/src/camerax_library.dart'; -import 'package:camera_android_camerax/src/camerax_proxy.dart'; import 'package:camera_platform_interface/camera_platform_interface.dart'; import 'package:flutter/services.dart' show BinaryMessenger, DeviceOrientation, PlatformException, Uint8List; @@ -30,7 +29,6 @@ import 'android_camera_camerax_test.mocks.dart'; MockSpec(), MockSpec(), MockSpec(), - MockSpec(), MockSpec(), MockSpec(), MockSpec(), @@ -66,6 +64,10 @@ import 'android_camera_camerax_test.mocks.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + /// Helper method for testing sending/receiving CameraErrorEvents. Future testCameraClosingObserver( AndroidCameraCameraX camera, @@ -74,9 +76,6 @@ void main() { ) async { final testCameraStateError = CameraStateStateError.pigeon_detached( code: CameraStateErrorCode.doNotDisturbModeEnabled, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), ); final Stream cameraClosingEventStream = camera .onCameraClosing(cameraId); @@ -94,9 +93,6 @@ void main() { CameraState.pigeon_detached( type: CameraStateType.closing, error: testCameraStateError, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), ), ); @@ -115,452 +111,270 @@ void main() { return cameraClosingEventSent && cameraErrorSent; } - /// CameraXProxy for testing functionality related to the configuration + /// Set up testing functionality related to the configuration /// of CameraX UseCases. - CameraXProxy getProxyForTestingUseCaseConfiguration( + void setUpOverridesForTestingUseCaseConfiguration( MockProcessCameraProvider mockProcessCameraProvider, { - ResolutionFilter Function({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - })? + ResolutionFilter Function({required CameraSize preferredSize})? createWithOnePreferredSizeResolutionFilter, - FallbackStrategy Function({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - })? + FallbackStrategy Function({required VideoQuality quality})? lowerQualityOrHigherThanFallbackStrategy, QualitySelector Function({ required VideoQuality quality, FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? fromQualitySelector, Preview Function({ int? targetRotation, CameraIntegerRange? targetFpsRange, ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? newPreview, VideoCapture Function({ required VideoOutput videoOutput, CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? withOutputVideoCapture, ImageAnalysis Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, ResolutionSelector? resolutionSelector, int? outputImageFormat, int? targetRotation, CameraIntegerRange? targetFpsRange, })? newImageAnalysis, - Analyzer Function({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - })? + Analyzer Function({required void Function(Analyzer, ImageProxy) analyze})? newAnalyzer, - Future Function( + Future Function( int imageWidth, int imageHeight, - List planes, { - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - })? + List planes, + )? getNv21BufferImageProxyUtils, }) { - late final CameraXProxy proxy; final AspectRatioStrategy ratio_4_3FallbackAutoStrategyAspectRatioStrategy = MockAspectRatioStrategy(); final ResolutionStrategy highestAvailableStrategyResolutionStrategy = MockResolutionStrategy(); - proxy = CameraXProxy( - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) async { - return mockProcessCameraProvider; - }, - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - switch (requireLensFacing) { - case LensFacing.front: - return MockCameraSelector(); - case LensFacing.back: - case LensFacing.external: - case LensFacing.unknown: - case null: - } - - return MockCameraSelector(); - }, - newPreview: - newPreview ?? - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockPreview = MockPreview(); - final testResolutionInfo = ResolutionInfo.pigeon_detached( - resolution: MockCameraSize(), - ); - when( - mockPreview.surfaceProducerHandlesCropAndRotation(), - ).thenAnswer((_) async => false); - when(mockPreview.resolutionSelector).thenReturn(resolutionSelector); - when( - mockPreview.getResolutionInfo(), - ).thenAnswer((_) async => testResolutionInfo); - return mockPreview; - }, - newImageCapture: - ({ - int? targetRotation, - CameraXFlashMode? flashMode, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockImageCapture = MockImageCapture(); - when( - mockImageCapture.resolutionSelector, - ).thenReturn(resolutionSelector); - return mockImageCapture; - }, - newRecorder: - ({ - int? aspectRatio, - int? targetVideoEncodingBitRate, - QualitySelector? qualitySelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockRecorder = MockRecorder(); - when( - mockRecorder.getQualitySelector(), - ).thenAnswer((_) async => qualitySelector ?? MockQualitySelector()); - return mockRecorder; - }, - withOutputVideoCapture: - withOutputVideoCapture ?? - ({ - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockVideoCapture(); - }, - newImageAnalysis: - newImageAnalysis ?? - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockImageAnalysis = MockImageAnalysis(); - when( - mockImageAnalysis.resolutionSelector, - ).thenReturn(resolutionSelector); - return mockImageAnalysis; - }, - newResolutionStrategy: - ({ - required CameraSize boundSize, - required ResolutionStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final resolutionStrategy = MockResolutionStrategy(); - when( - resolutionStrategy.getBoundSize(), - ).thenAnswer((_) async => boundSize); - when( - resolutionStrategy.getFallbackRule(), - ).thenAnswer((_) async => fallbackRule); - return resolutionStrategy; - }, - newResolutionSelector: - ({ - AspectRatioStrategy? aspectRatioStrategy, - ResolutionStrategy? resolutionStrategy, - ResolutionFilter? resolutionFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockResolutionSelector = MockResolutionSelector(); - when(mockResolutionSelector.getAspectRatioStrategy()).thenAnswer( - (_) async => - aspectRatioStrategy ?? - proxy.ratio_4_3FallbackAutoStrategyAspectRatioStrategy(), - ); - when( - mockResolutionSelector.resolutionStrategy, - ).thenReturn(resolutionStrategy); - when( - mockResolutionSelector.resolutionFilter, - ).thenReturn(resolutionFilter); - return mockResolutionSelector; - }, - fromQualitySelector: - fromQualitySelector ?? - ({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockQualitySelector(); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockSystemServicesManager(); - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - newAspectRatioStrategy: - ({ - required AspectRatio preferredAspectRatio, - required AspectRatioStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockAspectRatioStrategy = MockAspectRatioStrategy(); - when( - mockAspectRatioStrategy.getFallbackRule(), - ).thenAnswer((_) async => fallbackRule); - when( - mockAspectRatioStrategy.getPreferredAspectRatio(), - ).thenAnswer((_) async => preferredAspectRatio); - return mockAspectRatioStrategy; - }, - createWithOnePreferredSizeResolutionFilter: - createWithOnePreferredSizeResolutionFilter ?? - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionFilter(); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final camera2cameraInfo = MockCamera2CameraInfo(); - when( - camera2cameraInfo.getCameraCharacteristic(any), - ).thenAnswer((_) async => 90); - return camera2cameraInfo; - }, - newCameraSize: - ({ - required int width, - required int height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return CameraSize.pigeon_detached( - width: width, - height: height, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - sensorOrientationCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - lowerQualityOrHigherThanFallbackStrategy: - lowerQualityOrHigherThanFallbackStrategy ?? - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockFallbackStrategy(); - }, - highestAvailableStrategyResolutionStrategy: () { - return highestAvailableStrategyResolutionStrategy; - }, - ratio_4_3FallbackAutoStrategyAspectRatioStrategy: () => - ratio_4_3FallbackAutoStrategyAspectRatioStrategy, - lowerQualityThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockFallbackStrategy(); - }, - newAnalyzer: - newAnalyzer ?? - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockAnalyzer(); - }, - getNv21BufferImageProxyUtils: - getNv21BufferImageProxyUtils ?? - ( - int imageWidth, - int imageHeight, - List planes, { - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Future.value(Uint8List(0)); - }, - ); + PigeonOverrides.processCameraProvider_getInstance = () async { + return mockProcessCameraProvider; + }; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + switch (requireLensFacing) { + case LensFacing.front: + return MockCameraSelector(); + case LensFacing.back: + case LensFacing.external: + case LensFacing.unknown: + case null: + } - return proxy; + return MockCameraSelector(); + }; + PigeonOverrides.preview_new = + newPreview ?? + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + ResolutionSelector? resolutionSelector, + }) { + final mockPreview = MockPreview(); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); + when( + mockPreview.surfaceProducerHandlesCropAndRotation(), + ).thenAnswer((_) async => false); + when(mockPreview.resolutionSelector).thenReturn(resolutionSelector); + when( + mockPreview.getResolutionInfo(), + ).thenAnswer((_) async => testResolutionInfo); + return mockPreview; + }; + PigeonOverrides.imageCapture_new = + ({ + int? targetRotation, + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + }) { + final mockImageCapture = MockImageCapture(); + when( + mockImageCapture.resolutionSelector, + ).thenReturn(resolutionSelector); + return mockImageCapture; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + int? targetVideoEncodingBitRate, + QualitySelector? qualitySelector, + }) { + final mockRecorder = MockRecorder(); + when( + mockRecorder.getQualitySelector(), + ).thenAnswer((_) async => qualitySelector ?? MockQualitySelector()); + return mockRecorder; + }; + PigeonOverrides.videoCapture_withOutput = + withOutputVideoCapture ?? + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) { + return MockVideoCapture(); + }; + PigeonOverrides.imageAnalysis_new = + newImageAnalysis ?? + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + }) { + final mockImageAnalysis = MockImageAnalysis(); + when( + mockImageAnalysis.resolutionSelector, + ).thenReturn(resolutionSelector); + return mockImageAnalysis; + }; + PigeonOverrides.resolutionStrategy_new = + ({ + required CameraSize boundSize, + required ResolutionStrategyFallbackRule fallbackRule, + }) { + final resolutionStrategy = MockResolutionStrategy(); + when( + resolutionStrategy.getBoundSize(), + ).thenAnswer((_) async => boundSize); + when( + resolutionStrategy.getFallbackRule(), + ).thenAnswer((_) async => fallbackRule); + return resolutionStrategy; + }; + PigeonOverrides.resolutionSelector_new = + ({ + AspectRatioStrategy? aspectRatioStrategy, + ResolutionStrategy? resolutionStrategy, + ResolutionFilter? resolutionFilter, + }) { + final mockResolutionSelector = MockResolutionSelector(); + when(mockResolutionSelector.getAspectRatioStrategy()).thenAnswer( + (_) async => + aspectRatioStrategy ?? + AspectRatioStrategy.ratio_4_3FallbackAutoStrategy, + ); + when( + mockResolutionSelector.resolutionStrategy, + ).thenReturn(resolutionStrategy); + when( + mockResolutionSelector.resolutionFilter, + ).thenReturn(resolutionFilter); + return mockResolutionSelector; + }; + PigeonOverrides.qualitySelector_from = + fromQualitySelector ?? + ({required VideoQuality quality, FallbackStrategy? fallbackStrategy}) { + return MockQualitySelector(); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + return MockSystemServicesManager(); + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.aspectRatioStrategy_new = + ({ + required AspectRatio preferredAspectRatio, + required AspectRatioStrategyFallbackRule fallbackRule, + }) { + final mockAspectRatioStrategy = MockAspectRatioStrategy(); + when( + mockAspectRatioStrategy.getFallbackRule(), + ).thenAnswer((_) async => fallbackRule); + when( + mockAspectRatioStrategy.getPreferredAspectRatio(), + ).thenAnswer((_) async => preferredAspectRatio); + return mockAspectRatioStrategy; + }; + PigeonOverrides.resolutionFilter_createWithOnePreferredSize = + createWithOnePreferredSizeResolutionFilter ?? + ({required CameraSize preferredSize}) => MockResolutionFilter(); + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + final camera2cameraInfo = MockCamera2CameraInfo(); + when( + camera2cameraInfo.getCameraCharacteristic(any), + ).thenAnswer((_) async => 90); + return camera2cameraInfo; + }; + PigeonOverrides.cameraSize_new = + ({required int width, required int height}) { + return CameraSize.pigeon_detached(width: width, height: height); + }; + PigeonOverrides.cameraCharacteristics_sensorOrientation = + MockCameraCharacteristicsKey(); + PigeonOverrides.fallbackStrategy_lowerQualityOrHigherThan = + lowerQualityOrHigherThanFallbackStrategy ?? + ({required VideoQuality quality}) { + return MockFallbackStrategy(); + }; + PigeonOverrides.resolutionStrategy_highestAvailableStrategy = + highestAvailableStrategyResolutionStrategy; + PigeonOverrides.aspectRatioStrategy_ratio_4_3FallbackAutoStrategy = + ratio_4_3FallbackAutoStrategyAspectRatioStrategy; + PigeonOverrides.fallbackStrategy_lowerQualityThan = + ({required VideoQuality quality}) { + return MockFallbackStrategy(); + }; + PigeonOverrides.analyzer_new = + newAnalyzer ?? + ({required void Function(Analyzer, ImageProxy) analyze}) { + return MockAnalyzer(); + }; + PigeonOverrides.imageProxyUtils_getNv21Buffer = + getNv21BufferImageProxyUtils ?? + (int imageWidth, int imageHeight, List planes) { + return Future.value(Uint8List(0)); + }; } - /// CameraXProxy for testing exposure and focus related controls. + /// Set up overrides for testing exposure and focus related controls. /// /// Modifies the creation of [MeteringPoint]s and [FocusMeteringAction]s to /// return objects detached from a native object. - CameraXProxy getProxyForExposureAndFocus({ + void setUpOverridesForExposureAndFocus({ FocusMeteringActionBuilder Function({ required MeteringPoint point, required MeteringMode mode, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? withModeFocusMeteringActionBuilder, DisplayOrientedMeteringPointFactory Function({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? newDisplayOrientedMeteringPointFactory, - }) => CameraXProxy( - newDisplayOrientedMeteringPointFactory: + }) { + PigeonOverrides.displayOrientedMeteringPointFactory_new = newDisplayOrientedMeteringPointFactory ?? ({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockFactory = MockDisplayOrientedMeteringPointFactory(); when(mockFactory.createPoint(any, any)).thenAnswer( @@ -577,20 +391,10 @@ void main() { ), ); return mockFactory; - }, - withModeFocusMeteringActionBuilder: + }; + PigeonOverrides.focusMeteringActionBuilder_withMode = withModeFocusMeteringActionBuilder ?? - ({ - required MeteringPoint point, - required MeteringMode mode, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + ({required MeteringPoint point, required MeteringMode mode}) { final mockBuilder = MockFocusMeteringActionBuilder(); var disableAutoCancelCalled = false; when(mockBuilder.disableAutoCancel()).thenAnswer((_) async { @@ -634,74 +438,51 @@ void main() { meteringPointsAf: meteringPointsAf, meteringPointsAwb: meteringPointsAwb, isAutoCancelEnabled: !disableAutoCancelCalled, - pigeon_instanceManager: testInstanceManager, ), ); return mockBuilder; - }, - ); + }; + } - /// CameraXProxy for testing setting focus and exposure points. + /// Set up overrides for testing setting focus and exposure points. /// /// Modifies the retrieval of a [Camera2CameraControl] instance to depend on /// interaction with expected [cameraControl] instance and modifies creation /// of [CaptureRequestOptions] to return objects detached from a native object. - CameraXProxy getProxyForSettingFocusandExposurePoints( + void setUpOverridesForSettingFocusandExposurePoints( CameraControl cameraControlForComparison, Camera2CameraControl camera2cameraControl, { FocusMeteringActionBuilder Function({ required MeteringPoint point, required MeteringMode mode, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? withModeFocusMeteringActionBuilder, DisplayOrientedMeteringPointFactory Function({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, })? newDisplayOrientedMeteringPointFactory, }) { - final CameraXProxy proxy = getProxyForExposureAndFocus(); + setUpOverridesForExposureAndFocus(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); if (withModeFocusMeteringActionBuilder != null) { - proxy.withModeFocusMeteringActionBuilder = + PigeonOverrides.focusMeteringActionBuilder_withMode = withModeFocusMeteringActionBuilder; } if (newDisplayOrientedMeteringPointFactory != null) { - proxy.newDisplayOrientedMeteringPointFactory = + PigeonOverrides.displayOrientedMeteringPointFactory_new = newDisplayOrientedMeteringPointFactory; } - proxy.fromCamera2CameraControl = - ({ - required CameraControl cameraControl, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => cameraControl == cameraControlForComparison - ? camera2cameraControl - : Camera2CameraControl.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); - proxy.newCaptureRequestOptions = - ({ - required Map options, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + + PigeonOverrides.camera2CameraControl_from = + ({required CameraControl cameraControl}) => + cameraControl == cameraControlForComparison + ? camera2cameraControl + : Camera2CameraControl.pigeon_detached(); + + PigeonOverrides.captureRequestOptions_new = + ({required Map options}) { final mockCaptureRequestOptions = MockCaptureRequestOptions(); options.forEach((CaptureRequestKey key, Object? value) { when( @@ -710,12 +491,8 @@ void main() { }); return mockCaptureRequestOptions; }; - final controlAeLock = CaptureRequestKey.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); - proxy.controlAELockCaptureRequest = () => controlAeLock; - - return proxy; + PigeonOverrides.captureRequest_controlAELock = + CaptureRequestKey.pigeon_detached(); } test( @@ -744,52 +521,27 @@ void main() { final mockBackCameraInfo = MockCameraInfo(); // Tell plugin to create mock CameraSelectors for testing. - camera.proxy = CameraXProxy( - setUpGenericsProxy: - ({ - BinaryMessenger? pigeonBinaryMessenger, - PigeonInstanceManager? pigeonInstanceManager, - }) {}, - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => - Future.value(mockProcessCameraProvider), - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - switch (requireLensFacing) { - case LensFacing.front: - return mockFrontCameraSelector; - case LensFacing.back: - case LensFacing.external: - case LensFacing.unknown: - case null: - } - - return mockBackCameraSelector; - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockSystemServicesManager(); - }, - ); + PigeonOverrides.processCameraProvider_getInstance = () async => + mockProcessCameraProvider; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + switch (requireLensFacing) { + case LensFacing.front: + return mockFrontCameraSelector; + case LensFacing.back: + case LensFacing.external: + case LensFacing.unknown: + case null: + } + + return mockBackCameraSelector; + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + return MockSystemServicesManager(); + }; // Mock calls to native platform when(mockProcessCameraProvider.getAvailableCameraInfos()).thenAnswer( @@ -861,244 +613,146 @@ void main() { var cameraPermissionsRequested = false; var startedListeningForDeviceOrientationChanges = false; - camera.proxy = CameraXProxy( - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) async { - return mockProcessCameraProvider; - }, - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - switch (requireLensFacing) { - case LensFacing.front: - return MockCameraSelector(); - case LensFacing.back: - case LensFacing.external: - case LensFacing.unknown: - case null: - } + PigeonOverrides.processCameraProvider_getInstance = () async { + return mockProcessCameraProvider; + }; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + switch (requireLensFacing) { + case LensFacing.front: + return MockCameraSelector(); + case LensFacing.back: + case LensFacing.external: + case LensFacing.unknown: + case null: + } - return mockBackCameraSelector; - }, - newPreview: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockPreview; - }, - newImageCapture: - ({ - int? targetRotation, - CameraXFlashMode? flashMode, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockImageCapture; - }, - newRecorder: - ({ - int? aspectRatio, - int? targetVideoEncodingBitRate, - QualitySelector? qualitySelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockRecorder; - }, - withOutputVideoCapture: - ({ - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockVideoCapture; - }, - newImageAnalysis: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockImageAnalysis; - }, - newResolutionStrategy: - ({ - required CameraSize boundSize, - required ResolutionStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionStrategy(); - }, - newResolutionSelector: - ({ - AspectRatioStrategy? aspectRatioStrategy, - ResolutionStrategy? resolutionStrategy, - ResolutionFilter? resolutionFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionSelector(); - }, - fromQualitySelector: - ({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockQualitySelector(); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - when( - mockSystemServicesManager.requestCameraPermissions(any), - ).thenAnswer((_) async { - cameraPermissionsRequested = true; - return null; - }); - return mockSystemServicesManager; - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when( - manager.startListeningForDeviceOrientationChange(), - ).thenAnswer((_) async { + return mockBackCameraSelector; + }; + PigeonOverrides.preview_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + ResolutionSelector? resolutionSelector, + }) { + return mockPreview; + }; + PigeonOverrides.imageCapture_new = + ({ + int? targetRotation, + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + }) { + return mockImageCapture; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + int? targetVideoEncodingBitRate, + QualitySelector? qualitySelector, + }) { + return mockRecorder; + }; + PigeonOverrides.videoCapture_withOutput = + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) { + return mockVideoCapture; + }; + PigeonOverrides.imageAnalysis_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + }) { + return mockImageAnalysis; + }; + PigeonOverrides.resolutionStrategy_new = + ({ + required CameraSize boundSize, + required ResolutionStrategyFallbackRule fallbackRule, + }) { + return MockResolutionStrategy(); + }; + PigeonOverrides.resolutionSelector_new = + ({ + AspectRatioStrategy? aspectRatioStrategy, + ResolutionStrategy? resolutionStrategy, + ResolutionFilter? resolutionFilter, + }) { + return MockResolutionSelector(); + }; + PigeonOverrides.qualitySelector_from = + ({ + required VideoQuality quality, + FallbackStrategy? fallbackStrategy, + }) { + return MockQualitySelector(); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + when( + mockSystemServicesManager.requestCameraPermissions(any), + ).thenAnswer((_) async { + cameraPermissionsRequested = true; + return null; + }); + return mockSystemServicesManager; + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.startListeningForDeviceOrientationChange()).thenAnswer( + (_) async { startedListeningForDeviceOrientationChanges = true; - }); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - newAspectRatioStrategy: - ({ - required AspectRatio preferredAspectRatio, - required AspectRatioStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockAspectRatioStrategy(); - }, - createWithOnePreferredSizeResolutionFilter: - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionFilter(); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final camera2cameraInfo = MockCamera2CameraInfo(); - when( - camera2cameraInfo.getCameraCharacteristic( - mockCameraCharacteristicsKey, - ), - ).thenAnswer((_) async => testSensorOrientation); - return camera2cameraInfo; - }, - newCameraSize: - ({ - required int width, - required int height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockCameraSize(); - }, - sensorOrientationCameraCharacteristics: () { - return mockCameraCharacteristicsKey; - }, - lowerQualityOrHigherThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockFallbackStrategy(); - }, - ); + }, + ); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.aspectRatioStrategy_new = + ({ + required AspectRatio preferredAspectRatio, + required AspectRatioStrategyFallbackRule fallbackRule, + }) { + return MockAspectRatioStrategy(); + }; + PigeonOverrides.resolutionFilter_createWithOnePreferredSize = + ({required CameraSize preferredSize}) { + return MockResolutionFilter(); + }; + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + final camera2cameraInfo = MockCamera2CameraInfo(); + when( + camera2cameraInfo.getCameraCharacteristic( + mockCameraCharacteristicsKey, + ), + ).thenAnswer((_) async => testSensorOrientation); + return camera2cameraInfo; + }; + PigeonOverrides.cameraSize_new = + ({required int width, required int height}) { + return MockCameraSize(); + }; + PigeonOverrides.cameraCharacteristics_sensorOrientation = + mockCameraCharacteristicsKey; + PigeonOverrides.fallbackStrategy_lowerQualityOrHigherThan = + ({required VideoQuality quality}) { + return MockFallbackStrategy(); + }; camera.processCameraProvider = mockProcessCameraProvider; PigeonOverrides.cameraIntegerRange_new = @@ -1184,9 +838,7 @@ void main() { // Tell plugin to create mock/detached objects for testing createCamera // as needed. - camera.proxy = getProxyForTestingUseCaseConfiguration( - mockProcessCameraProvider, - ); + setUpOverridesForTestingUseCaseConfiguration(mockProcessCameraProvider); // Test non-null resolution presets. for (final ResolutionPreset resolutionPreset in ResolutionPreset.values) { @@ -1285,15 +937,15 @@ void main() { expect( camera.preview!.resolutionSelector!.resolutionStrategy, - equals(camera.proxy.highestAvailableStrategyResolutionStrategy()), + equals(ResolutionStrategy.highestAvailableStrategy), ); expect( camera.imageCapture!.resolutionSelector!.resolutionStrategy, - equals(camera.proxy.highestAvailableStrategyResolutionStrategy()), + equals(ResolutionStrategy.highestAvailableStrategy), ); expect( camera.imageAnalysis!.resolutionSelector!.resolutionStrategy, - equals(camera.proxy.highestAvailableStrategyResolutionStrategy()), + equals(ResolutionStrategy.highestAvailableStrategy), ); // Test null case. @@ -1331,16 +983,10 @@ void main() { // Tell plugin to create mock/detached objects for testing createCamera // as needed. CameraSize? lastSetPreferredSize; - camera.proxy = getProxyForTestingUseCaseConfiguration( + setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, createWithOnePreferredSizeResolutionFilter: - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required CameraSize preferredSize}) { lastSetPreferredSize = preferredSize; return MockResolutionFilter(); }, @@ -1489,9 +1135,7 @@ void main() { // Tell plugin to create mock/detached objects for testing createCamera // as needed. - camera.proxy = getProxyForTestingUseCaseConfiguration( - mockProcessCameraProvider, - ); + setUpOverridesForTestingUseCaseConfiguration(mockProcessCameraProvider); when( mockProcessCameraProvider.bindToLifecycle(any, any), ).thenAnswer((_) async => mockCamera); @@ -1530,23 +1174,17 @@ void main() { if (expectedAspectRatio == null) { expect( await camera.preview!.resolutionSelector!.getAspectRatioStrategy(), - equals( - camera.proxy.ratio_4_3FallbackAutoStrategyAspectRatioStrategy(), - ), + equals(AspectRatioStrategy.ratio_4_3FallbackAutoStrategy), ); expect( await camera.imageCapture!.resolutionSelector! .getAspectRatioStrategy(), - equals( - camera.proxy.ratio_4_3FallbackAutoStrategyAspectRatioStrategy(), - ), + equals(AspectRatioStrategy.ratio_4_3FallbackAutoStrategy), ); expect( await camera.imageAnalysis!.resolutionSelector! .getAspectRatioStrategy(), - equals( - camera.proxy.ratio_4_3FallbackAutoStrategyAspectRatioStrategy(), - ), + equals(AspectRatioStrategy.ratio_4_3FallbackAutoStrategy), ); continue; } @@ -1634,238 +1272,140 @@ void main() { // Tell plugin to create mock/detached objects and stub method calls for the // testing of createCamera. - camera.proxy = CameraXProxy( - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) async { - return mockProcessCameraProvider; - }, - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - switch (requireLensFacing) { - case LensFacing.front: - return MockCameraSelector(); - case LensFacing.back: - case LensFacing.external: - case LensFacing.unknown: - case null: - } + PigeonOverrides.processCameraProvider_getInstance = () async { + return mockProcessCameraProvider; + }; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + switch (requireLensFacing) { + case LensFacing.front: + return MockCameraSelector(); + case LensFacing.back: + case LensFacing.external: + case LensFacing.unknown: + case null: + } - return mockBackCameraSelector; - }, - newPreview: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final testResolutionInfo = ResolutionInfo.pigeon_detached( - resolution: MockCameraSize(), - ); - when( - mockPreview.getResolutionInfo(), - ).thenAnswer((_) async => testResolutionInfo); - return mockPreview; - }, - newImageCapture: - ({ - int? targetRotation, - CameraXFlashMode? flashMode, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockImageCapture; - }, - newRecorder: - ({ - int? aspectRatio, - int? targetVideoEncodingBitRate, - QualitySelector? qualitySelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockRecorder; - }, - withOutputVideoCapture: - ({ - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockVideoCapture; - }, - newImageAnalysis: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockImageAnalysis; - }, - newResolutionStrategy: - ({ - required CameraSize boundSize, - required ResolutionStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionStrategy(); - }, - newResolutionSelector: - ({ - AspectRatioStrategy? aspectRatioStrategy, - ResolutionStrategy? resolutionStrategy, - ResolutionFilter? resolutionFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionSelector(); - }, - fromQualitySelector: - ({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockQualitySelector(); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockSystemServicesManager(); - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - newAspectRatioStrategy: - ({ - required AspectRatio preferredAspectRatio, - required AspectRatioStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockAspectRatioStrategy(); - }, - createWithOnePreferredSizeResolutionFilter: - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionFilter(); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - when( - mockCamera2CameraInfo.getCameraCharacteristic( - mockCameraCharacteristicsKey, - ), - ).thenAnswer((_) async => testSensorOrientation); - return mockCamera2CameraInfo; - }, - newCameraSize: - ({ - required int width, - required int height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockCameraSize(); - }, - sensorOrientationCameraCharacteristics: () { - return mockCameraCharacteristicsKey; - }, - lowerQualityOrHigherThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockFallbackStrategy(); - }, - ); + return mockBackCameraSelector; + }; + PigeonOverrides.preview_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + ResolutionSelector? resolutionSelector, + }) { + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); + when( + mockPreview.getResolutionInfo(), + ).thenAnswer((_) async => testResolutionInfo); + return mockPreview; + }; + PigeonOverrides.imageCapture_new = + ({ + int? targetRotation, + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + }) { + return mockImageCapture; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + int? targetVideoEncodingBitRate, + QualitySelector? qualitySelector, + }) { + return mockRecorder; + }; + PigeonOverrides.videoCapture_withOutput = + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) { + return mockVideoCapture; + }; + PigeonOverrides.imageAnalysis_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + }) { + return mockImageAnalysis; + }; + PigeonOverrides.resolutionStrategy_new = + ({ + required CameraSize boundSize, + required ResolutionStrategyFallbackRule fallbackRule, + }) { + return MockResolutionStrategy(); + }; + PigeonOverrides.resolutionSelector_new = + ({ + AspectRatioStrategy? aspectRatioStrategy, + ResolutionStrategy? resolutionStrategy, + ResolutionFilter? resolutionFilter, + }) { + return MockResolutionSelector(); + }; + PigeonOverrides.qualitySelector_from = + ({ + required VideoQuality quality, + FallbackStrategy? fallbackStrategy, + }) { + return MockQualitySelector(); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + return MockSystemServicesManager(); + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.aspectRatioStrategy_new = + ({ + required AspectRatio preferredAspectRatio, + required AspectRatioStrategyFallbackRule fallbackRule, + }) { + return MockAspectRatioStrategy(); + }; + PigeonOverrides.resolutionFilter_createWithOnePreferredSize = + ({required CameraSize preferredSize}) { + return MockResolutionFilter(); + }; + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + when( + mockCamera2CameraInfo.getCameraCharacteristic( + mockCameraCharacteristicsKey, + ), + ).thenAnswer((_) async => testSensorOrientation); + return mockCamera2CameraInfo; + }; + PigeonOverrides.cameraSize_new = + ({required int width, required int height}) { + return MockCameraSize(); + }; + PigeonOverrides.cameraCharacteristics_sensorOrientation = + mockCameraCharacteristicsKey; + PigeonOverrides.fallbackStrategy_lowerQualityOrHigherThan = + ({required VideoQuality quality}) { + return MockFallbackStrategy(); + }; when( mockProcessCameraProvider.bindToLifecycle( @@ -1941,16 +1481,10 @@ void main() { FallbackStrategy? setFallbackStrategy; final mockFallbackStrategy = MockFallbackStrategy(); final mockQualitySelector = MockQualitySelector(); - camera.proxy = getProxyForTestingUseCaseConfiguration( + setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, lowerQualityOrHigherThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required VideoQuality quality}) { fallbackStrategyVideoQuality = quality; return mockFallbackStrategy; }, @@ -1958,10 +1492,6 @@ void main() { ({ required VideoQuality quality, FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { qualitySelectorVideoQuality = quality; setFallbackStrategy = fallbackStrategy; @@ -2046,17 +1576,13 @@ void main() { // The proxy needed for this test is the same as testing resolution // presets except for mocking the retrieval of the sensor and current // UI orientation. - camera.proxy = getProxyForTestingUseCaseConfiguration( + setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, newPreview: ({ int? targetRotation, CameraIntegerRange? targetFpsRange, ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockPreview = MockPreview(); when( @@ -2123,14 +1649,10 @@ void main() { CameraIntegerRange? targetVideoCaptureFpsRange; CameraIntegerRange? targetImageAnalysisFpsRange; - camera.proxy = getProxyForTestingUseCaseConfiguration( + setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, newPreview: ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, ResolutionSelector? resolutionSelector, CameraIntegerRange? targetFpsRange, int? targetRotation, @@ -2147,10 +1669,6 @@ void main() { }, withOutputVideoCapture: ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, CameraIntegerRange? targetFpsRange, required VideoOutput videoOutput, }) { @@ -2160,10 +1678,6 @@ void main() { newImageAnalysis: ({ int? outputImageFormat, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, ResolutionSelector? resolutionSelector, CameraIntegerRange? targetFpsRange, int? targetRotation, @@ -2241,242 +1755,157 @@ void main() { // Tell plugin to create mock/detached objects and stub method calls for the // testing of availableCameras and createCamera. - camera.proxy = CameraXProxy( - setUpGenericsProxy: - ({ - BinaryMessenger? pigeonBinaryMessenger, - PigeonInstanceManager? pigeonInstanceManager, - }) {}, - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Future.value( - mockProcessCameraProvider, - ); - }, - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - switch (requireLensFacing) { - case LensFacing.front: - return mockFrontCameraSelector; - case LensFacing.back: - case LensFacing.external: - case LensFacing.unknown: - case null: - } - if (cameraInfoForFilter == mockBackCameraInfoOne) { - return mockChosenCameraInfoCameraSelector; - } + PigeonOverrides.processCameraProvider_getInstance = () { + return Future.value(mockProcessCameraProvider); + }; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + switch (requireLensFacing) { + case LensFacing.front: + return mockFrontCameraSelector; + case LensFacing.back: + case LensFacing.external: + case LensFacing.unknown: + case null: + } + if (cameraInfoForFilter == mockBackCameraInfoOne) { + return mockChosenCameraInfoCameraSelector; + } - return mockBackCameraSelector; - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockSystemServicesManager(); - }, - newPreview: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockPreview; - }, - newImageCapture: - ({ - int? targetRotation, - CameraXFlashMode? flashMode, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockImageCapture; - }, - newRecorder: - ({ - int? aspectRatio, - int? targetVideoEncodingBitRate, - QualitySelector? qualitySelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockRecorder; - }, - withOutputVideoCapture: - ({ - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockVideoCapture; - }, - newImageAnalysis: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return mockImageAnalysis; - }, - newResolutionStrategy: - ({ - required CameraSize boundSize, - required ResolutionStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionStrategy(); - }, - newResolutionSelector: - ({ - AspectRatioStrategy? aspectRatioStrategy, - ResolutionStrategy? resolutionStrategy, - ResolutionFilter? resolutionFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionSelector(); - }, - fromQualitySelector: - ({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockQualitySelector(); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - newAspectRatioStrategy: - ({ - required AspectRatio preferredAspectRatio, - required AspectRatioStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockAspectRatioStrategy(); - }, - createWithOnePreferredSizeResolutionFilter: - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockResolutionFilter(); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - when( - mockCamera2CameraInfo.getCameraCharacteristic( - mockCameraCharacteristicsKey, - ), - ).thenAnswer((_) async => testSensorOrientation); - return mockCamera2CameraInfo; - }, - newCameraSize: - ({ - required int width, - required int height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockCameraSize(); - }, - sensorOrientationCameraCharacteristics: () { - return mockCameraCharacteristicsKey; - }, - lowerQualityOrHigherThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockFallbackStrategy(); - }, - ); + return mockBackCameraSelector; + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + return MockSystemServicesManager(); + }; + PigeonOverrides.preview_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + ResolutionSelector? resolutionSelector, + }) { + return mockPreview; + }; + PigeonOverrides.imageCapture_new = + ({ + int? targetRotation, + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + }) { + return mockImageCapture; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + int? targetVideoEncodingBitRate, + QualitySelector? qualitySelector, + }) { + return mockRecorder; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + int? targetVideoEncodingBitRate, + QualitySelector? qualitySelector, + }) { + return mockRecorder; + }; + PigeonOverrides.videoCapture_withOutput = + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) { + return mockVideoCapture; + }; + PigeonOverrides.imageAnalysis_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + }) { + return mockImageAnalysis; + }; + PigeonOverrides.resolutionStrategy_new = + ({ + required CameraSize boundSize, + required ResolutionStrategyFallbackRule fallbackRule, + }) { + return MockResolutionStrategy(); + }; + PigeonOverrides.resolutionSelector_new = + ({ + AspectRatioStrategy? aspectRatioStrategy, + ResolutionStrategy? resolutionStrategy, + ResolutionFilter? resolutionFilter, + }) { + return MockResolutionSelector(); + }; + PigeonOverrides.resolutionSelector_new = + ({ + AspectRatioStrategy? aspectRatioStrategy, + ResolutionStrategy? resolutionStrategy, + ResolutionFilter? resolutionFilter, + }) { + return MockResolutionSelector(); + }; + PigeonOverrides.qualitySelector_from = + ({ + required VideoQuality quality, + FallbackStrategy? fallbackStrategy, + }) { + return MockQualitySelector(); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.aspectRatioStrategy_new = + ({ + required AspectRatio preferredAspectRatio, + required AspectRatioStrategyFallbackRule fallbackRule, + }) { + return MockAspectRatioStrategy(); + }; + PigeonOverrides.resolutionFilter_createWithOnePreferredSize = + ({required CameraSize preferredSize}) { + return MockResolutionFilter(); + }; + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + when( + mockCamera2CameraInfo.getCameraCharacteristic( + mockCameraCharacteristicsKey, + ), + ).thenAnswer((_) async => testSensorOrientation); + return mockCamera2CameraInfo; + }; + PigeonOverrides.cameraSize_new = + ({required int width, required int height}) { + return MockCameraSize(); + }; + PigeonOverrides.cameraCharacteristics_sensorOrientation = + mockCameraCharacteristicsKey; + PigeonOverrides.fallbackStrategy_lowerQualityOrHigherThan = + ({required VideoQuality quality}) { + return MockFallbackStrategy(); + }; + PigeonOverrides.cameraIntegerRange_new = + ({required int lower, required int upper}) { + return CameraIntegerRange.pigeon_detached(lower: 0, upper: 0); + }; // Mock calls to native platform when(mockProcessCameraProvider.getAvailableCameraInfos()).thenAnswer(( @@ -2621,14 +2050,10 @@ void main() { // Tell plugin to create mock/detached objects for testing createCamera // as needed. - camera.proxy = getProxyForTestingUseCaseConfiguration( + setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, newPreview: ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, ResolutionSelector? resolutionSelector, int? targetRotation, CameraIntegerRange? targetFpsRange, @@ -2675,312 +2100,211 @@ void main() { final mockCameraInfo = MockCameraInfo(); final mockLiveCameraState = MockLiveCameraState(); final mockPreview = MockPreview(); - final testResolutionInfo = ResolutionInfo.pigeon_detached( - resolution: MockCameraSize(), - ); - final mockImageAnalysis = MockImageAnalysis(); - - // Configure mocks for camera initialization. - when( - mockProcessCameraProvider.bindToLifecycle(any, any), - ).thenAnswer((_) async => mockCamera); - when(mockCamera.getCameraInfo()).thenAnswer((_) async => mockCameraInfo); - when( - mockCameraInfo.getCameraState(), - ).thenAnswer((_) async => mockLiveCameraState); - when( - mockPreview.getResolutionInfo(), - ).thenAnswer((_) async => testResolutionInfo); - when( - mockPreview.setSurfaceProvider(any), - ).thenAnswer((_) async => testSurfaceTextureId); - camera.processCameraProvider = mockProcessCameraProvider; - - for (final ImageFormatGroup imageFormatGroup in ImageFormatGroup.values) { - // Get CameraX image format constant for imageFormatGroup. - final int? cameraXImageFormat = switch (imageFormatGroup) { - ImageFormatGroup.yuv420 => - AndroidCameraCameraX.imageAnalysisOutputImageFormatYuv420_888, - ImageFormatGroup.nv21 => - AndroidCameraCameraX.imageAnalysisOutputImageFormatNv21, - _ => null, - }; - // Tell plugin to create mock/detached objects for testing createCamera - // as needed. - int? imageAnalysisOutputImageFormat; - camera.proxy = getProxyForTestingUseCaseConfiguration( - mockProcessCameraProvider, - newImageAnalysis: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - }) { - imageAnalysisOutputImageFormat = outputImageFormat; - return mockImageAnalysis; - }, - newPreview: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - CameraIntegerRange? targetFpsRange, - }) => mockPreview, - ); - - // Create and initialize camera. - await camera.createCameraWithSettings( - testCameraDescription, - const MediaSettings(enableAudio: enableAudio), - ); - await camera.initializeCamera( - testSurfaceTextureId, - imageFormatGroup: imageFormatGroup, - ); - - // Test image format group is set as expected. - expect(imageAnalysisOutputImageFormat, cameraXImageFormat); - } - }, - ); - - test('initializeCamera sends expected CameraInitializedEvent', () async { - final camera = AndroidCameraCameraX(); - - const cameraId = 10; - const CameraLensDirection testLensDirection = CameraLensDirection.back; - const testSensorOrientation = 90; - const testCameraDescription = CameraDescription( - name: 'cameraName', - lensDirection: testLensDirection, - sensorOrientation: testSensorOrientation, - ); - const resolutionWidth = 350; - const resolutionHeight = 750; - final Camera mockCamera = MockCamera(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); - final testResolutionInfo = ResolutionInfo.pigeon_detached( - resolution: CameraSize.pigeon_detached( - width: resolutionWidth, - height: resolutionHeight, - pigeon_instanceManager: testInstanceManager, - ), - pigeon_instanceManager: testInstanceManager, - ); - - // Mocks for (typically attached) objects created by createCamera. - final mockProcessCameraProvider = MockProcessCameraProvider(); - final CameraInfo mockCameraInfo = MockCameraInfo(); - final mockBackCameraSelector = MockCameraSelector(); - final mockFrontCameraSelector = MockCameraSelector(); - final mockPreview = MockPreview(); - final mockImageCapture = MockImageCapture(); - final mockImageAnalysis = MockImageAnalysis(); - - // Tell plugin to create mock/detached objects for testing createCamera - // as needed. - camera.proxy = CameraXProxy( - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => Future.value(mockProcessCameraProvider), - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - switch (requireLensFacing) { - case LensFacing.front: - return mockFrontCameraSelector; - case _: - return mockBackCameraSelector; - } - }, - newPreview: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockPreview, - newImageCapture: - ({ - int? targetRotation, - CameraXFlashMode? flashMode, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockImageCapture, - newRecorder: - ({ - int? aspectRatio, - int? targetVideoEncodingBitRate, - QualitySelector? qualitySelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockRecorder(), - withOutputVideoCapture: - ({ - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockVideoCapture(), - newImageAnalysis: - ({ - int? targetRotation, - CameraIntegerRange? targetFpsRange, - int? outputImageFormat, - ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockImageAnalysis, - newResolutionStrategy: - ({ - required CameraSize boundSize, - required ResolutionStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockResolutionStrategy(), - newResolutionSelector: - ({ - AspectRatioStrategy? aspectRatioStrategy, - ResolutionStrategy? resolutionStrategy, - ResolutionFilter? resolutionFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockResolutionSelector(), - lowerQualityOrHigherThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockFallbackStrategy(), - fromQualitySelector: - ({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockQualitySelector(), - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockSystemServicesManager(), - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - newAspectRatioStrategy: - ({ - required AspectRatio preferredAspectRatio, - required AspectRatioStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockAspectRatioStrategy(), - createWithOnePreferredSizeResolutionFilter: - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockResolutionFilter(), - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockCamera2CameraInfo = MockCamera2CameraInfo(); - when( - mockCamera2CameraInfo.getCameraCharacteristic(any), - ).thenAnswer((_) async => 90); - return mockCamera2CameraInfo; - }, - newCameraSize: - ({ - required int width, - required int height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockCameraSize(), - sensorOrientationCameraCharacteristics: () => - MockCameraCharacteristicsKey(), + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); + final mockImageAnalysis = MockImageAnalysis(); + + // Configure mocks for camera initialization. + when( + mockProcessCameraProvider.bindToLifecycle(any, any), + ).thenAnswer((_) async => mockCamera); + when(mockCamera.getCameraInfo()).thenAnswer((_) async => mockCameraInfo); + when( + mockCameraInfo.getCameraState(), + ).thenAnswer((_) async => mockLiveCameraState); + when( + mockPreview.getResolutionInfo(), + ).thenAnswer((_) async => testResolutionInfo); + when( + mockPreview.setSurfaceProvider(any), + ).thenAnswer((_) async => testSurfaceTextureId); + camera.processCameraProvider = mockProcessCameraProvider; + + for (final ImageFormatGroup imageFormatGroup in ImageFormatGroup.values) { + // Get CameraX image format constant for imageFormatGroup. + final int? cameraXImageFormat = switch (imageFormatGroup) { + ImageFormatGroup.yuv420 => + AndroidCameraCameraX.imageAnalysisOutputImageFormatYuv420_888, + ImageFormatGroup.nv21 => + AndroidCameraCameraX.imageAnalysisOutputImageFormatNv21, + _ => null, + }; + // Tell plugin to create mock/detached objects for testing createCamera + // as needed. + int? imageAnalysisOutputImageFormat; + setUpOverridesForTestingUseCaseConfiguration( + mockProcessCameraProvider, + newImageAnalysis: + ({ + ResolutionSelector? resolutionSelector, + int? targetRotation, + CameraIntegerRange? targetFpsRange, + int? outputImageFormat, + }) { + imageAnalysisOutputImageFormat = outputImageFormat; + return mockImageAnalysis; + }, + newPreview: + ({ + ResolutionSelector? resolutionSelector, + int? targetRotation, + CameraIntegerRange? targetFpsRange, + }) => mockPreview, + ); + + // Create and initialize camera. + await camera.createCameraWithSettings( + testCameraDescription, + const MediaSettings(enableAudio: enableAudio), + ); + await camera.initializeCamera( + testSurfaceTextureId, + imageFormatGroup: imageFormatGroup, + ); + + // Test image format group is set as expected. + expect(imageAnalysisOutputImageFormat, cameraXImageFormat); + } + }, + ); + + test('initializeCamera sends expected CameraInitializedEvent', () async { + final camera = AndroidCameraCameraX(); + + const cameraId = 10; + const CameraLensDirection testLensDirection = CameraLensDirection.back; + const testSensorOrientation = 90; + const testCameraDescription = CameraDescription( + name: 'cameraName', + lensDirection: testLensDirection, + sensorOrientation: testSensorOrientation, + ); + const resolutionWidth = 350; + const resolutionHeight = 750; + final Camera mockCamera = MockCamera(); + final testInstanceManager = PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: CameraSize.pigeon_detached( + width: resolutionWidth, + height: resolutionHeight, + pigeon_instanceManager: testInstanceManager, + ), + pigeon_instanceManager: testInstanceManager, ); + // Mocks for (typically attached) objects created by createCamera. + final mockProcessCameraProvider = MockProcessCameraProvider(); + final CameraInfo mockCameraInfo = MockCameraInfo(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockPreview = MockPreview(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + + // Tell plugin to create mock/detached objects for testing createCamera + // as needed. + PigeonOverrides.processCameraProvider_getInstance = () => + Future.value(mockProcessCameraProvider); + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + switch (requireLensFacing) { + case LensFacing.front: + return mockFrontCameraSelector; + case _: + return mockBackCameraSelector; + } + }; + PigeonOverrides.preview_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + ResolutionSelector? resolutionSelector, + }) => mockPreview; + PigeonOverrides.imageCapture_new = + ({ + int? targetRotation, + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + }) => mockImageCapture; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + int? targetVideoEncodingBitRate, + QualitySelector? qualitySelector, + }) => MockRecorder(); + PigeonOverrides.videoCapture_withOutput = + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) => MockVideoCapture(); + PigeonOverrides.imageAnalysis_new = + ({ + int? targetRotation, + CameraIntegerRange? targetFpsRange, + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + }) => mockImageAnalysis; + PigeonOverrides.resolutionStrategy_new = + ({ + required CameraSize boundSize, + required ResolutionStrategyFallbackRule fallbackRule, + }) => MockResolutionStrategy(); + PigeonOverrides.resolutionSelector_new = + ({ + AspectRatioStrategy? aspectRatioStrategy, + ResolutionStrategy? resolutionStrategy, + ResolutionFilter? resolutionFilter, + }) => MockResolutionSelector(); + PigeonOverrides.fallbackStrategy_lowerQualityOrHigherThan = + ({required VideoQuality quality}) => MockFallbackStrategy(); + PigeonOverrides.qualitySelector_from = + ({required VideoQuality quality, FallbackStrategy? fallbackStrategy}) => + MockQualitySelector(); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) => MockSystemServicesManager(); + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.aspectRatioStrategy_new = + ({ + required AspectRatio preferredAspectRatio, + required AspectRatioStrategyFallbackRule fallbackRule, + }) => MockAspectRatioStrategy(); + PigeonOverrides.resolutionFilter_createWithOnePreferredSize = + ({required CameraSize preferredSize}) => MockResolutionFilter(); + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + final mockCamera2CameraInfo = MockCamera2CameraInfo(); + when( + mockCamera2CameraInfo.getCameraCharacteristic(any), + ).thenAnswer((_) async => 90); + return mockCamera2CameraInfo; + }; + PigeonOverrides.cameraSize_new = + ({required int width, required int height}) => MockCameraSize(); + PigeonOverrides.cameraCharacteristics_sensorOrientation = + MockCameraCharacteristicsKey(); + PigeonOverrides.cameraIntegerRange_new = + ({required int lower, required int upper}) { + return CameraIntegerRange.pigeon_detached(lower: 0, upper: 0); + }; + final testCameraInitializedEvent = CameraInitializedEvent( cameraId, resolutionWidth.toDouble(), @@ -3036,27 +2360,20 @@ void main() { () async { var stoppedListeningForDeviceOrientationChange = false; final camera = AndroidCameraCameraX(); - camera.proxy = CameraXProxy( - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockDeviceOrientationManager = - MockDeviceOrientationManager(); - when( - mockDeviceOrientationManager - .stopListeningForDeviceOrientationChange(), - ).thenAnswer((_) async { - stoppedListeningForDeviceOrientationChange = true; - }); - return mockDeviceOrientationManager; - }, - ); + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final mockDeviceOrientationManager = MockDeviceOrientationManager(); + when( + mockDeviceOrientationManager + .stopListeningForDeviceOrientationChange(), + ).thenAnswer((_) async { + stoppedListeningForDeviceOrientationChange = true; + }); + return mockDeviceOrientationManager; + }; camera.preview = MockPreview(); camera.processCameraProvider = MockProcessCameraProvider(); @@ -3129,23 +2446,16 @@ void main() { ); final streamQueue = StreamQueue(eventStream); - camera.proxy = CameraXProxy( - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.onCameraError, - ).thenReturn(onCameraError); - return mockSystemServicesManager; - }, - ); + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.onCameraError, + ).thenReturn(onCameraError); + return mockSystemServicesManager; + }; camera.systemServicesManager.onCameraError( camera.systemServicesManager, @@ -3176,24 +2486,17 @@ void main() { DeviceOrientation.portraitDown, ); - camera.proxy = CameraXProxy( - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockDeviceOrientationManager = - MockDeviceOrientationManager(); - when( - mockDeviceOrientationManager.onDeviceOrientationChanged, - ).thenReturn(onDeviceOrientationChanged); - return mockDeviceOrientationManager; - }, - ); + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final mockDeviceOrientationManager = MockDeviceOrientationManager(); + when( + mockDeviceOrientationManager.onDeviceOrientationChanged, + ).thenReturn(onDeviceOrientationChanged); + return mockDeviceOrientationManager; + }; camera.deviceOrientationManager.onDeviceOrientationChanged( camera.deviceOrientationManager, @@ -3301,23 +2604,10 @@ void main() { // Tell plugin to create a detached Observer, that is created to // track camera state once preview is bound to the lifecycle and needed to // test for expected updates. - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; when( mockProcessCameraProvider.bindToLifecycle( @@ -3406,71 +2696,40 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function( - VideoRecordEventListener, - VideoRecordEvent, - ) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) + onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached( + onEvent: onEvent, + pigeon_instanceManager: PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ), + ); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 17; @@ -3572,71 +2831,40 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function( - VideoRecordEventListener, - VideoRecordEvent, - ) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) + onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached( + onEvent: onEvent, + pigeon_instanceManager: PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ), + ); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 17; @@ -3738,81 +2966,44 @@ void main() { // Tell plugin to create detached Analyzer for testing. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function( - VideoRecordEventListener, - VideoRecordEvent, - ) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return MockAnalyzer(); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) + onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached( + onEvent: onEvent, + pigeon_instanceManager: PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ), + ); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return MockAnalyzer(); + }; const cameraId = 17; final imageDataCompleter = Completer(); @@ -3891,89 +3082,54 @@ void main() { // Tell plugin to mock call to get current video orientation and mock Camera2CameraInfo retrieval. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => cameraInfo == initialCameraInfo - ? mockCamera2CameraInfo - : MockCamera2CameraInfo(), - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockDeviceOrientationManager = - MockDeviceOrientationManager(); - when( - mockDeviceOrientationManager.getDefaultDisplayRotation(), - ).thenAnswer((_) async => defaultTargetRotation); - return mockDeviceOrientationManager; - }, - newVideoRecordEventListener: - ({ - required void Function( - VideoRecordEventListener, - VideoRecordEvent, - ) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => cameraInfo == initialCameraInfo + ? mockCamera2CameraInfo + : MockCamera2CameraInfo(); + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) + onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final mockDeviceOrientationManager = + MockDeviceOrientationManager(); + when( + mockDeviceOrientationManager.getDefaultDisplayRotation(), + ).thenAnswer((_) async => defaultTargetRotation); + return mockDeviceOrientationManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached( + onEvent: onEvent, + pigeon_instanceManager: PigeonInstanceManager( + onWeakReferenceRemoved: (_) {}, + ), + ); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 87; @@ -4247,217 +3403,148 @@ void main() { final mockRecorder = MockRecorder(); const testSensorOrientation = 90; - const testBackCameraDescription = CameraDescription( - name: 'Camera 0', - lensDirection: CameraLensDirection.back, - sensorOrientation: testSensorOrientation, - ); - const testFrontCameraDescription = CameraDescription( - name: 'Camera 1', - lensDirection: CameraLensDirection.front, - sensorOrientation: testSensorOrientation, - ); - - // Mock/Detached objects for (typically attached) objects created by - // createCamera. - final mockProcessCameraProvider = MockProcessCameraProvider(); - final mockPreview = MockPreview(); - final mockCamera = MockCamera(); - final newMockCamera = MockCamera(); - final mockLiveCameraState = MockLiveCameraState(); - final newMockLiveCameraState = MockLiveCameraState(); - final mockCameraInfo = MockCameraInfo(); - final mockCameraControl = MockCameraControl(); - final mockImageCapture = MockImageCapture(); - final mockImageAnalysis = MockImageAnalysis(); - final mockVideoCapture = MockVideoCapture(); - final mockBackCameraSelector = MockCameraSelector(); - final mockFrontCameraSelector = MockCameraSelector(); - final mockFrontCameraInfo = MockCameraInfo(); - final mockBackCameraInfo = MockCameraInfo(); - final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); - - const outputPath = 'file/output.mp4'; - - camera.proxy = CameraXProxy( - newPreview: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - CameraIntegerRange? targetFpsRange, - }) { - when( - mockPreview.setSurfaceProvider(any), - ).thenAnswer((_) async => 19); - final testResolutionInfo = ResolutionInfo.pigeon_detached( - resolution: MockCameraSize(), - ); - when( - mockPreview.surfaceProducerHandlesCropAndRotation(), - ).thenAnswer((_) async => false); - when( - mockPreview.resolutionSelector, - ).thenReturn(resolutionSelector); - when( - mockPreview.getResolutionInfo(), - ).thenAnswer((_) async => testResolutionInfo); - return mockPreview; - }, - newImageCapture: - ({ - CameraXFlashMode? flashMode, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - }) { - return mockImageCapture; - }, - newRecorder: - ({ - int? aspectRatio, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - QualitySelector? qualitySelector, - int? targetVideoEncodingBitRate, - }) { - when( - mockRecorder.prepareRecording(outputPath), - ).thenAnswer((_) async => mockPendingRecording); - return mockRecorder; - }, - withOutputVideoCapture: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - }) { - return mockVideoCapture; - }, - newImageAnalysis: - ({ - int? outputImageFormat, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - CameraIntegerRange? targetFpsRange, - }) { - return mockImageAnalysis; - }, - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - if (cameraInfoForFilter == mockFrontCameraInfo) { - return mockFrontCameraSelector; - } - return mockBackCameraSelector; - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final camera2cameraInfo = MockCamera2CameraInfo(); - when( - camera2cameraInfo.getCameraCharacteristic(any), - ).thenAnswer((_) async => InfoSupportedHardwareLevel.limited); - return camera2cameraInfo; - }, - sensorOrientationCameraCharacteristics: () { - return mockCameraCharacteristicsKey; - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, + const testBackCameraDescription = CameraDescription( + name: 'Camera 0', + lensDirection: CameraLensDirection.back, + sensorOrientation: testSensorOrientation, + ); + const testFrontCameraDescription = CameraDescription( + name: 'Camera 1', + lensDirection: CameraLensDirection.front, + sensorOrientation: testSensorOrientation, ); + // Mock/Detached objects for (typically attached) objects created by + // createCamera. + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockPreview = MockPreview(); + final mockCamera = MockCamera(); + final newMockCamera = MockCamera(); + final mockLiveCameraState = MockLiveCameraState(); + final newMockLiveCameraState = MockLiveCameraState(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockVideoCapture = MockVideoCapture(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraInfo = MockCameraInfo(); + final mockBackCameraInfo = MockCameraInfo(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); + + const outputPath = 'file/output.mp4'; + + PigeonOverrides.preview_new = + ({ + ResolutionSelector? resolutionSelector, + int? targetRotation, + CameraIntegerRange? targetFpsRange, + }) { + when( + mockPreview.setSurfaceProvider(any), + ).thenAnswer((_) async => 19); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); + when( + mockPreview.surfaceProducerHandlesCropAndRotation(), + ).thenAnswer((_) async => false); + when(mockPreview.resolutionSelector).thenReturn(resolutionSelector); + when( + mockPreview.getResolutionInfo(), + ).thenAnswer((_) async => testResolutionInfo); + return mockPreview; + }; + PigeonOverrides.imageCapture_new = + ({ + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + int? targetRotation, + }) { + return mockImageCapture; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + QualitySelector? qualitySelector, + int? targetVideoEncodingBitRate, + }) { + when( + mockRecorder.prepareRecording(outputPath), + ).thenAnswer((_) async => mockPendingRecording); + return mockRecorder; + }; + PigeonOverrides.videoCapture_withOutput = + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) { + return mockVideoCapture; + }; + PigeonOverrides.imageAnalysis_new = + ({ + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + int? targetRotation, + CameraIntegerRange? targetFpsRange, + }) { + return mockImageAnalysis; + }; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + if (cameraInfoForFilter == mockFrontCameraInfo) { + return mockFrontCameraSelector; + } + return mockBackCameraSelector; + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + final camera2cameraInfo = MockCamera2CameraInfo(); + when( + camera2cameraInfo.getCameraCharacteristic(any), + ).thenAnswer((_) async => InfoSupportedHardwareLevel.limited); + return camera2cameraInfo; + }; + PigeonOverrides.cameraCharacteristics_sensorOrientation = + mockCameraCharacteristicsKey; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); + // mock functions when(mockProcessCameraProvider.getAvailableCameraInfos()).thenAnswer( (_) async => [mockBackCameraInfo, mockFrontCameraInfo], @@ -4589,216 +3676,147 @@ void main() { final mockRecording = MockRecording(); final mockPendingRecording = MockPendingRecording(); final mockRecorder = MockRecorder(); - - const testSensorOrientation = 90; - const testBackCameraDescription = CameraDescription( - name: 'Camera 0', - lensDirection: CameraLensDirection.back, - sensorOrientation: testSensorOrientation, - ); - const testFrontCameraDescription = CameraDescription( - name: 'Camera 1', - lensDirection: CameraLensDirection.front, - sensorOrientation: testSensorOrientation, - ); - - // Mock/Detached objects for (typically attached) objects created by - // createCamera. - final mockProcessCameraProvider = MockProcessCameraProvider(); - final mockPreview = MockPreview(); - final mockCamera = MockCamera(); - final mockCameraInfo = MockCameraInfo(); - final mockCameraControl = MockCameraControl(); - final mockImageCapture = MockImageCapture(); - final mockImageAnalysis = MockImageAnalysis(); - final mockVideoCapture = MockVideoCapture(); - final mockBackCameraSelector = MockCameraSelector(); - final mockFrontCameraSelector = MockCameraSelector(); - final mockFrontCameraInfo = MockCameraInfo(); - final mockBackCameraInfo = MockCameraInfo(); - final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); - - const outputPath = 'file/output.mp4'; - - camera.proxy = CameraXProxy( - newPreview: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - CameraIntegerRange? targetFpsRange, - }) { - when( - mockPreview.setSurfaceProvider(any), - ).thenAnswer((_) async => 19); - final testResolutionInfo = ResolutionInfo.pigeon_detached( - resolution: MockCameraSize(), - ); - when( - mockPreview.surfaceProducerHandlesCropAndRotation(), - ).thenAnswer((_) async => false); - when( - mockPreview.resolutionSelector, - ).thenReturn(resolutionSelector); - when( - mockPreview.getResolutionInfo(), - ).thenAnswer((_) async => testResolutionInfo); - return mockPreview; - }, - newImageCapture: - ({ - CameraXFlashMode? flashMode, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - }) { - return mockImageCapture; - }, - newRecorder: - ({ - int? aspectRatio, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - QualitySelector? qualitySelector, - int? targetVideoEncodingBitRate, - }) { - when( - mockRecorder.prepareRecording(outputPath), - ).thenAnswer((_) async => mockPendingRecording); - return mockRecorder; - }, - withOutputVideoCapture: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - required VideoOutput videoOutput, - CameraIntegerRange? targetFpsRange, - }) { - return mockVideoCapture; - }, - newImageAnalysis: - ({ - int? outputImageFormat, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - ResolutionSelector? resolutionSelector, - int? targetRotation, - CameraIntegerRange? targetFpsRange, - }) { - return mockImageAnalysis; - }, - newCameraSelector: - ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - if (cameraInfoForFilter == mockFrontCameraInfo) { - return mockFrontCameraSelector; - } - return mockBackCameraSelector; - }, - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getUiOrientation()).thenAnswer((_) async { - return 'PORTRAIT_UP'; - }); - return manager; - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final camera2cameraInfo = MockCamera2CameraInfo(); - when( - camera2cameraInfo.getCameraCharacteristic(any), - ).thenAnswer((_) async => InfoSupportedHardwareLevel.limited); - return camera2cameraInfo; - }, - sensorOrientationCameraCharacteristics: () { - return mockCameraCharacteristicsKey; - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, + + const testSensorOrientation = 90; + const testBackCameraDescription = CameraDescription( + name: 'Camera 0', + lensDirection: CameraLensDirection.back, + sensorOrientation: testSensorOrientation, + ); + const testFrontCameraDescription = CameraDescription( + name: 'Camera 1', + lensDirection: CameraLensDirection.front, + sensorOrientation: testSensorOrientation, ); + // Mock/Detached objects for (typically attached) objects created by + // createCamera. + final mockProcessCameraProvider = MockProcessCameraProvider(); + final mockPreview = MockPreview(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCameraControl = MockCameraControl(); + final mockImageCapture = MockImageCapture(); + final mockImageAnalysis = MockImageAnalysis(); + final mockVideoCapture = MockVideoCapture(); + final mockBackCameraSelector = MockCameraSelector(); + final mockFrontCameraSelector = MockCameraSelector(); + final mockFrontCameraInfo = MockCameraInfo(); + final mockBackCameraInfo = MockCameraInfo(); + final mockCameraCharacteristicsKey = MockCameraCharacteristicsKey(); + + const outputPath = 'file/output.mp4'; + + PigeonOverrides.preview_new = + ({ + ResolutionSelector? resolutionSelector, + int? targetRotation, + CameraIntegerRange? targetFpsRange, + }) { + when( + mockPreview.setSurfaceProvider(any), + ).thenAnswer((_) async => 19); + final testResolutionInfo = ResolutionInfo.pigeon_detached( + resolution: MockCameraSize(), + ); + when( + mockPreview.surfaceProducerHandlesCropAndRotation(), + ).thenAnswer((_) async => false); + when(mockPreview.resolutionSelector).thenReturn(resolutionSelector); + when( + mockPreview.getResolutionInfo(), + ).thenAnswer((_) async => testResolutionInfo); + return mockPreview; + }; + PigeonOverrides.imageCapture_new = + ({ + CameraXFlashMode? flashMode, + ResolutionSelector? resolutionSelector, + int? targetRotation, + }) { + return mockImageCapture; + }; + PigeonOverrides.recorder_new = + ({ + int? aspectRatio, + QualitySelector? qualitySelector, + int? targetVideoEncodingBitRate, + }) { + when( + mockRecorder.prepareRecording(outputPath), + ).thenAnswer((_) async => mockPendingRecording); + return mockRecorder; + }; + PigeonOverrides.videoCapture_withOutput = + ({ + required VideoOutput videoOutput, + CameraIntegerRange? targetFpsRange, + }) { + return mockVideoCapture; + }; + PigeonOverrides.imageAnalysis_new = + ({ + int? outputImageFormat, + ResolutionSelector? resolutionSelector, + int? targetRotation, + CameraIntegerRange? targetFpsRange, + }) { + return mockImageAnalysis; + }; + PigeonOverrides.cameraSelector_new = + ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { + if (cameraInfoForFilter == mockFrontCameraInfo) { + return mockFrontCameraSelector; + } + return mockBackCameraSelector; + }; + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getUiOrientation()).thenAnswer((_) async { + return 'PORTRAIT_UP'; + }); + return manager; + }; + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + final camera2cameraInfo = MockCamera2CameraInfo(); + when( + camera2cameraInfo.getCameraCharacteristic(any), + ).thenAnswer((_) async => InfoSupportedHardwareLevel.limited); + return camera2cameraInfo; + }; + PigeonOverrides.cameraCharacteristics_sensorOrientation = + mockCameraCharacteristicsKey; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); + // mock functions when(mockProcessCameraProvider.getAvailableCameraInfos()).thenAnswer( (_) async => [mockBackCameraInfo, mockFrontCameraInfo], @@ -4900,23 +3918,10 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create detached camera state observers. - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; when( mockProcessCameraProvider.isBound(camera.imageCapture), @@ -4956,24 +3961,21 @@ void main() { camera.processCameraProvider = mockProcessCameraProvider; // Tell plugin to mock call to get current photo orientation. - camera.proxy = CameraXProxy( - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockDeviceOrientationManager = - MockDeviceOrientationManager(); - when( - mockDeviceOrientationManager.getDefaultDisplayRotation(), - ).thenAnswer((_) async => defaultTargetRotation); - return mockDeviceOrientationManager; - }, - ); + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + // ignore: non_constant_identifier_names + BinaryMessenger? pigeon_binaryMessenger, + // ignore: non_constant_identifier_names + PigeonInstanceManager? pigeon_instanceManager, + }) { + final mockDeviceOrientationManager = MockDeviceOrientationManager(); + when( + mockDeviceOrientationManager.getDefaultDisplayRotation(), + ).thenAnswer((_) async => defaultTargetRotation); + return mockDeviceOrientationManager; + }; when( mockProcessCameraProvider.isBound(camera.imageCapture), @@ -5303,23 +4305,10 @@ void main() { const cameraId = 22; // Tell plugin to create detached Analyzer for testing. - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }; // Set directly for test versus calling createCamera. camera.processCameraProvider = mockProcessCameraProvider; @@ -5362,23 +4351,10 @@ void main() { const cameraId = 22; // Tell plugin to create detached Analyzer for testing. - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }; // Set directly for test versus calling createCamera. camera.processCameraProvider = mockProcessCameraProvider; @@ -5436,38 +4412,14 @@ void main() { const imageWidth = 200; // Tell plugin to create detached Analyzer for testing. - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; // Set directly for test versus calling createCamera. camera.processCameraProvider = mockProcessCameraProvider; @@ -5553,7 +4505,7 @@ void main() { ).thenAnswer((_) async => MockLiveCameraState()); // Set up CameraXProxy with ImageAnalysis specifics needed for testing its Analyzer. - camera.proxy = getProxyForTestingUseCaseConfiguration( + setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, newAnalyzer: ({ @@ -5648,20 +4600,13 @@ void main() { camera.imageAnalysis = mockImageAnalysis; camera.processCameraProvider = mockProcessCameraProvider; - // Ignore setting target rotation for this test; tested seprately. + // Ignore setting target rotation for this test; tested separately. camera.captureOrientationLocked = true; // Tell plugin to create a detached analyzer for testing purposes. - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockAnalyzer(), - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) => + MockAnalyzer(); when( mockProcessCameraProvider.isBound(mockImageAnalysis), @@ -5692,31 +4637,20 @@ void main() { // Tell plugin to create a detached analyzer for testing purposes and mock // call to get current photo orientation. - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockAnalyzer(), - newDeviceOrientationManager: - ({ - required void Function(DeviceOrientationManager, String) - onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final manager = MockDeviceOrientationManager(); - when(manager.getDefaultDisplayRotation()).thenAnswer((_) async { - return defaultTargetRotation; - }); - return manager; - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) => + MockAnalyzer(); + PigeonOverrides.deviceOrientationManager_new = + ({ + required void Function(DeviceOrientationManager, String) + onDeviceOrientationChanged, + }) { + final manager = MockDeviceOrientationManager(); + when(manager.getDefaultDisplayRotation()).thenAnswer((_) async { + return defaultTargetRotation; + }); + return manager; + }; when( mockProcessCameraProvider.isBound(mockImageAnalysis), @@ -5841,37 +4775,24 @@ void main() { final controlAELockKey = CaptureRequestKey.pigeon_detached( pigeon_instanceManager: testInstanceManager, ); - camera.proxy = CameraXProxy( - fromCamera2CameraControl: - ({ - required CameraControl cameraControl, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => cameraControl == mockCameraControl - ? mockCamera2CameraControl - : Camera2CameraControl.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - newCaptureRequestOptions: - ({ - required Map options, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockCaptureRequestOptions = MockCaptureRequestOptions(); - options.forEach((CaptureRequestKey key, Object? value) { - when( - mockCaptureRequestOptions.getCaptureRequestOption(key), - ).thenAnswer((_) async => value); - }); - return mockCaptureRequestOptions; - }, - controlAELockCaptureRequest: () => controlAELockKey, - ); + PigeonOverrides.camera2CameraControl_from = + ({required CameraControl cameraControl}) => + cameraControl == mockCameraControl + ? mockCamera2CameraControl + : Camera2CameraControl.pigeon_detached( + pigeon_instanceManager: testInstanceManager, + ); + PigeonOverrides.captureRequestOptions_new = + ({required Map options}) { + final mockCaptureRequestOptions = MockCaptureRequestOptions(); + options.forEach((CaptureRequestKey key, Object? value) { + when( + mockCaptureRequestOptions.getCaptureRequestOption(key), + ).thenAnswer((_) async => value); + }); + return mockCaptureRequestOptions; + }; + PigeonOverrides.captureRequest_controlAELock = controlAELockKey; // Test auto mode. await camera.setExposureMode(cameraId, ExposureMode.auto); @@ -5933,16 +4854,9 @@ void main() { ); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; - camera.proxy = getProxyForExposureAndFocus( + setUpOverridesForExposureAndFocus( withModeFocusMeteringActionBuilder: - ({ - required MeteringMode mode, - required MeteringPoint point, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required MeteringMode mode, required MeteringPoint point}) { actionBuilderMeteringMode = mode; actionBuilderMeteringPoint = point; return mockActionBuilder; @@ -6015,7 +4929,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForExposureAndFocus(); + setUpOverridesForExposureAndFocus(); expect( () => camera.setExposurePoint(cameraId, invalidExposurePoint), @@ -6056,32 +4970,21 @@ void main() { pigeon_instanceManager: testInstanceManager, ), ); - camera.proxy = getProxyForExposureAndFocus( + setUpOverridesForExposureAndFocus( newDisplayOrientedMeteringPointFactory: ({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( mockFactory.createPoint(exposurePointX, exposurePointY), ).thenAnswer((_) async => createdMeteringPoint); - return mockFactory; - }, - withModeFocusMeteringActionBuilder: - ({ - required MeteringMode mode, - required MeteringPoint point, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + return mockFactory; + }, + withModeFocusMeteringActionBuilder: + ({required MeteringMode mode, required MeteringPoint point}) { actionBuilderMeteringMode = mode; actionBuilderMeteringPoint = point; return mockActionBuilder; @@ -6188,16 +5091,12 @@ void main() { pigeon_instanceManager: testInstanceManager, ), ); - camera.proxy = getProxyForExposureAndFocus( + setUpOverridesForExposureAndFocus( newDisplayOrientedMeteringPointFactory: ({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( @@ -6206,14 +5105,7 @@ void main() { return mockFactory; }, withModeFocusMeteringActionBuilder: - ({ - required MeteringMode mode, - required MeteringPoint point, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required MeteringMode mode, required MeteringPoint point}) { actionBuilderMeteringMode = mode; actionBuilderMeteringPoint = point; return mockActionBuilder; @@ -6241,7 +5133,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -6465,16 +5357,9 @@ void main() { ); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; - camera.proxy = getProxyForExposureAndFocus( + setUpOverridesForExposureAndFocus( withModeFocusMeteringActionBuilder: - ({ - required MeteringMode mode, - required MeteringPoint point, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required MeteringMode mode, required MeteringPoint point}) { actionBuilderMeteringMode = mode; actionBuilderMeteringPoint = point; return mockActionBuilder; @@ -6546,7 +5431,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForExposureAndFocus(); + setUpOverridesForExposureAndFocus(); expect( () => camera.setFocusPoint(cameraId, invalidFocusPoint), @@ -6588,16 +5473,12 @@ void main() { pigeon_instanceManager: testInstanceManager, ), ); - camera.proxy = getProxyForExposureAndFocus( + setUpOverridesForExposureAndFocus( newDisplayOrientedMeteringPointFactory: ({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( @@ -6606,14 +5487,7 @@ void main() { return mockFactory; }, withModeFocusMeteringActionBuilder: - ({ - required MeteringMode mode, - required MeteringPoint point, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required MeteringMode mode, required MeteringPoint point}) { actionBuilderMeteringMode = mode; actionBuilderMeteringPoint = point; return mockActionBuilder; @@ -6719,16 +5593,12 @@ void main() { pigeon_instanceManager: testInstanceManager, ), ); - camera.proxy = getProxyForExposureAndFocus( + setUpOverridesForExposureAndFocus( newDisplayOrientedMeteringPointFactory: ({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( @@ -6737,14 +5607,7 @@ void main() { return mockFactory; }, withModeFocusMeteringActionBuilder: - ({ - required MeteringMode mode, - required MeteringPoint point, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + ({required MeteringMode mode, required MeteringPoint point}) { actionBuilderMeteringMode = mode; actionBuilderMeteringPoint = point; return mockActionBuilder; @@ -6771,7 +5634,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -6822,7 +5685,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -6879,18 +5742,14 @@ void main() { onWeakReferenceRemoved: (_) {}, ); final createdMeteringPoints = []; - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, newDisplayOrientedMeteringPointFactory: ({ - required CameraInfo cameraInfo, + required dynamic cameraInfo, required double width, required double height, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockFactory = MockDisplayOrientedMeteringPointFactory(); when( @@ -6967,7 +5826,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7008,7 +5867,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7066,7 +5925,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7121,7 +5980,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7188,7 +6047,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7250,7 +6109,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7296,7 +6155,7 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, mockCamera2CameraControl, ); @@ -7321,7 +6180,7 @@ void main() { verificationResult.captured.single as CaptureRequestOptions; expect( await capturedCaptureRequestOptions.getCaptureRequestOption( - camera.proxy.controlAELockCaptureRequest(), + CaptureRequest.controlAELock, ), isFalse, ); @@ -7341,7 +6200,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -7395,7 +6254,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -7448,7 +6307,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -7490,7 +6349,7 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = MockCameraInfo(); - camera.proxy = getProxyForSettingFocusandExposurePoints( + setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, MockCamera2CameraControl(), ); @@ -7538,31 +6397,13 @@ void main() { camera.captureOrientationLocked = true; // Tell plugin to create a detached analyzer for testing purposes. - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockAnalyzer(), - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) => + MockAnalyzer(); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; when( mockProcessCameraProvider.isBound(mockImageAnalysis), @@ -7618,68 +6459,38 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 7; @@ -7760,68 +6571,34 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 77; @@ -7869,102 +6646,68 @@ void main() { ), ); - await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); - - verify( - camera.processCameraProvider!.unbind([camera.imageAnalysis!]), - ); - }, - ); - - test( - 'startVideoCapturing unbinds ImageAnalysis use case when image streaming callback is specified, camera device is not at least level 3, and preview is not paused', - () async { - // Set up mocks and constants. - final camera = AndroidCameraCameraX(); - final mockPendingRecording = MockPendingRecording(); - final mockRecording = MockRecording(); - final mockCamera = MockCamera(); - final mockCameraInfo = MockCameraInfo(); - final mockCamera2CameraInfo = MockCamera2CameraInfo(); - - // Set directly for test versus calling createCamera. - camera.processCameraProvider = MockProcessCameraProvider(); - camera.recorder = MockRecorder(); - camera.videoCapture = MockVideoCapture(); - camera.cameraSelector = MockCameraSelector(); - camera.cameraInfo = MockCameraInfo(); - camera.imageAnalysis = MockImageAnalysis(); - camera.enableRecordingAudio = false; - - // Ignore setting target rotation for this test; tested seprately. - camera.captureOrientationLocked = true; - - // Tell plugin to create detached Observer when camera info updated. - const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); - + await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); + + verify( + camera.processCameraProvider!.unbind([camera.imageAnalysis!]), + ); + }, + ); + + test( + 'startVideoCapturing unbinds ImageAnalysis use case when image streaming callback is specified, camera device is not at least level 3, and preview is not paused', + () async { + // Set up mocks and constants. + final camera = AndroidCameraCameraX(); + final mockPendingRecording = MockPendingRecording(); + final mockRecording = MockRecording(); + final mockCamera = MockCamera(); + final mockCameraInfo = MockCameraInfo(); + final mockCamera2CameraInfo = MockCamera2CameraInfo(); + + // Set directly for test versus calling createCamera. + camera.processCameraProvider = MockProcessCameraProvider(); + camera.recorder = MockRecorder(); + camera.videoCapture = MockVideoCapture(); + camera.cameraSelector = MockCameraSelector(); + camera.cameraInfo = MockCameraInfo(); + camera.imageAnalysis = MockImageAnalysis(); + camera.enableRecordingAudio = false; + + // Ignore setting target rotation for this test; tested separately. + camera.captureOrientationLocked = true; + + // Tell plugin to create detached Observer when camera info updated. + const outputPath = '/temp/REC123.mp4'; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); + const cameraId = 87; // Mock method calls. @@ -8049,83 +6792,38 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 107; @@ -8215,83 +6913,38 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 97; @@ -8373,83 +7026,38 @@ void main() { // Tell plugin to create detached Observer when camera info updated. const outputPath = '/temp/REC123.mp4'; - camera.proxy = CameraXProxy( - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => mockCamera2CameraInfo, - newSystemServicesManager: - ({ - required void Function(SystemServicesManager, String) - onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final mockSystemServicesManager = MockSystemServicesManager(); - when( - mockSystemServicesManager.getTempFilePath( - camera.videoPrefix, - '.mp4', - ), - ).thenAnswer((_) async => outputPath); - return mockSystemServicesManager; - }, - newVideoRecordEventListener: - ({ - required void Function(VideoRecordEventListener, VideoRecordEvent) - onEvent, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - infoSupportedHardwareLevelCameraCharacteristics: () { - return MockCameraCharacteristicsKey(); - }, - ); + PigeonOverrides.analyzer_new = + ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.camera2CameraInfo_from = + ({required dynamic cameraInfo}) => mockCamera2CameraInfo; + PigeonOverrides.systemServicesManager_new = + ({ + required void Function(SystemServicesManager, String) onCameraError, + }) { + final mockSystemServicesManager = MockSystemServicesManager(); + when( + mockSystemServicesManager.getTempFilePath( + camera.videoPrefix, + '.mp4', + ), + ).thenAnswer((_) async => outputPath); + return mockSystemServicesManager; + }; + PigeonOverrides.videoRecordEventListener_new = + ({ + required void Function(VideoRecordEventListener, VideoRecordEvent) + onEvent, + }) { + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); + }; + PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = + MockCameraCharacteristicsKey(); const cameraId = 44; @@ -8533,11 +7141,7 @@ void main() { class TestMeteringPoint extends MeteringPoint { TestMeteringPoint.detached({required this.x, required this.y, this.size}) - : super.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); + : super.pigeon_detached(); final double x; final double y; diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.mocks.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.mocks.dart index 0636af52902..2431ccb72a8 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.mocks.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.mocks.dart @@ -4,14 +4,12 @@ // ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i5; -import 'dart:typed_data' as _i9; +import 'dart:typed_data' as _i7; import 'package:camera_android_camerax/src/camerax_library.dart' as _i3; import 'package:camera_android_camerax/src/camerax_library.g.dart' as _i2; -import 'package:camera_android_camerax/src/camerax_proxy.dart' as _i7; import 'package:camera_platform_interface/camera_platform_interface.dart' as _i4; -import 'package:flutter/services.dart' as _i8; import 'package:mockito/mockito.dart' as _i1; import 'package:mockito/src/dummies.dart' as _i6; @@ -28,6 +26,7 @@ import 'package:mockito/src/dummies.dart' as _i6; // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types // ignore_for_file: subtype_of_sealed_class +// ignore_for_file: invalid_use_of_internal_member class _FakePigeonInstanceManager_0 extends _i1.SmartFake implements _i2.PigeonInstanceManager { @@ -111,167 +110,155 @@ class _FakeCameraSelector_14 extends _i1.SmartFake : super(parent, parentInvocation); } -class _FakeCameraIntegerRange_15 extends _i1.SmartFake - implements _i2.CameraIntegerRange { - _FakeCameraIntegerRange_15(Object parent, Invocation parentInvocation) +class _FakeCaptureRequestOptions_15 extends _i1.SmartFake + implements _i2.CaptureRequestOptions { + _FakeCaptureRequestOptions_15(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeObserver_16 extends _i1.SmartFake implements _i3.Observer { - _FakeObserver_16(Object parent, Invocation parentInvocation) +class _FakeDeviceOrientationManager_16 extends _i1.SmartFake + implements _i2.DeviceOrientationManager { + _FakeDeviceOrientationManager_16(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeSystemServicesManager_17 extends _i1.SmartFake - implements _i2.SystemServicesManager { - _FakeSystemServicesManager_17(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); +class _FakeDisplayOrientedMeteringPointFactory_17 extends _i1.SmartFake + implements _i2.DisplayOrientedMeteringPointFactory { + _FakeDisplayOrientedMeteringPointFactory_17( + Object parent, + Invocation parentInvocation, + ) : super(parent, parentInvocation); } -class _FakeDeviceOrientationManager_18 extends _i1.SmartFake - implements _i2.DeviceOrientationManager { - _FakeDeviceOrientationManager_18(Object parent, Invocation parentInvocation) +class _FakeMeteringPoint_18 extends _i1.SmartFake implements _i2.MeteringPoint { + _FakeMeteringPoint_18(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakePreview_19 extends _i1.SmartFake implements _i2.Preview { - _FakePreview_19(Object parent, Invocation parentInvocation) +class _FakeCameraIntegerRange_19 extends _i1.SmartFake + implements _i2.CameraIntegerRange { + _FakeCameraIntegerRange_19(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeVideoCapture_20 extends _i1.SmartFake implements _i2.VideoCapture { - _FakeVideoCapture_20(Object parent, Invocation parentInvocation) +class _FakeFallbackStrategy_20 extends _i1.SmartFake + implements _i2.FallbackStrategy { + _FakeFallbackStrategy_20(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeRecorder_21 extends _i1.SmartFake implements _i2.Recorder { - _FakeRecorder_21(Object parent, Invocation parentInvocation) +class _FakeFocusMeteringAction_21 extends _i1.SmartFake + implements _i2.FocusMeteringAction { + _FakeFocusMeteringAction_21(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeVideoRecordEventListener_22 extends _i1.SmartFake - implements _i2.VideoRecordEventListener { - _FakeVideoRecordEventListener_22(Object parent, Invocation parentInvocation) +class _FakeFocusMeteringActionBuilder_22 extends _i1.SmartFake + implements _i2.FocusMeteringActionBuilder { + _FakeFocusMeteringActionBuilder_22(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeImageCapture_23 extends _i1.SmartFake implements _i2.ImageCapture { - _FakeImageCapture_23(Object parent, Invocation parentInvocation) +class _FakeFocusMeteringResult_23 extends _i1.SmartFake + implements _i2.FocusMeteringResult { + _FakeFocusMeteringResult_23(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeResolutionStrategy_24 extends _i1.SmartFake - implements _i2.ResolutionStrategy { - _FakeResolutionStrategy_24(Object parent, Invocation parentInvocation) +class _FakeImageAnalysis_24 extends _i1.SmartFake implements _i2.ImageAnalysis { + _FakeImageAnalysis_24(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeResolutionSelector_25 extends _i1.SmartFake - implements _i2.ResolutionSelector { - _FakeResolutionSelector_25(Object parent, Invocation parentInvocation) +class _FakeImageCapture_25 extends _i1.SmartFake implements _i2.ImageCapture { + _FakeImageCapture_25(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeImageAnalysis_26 extends _i1.SmartFake implements _i2.ImageAnalysis { - _FakeImageAnalysis_26(Object parent, Invocation parentInvocation) +class _FakeImageProxy_26 extends _i1.SmartFake implements _i2.ImageProxy { + _FakeImageProxy_26(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeQualitySelector_27 extends _i1.SmartFake - implements _i2.QualitySelector { - _FakeQualitySelector_27(Object parent, Invocation parentInvocation) +class _FakeObserver_27 extends _i1.SmartFake implements _i3.Observer { + _FakeObserver_27(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeFallbackStrategy_28 extends _i1.SmartFake - implements _i2.FallbackStrategy { - _FakeFallbackStrategy_28(Object parent, Invocation parentInvocation) +class _FakePendingRecording_28 extends _i1.SmartFake + implements _i2.PendingRecording { + _FakePendingRecording_28(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeFocusMeteringActionBuilder_29 extends _i1.SmartFake - implements _i2.FocusMeteringActionBuilder { - _FakeFocusMeteringActionBuilder_29(Object parent, Invocation parentInvocation) +class _FakeRecording_29 extends _i1.SmartFake implements _i2.Recording { + _FakeRecording_29(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeCaptureRequestOptions_30 extends _i1.SmartFake - implements _i2.CaptureRequestOptions { - _FakeCaptureRequestOptions_30(Object parent, Invocation parentInvocation) +class _FakePlaneProxy_30 extends _i1.SmartFake implements _i2.PlaneProxy { + _FakePlaneProxy_30(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeResolutionFilter_31 extends _i1.SmartFake - implements _i2.ResolutionFilter { - _FakeResolutionFilter_31(Object parent, Invocation parentInvocation) +class _FakePreview_31 extends _i1.SmartFake implements _i2.Preview { + _FakePreview_31(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeDisplayOrientedMeteringPointFactory_32 extends _i1.SmartFake - implements _i2.DisplayOrientedMeteringPointFactory { - _FakeDisplayOrientedMeteringPointFactory_32( - Object parent, - Invocation parentInvocation, - ) : super(parent, parentInvocation); -} - -class _FakeProcessCameraProvider_33 extends _i1.SmartFake +class _FakeProcessCameraProvider_32 extends _i1.SmartFake implements _i2.ProcessCameraProvider { - _FakeProcessCameraProvider_33(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeCaptureRequestKey_34 extends _i1.SmartFake - implements _i2.CaptureRequestKey { - _FakeCaptureRequestKey_34(Object parent, Invocation parentInvocation) + _FakeProcessCameraProvider_32(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeMeteringPoint_35 extends _i1.SmartFake implements _i2.MeteringPoint { - _FakeMeteringPoint_35(Object parent, Invocation parentInvocation) +class _FakeQualitySelector_33 extends _i1.SmartFake + implements _i2.QualitySelector { + _FakeQualitySelector_33(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeFocusMeteringAction_36 extends _i1.SmartFake - implements _i2.FocusMeteringAction { - _FakeFocusMeteringAction_36(Object parent, Invocation parentInvocation) +class _FakeRecorder_34 extends _i1.SmartFake implements _i2.Recorder { + _FakeRecorder_34(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeFocusMeteringResult_37 extends _i1.SmartFake - implements _i2.FocusMeteringResult { - _FakeFocusMeteringResult_37(Object parent, Invocation parentInvocation) +class _FakeResolutionFilter_35 extends _i1.SmartFake + implements _i2.ResolutionFilter { + _FakeResolutionFilter_35(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeImageProxy_38 extends _i1.SmartFake implements _i2.ImageProxy { - _FakeImageProxy_38(Object parent, Invocation parentInvocation) +class _FakeResolutionSelector_36 extends _i1.SmartFake + implements _i2.ResolutionSelector { + _FakeResolutionSelector_36(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakePendingRecording_39 extends _i1.SmartFake - implements _i2.PendingRecording { - _FakePendingRecording_39(Object parent, Invocation parentInvocation) +class _FakeResolutionStrategy_37 extends _i1.SmartFake + implements _i2.ResolutionStrategy { + _FakeResolutionStrategy_37(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeRecording_40 extends _i1.SmartFake implements _i2.Recording { - _FakeRecording_40(Object parent, Invocation parentInvocation) +class _FakeSystemServicesManager_38 extends _i1.SmartFake + implements _i2.SystemServicesManager { + _FakeSystemServicesManager_38(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakePlaneProxy_41 extends _i1.SmartFake implements _i2.PlaneProxy { - _FakePlaneProxy_41(Object parent, Invocation parentInvocation) +class _FakeVideoOutput_39 extends _i1.SmartFake implements _i2.VideoOutput { + _FakeVideoOutput_39(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeVideoOutput_42 extends _i1.SmartFake implements _i2.VideoOutput { - _FakeVideoOutput_42(Object parent, Invocation parentInvocation) +class _FakeVideoCapture_40 extends _i1.SmartFake implements _i2.VideoCapture { + _FakeVideoCapture_40(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } -class _FakeZoomState_43 extends _i1.SmartFake implements _i2.ZoomState { - _FakeZoomState_43(Object parent, Invocation parentInvocation) +class _FakeZoomState_41 extends _i1.SmartFake implements _i2.ZoomState { + _FakeZoomState_41(Object parent, Invocation parentInvocation) : super(parent, parentInvocation); } @@ -920,1422 +907,6 @@ class MockCameraSelector extends _i1.Mock implements _i2.CameraSelector { as _i2.CameraSelector); } -/// A class which mocks [CameraXProxy]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockCameraXProxy extends _i1.Mock implements _i7.CameraXProxy { - @override - void Function({ - _i8.BinaryMessenger? pigeonBinaryMessenger, - _i2.PigeonInstanceManager? pigeonInstanceManager, - }) - get setUpGenericsProxy => - (super.noSuchMethod( - Invocation.getter(#setUpGenericsProxy), - returnValue: - ({ - _i8.BinaryMessenger? pigeonBinaryMessenger, - _i2.PigeonInstanceManager? pigeonInstanceManager, - }) {}, - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeonBinaryMessenger, - _i2.PigeonInstanceManager? pigeonInstanceManager, - }) {}, - ) - as void Function({ - _i8.BinaryMessenger? pigeonBinaryMessenger, - _i2.PigeonInstanceManager? pigeonInstanceManager, - })); - - @override - _i2.CameraSize Function({ - required int height, - required int width, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newCameraSize => - (super.noSuchMethod( - Invocation.getter(#newCameraSize), - returnValue: - ({ - required int height, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required int width, - }) => - _FakeCameraSize_10(this, Invocation.getter(#newCameraSize)), - returnValueForMissingStub: - ({ - required int height, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required int width, - }) => - _FakeCameraSize_10(this, Invocation.getter(#newCameraSize)), - ) - as _i2.CameraSize Function({ - required int height, - required int width, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.CameraIntegerRange Function({ - required int lower, - required int upper, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newCameraIntegerRange => - (super.noSuchMethod( - Invocation.getter(#newCameraIntegerRange), - returnValue: - ({ - required int lower, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required int upper, - }) => _FakeCameraIntegerRange_15( - this, - Invocation.getter(#newCameraIntegerRange), - ), - returnValueForMissingStub: - ({ - required int lower, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required int upper, - }) => _FakeCameraIntegerRange_15( - this, - Invocation.getter(#newCameraIntegerRange), - ), - ) - as _i2.CameraIntegerRange Function({ - required int lower, - required int upper, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i3.Observer Function({ - required void Function(_i3.Observer, T) onChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newObserver => - (super.noSuchMethod( - Invocation.getter(#newObserver), - returnValue: - ({ - required void Function(_i3.Observer, T) onChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => - _FakeObserver_16(this, Invocation.getter(#newObserver)), - returnValueForMissingStub: - ({ - required void Function(_i3.Observer, T) onChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => - _FakeObserver_16(this, Invocation.getter(#newObserver)), - ) - as _i3.Observer Function({ - required void Function(_i3.Observer, T) onChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.CameraSelector Function({ - _i3.CameraInfo? cameraInfoForFilter, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.LensFacing? requireLensFacing, - }) - get newCameraSelector => - (super.noSuchMethod( - Invocation.getter(#newCameraSelector), - returnValue: - ({ - _i3.CameraInfo? cameraInfoForFilter, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.LensFacing? requireLensFacing, - }) => _FakeCameraSelector_14( - this, - Invocation.getter(#newCameraSelector), - ), - returnValueForMissingStub: - ({ - _i3.CameraInfo? cameraInfoForFilter, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.LensFacing? requireLensFacing, - }) => _FakeCameraSelector_14( - this, - Invocation.getter(#newCameraSelector), - ), - ) - as _i2.CameraSelector Function({ - _i3.CameraInfo? cameraInfoForFilter, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.LensFacing? requireLensFacing, - })); - - @override - _i2.SystemServicesManager Function({ - required void Function(_i2.SystemServicesManager, String) onCameraError, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newSystemServicesManager => - (super.noSuchMethod( - Invocation.getter(#newSystemServicesManager), - returnValue: - ({ - required void Function(_i2.SystemServicesManager, String) - onCameraError, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeSystemServicesManager_17( - this, - Invocation.getter(#newSystemServicesManager), - ), - returnValueForMissingStub: - ({ - required void Function(_i2.SystemServicesManager, String) - onCameraError, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeSystemServicesManager_17( - this, - Invocation.getter(#newSystemServicesManager), - ), - ) - as _i2.SystemServicesManager Function({ - required void Function(_i2.SystemServicesManager, String) - onCameraError, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.DeviceOrientationManager Function({ - required void Function(_i2.DeviceOrientationManager, String) - onDeviceOrientationChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newDeviceOrientationManager => - (super.noSuchMethod( - Invocation.getter(#newDeviceOrientationManager), - returnValue: - ({ - required void Function(_i2.DeviceOrientationManager, String) - onDeviceOrientationChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeDeviceOrientationManager_18( - this, - Invocation.getter(#newDeviceOrientationManager), - ), - returnValueForMissingStub: - ({ - required void Function(_i2.DeviceOrientationManager, String) - onDeviceOrientationChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeDeviceOrientationManager_18( - this, - Invocation.getter(#newDeviceOrientationManager), - ), - ) - as _i2.DeviceOrientationManager Function({ - required void Function(_i2.DeviceOrientationManager, String) - onDeviceOrientationChanged, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.Preview Function({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - }) - get newPreview => - (super.noSuchMethod( - Invocation.getter(#newPreview), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - }) => _FakePreview_19(this, Invocation.getter(#newPreview)), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - }) => _FakePreview_19(this, Invocation.getter(#newPreview)), - ) - as _i2.Preview Function({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - })); - - @override - _i2.VideoCapture Function({ - required _i2.VideoOutput videoOutput, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.CameraIntegerRange? targetFpsRange, - }) - get withOutputVideoCapture => - (super.noSuchMethod( - Invocation.getter(#withOutputVideoCapture), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.CameraIntegerRange? targetFpsRange, - required _i2.VideoOutput videoOutput, - }) => _FakeVideoCapture_20( - this, - Invocation.getter(#withOutputVideoCapture), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.CameraIntegerRange? targetFpsRange, - required _i2.VideoOutput videoOutput, - }) => _FakeVideoCapture_20( - this, - Invocation.getter(#withOutputVideoCapture), - ), - ) - as _i2.VideoCapture Function({ - required _i2.VideoOutput videoOutput, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.CameraIntegerRange? targetFpsRange, - })); - - @override - _i2.Recorder Function({ - int? aspectRatio, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.QualitySelector? qualitySelector, - int? targetVideoEncodingBitRate, - }) - get newRecorder => - (super.noSuchMethod( - Invocation.getter(#newRecorder), - returnValue: - ({ - int? aspectRatio, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.QualitySelector? qualitySelector, - int? targetVideoEncodingBitRate, - }) => _FakeRecorder_21(this, Invocation.getter(#newRecorder)), - returnValueForMissingStub: - ({ - int? aspectRatio, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.QualitySelector? qualitySelector, - int? targetVideoEncodingBitRate, - }) => _FakeRecorder_21(this, Invocation.getter(#newRecorder)), - ) - as _i2.Recorder Function({ - int? aspectRatio, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.QualitySelector? qualitySelector, - int? targetVideoEncodingBitRate, - })); - - @override - _i2.VideoRecordEventListener Function({ - required void Function(_i2.VideoRecordEventListener, _i2.VideoRecordEvent) - onEvent, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newVideoRecordEventListener => - (super.noSuchMethod( - Invocation.getter(#newVideoRecordEventListener), - returnValue: - ({ - required void Function( - _i2.VideoRecordEventListener, - _i2.VideoRecordEvent, - ) - onEvent, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeVideoRecordEventListener_22( - this, - Invocation.getter(#newVideoRecordEventListener), - ), - returnValueForMissingStub: - ({ - required void Function( - _i2.VideoRecordEventListener, - _i2.VideoRecordEvent, - ) - onEvent, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeVideoRecordEventListener_22( - this, - Invocation.getter(#newVideoRecordEventListener), - ), - ) - as _i2.VideoRecordEventListener Function({ - required void Function( - _i2.VideoRecordEventListener, - _i2.VideoRecordEvent, - ) - onEvent, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.ImageCapture Function({ - _i2.CameraXFlashMode? flashMode, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - int? targetRotation, - }) - get newImageCapture => - (super.noSuchMethod( - Invocation.getter(#newImageCapture), - returnValue: - ({ - _i2.CameraXFlashMode? flashMode, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - int? targetRotation, - }) => _FakeImageCapture_23( - this, - Invocation.getter(#newImageCapture), - ), - returnValueForMissingStub: - ({ - _i2.CameraXFlashMode? flashMode, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - int? targetRotation, - }) => _FakeImageCapture_23( - this, - Invocation.getter(#newImageCapture), - ), - ) - as _i2.ImageCapture Function({ - _i2.CameraXFlashMode? flashMode, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - int? targetRotation, - })); - - @override - _i2.ResolutionStrategy Function({ - required _i2.CameraSize boundSize, - required _i2.ResolutionStrategyFallbackRule fallbackRule, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newResolutionStrategy => - (super.noSuchMethod( - Invocation.getter(#newResolutionStrategy), - returnValue: - ({ - required _i2.CameraSize boundSize, - required _i2.ResolutionStrategyFallbackRule fallbackRule, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeResolutionStrategy_24( - this, - Invocation.getter(#newResolutionStrategy), - ), - returnValueForMissingStub: - ({ - required _i2.CameraSize boundSize, - required _i2.ResolutionStrategyFallbackRule fallbackRule, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeResolutionStrategy_24( - this, - Invocation.getter(#newResolutionStrategy), - ), - ) - as _i2.ResolutionStrategy Function({ - required _i2.CameraSize boundSize, - required _i2.ResolutionStrategyFallbackRule fallbackRule, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.ResolutionSelector Function({ - _i2.AspectRatioStrategy? aspectRatioStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionFilter? resolutionFilter, - _i2.ResolutionStrategy? resolutionStrategy, - }) - get newResolutionSelector => - (super.noSuchMethod( - Invocation.getter(#newResolutionSelector), - returnValue: - ({ - _i2.AspectRatioStrategy? aspectRatioStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionFilter? resolutionFilter, - _i2.ResolutionStrategy? resolutionStrategy, - }) => _FakeResolutionSelector_25( - this, - Invocation.getter(#newResolutionSelector), - ), - returnValueForMissingStub: - ({ - _i2.AspectRatioStrategy? aspectRatioStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionFilter? resolutionFilter, - _i2.ResolutionStrategy? resolutionStrategy, - }) => _FakeResolutionSelector_25( - this, - Invocation.getter(#newResolutionSelector), - ), - ) - as _i2.ResolutionSelector Function({ - _i2.AspectRatioStrategy? aspectRatioStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionFilter? resolutionFilter, - _i2.ResolutionStrategy? resolutionStrategy, - })); - - @override - _i2.AspectRatioStrategy Function({ - required _i2.AspectRatioStrategyFallbackRule fallbackRule, - required _i2.AspectRatio preferredAspectRatio, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newAspectRatioStrategy => - (super.noSuchMethod( - Invocation.getter(#newAspectRatioStrategy), - returnValue: - ({ - required _i2.AspectRatioStrategyFallbackRule fallbackRule, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.AspectRatio preferredAspectRatio, - }) => _FakeAspectRatioStrategy_2( - this, - Invocation.getter(#newAspectRatioStrategy), - ), - returnValueForMissingStub: - ({ - required _i2.AspectRatioStrategyFallbackRule fallbackRule, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.AspectRatio preferredAspectRatio, - }) => _FakeAspectRatioStrategy_2( - this, - Invocation.getter(#newAspectRatioStrategy), - ), - ) - as _i2.AspectRatioStrategy Function({ - required _i2.AspectRatioStrategyFallbackRule fallbackRule, - required _i2.AspectRatio preferredAspectRatio, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.ImageAnalysis Function({ - int? outputImageFormat, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - }) - get newImageAnalysis => - (super.noSuchMethod( - Invocation.getter(#newImageAnalysis), - returnValue: - ({ - int? outputImageFormat, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - }) => _FakeImageAnalysis_26( - this, - Invocation.getter(#newImageAnalysis), - ), - returnValueForMissingStub: - ({ - int? outputImageFormat, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - }) => _FakeImageAnalysis_26( - this, - Invocation.getter(#newImageAnalysis), - ), - ) - as _i2.ImageAnalysis Function({ - int? outputImageFormat, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - _i2.ResolutionSelector? resolutionSelector, - _i2.CameraIntegerRange? targetFpsRange, - int? targetRotation, - })); - - @override - _i2.Analyzer Function({ - required void Function(_i2.Analyzer, _i2.ImageProxy) analyze, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newAnalyzer => - (super.noSuchMethod( - Invocation.getter(#newAnalyzer), - returnValue: - ({ - required void Function(_i2.Analyzer, _i2.ImageProxy) analyze, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeAnalyzer_1(this, Invocation.getter(#newAnalyzer)), - returnValueForMissingStub: - ({ - required void Function(_i2.Analyzer, _i2.ImageProxy) analyze, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeAnalyzer_1(this, Invocation.getter(#newAnalyzer)), - ) - as _i2.Analyzer Function({ - required void Function(_i2.Analyzer, _i2.ImageProxy) analyze, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.QualitySelector Function({ - required _i2.VideoQuality quality, - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get fromQualitySelector => - (super.noSuchMethod( - Invocation.getter(#fromQualitySelector), - returnValue: - ({ - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeQualitySelector_27( - this, - Invocation.getter(#fromQualitySelector), - ), - returnValueForMissingStub: - ({ - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeQualitySelector_27( - this, - Invocation.getter(#fromQualitySelector), - ), - ) - as _i2.QualitySelector Function({ - required _i2.VideoQuality quality, - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.QualitySelector Function({ - required List<_i2.VideoQuality> qualities, - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get fromOrderedListQualitySelector => - (super.noSuchMethod( - Invocation.getter(#fromOrderedListQualitySelector), - returnValue: - ({ - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required List<_i2.VideoQuality> qualities, - }) => _FakeQualitySelector_27( - this, - Invocation.getter(#fromOrderedListQualitySelector), - ), - returnValueForMissingStub: - ({ - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required List<_i2.VideoQuality> qualities, - }) => _FakeQualitySelector_27( - this, - Invocation.getter(#fromOrderedListQualitySelector), - ), - ) - as _i2.QualitySelector Function({ - required List<_i2.VideoQuality> qualities, - _i2.FallbackStrategy? fallbackStrategy, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get higherQualityOrLowerThanFallbackStrategy => - (super.noSuchMethod( - Invocation.getter(#higherQualityOrLowerThanFallbackStrategy), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#higherQualityOrLowerThanFallbackStrategy), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#higherQualityOrLowerThanFallbackStrategy), - ), - ) - as _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get higherQualityThanFallbackStrategy => - (super.noSuchMethod( - Invocation.getter(#higherQualityThanFallbackStrategy), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#higherQualityThanFallbackStrategy), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#higherQualityThanFallbackStrategy), - ), - ) - as _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get lowerQualityOrHigherThanFallbackStrategy => - (super.noSuchMethod( - Invocation.getter(#lowerQualityOrHigherThanFallbackStrategy), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#lowerQualityOrHigherThanFallbackStrategy), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#lowerQualityOrHigherThanFallbackStrategy), - ), - ) - as _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get lowerQualityThanFallbackStrategy => - (super.noSuchMethod( - Invocation.getter(#lowerQualityThanFallbackStrategy), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#lowerQualityThanFallbackStrategy), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.VideoQuality quality, - }) => _FakeFallbackStrategy_28( - this, - Invocation.getter(#lowerQualityThanFallbackStrategy), - ), - ) - as _i2.FallbackStrategy Function({ - required _i2.VideoQuality quality, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.FocusMeteringActionBuilder Function({ - required _i2.MeteringPoint point, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newFocusMeteringActionBuilder => - (super.noSuchMethod( - Invocation.getter(#newFocusMeteringActionBuilder), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.MeteringPoint point, - }) => _FakeFocusMeteringActionBuilder_29( - this, - Invocation.getter(#newFocusMeteringActionBuilder), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.MeteringPoint point, - }) => _FakeFocusMeteringActionBuilder_29( - this, - Invocation.getter(#newFocusMeteringActionBuilder), - ), - ) - as _i2.FocusMeteringActionBuilder Function({ - required _i2.MeteringPoint point, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.FocusMeteringActionBuilder Function({ - required _i2.MeteringMode mode, - required _i2.MeteringPoint point, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get withModeFocusMeteringActionBuilder => - (super.noSuchMethod( - Invocation.getter(#withModeFocusMeteringActionBuilder), - returnValue: - ({ - required _i2.MeteringMode mode, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.MeteringPoint point, - }) => _FakeFocusMeteringActionBuilder_29( - this, - Invocation.getter(#withModeFocusMeteringActionBuilder), - ), - returnValueForMissingStub: - ({ - required _i2.MeteringMode mode, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.MeteringPoint point, - }) => _FakeFocusMeteringActionBuilder_29( - this, - Invocation.getter(#withModeFocusMeteringActionBuilder), - ), - ) - as _i2.FocusMeteringActionBuilder Function({ - required _i2.MeteringMode mode, - required _i2.MeteringPoint point, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.CaptureRequestOptions Function({ - required Map<_i2.CaptureRequestKey, Object?> options, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newCaptureRequestOptions => - (super.noSuchMethod( - Invocation.getter(#newCaptureRequestOptions), - returnValue: - ({ - required Map<_i2.CaptureRequestKey, Object?> options, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeCaptureRequestOptions_30( - this, - Invocation.getter(#newCaptureRequestOptions), - ), - returnValueForMissingStub: - ({ - required Map<_i2.CaptureRequestKey, Object?> options, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeCaptureRequestOptions_30( - this, - Invocation.getter(#newCaptureRequestOptions), - ), - ) - as _i2.CaptureRequestOptions Function({ - required Map<_i2.CaptureRequestKey, Object?> options, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.Camera2CameraControl Function({ - required _i2.CameraControl cameraControl, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get fromCamera2CameraControl => - (super.noSuchMethod( - Invocation.getter(#fromCamera2CameraControl), - returnValue: - ({ - required _i2.CameraControl cameraControl, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeCamera2CameraControl_11( - this, - Invocation.getter(#fromCamera2CameraControl), - ), - returnValueForMissingStub: - ({ - required _i2.CameraControl cameraControl, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeCamera2CameraControl_11( - this, - Invocation.getter(#fromCamera2CameraControl), - ), - ) - as _i2.Camera2CameraControl Function({ - required _i2.CameraControl cameraControl, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.ResolutionFilter Function({ - required _i2.CameraSize preferredSize, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get createWithOnePreferredSizeResolutionFilter => - (super.noSuchMethod( - Invocation.getter(#createWithOnePreferredSizeResolutionFilter), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.CameraSize preferredSize, - }) => _FakeResolutionFilter_31( - this, - Invocation.getter( - #createWithOnePreferredSizeResolutionFilter, - ), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required _i2.CameraSize preferredSize, - }) => _FakeResolutionFilter_31( - this, - Invocation.getter( - #createWithOnePreferredSizeResolutionFilter, - ), - ), - ) - as _i2.ResolutionFilter Function({ - required _i2.CameraSize preferredSize, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.Camera2CameraInfo Function({ - required _i3.CameraInfo cameraInfo, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get fromCamera2CameraInfo => - (super.noSuchMethod( - Invocation.getter(#fromCamera2CameraInfo), - returnValue: - ({ - required _i3.CameraInfo cameraInfo, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeCamera2CameraInfo_12( - this, - Invocation.getter(#fromCamera2CameraInfo), - ), - returnValueForMissingStub: - ({ - required _i3.CameraInfo cameraInfo, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _FakeCamera2CameraInfo_12( - this, - Invocation.getter(#fromCamera2CameraInfo), - ), - ) - as _i2.Camera2CameraInfo Function({ - required _i3.CameraInfo cameraInfo, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.DisplayOrientedMeteringPointFactory Function({ - required _i3.CameraInfo cameraInfo, - required double height, - required double width, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get newDisplayOrientedMeteringPointFactory => - (super.noSuchMethod( - Invocation.getter(#newDisplayOrientedMeteringPointFactory), - returnValue: - ({ - required _i3.CameraInfo cameraInfo, - required double height, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required double width, - }) => _FakeDisplayOrientedMeteringPointFactory_32( - this, - Invocation.getter(#newDisplayOrientedMeteringPointFactory), - ), - returnValueForMissingStub: - ({ - required _i3.CameraInfo cameraInfo, - required double height, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - required double width, - }) => _FakeDisplayOrientedMeteringPointFactory_32( - this, - Invocation.getter(#newDisplayOrientedMeteringPointFactory), - ), - ) - as _i2.DisplayOrientedMeteringPointFactory Function({ - required _i3.CameraInfo cameraInfo, - required double height, - required double width, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i5.Future<_i2.ProcessCameraProvider> Function({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get getInstanceProcessCameraProvider => - (super.noSuchMethod( - Invocation.getter(#getInstanceProcessCameraProvider), - returnValue: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _i5.Future<_i2.ProcessCameraProvider>.value( - _FakeProcessCameraProvider_33( - this, - Invocation.getter(#getInstanceProcessCameraProvider), - ), - ), - returnValueForMissingStub: - ({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _i5.Future<_i2.ProcessCameraProvider>.value( - _FakeProcessCameraProvider_33( - this, - Invocation.getter(#getInstanceProcessCameraProvider), - ), - ), - ) - as _i5.Future<_i2.ProcessCameraProvider> Function({ - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i5.Future<_i2.CameraSize?> Function( - _i3.CameraInfo, - _i2.VideoQuality, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get getResolutionQualitySelector => - (super.noSuchMethod( - Invocation.getter(#getResolutionQualitySelector), - returnValue: - ( - _i3.CameraInfo __p0, - _i2.VideoQuality __p1, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _i5.Future<_i2.CameraSize?>.value(), - returnValueForMissingStub: - ( - _i3.CameraInfo __p0, - _i2.VideoQuality __p1, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _i5.Future<_i2.CameraSize?>.value(), - ) - as _i5.Future<_i2.CameraSize?> Function( - _i3.CameraInfo, - _i2.VideoQuality, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - _i2.CameraSelector Function() get defaultBackCameraCameraSelector => - (super.noSuchMethod( - Invocation.getter(#defaultBackCameraCameraSelector), - returnValue: () => _FakeCameraSelector_14( - this, - Invocation.getter(#defaultBackCameraCameraSelector), - ), - returnValueForMissingStub: () => _FakeCameraSelector_14( - this, - Invocation.getter(#defaultBackCameraCameraSelector), - ), - ) - as _i2.CameraSelector Function()); - - @override - _i2.CameraSelector Function() get defaultFrontCameraCameraSelector => - (super.noSuchMethod( - Invocation.getter(#defaultFrontCameraCameraSelector), - returnValue: () => _FakeCameraSelector_14( - this, - Invocation.getter(#defaultFrontCameraCameraSelector), - ), - returnValueForMissingStub: () => _FakeCameraSelector_14( - this, - Invocation.getter(#defaultFrontCameraCameraSelector), - ), - ) - as _i2.CameraSelector Function()); - - @override - _i2.ResolutionStrategy Function() - get highestAvailableStrategyResolutionStrategy => - (super.noSuchMethod( - Invocation.getter(#highestAvailableStrategyResolutionStrategy), - returnValue: () => _FakeResolutionStrategy_24( - this, - Invocation.getter(#highestAvailableStrategyResolutionStrategy), - ), - returnValueForMissingStub: () => _FakeResolutionStrategy_24( - this, - Invocation.getter(#highestAvailableStrategyResolutionStrategy), - ), - ) - as _i2.ResolutionStrategy Function()); - - @override - _i2.AspectRatioStrategy Function() - get ratio_16_9FallbackAutoStrategyAspectRatioStrategy => - (super.noSuchMethod( - Invocation.getter( - #ratio_16_9FallbackAutoStrategyAspectRatioStrategy, - ), - returnValue: () => _FakeAspectRatioStrategy_2( - this, - Invocation.getter( - #ratio_16_9FallbackAutoStrategyAspectRatioStrategy, - ), - ), - returnValueForMissingStub: () => _FakeAspectRatioStrategy_2( - this, - Invocation.getter( - #ratio_16_9FallbackAutoStrategyAspectRatioStrategy, - ), - ), - ) - as _i2.AspectRatioStrategy Function()); - - @override - _i2.AspectRatioStrategy Function() - get ratio_4_3FallbackAutoStrategyAspectRatioStrategy => - (super.noSuchMethod( - Invocation.getter( - #ratio_4_3FallbackAutoStrategyAspectRatioStrategy, - ), - returnValue: () => _FakeAspectRatioStrategy_2( - this, - Invocation.getter( - #ratio_4_3FallbackAutoStrategyAspectRatioStrategy, - ), - ), - returnValueForMissingStub: () => _FakeAspectRatioStrategy_2( - this, - Invocation.getter( - #ratio_4_3FallbackAutoStrategyAspectRatioStrategy, - ), - ), - ) - as _i2.AspectRatioStrategy Function()); - - @override - _i2.CaptureRequestKey Function() get controlAELockCaptureRequest => - (super.noSuchMethod( - Invocation.getter(#controlAELockCaptureRequest), - returnValue: () => _FakeCaptureRequestKey_34( - this, - Invocation.getter(#controlAELockCaptureRequest), - ), - returnValueForMissingStub: () => _FakeCaptureRequestKey_34( - this, - Invocation.getter(#controlAELockCaptureRequest), - ), - ) - as _i2.CaptureRequestKey Function()); - - @override - _i2.CameraCharacteristicsKey Function() - get infoSupportedHardwareLevelCameraCharacteristics => - (super.noSuchMethod( - Invocation.getter(#infoSupportedHardwareLevelCameraCharacteristics), - returnValue: () => _FakeCameraCharacteristicsKey_9( - this, - Invocation.getter( - #infoSupportedHardwareLevelCameraCharacteristics, - ), - ), - returnValueForMissingStub: () => _FakeCameraCharacteristicsKey_9( - this, - Invocation.getter( - #infoSupportedHardwareLevelCameraCharacteristics, - ), - ), - ) - as _i2.CameraCharacteristicsKey Function()); - - @override - _i2.CameraCharacteristicsKey Function() - get sensorOrientationCameraCharacteristics => - (super.noSuchMethod( - Invocation.getter(#sensorOrientationCameraCharacteristics), - returnValue: () => _FakeCameraCharacteristicsKey_9( - this, - Invocation.getter(#sensorOrientationCameraCharacteristics), - ), - returnValueForMissingStub: () => _FakeCameraCharacteristicsKey_9( - this, - Invocation.getter(#sensorOrientationCameraCharacteristics), - ), - ) - as _i2.CameraCharacteristicsKey Function()); - - @override - _i5.Future<_i9.Uint8List?> Function( - int, - int, - List<_i2.PlaneProxy>, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) - get getNv21BufferImageProxyUtils => - (super.noSuchMethod( - Invocation.getter(#getNv21BufferImageProxyUtils), - returnValue: - ( - int imageWidth, - int imageHeight, - List<_i2.PlaneProxy> planes, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _i5.Future<_i9.Uint8List?>.value(), - returnValueForMissingStub: - ( - int imageWidth, - int imageHeight, - List<_i2.PlaneProxy> planes, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - }) => _i5.Future<_i9.Uint8List?>.value(), - ) - as _i5.Future<_i9.Uint8List?> Function( - int, - int, - List<_i2.PlaneProxy>, { - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })); - - @override - set withModeFocusMeteringActionBuilder( - _i2.FocusMeteringActionBuilder Function({ - required _i2.MeteringMode mode, - required _i2.MeteringPoint point, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })? - _withModeFocusMeteringActionBuilder, - ) => super.noSuchMethod( - Invocation.setter( - #withModeFocusMeteringActionBuilder, - _withModeFocusMeteringActionBuilder, - ), - returnValueForMissingStub: null, - ); - - @override - set newCaptureRequestOptions( - _i2.CaptureRequestOptions Function({ - required Map<_i2.CaptureRequestKey, Object?> options, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })? - _newCaptureRequestOptions, - ) => super.noSuchMethod( - Invocation.setter(#newCaptureRequestOptions, _newCaptureRequestOptions), - returnValueForMissingStub: null, - ); - - @override - set fromCamera2CameraControl( - _i2.Camera2CameraControl Function({ - required _i2.CameraControl cameraControl, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })? - _fromCamera2CameraControl, - ) => super.noSuchMethod( - Invocation.setter(#fromCamera2CameraControl, _fromCamera2CameraControl), - returnValueForMissingStub: null, - ); - - @override - set newDisplayOrientedMeteringPointFactory( - _i2.DisplayOrientedMeteringPointFactory Function({ - required _i3.CameraInfo cameraInfo, - required double height, - required double width, - _i8.BinaryMessenger? pigeon_binaryMessenger, - _i2.PigeonInstanceManager? pigeon_instanceManager, - })? - _newDisplayOrientedMeteringPointFactory, - ) => super.noSuchMethod( - Invocation.setter( - #newDisplayOrientedMeteringPointFactory, - _newDisplayOrientedMeteringPointFactory, - ), - returnValueForMissingStub: null, - ); - - @override - set controlAELockCaptureRequest( - _i2.CaptureRequestKey Function()? _controlAELockCaptureRequest, - ) => super.noSuchMethod( - Invocation.setter( - #controlAELockCaptureRequest, - _controlAELockCaptureRequest, - ), - returnValueForMissingStub: null, - ); -} - /// A class which mocks [CaptureRequestOptions]. /// /// See the documentation for Mockito's code generation for more information. @@ -2369,11 +940,11 @@ class MockCaptureRequestOptions extends _i1.Mock _i2.CaptureRequestOptions pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeCaptureRequestOptions_30( + returnValue: _FakeCaptureRequestOptions_15( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeCaptureRequestOptions_30( + returnValueForMissingStub: _FakeCaptureRequestOptions_15( this, Invocation.method(#pigeon_copy, []), ), @@ -2469,11 +1040,11 @@ class MockDeviceOrientationManager extends _i1.Mock _i2.DeviceOrientationManager pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeDeviceOrientationManager_18( + returnValue: _FakeDeviceOrientationManager_16( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeDeviceOrientationManager_18( + returnValueForMissingStub: _FakeDeviceOrientationManager_16( this, Invocation.method(#pigeon_copy, []), ), @@ -2505,12 +1076,12 @@ class MockDisplayOrientedMeteringPointFactory extends _i1.Mock _i2.DisplayOrientedMeteringPointFactory pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeDisplayOrientedMeteringPointFactory_32( + returnValue: _FakeDisplayOrientedMeteringPointFactory_17( this, Invocation.method(#pigeon_copy, []), ), returnValueForMissingStub: - _FakeDisplayOrientedMeteringPointFactory_32( + _FakeDisplayOrientedMeteringPointFactory_17( this, Invocation.method(#pigeon_copy, []), ), @@ -2522,13 +1093,13 @@ class MockDisplayOrientedMeteringPointFactory extends _i1.Mock (super.noSuchMethod( Invocation.method(#createPoint, [x, y]), returnValue: _i5.Future<_i2.MeteringPoint>.value( - _FakeMeteringPoint_35( + _FakeMeteringPoint_18( this, Invocation.method(#createPoint, [x, y]), ), ), returnValueForMissingStub: _i5.Future<_i2.MeteringPoint>.value( - _FakeMeteringPoint_35( + _FakeMeteringPoint_18( this, Invocation.method(#createPoint, [x, y]), ), @@ -2545,13 +1116,13 @@ class MockDisplayOrientedMeteringPointFactory extends _i1.Mock (super.noSuchMethod( Invocation.method(#createPointWithSize, [x, y, size]), returnValue: _i5.Future<_i2.MeteringPoint>.value( - _FakeMeteringPoint_35( + _FakeMeteringPoint_18( this, Invocation.method(#createPointWithSize, [x, y, size]), ), ), returnValueForMissingStub: _i5.Future<_i2.MeteringPoint>.value( - _FakeMeteringPoint_35( + _FakeMeteringPoint_18( this, Invocation.method(#createPointWithSize, [x, y, size]), ), @@ -2568,11 +1139,11 @@ class MockExposureState extends _i1.Mock implements _i2.ExposureState { _i2.CameraIntegerRange get exposureCompensationRange => (super.noSuchMethod( Invocation.getter(#exposureCompensationRange), - returnValue: _FakeCameraIntegerRange_15( + returnValue: _FakeCameraIntegerRange_19( this, Invocation.getter(#exposureCompensationRange), ), - returnValueForMissingStub: _FakeCameraIntegerRange_15( + returnValueForMissingStub: _FakeCameraIntegerRange_19( this, Invocation.getter(#exposureCompensationRange), ), @@ -2642,11 +1213,11 @@ class MockFallbackStrategy extends _i1.Mock implements _i2.FallbackStrategy { _i2.FallbackStrategy pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeFallbackStrategy_28( + returnValue: _FakeFallbackStrategy_20( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeFallbackStrategy_28( + returnValueForMissingStub: _FakeFallbackStrategy_20( this, Invocation.method(#pigeon_copy, []), ), @@ -2709,11 +1280,11 @@ class MockFocusMeteringActionBuilder extends _i1.Mock (super.noSuchMethod( Invocation.method(#build, []), returnValue: _i5.Future<_i2.FocusMeteringAction>.value( - _FakeFocusMeteringAction_36(this, Invocation.method(#build, [])), + _FakeFocusMeteringAction_21(this, Invocation.method(#build, [])), ), returnValueForMissingStub: _i5.Future<_i2.FocusMeteringAction>.value( - _FakeFocusMeteringAction_36( + _FakeFocusMeteringAction_21( this, Invocation.method(#build, []), ), @@ -2725,11 +1296,11 @@ class MockFocusMeteringActionBuilder extends _i1.Mock _i2.FocusMeteringActionBuilder pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeFocusMeteringActionBuilder_29( + returnValue: _FakeFocusMeteringActionBuilder_22( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeFocusMeteringActionBuilder_29( + returnValueForMissingStub: _FakeFocusMeteringActionBuilder_22( this, Invocation.method(#pigeon_copy, []), ), @@ -2770,11 +1341,11 @@ class MockFocusMeteringResult extends _i1.Mock _i2.FocusMeteringResult pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeFocusMeteringResult_37( + returnValue: _FakeFocusMeteringResult_23( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeFocusMeteringResult_37( + returnValueForMissingStub: _FakeFocusMeteringResult_23( this, Invocation.method(#pigeon_copy, []), ), @@ -2832,11 +1403,11 @@ class MockImageAnalysis extends _i1.Mock implements _i2.ImageAnalysis { _i2.ImageAnalysis pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeImageAnalysis_26( + returnValue: _FakeImageAnalysis_24( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeImageAnalysis_26( + returnValueForMissingStub: _FakeImageAnalysis_24( this, Invocation.method(#pigeon_copy, []), ), @@ -2898,11 +1469,11 @@ class MockImageCapture extends _i1.Mock implements _i2.ImageCapture { _i2.ImageCapture pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeImageCapture_23( + returnValue: _FakeImageCapture_25( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeImageCapture_23( + returnValueForMissingStub: _FakeImageCapture_25( this, Invocation.method(#pigeon_copy, []), ), @@ -2982,11 +1553,11 @@ class MockImageProxy extends _i1.Mock implements _i2.ImageProxy { _i2.ImageProxy pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeImageProxy_38( + returnValue: _FakeImageProxy_26( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeImageProxy_38( + returnValueForMissingStub: _FakeImageProxy_26( this, Invocation.method(#pigeon_copy, []), ), @@ -3027,11 +1598,11 @@ class MockObserver extends _i1.Mock implements _i3.Observer<_i2.CameraState> { _i3.Observer<_i2.CameraState> pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeObserver_16<_i2.CameraState>( + returnValue: _FakeObserver_27<_i2.CameraState>( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeObserver_16<_i2.CameraState>( + returnValueForMissingStub: _FakeObserver_27<_i2.CameraState>( this, Invocation.method(#pigeon_copy, []), ), @@ -3063,13 +1634,13 @@ class MockPendingRecording extends _i1.Mock implements _i2.PendingRecording { (super.noSuchMethod( Invocation.method(#withAudioEnabled, [initialMuted]), returnValue: _i5.Future<_i2.PendingRecording>.value( - _FakePendingRecording_39( + _FakePendingRecording_28( this, Invocation.method(#withAudioEnabled, [initialMuted]), ), ), returnValueForMissingStub: _i5.Future<_i2.PendingRecording>.value( - _FakePendingRecording_39( + _FakePendingRecording_28( this, Invocation.method(#withAudioEnabled, [initialMuted]), ), @@ -3082,13 +1653,13 @@ class MockPendingRecording extends _i1.Mock implements _i2.PendingRecording { (super.noSuchMethod( Invocation.method(#asPersistentRecording, []), returnValue: _i5.Future<_i2.PendingRecording>.value( - _FakePendingRecording_39( + _FakePendingRecording_28( this, Invocation.method(#asPersistentRecording, []), ), ), returnValueForMissingStub: _i5.Future<_i2.PendingRecording>.value( - _FakePendingRecording_39( + _FakePendingRecording_28( this, Invocation.method(#asPersistentRecording, []), ), @@ -3101,10 +1672,10 @@ class MockPendingRecording extends _i1.Mock implements _i2.PendingRecording { (super.noSuchMethod( Invocation.method(#start, [listener]), returnValue: _i5.Future<_i2.Recording>.value( - _FakeRecording_40(this, Invocation.method(#start, [listener])), + _FakeRecording_29(this, Invocation.method(#start, [listener])), ), returnValueForMissingStub: _i5.Future<_i2.Recording>.value( - _FakeRecording_40(this, Invocation.method(#start, [listener])), + _FakeRecording_29(this, Invocation.method(#start, [listener])), ), ) as _i5.Future<_i2.Recording>); @@ -3113,11 +1684,11 @@ class MockPendingRecording extends _i1.Mock implements _i2.PendingRecording { _i2.PendingRecording pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakePendingRecording_39( + returnValue: _FakePendingRecording_28( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakePendingRecording_39( + returnValueForMissingStub: _FakePendingRecording_28( this, Invocation.method(#pigeon_copy, []), ), @@ -3130,13 +1701,13 @@ class MockPendingRecording extends _i1.Mock implements _i2.PendingRecording { /// See the documentation for Mockito's code generation for more information. class MockPlaneProxy extends _i1.Mock implements _i2.PlaneProxy { @override - _i9.Uint8List get buffer => + _i7.Uint8List get buffer => (super.noSuchMethod( Invocation.getter(#buffer), - returnValue: _i9.Uint8List(0), - returnValueForMissingStub: _i9.Uint8List(0), + returnValue: _i7.Uint8List(0), + returnValueForMissingStub: _i7.Uint8List(0), ) - as _i9.Uint8List); + as _i7.Uint8List); @override int get pixelStride => @@ -3175,11 +1746,11 @@ class MockPlaneProxy extends _i1.Mock implements _i2.PlaneProxy { _i2.PlaneProxy pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakePlaneProxy_41( + returnValue: _FakePlaneProxy_30( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakePlaneProxy_41( + returnValueForMissingStub: _FakePlaneProxy_30( this, Invocation.method(#pigeon_copy, []), ), @@ -3257,11 +1828,11 @@ class MockPreview extends _i1.Mock implements _i2.Preview { _i2.Preview pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakePreview_19( + returnValue: _FakePreview_31( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakePreview_19( + returnValueForMissingStub: _FakePreview_31( this, Invocation.method(#pigeon_copy, []), ), @@ -3355,11 +1926,11 @@ class MockProcessCameraProvider extends _i1.Mock _i2.ProcessCameraProvider pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeProcessCameraProvider_33( + returnValue: _FakeProcessCameraProvider_32( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeProcessCameraProvider_33( + returnValueForMissingStub: _FakeProcessCameraProvider_32( this, Invocation.method(#pigeon_copy, []), ), @@ -3390,11 +1961,11 @@ class MockQualitySelector extends _i1.Mock implements _i2.QualitySelector { _i2.QualitySelector pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeQualitySelector_27( + returnValue: _FakeQualitySelector_33( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeQualitySelector_27( + returnValueForMissingStub: _FakeQualitySelector_33( this, Invocation.method(#pigeon_copy, []), ), @@ -3444,13 +2015,13 @@ class MockRecorder extends _i1.Mock implements _i2.Recorder { (super.noSuchMethod( Invocation.method(#getQualitySelector, []), returnValue: _i5.Future<_i2.QualitySelector>.value( - _FakeQualitySelector_27( + _FakeQualitySelector_33( this, Invocation.method(#getQualitySelector, []), ), ), returnValueForMissingStub: _i5.Future<_i2.QualitySelector>.value( - _FakeQualitySelector_27( + _FakeQualitySelector_33( this, Invocation.method(#getQualitySelector, []), ), @@ -3463,13 +2034,13 @@ class MockRecorder extends _i1.Mock implements _i2.Recorder { (super.noSuchMethod( Invocation.method(#prepareRecording, [path]), returnValue: _i5.Future<_i2.PendingRecording>.value( - _FakePendingRecording_39( + _FakePendingRecording_28( this, Invocation.method(#prepareRecording, [path]), ), ), returnValueForMissingStub: _i5.Future<_i2.PendingRecording>.value( - _FakePendingRecording_39( + _FakePendingRecording_28( this, Invocation.method(#prepareRecording, [path]), ), @@ -3481,11 +2052,11 @@ class MockRecorder extends _i1.Mock implements _i2.Recorder { _i2.Recorder pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeRecorder_21( + returnValue: _FakeRecorder_34( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeRecorder_21( + returnValueForMissingStub: _FakeRecorder_34( this, Invocation.method(#pigeon_copy, []), ), @@ -3516,11 +2087,11 @@ class MockResolutionFilter extends _i1.Mock implements _i2.ResolutionFilter { _i2.ResolutionFilter pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeResolutionFilter_31( + returnValue: _FakeResolutionFilter_35( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeResolutionFilter_31( + returnValueForMissingStub: _FakeResolutionFilter_35( this, Invocation.method(#pigeon_copy, []), ), @@ -3572,11 +2143,11 @@ class MockResolutionSelector extends _i1.Mock _i2.ResolutionSelector pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeResolutionSelector_25( + returnValue: _FakeResolutionSelector_36( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeResolutionSelector_25( + returnValueForMissingStub: _FakeResolutionSelector_36( this, Invocation.method(#pigeon_copy, []), ), @@ -3631,11 +2202,11 @@ class MockResolutionStrategy extends _i1.Mock _i2.ResolutionStrategy pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeResolutionStrategy_24( + returnValue: _FakeResolutionStrategy_37( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeResolutionStrategy_24( + returnValueForMissingStub: _FakeResolutionStrategy_37( this, Invocation.method(#pigeon_copy, []), ), @@ -3702,11 +2273,11 @@ class MockRecording extends _i1.Mock implements _i2.Recording { _i2.Recording pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeRecording_40( + returnValue: _FakeRecording_29( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeRecording_40( + returnValueForMissingStub: _FakeRecording_29( this, Invocation.method(#pigeon_copy, []), ), @@ -3786,11 +2357,11 @@ class MockSystemServicesManager extends _i1.Mock _i2.SystemServicesManager pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeSystemServicesManager_17( + returnValue: _FakeSystemServicesManager_38( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeSystemServicesManager_17( + returnValueForMissingStub: _FakeSystemServicesManager_38( this, Invocation.method(#pigeon_copy, []), ), @@ -3822,10 +2393,10 @@ class MockVideoCapture extends _i1.Mock implements _i2.VideoCapture { (super.noSuchMethod( Invocation.method(#getOutput, []), returnValue: _i5.Future<_i2.VideoOutput>.value( - _FakeVideoOutput_42(this, Invocation.method(#getOutput, [])), + _FakeVideoOutput_39(this, Invocation.method(#getOutput, [])), ), returnValueForMissingStub: _i5.Future<_i2.VideoOutput>.value( - _FakeVideoOutput_42(this, Invocation.method(#getOutput, [])), + _FakeVideoOutput_39(this, Invocation.method(#getOutput, [])), ), ) as _i5.Future<_i2.VideoOutput>); @@ -3843,11 +2414,11 @@ class MockVideoCapture extends _i1.Mock implements _i2.VideoCapture { _i2.VideoCapture pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeVideoCapture_20( + returnValue: _FakeVideoCapture_40( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeVideoCapture_20( + returnValueForMissingStub: _FakeVideoCapture_40( this, Invocation.method(#pigeon_copy, []), ), @@ -3896,11 +2467,11 @@ class MockZoomState extends _i1.Mock implements _i2.ZoomState { _i2.ZoomState pigeon_copy() => (super.noSuchMethod( Invocation.method(#pigeon_copy, []), - returnValue: _FakeZoomState_43( + returnValue: _FakeZoomState_41( this, Invocation.method(#pigeon_copy, []), ), - returnValueForMissingStub: _FakeZoomState_43( + returnValueForMissingStub: _FakeZoomState_41( this, Invocation.method(#pigeon_copy, []), ), diff --git a/packages/camera/camera_android_camerax/test/preview_rotation_test.dart b/packages/camera/camera_android_camerax/test/preview_rotation_test.dart index 1c3e5d3a330..54f1dbaeb40 100644 --- a/packages/camera/camera_android_camerax/test/preview_rotation_test.dart +++ b/packages/camera/camera_android_camerax/test/preview_rotation_test.dart @@ -4,7 +4,6 @@ import 'package:camera_android_camerax/camera_android_camerax.dart'; import 'package:camera_android_camerax/src/camerax_library.dart'; -import 'package:camera_android_camerax/src/camerax_proxy.dart'; import 'package:camera_platform_interface/camera_platform_interface.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart' @@ -39,6 +38,10 @@ void main() { AndroidCameraCameraX.deviceOrientationChangedStreamController.close(); }); + setUp(() { + PigeonOverrides.pigeon_reset(); + }); + /// Sets up mock CameraSelector and mock ProcessCameraProvider used to /// select test camera when `availableCameras` is called. /// @@ -79,42 +82,29 @@ void main() { return mockProcessCameraProvider; } - /// Returns CameraXProxy used to mock all calls to native Android in + /// Set up overrides used to mock all calls to native Android in /// the `availableCameras` and `createCameraWithSettings` methods, with /// a DeviceORientationManager specified. /// /// Useful for tests that need a reference to a DeviceOrientationManager. - CameraXProxy getProxyForCreatingTestCameraWithDeviceOrientationManager( + void setUpOverridesForCreatingTestCameraWithDeviceOrientationManager( DeviceOrientationManager deviceOrientationManager, { required MockProcessCameraProvider mockProcessCameraProvider, required CameraSelector Function({ LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, + dynamic cameraInfoForFilter, }) createCameraSelector, required bool handlesCropAndRotation, - }) => CameraXProxy( - getInstanceProcessCameraProvider: - ({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) async => mockProcessCameraProvider, - newCameraSelector: createCameraSelector, - newPreview: + }) { + PigeonOverrides.processCameraProvider_getInstance = () async => + mockProcessCameraProvider; + PigeonOverrides.cameraSelector_new = createCameraSelector; + PigeonOverrides.preview_new = ({ int? targetRotation, CameraIntegerRange? targetFpsRange, ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final preview = MockPreview(); when( @@ -125,161 +115,88 @@ void main() { ResolutionInfo.pigeon_detached(resolution: MockCameraSize()), ); return preview; - }, - newImageCapture: + }; + PigeonOverrides.imageCapture_new = ({ int? targetRotation, CameraXFlashMode? flashMode, ResolutionSelector? resolutionSelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockImageCapture(), - newRecorder: + }) => MockImageCapture(); + PigeonOverrides.recorder_new = ({ int? aspectRatio, int? targetVideoEncodingBitRate, QualitySelector? qualitySelector, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => MockRecorder(), - withOutputVideoCapture: + }) => MockRecorder(); + PigeonOverrides.videoCapture_withOutput = ({ required VideoOutput videoOutput, CameraIntegerRange? targetFpsRange, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { return MockVideoCapture(); - }, - newImageAnalysis: + }; + PigeonOverrides.imageAnalysis_new = ({ int? targetRotation, CameraIntegerRange? targetFpsRange, ResolutionSelector? resolutionSelector, int? outputImageFormat, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { return MockImageAnalysis(); - }, - newResolutionStrategy: + }; + PigeonOverrides.resolutionStrategy_new = ({ required CameraSize boundSize, required ResolutionStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { return MockResolutionStrategy(); - }, - newResolutionSelector: + }; + PigeonOverrides.resolutionSelector_new = ({ AspectRatioStrategy? aspectRatioStrategy, ResolutionStrategy? resolutionStrategy, ResolutionFilter? resolutionFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { return MockResolutionSelector(); - }, - lowerQualityOrHigherThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + }; + PigeonOverrides.fallbackStrategy_lowerQualityOrHigherThan = + ({required VideoQuality quality}) { return MockFallbackStrategy(); - }, - lowerQualityThanFallbackStrategy: - ({ - required VideoQuality quality, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + }; + PigeonOverrides.fallbackStrategy_lowerQualityThan = + ({required VideoQuality quality}) { return MockFallbackStrategy(); - }, - fromCamera2CameraInfo: - ({ - required CameraInfo cameraInfo, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - final camera2cameraInfo = MockCamera2CameraInfo(); - when( - camera2cameraInfo.getCameraCharacteristic(any), - ).thenAnswer((_) async => 90); - return camera2cameraInfo; - }, - fromQualitySelector: - ({ - required VideoQuality quality, - FallbackStrategy? fallbackStrategy, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + }; + PigeonOverrides.camera2CameraInfo_from = ({required dynamic cameraInfo}) { + final camera2cameraInfo = MockCamera2CameraInfo(); + when( + camera2cameraInfo.getCameraCharacteristic(any), + ).thenAnswer((_) async => 90); + return camera2cameraInfo; + }; + PigeonOverrides.qualitySelector_from = + ({required VideoQuality quality, FallbackStrategy? fallbackStrategy}) { return MockQualitySelector(); - }, - newObserver: - ({ - required void Function(Observer, T) onChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Observer.detached( - onChanged: onChanged, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, - newSystemServicesManager: + }; + GenericsPigeonOverrides.observerNew = + ({required void Function(Observer, T) onChanged}) { + return Observer.detached(onChanged: onChanged); + }; + PigeonOverrides.systemServicesManager_new = ({ required void Function(SystemServicesManager, String) onCameraError, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { return MockSystemServicesManager(); - }, - newDeviceOrientationManager: + }; + PigeonOverrides.deviceOrientationManager_new = ({ required void Function(DeviceOrientationManager, String) onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => deviceOrientationManager, - newAspectRatioStrategy: + }) => deviceOrientationManager; + PigeonOverrides.aspectRatioStrategy_new = ({ required AspectRatio preferredAspectRatio, required AspectRatioStrategyFallbackRule fallbackRule, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockAspectRatioStrategy = MockAspectRatioStrategy(); when( @@ -289,34 +206,24 @@ void main() { mockAspectRatioStrategy.getPreferredAspectRatio(), ).thenAnswer((_) async => preferredAspectRatio); return mockAspectRatioStrategy; - }, - createWithOnePreferredSizeResolutionFilter: - ({ - required CameraSize preferredSize, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + }; + PigeonOverrides.resolutionFilter_createWithOnePreferredSize = + ({required CameraSize preferredSize}) { return MockResolutionFilter(); - }, - ); + }; + } - /// Returns CameraXProxy used to mock all calls to native Android in + /// Set up overrides used to mock all calls to native Android in /// the `availableCameras` and `createCameraWithSettings` methods, with /// functions `getUiOrientation` and `getDefaultDisplayRotation` specified /// to create a mock DeviceOrientationManager. /// /// Useful for tests that do not need a reference to a DeviceOrientationManager. - CameraXProxy getProxyForCreatingTestCamera({ + void setUpOverridesForCreatingTestCamera({ required MockProcessCameraProvider mockProcessCameraProvider, required CameraSelector Function({ LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, + dynamic cameraInfoForFilter, }) createCameraSelector, required bool handlesCropAndRotation, @@ -330,7 +237,7 @@ void main() { when( deviceOrientationManager.getDefaultDisplayRotation(), ).thenAnswer((_) => getDefaultDisplayRotation()); - return getProxyForCreatingTestCameraWithDeviceOrientationManager( + setUpOverridesForCreatingTestCameraWithDeviceOrientationManager( deviceOrientationManager, mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: createCameraSelector, @@ -341,21 +248,10 @@ void main() { /// Returns function that a CameraXProxy can use to select the front camera. MockCameraSelector Function({ LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, + dynamic cameraInfoForFilter, }) createCameraSelectorForFrontCamera(MockCameraSelector mockCameraSelector) { - return ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + return ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { switch (requireLensFacing) { case LensFacing.front: return mockCameraSelector; @@ -371,21 +267,10 @@ void main() { /// Returns function that a CameraXProxy can use to select the back camera. MockCameraSelector Function({ LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, + dynamic cameraInfoForFilter, }) createCameraSelectorForBackCamera(MockCameraSelector mockCameraSelector) { - return ({ - LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { + return ({LensFacing? requireLensFacing, dynamic cameraInfoForFilter}) { switch (requireLensFacing) { case LensFacing.back: return mockCameraSelector; @@ -478,12 +363,8 @@ void main() { late DeviceOrientation testInitialDeviceOrientation; late MockProcessCameraProvider mockProcessCameraProvider; late MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) fakeCreateCameraSelector; late MediaSettings testMediaSettings; @@ -514,7 +395,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to landscape right, and set initial default display rotation to 0 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -569,7 +450,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to landscape right, and set initial default display rotation to 90 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -622,7 +503,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to landscape right, and set initial default display rotation to 180 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -675,7 +556,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to landscape right, and set initial default display rotation to 270 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -733,12 +614,8 @@ void main() { late int testInitialDefaultDisplayRotation; late MockProcessCameraProvider mockProcessCameraProvider; late MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) fakeCreateCameraSelector; late MediaSettings testMediaSettings; @@ -769,7 +646,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to portrait up, and set initial default display rotation to 90 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -822,7 +699,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to landscape left, and set initial default display rotation to 90 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -875,7 +752,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to portrait down, and set initial default display rotation to 90 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -928,7 +805,7 @@ void main() { (WidgetTester tester) async { // Mock calls to CameraXProxy. Most importantly, tell camera that handlesCropAndRotation is true, set initial device // orientation to landscape right, and set initial default display rotation to 90 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: fakeCreateCameraSelector, handlesCropAndRotation: true, @@ -991,12 +868,8 @@ void main() { // These settings do not matter for this test. final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera = createCameraSelectorForFrontCamera(mockFrontCameraSelector); @@ -1020,8 +893,7 @@ void main() { mockDeviceOrientationManager.getDefaultDisplayRotation(), ).thenAnswer((_) => Future.value(Surface.rotation0)); - camera - .proxy = getProxyForCreatingTestCameraWithDeviceOrientationManager( + setUpOverridesForCreatingTestCameraWithDeviceOrientationManager( mockDeviceOrientationManager, mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1101,12 +973,8 @@ void main() { // These settings do not matter for this test. final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera = createCameraSelectorForFrontCamera(mockFrontCameraSelector); @@ -1120,7 +988,7 @@ void main() { // Tell camera that handlesCropAndRotation is true, set camera initial device orientation // to portrait up, set initial default display rotation to 270 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, handlesCropAndRotation: true, @@ -1199,11 +1067,7 @@ void main() { late MockCameraSelector mockFrontCameraSelector; late MockCameraSelector Function({ LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera; late MockProcessCameraProvider mockProcessCameraProviderForFrontCamera; @@ -1237,7 +1101,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial device orientation to portrait up. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1298,7 +1162,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial device orientation to landscape right. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1359,7 +1223,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial device orientation to portrait down. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1420,7 +1284,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial device orientation to landscape left. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1487,12 +1351,8 @@ void main() { late MockCameraSelector mockFrontCameraSelector; late MockProcessCameraProvider mockProcessCameraProviderForFrontCamera; late MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera; late Future Function() proxyGetUiOrientation; @@ -1525,7 +1385,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial default display rotation to 0 degrees. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1586,7 +1446,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial default display rotation to 0 degrees. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1651,7 +1511,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial default display rotation to 0 degrees. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1714,7 +1574,7 @@ void main() { (WidgetTester tester) async { // Set up test to use front camera, tell camera that handlesCropAndRotation is false, // set camera initial default display rotation to 0 degrees. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1789,12 +1649,8 @@ void main() { // media settings for test front camera. final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera = createCameraSelectorForFrontCamera(mockFrontCameraSelector); @@ -1817,8 +1673,7 @@ void main() { when( mockDeviceOrientationManager.getDefaultDisplayRotation(), ).thenAnswer((_) => Future.value(Surface.rotation0)); - camera - .proxy = getProxyForCreatingTestCameraWithDeviceOrientationManager( + setUpOverridesForCreatingTestCameraWithDeviceOrientationManager( mockDeviceOrientationManager, mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, @@ -1910,11 +1765,7 @@ void main() { final mockFrontCameraSelector = MockCameraSelector(); final MockCameraSelector Function({ LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera = createCameraSelectorForFrontCamera(mockFrontCameraSelector); @@ -1931,7 +1782,7 @@ void main() { // Set up test to use front camera and tell camera that handlesCropAndRotation is false, // set camera initial device orientation to landscape left, set initial default display // rotation to 90 degrees clockwise. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForFrontCamera, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, handlesCropAndRotation: false, @@ -2025,12 +1876,8 @@ void main() { late int cameraId; late MockCameraSelector mockBackCameraSelector; late MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForBackCamera; late Future Function() proxyGetDefaultDisplayRotation; @@ -2069,7 +1916,7 @@ void main() { // Set up test to use back camera, tell camera that handlesCropAndRotation is false, // set camera initial device orientation to landscape left. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForBackCamera, createCameraSelector: proxyCreateCameraSelectorForBackCamera, getDefaultDisplayRotation: proxyGetDefaultDisplayRotation, @@ -2129,7 +1976,7 @@ void main() { // Set up test to use back camera, tell camera that handlesCropAndRotation is false, // set camera initial device orientation to landscape left. - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProviderForBackCamera, createCameraSelector: proxyCreateCameraSelectorForBackCamera, getDefaultDisplayRotation: proxyGetDefaultDisplayRotation, @@ -2216,16 +2063,12 @@ void main() { ); // Set up front camera selection and initial device orientation as landscape right. final MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera = createCameraSelectorForFrontCamera(mockFrontCameraSelector); - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, getDefaultDisplayRotation: proxyGetDefaultDisplayRotation, @@ -2295,16 +2138,12 @@ void main() { // Set up front camera selection and initial device orientation as landscape right. final MockCameraSelector Function({ - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, LensFacing? requireLensFacing, - CameraInfo? cameraInfoForFilter, + dynamic cameraInfoForFilter, }) proxyCreateCameraSelectorForFrontCamera = createCameraSelectorForBackCamera(mockBackCameraSelector); - camera.proxy = getProxyForCreatingTestCamera( + setUpOverridesForCreatingTestCamera( mockProcessCameraProvider: mockProcessCameraProvider, createCameraSelector: proxyCreateCameraSelectorForFrontCamera, getDefaultDisplayRotation: proxyGetDefaultDisplayRotation, From 53f32330987ac0cb2d7fb8fbd688858c0e2edc2e Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Sat, 29 Nov 2025 12:47:56 -0500 Subject: [PATCH 3/4] remove instance manager uses --- .../lib/src/camerax_library.dart | 5 +- .../lib/src/camerax_proxy.dart | 419 ------------------ .../test/android_camera_camerax_test.dart | 394 +++------------- 3 files changed, 55 insertions(+), 763 deletions(-) delete mode 100644 packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_library.dart b/packages/camera/camera_android_camerax/lib/src/camerax_library.dart index 12f34c846de..1be7d402822 100644 --- a/packages/camera/camera_android_camerax/lib/src/camerax_library.dart +++ b/packages/camera/camera_android_camerax/lib/src/camerax_library.dart @@ -36,10 +36,7 @@ final class GenericsPigeonOverrides { /// /// APIs wrapped with the pigeon ProxyAPI system doesn't support generics, so /// this handles using subclasses to add support. -void setUpGenerics({ - BinaryMessenger? pigeonBinaryMessenger, - camerax.PigeonInstanceManager? pigeonInstanceManager, -}) { +void setUpGenerics({BinaryMessenger? pigeonBinaryMessenger}) { camerax.LiveData.pigeon_setUpMessageHandlers( pigeon_newInstance: (camerax.LiveDataSupportedType type) { switch (type) { diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart b/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart deleted file mode 100644 index af81ef44a47..00000000000 --- a/packages/camera/camera_android_camerax/lib/src/camerax_proxy.dart +++ /dev/null @@ -1,419 +0,0 @@ -// // Copyright 2013 The Flutter Authors -// // Use of this source code is governed by a BSD-style license that can be -// // found in the LICENSE file. -// -// import 'package:flutter/services.dart'; -// -// // ignore_for_file: non_constant_identifier_names -// -// import 'camerax_library.dart'; -// -// /// Handles constructing objects and calling static methods for the Android -// /// Interactive Media Ads native library. -// /// -// /// This class provides dependency injection for the implementations of the -// /// platform interface classes. Improving the ease of unit testing and/or -// /// overriding the underlying Android classes. -// /// -// /// By default each function calls the default constructor of the class it -// /// intends to return. -// class CameraXProxy { -// /// Constructs an [CameraXProxy]. -// CameraXProxy({ -// this.setUpGenericsProxy = setUpGenerics, -// this.newCameraSize = CameraSize.new, -// this.newCameraIntegerRange = CameraIntegerRange.new, -// this.newObserver = Observer.new, -// this.newCameraSelector = CameraSelector.new, -// this.newSystemServicesManager = SystemServicesManager.new, -// this.newDeviceOrientationManager = DeviceOrientationManager.new, -// this.newPreview = Preview.new, -// this.withOutputVideoCapture = VideoCapture.withOutput, -// this.newRecorder = Recorder.new, -// this.newVideoRecordEventListener = VideoRecordEventListener.new, -// this.newImageCapture = ImageCapture.new, -// this.newResolutionStrategy = ResolutionStrategy.new, -// this.newResolutionSelector = ResolutionSelector.new, -// this.newAspectRatioStrategy = AspectRatioStrategy.new, -// this.newImageAnalysis = ImageAnalysis.new, -// this.newAnalyzer = Analyzer.new, -// this.fromQualitySelector = QualitySelector.from, -// this.fromOrderedListQualitySelector = QualitySelector.fromOrderedList, -// this.higherQualityOrLowerThanFallbackStrategy = -// FallbackStrategy.higherQualityOrLowerThan, -// this.higherQualityThanFallbackStrategy = FallbackStrategy.higherQualityThan, -// this.lowerQualityOrHigherThanFallbackStrategy = -// FallbackStrategy.lowerQualityOrHigherThan, -// this.lowerQualityThanFallbackStrategy = FallbackStrategy.lowerQualityThan, -// this.newFocusMeteringActionBuilder = FocusMeteringActionBuilder.new, -// this.withModeFocusMeteringActionBuilder = -// FocusMeteringActionBuilder.withMode, -// this.newCaptureRequestOptions = CaptureRequestOptions.new, -// this.fromCamera2CameraControl = Camera2CameraControl.from, -// this.createWithOnePreferredSizeResolutionFilter = -// ResolutionFilter.createWithOnePreferredSize, -// this.fromCamera2CameraInfo = Camera2CameraInfo.from, -// this.newDisplayOrientedMeteringPointFactory = -// DisplayOrientedMeteringPointFactory.new, -// this.getInstanceProcessCameraProvider = ProcessCameraProvider.getInstance, -// this.getResolutionQualitySelector = QualitySelector.getResolution, -// this.defaultBackCameraCameraSelector = _defaultBackCameraCameraSelector, -// this.defaultFrontCameraCameraSelector = _defaultFrontCameraCameraSelector, -// this.highestAvailableStrategyResolutionStrategy = -// _highestAvailableStrategyResolutionStrategy, -// this.ratio_16_9FallbackAutoStrategyAspectRatioStrategy = -// _ratio_16_9FallbackAutoStrategyAspectRatioStrategy, -// this.ratio_4_3FallbackAutoStrategyAspectRatioStrategy = -// _ratio_4_3FallbackAutoStrategyAspectRatioStrategy, -// this.controlAELockCaptureRequest = _controlAELockCaptureRequest, -// this.infoSupportedHardwareLevelCameraCharacteristics = -// _infoSupportedHardwareLevelCameraCharacteristics, -// this.sensorOrientationCameraCharacteristics = -// _sensorOrientationCameraCharacteristics, -// this.getNv21BufferImageProxyUtils = ImageProxyUtils.getNv21Buffer, -// }); -// -// /// Handles adding support for generic classes. -// final void Function({ -// BinaryMessenger? pigeonBinaryMessenger, -// PigeonInstanceManager? pigeonInstanceManager, -// }) -// setUpGenericsProxy; -// -// /// Constructs [CameraSize]. -// final CameraSize Function({ -// required int width, -// required int height, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newCameraSize; -// -// /// Constructs [CameraIntegerRange]. -// final CameraIntegerRange Function({ -// required int lower, -// required int upper, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newCameraIntegerRange; -// -// /// Constructs [Observer]. -// final Observer Function({ -// required void Function(Observer, T) onChanged, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newObserver; -// -// /// Constructs [CameraSelector]. -// final CameraSelector Function({ -// LensFacing? requireLensFacing, -// CameraInfo? cameraInfoForFilter, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newCameraSelector; -// -// /// Constructs [SystemServicesManager]. -// final SystemServicesManager Function({ -// required void Function(SystemServicesManager, String) onCameraError, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newSystemServicesManager; -// -// /// Constructs [DeviceOrientationManager]. -// final DeviceOrientationManager Function({ -// required void Function(DeviceOrientationManager, String) -// onDeviceOrientationChanged, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newDeviceOrientationManager; -// -// /// Constructs [Preview]. -// final Preview Function({ -// int? targetRotation, -// CameraIntegerRange? targetFpsRange, -// ResolutionSelector? resolutionSelector, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newPreview; -// -// /// Constructs [VideoCapture]. -// final VideoCapture Function({ -// required VideoOutput videoOutput, -// CameraIntegerRange? targetFpsRange, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// withOutputVideoCapture; -// -// /// Constructs [Recorder]. -// final Recorder Function({ -// int? aspectRatio, -// int? targetVideoEncodingBitRate, -// QualitySelector? qualitySelector, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newRecorder; -// -// /// Constructs [VideoRecordEventListener]. -// final VideoRecordEventListener Function({ -// required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newVideoRecordEventListener; -// -// /// Constructs [ImageCapture]. -// final ImageCapture Function({ -// int? targetRotation, -// CameraXFlashMode? flashMode, -// ResolutionSelector? resolutionSelector, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newImageCapture; -// -// /// Constructs [ResolutionStrategy]. -// final ResolutionStrategy Function({ -// required CameraSize boundSize, -// required ResolutionStrategyFallbackRule fallbackRule, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newResolutionStrategy; -// -// /// Constructs [ResolutionSelector]. -// final ResolutionSelector Function({ -// AspectRatioStrategy? aspectRatioStrategy, -// ResolutionStrategy? resolutionStrategy, -// ResolutionFilter? resolutionFilter, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newResolutionSelector; -// -// /// Constructs [AspectRatioStrategy]. -// final AspectRatioStrategy Function({ -// required AspectRatio preferredAspectRatio, -// required AspectRatioStrategyFallbackRule fallbackRule, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newAspectRatioStrategy; -// -// /// Constructs [ImageAnalysis]. -// final ImageAnalysis Function({ -// int? targetRotation, -// CameraIntegerRange? targetFpsRange, -// int? outputImageFormat, -// ResolutionSelector? resolutionSelector, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newImageAnalysis; -// -// /// Constructs [Analyzer]. -// final Analyzer Function({ -// required void Function(Analyzer, ImageProxy) analyze, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newAnalyzer; -// -// /// Constructs [QualitySelector]. -// final QualitySelector Function({ -// required VideoQuality quality, -// FallbackStrategy? fallbackStrategy, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// fromQualitySelector; -// -// /// Constructs [QualitySelector]. -// final QualitySelector Function({ -// required List qualities, -// FallbackStrategy? fallbackStrategy, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// fromOrderedListQualitySelector; -// -// /// Constructs [FallbackStrategy]. -// final FallbackStrategy Function({ -// required VideoQuality quality, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// higherQualityOrLowerThanFallbackStrategy; -// -// /// Constructs [FallbackStrategy]. -// final FallbackStrategy Function({ -// required VideoQuality quality, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// higherQualityThanFallbackStrategy; -// -// /// Constructs [FallbackStrategy]. -// final FallbackStrategy Function({ -// required VideoQuality quality, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// lowerQualityOrHigherThanFallbackStrategy; -// -// /// Constructs [FallbackStrategy]. -// final FallbackStrategy Function({ -// required VideoQuality quality, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// lowerQualityThanFallbackStrategy; -// -// /// Constructs [FocusMeteringActionBuilder]. -// final FocusMeteringActionBuilder Function({ -// required MeteringPoint point, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newFocusMeteringActionBuilder; -// -// /// Constructs [FocusMeteringActionBuilder]. -// FocusMeteringActionBuilder Function({ -// required MeteringPoint point, -// required MeteringMode mode, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// withModeFocusMeteringActionBuilder; -// -// /// Constructs [CaptureRequestOptions]. -// CaptureRequestOptions Function({ -// required Map options, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newCaptureRequestOptions; -// -// /// Constructs [Camera2CameraControl]. -// Camera2CameraControl Function({ -// required CameraControl cameraControl, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// fromCamera2CameraControl; -// -// /// Constructs [ResolutionFilter]. -// final ResolutionFilter Function({ -// required CameraSize preferredSize, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// createWithOnePreferredSizeResolutionFilter; -// -// /// Constructs [Camera2CameraInfo]. -// final Camera2CameraInfo Function({ -// required CameraInfo cameraInfo, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// fromCamera2CameraInfo; -// -// /// Constructs [DisplayOrientedMeteringPointFactory]. -// DisplayOrientedMeteringPointFactory Function({ -// required CameraInfo cameraInfo, -// required double width, -// required double height, -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// newDisplayOrientedMeteringPointFactory; -// -// /// Calls to [ProcessCameraProvider.getInstance]. -// final Future Function({ -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// getInstanceProcessCameraProvider; -// -// /// Calls to [QualitySelector.getResolution]. -// final Future Function( -// CameraInfo, -// VideoQuality, { -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// getResolutionQualitySelector; -// -// /// Calls to [CameraSelector.defaultBackCamera]. -// final CameraSelector Function() defaultBackCameraCameraSelector; -// -// /// Calls to [CameraSelector.defaultFrontCamera]. -// final CameraSelector Function() defaultFrontCameraCameraSelector; -// -// /// Calls to [ResolutionStrategy.highestAvailableStrategy]. -// final ResolutionStrategy Function() -// highestAvailableStrategyResolutionStrategy; -// -// /// Calls to [AspectRatioStrategy.ratio_16_9FallbackAutoStrategy]. -// final AspectRatioStrategy Function() -// ratio_16_9FallbackAutoStrategyAspectRatioStrategy; -// -// /// Calls to [AspectRatioStrategy.ratio_4_3FallbackAutoStrategy]. -// final AspectRatioStrategy Function() -// ratio_4_3FallbackAutoStrategyAspectRatioStrategy; -// -// /// Calls to [CaptureRequest.controlAELock]. -// CaptureRequestKey Function() controlAELockCaptureRequest; -// -// /// Calls to [CameraCharacteristics.infoSupportedHardwareLevel]. -// final CameraCharacteristicsKey Function() -// infoSupportedHardwareLevelCameraCharacteristics; -// -// /// Calls to [CameraCharacteristics.sensorOrientation]. -// final CameraCharacteristicsKey Function() -// sensorOrientationCameraCharacteristics; -// -// /// Calls to [ImageProxyUtils.getNv21Buffer]. -// final Future Function( -// int imageWidth, -// int imageHeight, -// List planes, { -// BinaryMessenger? pigeon_binaryMessenger, -// PigeonInstanceManager? pigeon_instanceManager, -// }) -// getNv21BufferImageProxyUtils; -// -// static CameraSelector _defaultBackCameraCameraSelector() => -// CameraSelector.defaultBackCamera; -// -// static CameraSelector _defaultFrontCameraCameraSelector() => -// CameraSelector.defaultFrontCamera; -// -// static ResolutionStrategy _highestAvailableStrategyResolutionStrategy() => -// ResolutionStrategy.highestAvailableStrategy; -// -// static AspectRatioStrategy -// _ratio_16_9FallbackAutoStrategyAspectRatioStrategy() => -// AspectRatioStrategy.ratio_16_9FallbackAutoStrategy; -// -// static AspectRatioStrategy -// _ratio_4_3FallbackAutoStrategyAspectRatioStrategy() => -// AspectRatioStrategy.ratio_4_3FallbackAutoStrategy; -// -// static CaptureRequestKey _controlAELockCaptureRequest() => -// CaptureRequest.controlAELock; -// -// static CameraCharacteristicsKey -// _infoSupportedHardwareLevelCameraCharacteristics() => -// CameraCharacteristics.infoSupportedHardwareLevel; -// -// static CameraCharacteristicsKey _sensorOrientationCameraCharacteristics() => -// CameraCharacteristics.sensorOrientation; -// } diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart index 31deeaec4b4..a335a44b169 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart @@ -850,39 +850,32 @@ void main() { await camera.initializeCamera(flutterSurfaceTextureId); late final CameraSize? expectedBoundSize; - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + switch (resolutionPreset) { case ResolutionPreset.low: expectedBoundSize = CameraSize.pigeon_detached( width: 320, height: 240, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.medium: expectedBoundSize = CameraSize.pigeon_detached( width: 720, height: 480, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.high: expectedBoundSize = CameraSize.pigeon_detached( width: 1280, height: 720, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.veryHigh: expectedBoundSize = CameraSize.pigeon_detached( width: 1920, height: 1080, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.ultraHigh: expectedBoundSize = CameraSize.pigeon_detached( width: 3840, height: 2160, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.max: continue; @@ -1011,39 +1004,32 @@ void main() { await camera.initializeCamera(flutterSurfaceTextureId); CameraSize? expectedPreferredResolution; - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + switch (resolutionPreset) { case ResolutionPreset.low: expectedPreferredResolution = CameraSize.pigeon_detached( width: 320, height: 240, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.medium: expectedPreferredResolution = CameraSize.pigeon_detached( width: 720, height: 480, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.high: expectedPreferredResolution = CameraSize.pigeon_detached( width: 1280, height: 720, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.veryHigh: expectedPreferredResolution = CameraSize.pigeon_detached( width: 1920, height: 1080, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.ultraHigh: expectedPreferredResolution = CameraSize.pigeon_detached( width: 3840, height: 2160, - pigeon_instanceManager: testInstanceManager, ); case ResolutionPreset.max: expectedPreferredResolution = null; @@ -2183,16 +2169,12 @@ void main() { const resolutionWidth = 350; const resolutionHeight = 750; final Camera mockCamera = MockCamera(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + final testResolutionInfo = ResolutionInfo.pigeon_detached( resolution: CameraSize.pigeon_detached( width: resolutionWidth, height: resolutionHeight, - pigeon_instanceManager: testInstanceManager, ), - pigeon_instanceManager: testInstanceManager, ); // Mocks for (typically attached) objects created by createCamera. @@ -2721,12 +2703,7 @@ void main() { required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); }; PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = MockCameraCharacteristicsKey(); @@ -2768,11 +2745,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); @@ -2856,12 +2829,7 @@ void main() { required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); }; PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = MockCameraCharacteristicsKey(); @@ -2902,11 +2870,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); @@ -2991,12 +2955,7 @@ void main() { required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); }; PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = MockCameraCharacteristicsKey(); @@ -3041,11 +3000,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(videoCaptureOptions); @@ -3121,12 +3076,7 @@ void main() { required void Function(VideoRecordEventListener, VideoRecordEvent) onEvent, }) { - return VideoRecordEventListener.pigeon_detached( - onEvent: onEvent, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); + return VideoRecordEventListener.pigeon_detached(onEvent: onEvent); }; PigeonOverrides.cameraCharacteristics_infoSupportedHardwareLevel = MockCameraCharacteristicsKey(); @@ -3158,11 +3108,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); // Orientation is unlocked and plugin does not need to set default target @@ -3173,11 +3119,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); // Orientation is locked and plugin does not need to set default target @@ -3189,11 +3131,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); // Orientation is locked and plugin does need to set default target @@ -3206,11 +3144,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); // Orientation is unlocked and plugin does need to set default target @@ -3267,11 +3201,7 @@ void main() { // Simulate video recording being finalized so stopVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventFinalize.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventFinalize.pigeon_detached(), ); final XFile file = await camera.stopVideoRecording(0); @@ -3316,11 +3246,7 @@ void main() { await expectLater(() async { // Simulate video recording being finalized so stopVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventFinalize.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventFinalize.pigeon_detached(), ); await camera.stopVideoRecording(0); }, throwsA(isA())); @@ -3343,11 +3269,7 @@ void main() { // Simulate video recording being finalized so stopVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventFinalize.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventFinalize.pigeon_detached(), ); final XFile file = await camera.stopVideoRecording(0); @@ -3380,11 +3302,7 @@ void main() { // Simulate video recording being finalized so stopVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventFinalize.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventFinalize.pigeon_detached(), ); await camera.stopVideoRecording(90); @@ -3606,11 +3524,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.availableCameras(); @@ -3865,11 +3779,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.availableCameras(); @@ -3965,10 +3875,6 @@ void main() { ({ required void Function(DeviceOrientationManager, String) onDeviceOrientationChanged, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, }) { final mockDeviceOrientationManager = MockDeviceOrientationManager(); when( @@ -4129,17 +4035,13 @@ void main() { test('getMinExposureOffset returns expected exposure offset', () async { final camera = AndroidCameraCameraX(); final mockCameraInfo = MockCameraInfo(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0.2, - pigeon_instanceManager: testInstanceManager, ); // Set directly for test versus calling createCamera. @@ -4155,17 +4057,13 @@ void main() { test('getMaxExposureOffset returns expected exposure offset', () async { final camera = AndroidCameraCameraX(); final mockCameraInfo = MockCameraInfo(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0.2, - pigeon_instanceManager: testInstanceManager, ); // Set directly for test versus calling createCamera. @@ -4180,17 +4078,13 @@ void main() { test('getExposureOffsetStepSize returns expected exposure offset', () async { final camera = AndroidCameraCameraX(); final mockCameraInfo = MockCameraInfo(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); + final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0.2, - pigeon_instanceManager: testInstanceManager, ); // Set directly for test versus calling createCamera. @@ -4206,17 +4100,12 @@ void main() { () async { final camera = AndroidCameraCameraX(); final mockCameraInfo = MockCameraInfo(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 0, upper: 0, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0, - pigeon_instanceManager: testInstanceManager, ); // Set directly for test versus calling createCamera. @@ -4236,9 +4125,6 @@ void main() { final zoomState = ZoomState.pigeon_detached( maxZoomRatio: maxZoomRatio, minZoomRatio: 0, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), ); // Set directly for test versus calling createCamera. @@ -4260,9 +4146,6 @@ void main() { final zoomState = ZoomState.pigeon_detached( maxZoomRatio: 1, minZoomRatio: minZoomRatio, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), ); // Set directly for test versus calling createCamera. @@ -4507,42 +4390,19 @@ void main() { // Set up CameraXProxy with ImageAnalysis specifics needed for testing its Analyzer. setUpOverridesForTestingUseCaseConfiguration( mockProcessCameraProvider, - newAnalyzer: - ({ - required void Function(Analyzer, ImageProxy) analyze, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) { - return Analyzer.pigeon_detached( - analyze: analyze, - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ); - }, + newAnalyzer: ({required void Function(Analyzer, ImageProxy) analyze}) { + return Analyzer.pigeon_detached(analyze: analyze); + }, newImageAnalysis: ({ int? outputImageFormat, - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, ResolutionSelector? resolutionSelector, int? targetRotation, CameraIntegerRange? targetFpsRange, }) => mockImageAnalysis, getNv21BufferImageProxyUtils: - ( - int imageWidth, - int imageHeight, - List planes, { - // ignore: non_constant_identifier_names - BinaryMessenger? pigeon_binaryMessenger, - // ignore: non_constant_identifier_names - PigeonInstanceManager? pigeon_instanceManager, - }) => Future.value(testNv21Buffer), + (int imageWidth, int imageHeight, List planes) => + Future.value(testNv21Buffer), ); // Create and initialize camera with NV21. @@ -4769,19 +4629,12 @@ void main() { // Tell plugin to create detached Camera2CameraControl and // CaptureRequestOptions instances for testing. - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); - final controlAELockKey = CaptureRequestKey.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final controlAELockKey = CaptureRequestKey.pigeon_detached(); PigeonOverrides.camera2CameraControl_from = ({required CameraControl cameraControl}) => cameraControl == mockCameraControl ? mockCamera2CameraControl - : Camera2CameraControl.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + : Camera2CameraControl.pigeon_detached(); PigeonOverrides.captureRequestOptions_new = ({required Map options}) { final mockCaptureRequestOptions = MockCaptureRequestOptions(); @@ -4840,16 +4693,12 @@ void main() { camera.cameraInfo = mockCameraInfo; final mockActionBuilder = MockFocusMeteringActionBuilder(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); when(mockActionBuilder.build()).thenAnswer( (_) async => FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ), ); MeteringMode? actionBuilderMeteringMode; @@ -4871,19 +4720,10 @@ void main() { // Verify current auto-exposure metering point is removed if previously set. final originalMeteringAction = FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAe: [MeteringPoint.pigeon_detached()], + meteringPointsAf: [MeteringPoint.pigeon_detached()], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); camera.currentFocusMeteringAction = originalMeteringAction; @@ -4900,15 +4740,10 @@ void main() { // Verify current focus and metering action is cleared if only previously // set metering point was for auto-exposure. camera.currentFocusMeteringAction = FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAe: [MeteringPoint.pigeon_detached()], meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); await camera.setExposurePoint(cameraId, null); @@ -4950,14 +4785,9 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = mockCameraInfo; - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); var exposurePointX = 0.8; var exposurePointY = 0.1; - final createdMeteringPoint = MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached(); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; final mockActionBuilder = MockFocusMeteringActionBuilder(); @@ -4967,7 +4797,6 @@ void main() { meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ), ); setUpOverridesForExposureAndFocus( @@ -4994,19 +4823,10 @@ void main() { // Verify current auto-exposure metering point is removed if previously set. var exposurePoint = Point(exposurePointX, exposurePointY); var originalMeteringAction = FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAe: [MeteringPoint.pigeon_detached()], + meteringPointsAf: [MeteringPoint.pigeon_detached()], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); camera.currentFocusMeteringAction = originalMeteringAction; @@ -5031,14 +4851,9 @@ void main() { exposurePoint = Point(exposurePointX, exposurePointY); originalMeteringAction = FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAf: [MeteringPoint.pigeon_detached()], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); camera.currentFocusMeteringAction = originalMeteringAction; @@ -5073,12 +4888,7 @@ void main() { camera.cameraInfo = MockCameraInfo(); camera.currentFocusMeteringAction = null; - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); - final createdMeteringPoint = MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached(); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; final mockActionBuilder = MockFocusMeteringActionBuilder(); @@ -5088,7 +4898,6 @@ void main() { meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ), ); setUpOverridesForExposureAndFocus( @@ -5177,17 +4986,12 @@ void main() { const cameraId = 6; const double offset = 2; final mockCameraInfo = MockCameraInfo(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0, - pigeon_instanceManager: testInstanceManager, ); // Set directly for test versus calling createCamera. @@ -5210,17 +5014,12 @@ void main() { const double offset = 3; final mockCameraInfo = MockCameraInfo(); final CameraControl mockCameraControl = MockCameraControl(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0.2, - pigeon_instanceManager: testInstanceManager, ); // Set directly for test versus calling createCamera. @@ -5251,17 +5050,12 @@ void main() { const double offset = 5; final mockCameraInfo = MockCameraInfo(); final CameraControl mockCameraControl = MockCameraControl(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0.1, - pigeon_instanceManager: testInstanceManager, ); final int expectedExposureCompensationIndex = (offset / exposureState.exposureCompensationStep).round(); @@ -5292,17 +5086,12 @@ void main() { const double offset = 3; final mockCameraInfo = MockCameraInfo(); final CameraControl mockCameraControl = MockCameraControl(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); final exposureState = ExposureState.pigeon_detached( exposureCompensationRange: CameraIntegerRange.pigeon_detached( lower: 3, upper: 4, - pigeon_instanceManager: testInstanceManager, ), exposureCompensationStep: 0.2, - pigeon_instanceManager: testInstanceManager, ); final int expectedExposureCompensationIndex = (offset / exposureState.exposureCompensationStep).round(); @@ -5343,16 +5132,12 @@ void main() { camera.cameraInfo = mockCameraInfo; final mockActionBuilder = MockFocusMeteringActionBuilder(); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); when(mockActionBuilder.build()).thenAnswer( (_) async => FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ), ); MeteringMode? actionBuilderMeteringMode; @@ -5373,19 +5158,10 @@ void main() { verifyNever(mockCameraControl.cancelFocusAndMetering()); final originalMeteringAction = FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAe: [MeteringPoint.pigeon_detached()], + meteringPointsAf: [MeteringPoint.pigeon_detached()], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); camera.currentFocusMeteringAction = originalMeteringAction; @@ -5403,14 +5179,9 @@ void main() { // set metering point was for auto-exposure. camera.currentFocusMeteringAction = FocusMeteringAction.pigeon_detached( meteringPointsAe: const [], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAf: [MeteringPoint.pigeon_detached()], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); await camera.setFocusPoint(cameraId, null); @@ -5452,15 +5223,10 @@ void main() { camera.cameraControl = mockCameraControl; camera.cameraInfo = mockCameraInfo; - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); var focusPointX = 0.8; var focusPointY = 0.1; var focusPoint = Point(focusPointX, focusPointY); - final createdMeteringPoint = MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached(); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; final mockActionBuilder = MockFocusMeteringActionBuilder(); @@ -5470,7 +5236,6 @@ void main() { meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ), ); setUpOverridesForExposureAndFocus( @@ -5496,19 +5261,10 @@ void main() { // Verify current auto-exposure metering point is removed if previously set. var originalMeteringAction = FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], - meteringPointsAf: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAe: [MeteringPoint.pigeon_detached()], + meteringPointsAf: [MeteringPoint.pigeon_detached()], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); camera.currentFocusMeteringAction = originalMeteringAction; @@ -5532,15 +5288,10 @@ void main() { focusPointY = 0.9; focusPoint = Point(focusPointX, focusPointY); originalMeteringAction = FocusMeteringAction.pigeon_detached( - meteringPointsAe: [ - MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ), - ], + meteringPointsAe: [MeteringPoint.pigeon_detached()], meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ); camera.currentFocusMeteringAction = originalMeteringAction; @@ -5575,12 +5326,7 @@ void main() { camera.cameraInfo = MockCameraInfo(); camera.currentFocusMeteringAction = null; - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); - final createdMeteringPoint = MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached(); MeteringMode? actionBuilderMeteringMode; MeteringPoint? actionBuilderMeteringPoint; final mockActionBuilder = MockFocusMeteringActionBuilder(); @@ -5590,7 +5336,6 @@ void main() { meteringPointsAf: const [], meteringPointsAwb: const [], isAutoCancelEnabled: false, - pigeon_instanceManager: testInstanceManager, ), ); setUpOverridesForExposureAndFocus( @@ -5738,9 +5483,6 @@ void main() { mockCamera2CameraControl.addCaptureRequestOptions(any), ).thenAnswer((_) async => Future.value()); - final testInstanceManager = PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ); final createdMeteringPoints = []; setUpOverridesForSettingFocusandExposurePoints( mockCameraControl, @@ -5755,18 +5497,14 @@ void main() { when( mockFactory.createPoint(exposurePointX, exposurePointY), ).thenAnswer((_) async { - final createdMeteringPoint = MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached(); createdMeteringPoints.add(createdMeteringPoint); return createdMeteringPoint; }); when(mockFactory.createPointWithSize(0.5, 0.5, 1)).thenAnswer(( _, ) async { - final createdMeteringPoint = MeteringPoint.pigeon_detached( - pigeon_instanceManager: testInstanceManager, - ); + final createdMeteringPoint = MeteringPoint.pigeon_detached(); createdMeteringPoints.add(createdMeteringPoint); return createdMeteringPoint; }); @@ -6531,11 +6269,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); @@ -6639,11 +6373,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); @@ -6747,11 +6477,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing( @@ -6867,11 +6593,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing( @@ -6981,11 +6703,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); @@ -7101,11 +6819,7 @@ void main() { // Simulate video recording being started so startVideoRecording completes. AndroidCameraCameraX.videoRecordingEventStreamController.add( - VideoRecordEventStart.pigeon_detached( - pigeon_instanceManager: PigeonInstanceManager( - onWeakReferenceRemoved: (_) {}, - ), - ), + VideoRecordEventStart.pigeon_detached(), ); await camera.startVideoCapturing(const VideoCaptureOptions(cameraId)); From 36ff58f92c63b4a16691f6b95e618c24b619c2c4 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Sat, 29 Nov 2025 12:56:00 -0500 Subject: [PATCH 4/4] analyzer errors and resets --- .../lib/src/android_camera_camerax.dart | 17 +++++++---------- .../lib/src/camerax_library.dart | 9 +++++---- .../test/android_camera_camerax_test.dart | 3 ++- .../test/preview_rotation_test.dart | 1 + 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart index ff47fee9fda..136f62084e0 100644 --- a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart +++ b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax.dart @@ -418,7 +418,6 @@ class AndroidCameraCameraX extends CameraPlatform { preview = Preview( resolutionSelector: _presetResolutionSelector, targetFpsRange: _targetFpsRange, - /* use CameraX default target rotation */ targetRotation: null, ); _flutterSurfaceTextureId = await preview!.setSurfaceProvider( systemServicesManager, @@ -485,7 +484,6 @@ class AndroidCameraCameraX extends CameraPlatform { resolutionSelector: _presetResolutionSelector, targetFpsRange: _targetFpsRange, outputImageFormat: _imageAnalysisOutputImageFormat, - /* use CameraX default target rotation */ targetRotation: null, ); // Bind configured UseCases to ProcessCameraProvider instance & mark Preview @@ -842,12 +840,12 @@ class AndroidCameraCameraX extends CameraPlatform { /// [cameraId] is not used. @override Future setExposureMode(int cameraId, ExposureMode mode) async { - final Camera2CameraControl camera2Control = Camera2CameraControl.from( + final camera2Control = Camera2CameraControl.from( cameraControl: cameraControl, ); final lockExposureMode = mode == ExposureMode.locked; - final CaptureRequestOptions captureRequestOptions = CaptureRequestOptions( + final captureRequestOptions = CaptureRequestOptions( options: { CaptureRequest.controlAELock: lockExposureMode, }, @@ -1677,12 +1675,11 @@ class AndroidCameraCameraX extends CameraPlatform { ); } - final DisplayOrientedMeteringPointFactory meteringPointFactory = - DisplayOrientedMeteringPointFactory( - width: 1.0, - height: 1.0, - cameraInfo: cameraInfo!, - ); + final meteringPointFactory = DisplayOrientedMeteringPointFactory( + width: 1.0, + height: 1.0, + cameraInfo: cameraInfo!, + ); meteringPoint = await meteringPointFactory.createPoint(point.x, point.y); } return _startFocusAndMeteringFor( diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_library.dart b/packages/camera/camera_android_camerax/lib/src/camerax_library.dart index 1be7d402822..9d02880c339 100644 --- a/packages/camera/camera_android_camerax/lib/src/camerax_library.dart +++ b/packages/camera/camera_android_camerax/lib/src/camerax_library.dart @@ -27,7 +27,7 @@ final class GenericsPigeonOverrides { observerNew; /// Sets all overridden ProxyApi class members to null. - void reset() { + static void reset() { observerNew = null; } } @@ -170,15 +170,16 @@ class LiveData extends camerax.LiveData { /// /// See https://developer.android.com/reference/androidx/lifecycle/Observer. class Observer extends camerax.Observer { + /// Constructs an [Observer]. factory Observer({ - BinaryMessenger? pigeon_binaryMessenger, - required void Function(Observer pigeon_instance, T value) onChanged, + required void Function(Observer instance, T value) onChanged, + BinaryMessenger? binaryMessenger, }) { if (GenericsPigeonOverrides.observerNew != null) { return GenericsPigeonOverrides.observerNew!(onChanged: onChanged); } return Observer.pigeonNew( - pigeon_binaryMessenger: pigeon_binaryMessenger, + pigeon_binaryMessenger: binaryMessenger, onChanged: onChanged, ); } diff --git a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart index a335a44b169..16ffabfd0e8 100644 --- a/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart +++ b/packages/camera/camera_android_camerax/test/android_camera_camerax_test.dart @@ -10,7 +10,7 @@ import 'package:camera_android_camerax/camera_android_camerax.dart'; import 'package:camera_android_camerax/src/camerax_library.dart'; import 'package:camera_platform_interface/camera_platform_interface.dart'; import 'package:flutter/services.dart' - show BinaryMessenger, DeviceOrientation, PlatformException, Uint8List; + show DeviceOrientation, PlatformException, Uint8List; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; @@ -66,6 +66,7 @@ void main() { setUp(() { PigeonOverrides.pigeon_reset(); + GenericsPigeonOverrides.reset(); }); /// Helper method for testing sending/receiving CameraErrorEvents. diff --git a/packages/camera/camera_android_camerax/test/preview_rotation_test.dart b/packages/camera/camera_android_camerax/test/preview_rotation_test.dart index 54f1dbaeb40..e81ae4a02df 100644 --- a/packages/camera/camera_android_camerax/test/preview_rotation_test.dart +++ b/packages/camera/camera_android_camerax/test/preview_rotation_test.dart @@ -40,6 +40,7 @@ void main() { setUp(() { PigeonOverrides.pigeon_reset(); + GenericsPigeonOverrides.reset(); }); /// Sets up mock CameraSelector and mock ProcessCameraProvider used to