From d005d3d0b5c5375c09f720383b38d3f6b5ac534d Mon Sep 17 00:00:00 2001 From: Mairramer Date: Thu, 30 Jul 2026 11:17:24 -0300 Subject: [PATCH 1/4] fix(camera_android_camerax): Fix NV21 buffer over-allocation and optimize conversion --- .../camera_android_camerax/CHANGELOG.md | 5 + .../plugins/camerax/CameraXLibrary.g.kt | 20 +- .../plugins/camerax/ImageProxyProxyApi.java | 40 +- .../plugins/camerax/ImageProxyUtils.java | 57 +- .../camerax/ImageProxyUtilsProxyApi.java | 33 +- .../plugins/camerax/ImageProxyTest.java | 43 +- .../camerax/ImageProxyUtilsApiTest.java | 33 +- .../plugins/camerax/ImageProxyUtilsTest.java | 43 + .../lib/src/android_camera_camerax.dart | 6 +- .../lib/src/camerax_library.g.dart | 2939 ++++------------- .../pigeons/camerax_library.dart | 4 +- .../camera_android_camerax/pubspec.yaml | 2 +- .../test/android_camera_camerax_test.dart | 7 +- 13 files changed, 948 insertions(+), 2284 deletions(-) diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index 4fdc3f410008..c722a60d2d12 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.7.5 + +* Fixes NV21 buffer over-allocation when the Y plane buffer is oversized. +* Optimizes per-frame NV21 conversion by reusing a pre-allocated output buffer to reduce GC pressure. + ## 0.7.4+2 * Bumps cameraxVersion from 1.6.0 to 1.6.1. 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 8945b77c0101..4fd4732ed87e 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.7), do not edit directly. +// Autogenerated from Pigeon (v26.3.4), do not edit directly. // See also: https://pub.dev/packages/pigeon @file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") @@ -49,7 +49,7 @@ class CameraXError( val code: String, override val message: String? = null, val details: Any? = null -) : Throwable() +) : RuntimeException() /** * Maintains instances used to communicate with the corresponding objects in Dart. * @@ -1301,7 +1301,7 @@ enum class CameraStateType(val raw: Int) { } } -/** The types (T) properly wrapped to be used as a LiveData. */ +/** The types (T) properly wrapped to be used as a `LiveData`. */ enum class LiveDataSupportedType(val raw: Int) { CAMERA_STATE(0), ZOOM_STATE(1); @@ -5696,12 +5696,8 @@ abstract class PigeonApiImageProxy( abstract class PigeonApiImageProxyUtils( open val pigeonRegistrar: CameraXLibraryPigeonProxyApiRegistrar ) { - /** Returns a single buffer that is representative of three NV21-compatible [planes]. */ - abstract fun getNv21Buffer( - imageWidth: Long, - imageHeight: Long, - planes: List - ): ByteArray + /** Returns a single buffer that is representative of three NV21-compatible planes. */ + abstract fun getNv21Buffer(imageProxy: androidx.camera.core.ImageProxy): ByteArray companion object { @Suppress("LocalVariableName") @@ -5716,12 +5712,10 @@ abstract class PigeonApiImageProxyUtils( if (api != null) { channel.setMessageHandler { message, reply -> val args = message as List - val imageWidthArg = args[0] as Long - val imageHeightArg = args[1] as Long - val planesArg = args[2] as List + val imageProxyArg = args[0] as androidx.camera.core.ImageProxy val wrapped: List = try { - listOf(api.getNv21Buffer(imageWidthArg, imageHeightArg, planesArg)) + listOf(api.getNv21Buffer(imageProxyArg)) } catch (exception: Throwable) { CameraXLibraryPigeonUtils.wrapError(exception) } diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyProxyApi.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyProxyApi.java index 1f5f16ead0a6..77c11342a3a0 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyProxyApi.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyProxyApi.java @@ -7,7 +7,8 @@ import androidx.annotation.NonNull; import androidx.camera.core.ImageProxy; import androidx.camera.core.ImageProxy.PlaneProxy; -import java.util.Arrays; +import java.nio.ByteBuffer; +import java.util.ArrayList; import java.util.List; /** @@ -38,7 +39,42 @@ public long height(ImageProxy pigeonInstance) { @NonNull @Override public List getPlanes(ImageProxy pigeonInstance) { - return Arrays.asList(pigeonInstance.getPlanes()); + PlaneProxy[] originalPlanes = pigeonInstance.getPlanes(); + List planes = new ArrayList<>(); + int height = pigeonInstance.getHeight(); + + for (int i = 0; i < originalPlanes.length; i++) { + final PlaneProxy original = originalPlanes[i]; + final int planeHeight = (i == 0) ? height : height / 2; + + planes.add( + new PlaneProxy() { + @Override + public int getRowStride() { + return original.getRowStride(); + } + + @Override + public int getPixelStride() { + return original.getPixelStride(); + } + + @NonNull + @Override + public ByteBuffer getBuffer() { + ByteBuffer sourceBuffer = original.getBuffer(); + // Create a duplicate so we don't modify the original's position/limit. + ByteBuffer slicedBuffer = sourceBuffer.duplicate(); + // Limit the buffer to what's actually needed for this plane. + int maxValidBytes = planeHeight * original.getRowStride(); + if (maxValidBytes < slicedBuffer.remaining()) { + slicedBuffer.limit(slicedBuffer.position() + maxValidBytes); + } + return slicedBuffer; + } + }); + } + return planes; } @Override diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java index 2958f34d4dc5..c23377c3476d 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java @@ -15,9 +15,21 @@ public class ImageProxyUtils { /** * Converts list of {@link PlaneProxy}s in YUV_420_888 format (with VU planes in NV21 layout) to a * single NV21 {@code ByteBuffer}. + * + *

The result is written into {@code outBuffer}, which must have a capacity of at least {@code + * width * height * 3 / 2} bytes. Passing a pre-allocated, reusable buffer avoids per-frame heap + * allocations and reduces GC pressure in high-throughput camera pipelines. + * + * @param planes the YUV_420_888 planes (Y at index 0, U at 1, V at 2). + * @param width image width in pixels. + * @param height image height in pixels. + * @param outBuffer caller-owned buffer that receives the NV21 data; must be large enough. + * @return a {@link ByteBuffer} wrapping {@code outBuffer} with position 0 and limit set to the + * number of bytes written ({@code width * height * 3 / 2}). */ @NonNull - public static ByteBuffer planesToNV21(@NonNull List planes, int width, int height) { + public static ByteBuffer planesToNV21( + @NonNull List planes, int width, int height, @NonNull byte[] outBuffer) { if (planes.size() < 3) { throw new IllegalArgumentException( "The plane list must contain at least 3 planes (Y, U, V)."); @@ -36,26 +48,20 @@ public static ByteBuffer planesToNV21(@NonNull List planes, int widt uBuffer.rewind(); vBuffer.rewind(); - // Allocate a byte array for the NV21 frame. - // NV21 = Y plane + interleaved VU plane. - // Y = width * height; VU = (width * height) / 2 (4:2:0 subsampling). - // If the Y plane includes padding, ySize may be larger than width*height, - // but only the valid Y bytes are copied, so output size remains correct. - int ySize = yBuffer.remaining(); - byte[] nv21Bytes = new byte[ySize + (width * height / 2)]; + int expectedYSize = width * height; int position = 0; int yRowStride = yPlane.getRowStride(); if (yRowStride == width) { // If no padding, copy entire Y plane at once. - yBuffer.get(nv21Bytes, 0, ySize); - position = ySize; + yBuffer.get(outBuffer, 0, expectedYSize); + position = expectedYSize; } else { // Copy row by row if padding exists. byte[] row = new byte[width]; for (int rowIndex = 0; rowIndex < height; rowIndex++) { yBuffer.get(row, 0, width); - System.arraycopy(row, 0, nv21Bytes, position, width); + System.arraycopy(row, 0, outBuffer, position, width); position += width; // Adjust buffer position to start of next row. // After reading 'width' bytes, move ahead by (yRowStride - width) @@ -85,13 +91,32 @@ public static ByteBuffer planesToNV21(@NonNull List planes, int widt // Interleave V and U chroma data into the NV21 buffer. // In NV21, chroma bytes follow the Y plane in repeating VU pairs (VUVU...). for (int col = 0; col < width / 2; col++) { - int vIndex = col * vPixelStride; - int uIndex = col * uPixelStride; - nv21Bytes[position++] = vRowBuffer[vIndex]; - nv21Bytes[position++] = uRowBuffer[uIndex]; + outBuffer[position++] = vRowBuffer[col * vPixelStride]; + outBuffer[position++] = uRowBuffer[col * uPixelStride]; } } - return ByteBuffer.wrap(nv21Bytes); + return ByteBuffer.wrap(outBuffer, 0, expectedYSize + (expectedYSize / 2)); + } + + /** + * Converts list of {@link PlaneProxy}s in YUV_420_888 format (with VU planes in NV21 layout) to a + * single NV21 {@code ByteBuffer}. + * + *

Allocates a new output buffer sized {@code width * height * 3 / 2} bytes on every call. For + * hot paths such as per-frame camera callbacks, prefer {@link #planesToNV21(List, int, int, + * byte[])} with a pre-allocated, reusable buffer to reduce GC pressure. + * + * @param planes the YUV_420_888 planes (Y at index 0, U at 1, V at 2). + * @param width image width in pixels. + * @param height image height in pixels. + * @return a {@link ByteBuffer} containing the NV21 data with a capacity of {@code width * height + * * 3 / 2} bytes. + */ + @NonNull + public static ByteBuffer planesToNV21(@NonNull List planes, int width, int height) { + int expectedYSize = width * height; + byte[] outBuffer = new byte[expectedYSize + (expectedYSize / 2)]; + return planesToNV21(planes, width, height, outBuffer); } } diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java index d4d5d8df2750..64c85213942f 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java @@ -5,9 +5,10 @@ package io.flutter.plugins.camerax; import androidx.annotation.NonNull; -import androidx.camera.core.ImageProxy.PlaneProxy; +import androidx.annotation.Nullable; +import androidx.camera.core.ImageProxy; import java.nio.ByteBuffer; -import java.util.List; +import java.util.Arrays; /** * ProxyApi implementation for {@link ImageProxyUtils}. This class may handle instantiating native @@ -15,22 +16,34 @@ * native class or an instance of that class. */ public class ImageProxyUtilsProxyApi extends PigeonApiImageProxyUtils { + + // Pre-allocated NV21 output buffer, reused across frames to avoid per-frame heap allocations. + // Reallocated only when the image resolution changes. + @Nullable private byte[] nv21Buffer; + ImageProxyUtilsProxyApi(@NonNull ProxyApiRegistrar pigeonRegistrar) { super(pigeonRegistrar); } - // List can be considered the same as List. - @SuppressWarnings("unchecked") @NonNull @Override - public byte[] getNv21Buffer( - long imageWidth, long imageHeight, @NonNull List planes) { - final ByteBuffer nv21Buffer = + public byte[] getNv21Buffer(@NonNull ImageProxy imageProxy) { + final int width = imageProxy.getWidth(); + final int height = imageProxy.getHeight(); + final int expectedYSize = width * height; + final int totalSize = expectedYSize + (expectedYSize / 2); + + // Reallocate only when the resolution changes (rare). + if (nv21Buffer == null || nv21Buffer.length != totalSize) { + nv21Buffer = new byte[totalSize]; + } + + final ByteBuffer nv21ByteBuffer = ImageProxyUtils.planesToNV21( - (List) planes, (int) imageWidth, (int) imageHeight); + Arrays.asList(imageProxy.getPlanes()), width, height, nv21Buffer); - byte[] bytes = new byte[nv21Buffer.remaining()]; - nv21Buffer.get(bytes, 0, bytes.length); + byte[] bytes = new byte[nv21ByteBuffer.remaining()]; + nv21ByteBuffer.get(bytes, 0, bytes.length); return bytes; } diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyTest.java index 527bb4bc2cb0..28a59850a6b0 100644 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyTest.java +++ b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyTest.java @@ -11,7 +11,7 @@ import androidx.camera.core.ImageProxy; import androidx.camera.core.ImageProxy.PlaneProxy; -import java.util.Collections; +import java.nio.ByteBuffer; import java.util.List; import org.junit.Test; @@ -54,10 +54,45 @@ public void getPlanes_returnsExpectedPlanes() { final PigeonApiImageProxy api = new TestProxyApiRegistrar().getPigeonApiImageProxy(); final ImageProxy instance = mock(ImageProxy.class); - final List value = Collections.singletonList(mock(PlaneProxy.class)); - when(instance.getPlanes()).thenReturn(value.toArray(new PlaneProxy[] {})); + when(instance.getHeight()).thenReturn(4); - assertEquals(value, api.getPlanes(instance)); + final PlaneProxy mockPlane0 = mock(PlaneProxy.class); + final PlaneProxy mockPlane1 = mock(PlaneProxy.class); + + when(mockPlane0.getRowStride()).thenReturn(10); + when(mockPlane0.getPixelStride()).thenReturn(1); + // Y plane buffer with some extra padding + ByteBuffer buffer0 = ByteBuffer.allocate(100); + when(mockPlane0.getBuffer()).thenReturn(buffer0); + + when(mockPlane1.getRowStride()).thenReturn(5); + when(mockPlane1.getPixelStride()).thenReturn(2); + // U/V plane buffer + ByteBuffer buffer1 = ByteBuffer.allocate(50); + when(mockPlane1.getBuffer()).thenReturn(buffer1); + + when(instance.getPlanes()).thenReturn(new PlaneProxy[] {mockPlane0, mockPlane1}); + + List planes = api.getPlanes(instance); + assertEquals(2, planes.size()); + + // Verify Y plane wrapping + PlaneProxy plane0 = planes.get(0); + assertEquals(10, plane0.getRowStride()); + assertEquals(1, plane0.getPixelStride()); + + ByteBuffer wrappedBuffer0 = plane0.getBuffer(); + // expected size: planeHeight * rowStride = 4 * 10 = 40 + assertEquals(40, wrappedBuffer0.remaining()); + + // Verify U/V plane wrapping + PlaneProxy plane1 = planes.get(1); + assertEquals(5, plane1.getRowStride()); + assertEquals(2, plane1.getPixelStride()); + + ByteBuffer wrappedBuffer1 = plane1.getBuffer(); + // expected size: (planeHeight / 2) * rowStride = 2 * 5 = 10 + assertEquals(10, wrappedBuffer1.remaining()); } @Test diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java index aa24f4b74670..e1adc540f801 100644 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java +++ b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java @@ -5,15 +5,21 @@ package io.flutter.plugins.camerax; import static org.junit.Assert.assertArrayEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyList; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mockStatic; +import static org.mockito.Mockito.when; +import androidx.camera.core.ImageProxy; import androidx.camera.core.ImageProxy.PlaneProxy; import java.nio.ByteBuffer; import java.util.Arrays; import java.util.List; import org.junit.Test; import org.mockito.MockedStatic; -import org.mockito.Mockito; public class ImageProxyUtilsApiTest { @@ -22,10 +28,7 @@ public void getNv21Buffer_returnsExpectedBytes() { final PigeonApiImageProxyUtils api = new TestProxyApiRegistrar().getPigeonApiImageProxyUtils(); List planes = - Arrays.asList( - Mockito.mock(PlaneProxy.class), - Mockito.mock(PlaneProxy.class), - Mockito.mock(PlaneProxy.class)); + Arrays.asList(mock(PlaneProxy.class), mock(PlaneProxy.class), mock(PlaneProxy.class)); long width = 4; long height = 2; byte[] expectedBytes = new byte[] {1, 2, 3, 4, 5}; @@ -34,15 +37,25 @@ public void getNv21Buffer_returnsExpectedBytes() { try (MockedStatic mockedStatic = mockStatic(ImageProxyUtils.class)) { mockedStatic .when( - () -> - ImageProxyUtils.planesToNV21( - Mockito.anyList(), Mockito.anyInt(), Mockito.anyInt())) + () -> ImageProxyUtils.planesToNV21(anyList(), anyInt(), anyInt(), any(byte[].class))) .thenReturn(mockBuffer); - byte[] result = api.getNv21Buffer(width, height, planes); + ImageProxy imageProxy = mock(ImageProxy.class); + PlaneProxy[] planesArray = planes.toArray(new PlaneProxy[0]); + when(imageProxy.getPlanes()).thenReturn(planesArray); + when(imageProxy.getWidth()).thenReturn((int) width); + when(imageProxy.getHeight()).thenReturn((int) height); + + byte[] result = api.getNv21Buffer(imageProxy); assertArrayEquals(expectedBytes, result); - mockedStatic.verify(() -> ImageProxyUtils.planesToNV21(planes, (int) width, (int) height)); + mockedStatic.verify( + () -> + ImageProxyUtils.planesToNV21( + eq(Arrays.asList(planesArray)), + eq((int) width), + eq((int) height), + any(byte[].class))); } } } diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java index 919f91317745..0cf3650f8fae 100644 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java +++ b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java @@ -135,6 +135,49 @@ public void areUVPlanesNV21_handlesVBufferAtLimitGracefully() { assertEquals(width * height + (width * height / 2), nv21.length); } + @Test + public void planesToNV21_doesNotOverAllocateWhenYBufferIsOversized() { + int width = 1280; + int height = 720; + int expectedYSize = width * height; + int expectedTotalSize = expectedYSize + (expectedYSize / 2); + + // Create a Y buffer that is massively oversized (simulating a direct buffer shared across + // planes) + // In the old code, this would cause the allocated NV21 array to be (oversized + + // expectedYSize/2) + int oversizedRemaining = expectedYSize * 3; + ByteBuffer yBuffer = ByteBuffer.allocate(oversizedRemaining); + PlaneProxy yPlane = mock(PlaneProxy.class); + when(yPlane.getBuffer()).thenReturn(yBuffer); + when(yPlane.getPixelStride()).thenReturn(1); + when(yPlane.getRowStride()).thenReturn(width); + + // Mock U and V planes + ByteBuffer uBuffer = ByteBuffer.allocate(expectedYSize / 4); + PlaneProxy uPlane = mock(PlaneProxy.class); + when(uPlane.getBuffer()).thenReturn(uBuffer); + when(uPlane.getPixelStride()).thenReturn(1); + when(uPlane.getRowStride()).thenReturn(width / 2); + + ByteBuffer vBuffer = ByteBuffer.allocate(expectedYSize / 4); + PlaneProxy vPlane = mock(PlaneProxy.class); + when(vPlane.getBuffer()).thenReturn(vBuffer); + when(vPlane.getPixelStride()).thenReturn(1); + when(vPlane.getRowStride()).thenReturn(width / 2); + + List planes = Arrays.asList(yPlane, uPlane, vPlane); + + ByteBuffer nv21Buffer = ImageProxyUtils.planesToNV21(planes, width, height); + + // The capacity of the newly allocated buffer should exactly match the required NV21 size + // and must not be impacted by the oversized remaining bytes in the Y buffer. + assertEquals( + "The NV21 byte array should be tightly packed without over-allocation.", + expectedTotalSize, + nv21Buffer.capacity()); + } + // Creates a mock PlaneProxy with a buffer (of zeroes) of the given size. private PlaneProxy mockPlaneProxy(int bufferSize) { PlaneProxy plane = mock(PlaneProxy.class); 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 e033e965171a..9d7382093c6b 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 @@ -1316,11 +1316,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 ImageProxyUtils.getNv21Buffer( - imageProxy.width, - imageProxy.height, - planes, - ); + final Uint8List bytes = await ImageProxyUtils.getNv21Buffer(imageProxy); cameraImagePlanes.add( CameraImagePlane( 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 d32c0ceec8c4..fc15f649961a 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,24 +1,42 @@ // 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.7), do not edit directly. +// Autogenerated from Pigeon (v26.3.4), 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, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers +// ignore_for_file: unused_import, unused_shown_name +// ignore_for_file: type=lint import 'dart:async'; import 'dart:io' show Platform; -import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; +import 'dart:typed_data' show Float64List, Int32List, Int64List; -import 'package:flutter/foundation.dart' - show ReadBuffer, WriteBuffer, immutable, protected, visibleForTesting; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart' show WidgetsFlutterBinding; - -PlatformException _createConnectionError(String channelName) { - return PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel: "$channelName".', - ); +import 'package:meta/meta.dart' show immutable, protected, visibleForTesting; + +Object? _extractReplyValueOrThrow( + List? replyList, + String channelName, { + required bool isNullValid, +}) { + if (replyList == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel: "$channelName".', + ); + } else if (replyList.length > 1) { + throw PlatformException( + code: replyList[0]! as String, + message: replyList[1] as String?, + details: replyList[2], + ); + } else if (!isNullValid && (replyList.isNotEmpty && replyList[0] == null)) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } + return replyList.firstOrNull; } List wrapResponse({Object? result, PlatformException? error, bool empty = false}) { @@ -245,7 +263,7 @@ class PigeonOverrides { static Future Function()? processCameraProvider_getInstance; /// Overrides [ImageProxyUtils.getNv21Buffer]. - static Future Function(int, int, List)? imageProxyUtils_getNv21Buffer; + static Future Function(ImageProxy)? imageProxyUtils_getNv21Buffer; /// Overrides [QualitySelector.getResolution]. static Future Function(CameraInfo, VideoQuality)? qualitySelector_getResolution; @@ -614,18 +632,10 @@ class _PigeonInternalInstanceManagerApi { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PigeonInternalInstanceManager.removeStrongReference was null.', - ); - final List args = (message as List?)!; - final int? arg_identifier = (args[0] as int?); - assert( - arg_identifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PigeonInternalInstanceManager.removeStrongReference was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_identifier = args[0]! as int; try { - (instanceManager ?? PigeonInstanceManager.instance).remove(arg_identifier!); + (instanceManager ?? PigeonInstanceManager.instance).remove(arg_identifier); return wrapResponse(empty: true); } on PlatformException catch (e) { return wrapResponse(error: e); @@ -649,17 +659,8 @@ class _PigeonInternalInstanceManagerApi { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([identifier]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Clear the native `PigeonInstanceManager`. @@ -675,17 +676,8 @@ class _PigeonInternalInstanceManagerApi { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } } @@ -777,7 +769,7 @@ enum CameraStateType { unknown, } -/// The types (T) properly wrapped to be used as a LiveData. +/// The types (T) properly wrapped to be used as a `LiveData`. enum LiveDataSupportedType { cameraState, zoomState } /// Video quality constraints that will be used by a QualitySelector to choose @@ -1081,17 +1073,8 @@ class CameraSize extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -1136,36 +1119,20 @@ class CameraSize extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraSize.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraSize.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_width = (args[1] as int?); - assert( - arg_width != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraSize.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_height = (args[2] as int?); - assert( - arg_height != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraSize.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final int arg_width = args[1]! as int; + final int arg_height = args[2]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_width!, arg_height!) ?? + pigeon_newInstance?.call(arg_width, arg_height) ?? CameraSize.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - width: arg_width!, - height: arg_height!, + width: arg_width, + height: arg_height, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1230,30 +1197,18 @@ class ResolutionInfo extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionInfo.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionInfo.pigeon_newInstance was null, expected non-null int.', - ); - final CameraSize? arg_resolution = (args[1] as CameraSize?); - assert( - arg_resolution != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionInfo.pigeon_newInstance was null, expected non-null CameraSize.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final CameraSize arg_resolution = args[1]! as CameraSize; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_resolution!) ?? + pigeon_newInstance?.call(arg_resolution) ?? ResolutionInfo.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - resolution: arg_resolution!, + resolution: arg_resolution, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1325,17 +1280,8 @@ class CameraIntegerRange extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -1380,36 +1326,20 @@ class CameraIntegerRange extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraIntegerRange.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraIntegerRange.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_lower = (args[1] as int?); - assert( - arg_lower != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraIntegerRange.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_upper = (args[2] as int?); - assert( - arg_upper != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraIntegerRange.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final int arg_lower = args[1]! as int; + final int arg_upper = args[2]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_lower!, arg_upper!) ?? + pigeon_newInstance?.call(arg_lower, arg_upper) ?? CameraIntegerRange.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - lower: arg_lower!, - upper: arg_upper!, + lower: arg_lower, + upper: arg_upper, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1466,16 +1396,8 @@ class VideoRecordEvent extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEvent.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEvent.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -1483,7 +1405,7 @@ class VideoRecordEvent extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1541,16 +1463,8 @@ class VideoRecordEventStart extends VideoRecordEvent { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventStart.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventStart.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -1558,7 +1472,7 @@ class VideoRecordEventStart extends VideoRecordEvent { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1616,16 +1530,8 @@ class VideoRecordEventFinalize extends VideoRecordEvent { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventFinalize.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventFinalize.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -1633,7 +1539,7 @@ class VideoRecordEventFinalize extends VideoRecordEvent { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1692,16 +1598,8 @@ class MeteringPoint extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.MeteringPoint.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.MeteringPoint.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -1709,7 +1607,7 @@ class MeteringPoint extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -1739,22 +1637,13 @@ class MeteringPoint extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as double?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as double; } @override @@ -1806,17 +1695,8 @@ class Observer extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -1875,23 +1755,11 @@ class Observer extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Observer.onChanged was null.', - ); - final List args = (message as List?)!; - final Observer? arg_pigeon_instance = (args[0] as Observer?); - assert( - arg_pigeon_instance != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Observer.onChanged was null, expected non-null Observer.', - ); - final Object? arg_value = (args[1] as Object?); - assert( - arg_value != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Observer.onChanged was null, expected non-null Object.', - ); + final List args = message! as List; + final Observer arg_pigeon_instance = args[0]! as Observer; + final Object arg_value = args[1]!; try { - (onChanged ?? arg_pigeon_instance!.onChanged).call(arg_pigeon_instance!, arg_value!); + (onChanged ?? arg_pigeon_instance.onChanged).call(arg_pigeon_instance, arg_value); return wrapResponse(empty: true); } on PlatformException catch (e) { return wrapResponse(error: e); @@ -1970,46 +1838,26 @@ class CameraInfo extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraInfo.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraInfo.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_sensorRotationDegrees = (args[1] as int?); - assert( - arg_sensorRotationDegrees != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraInfo.pigeon_newInstance was null, expected non-null int.', - ); - final LensFacing? arg_lensFacing = (args[2] as LensFacing?); - assert( - arg_lensFacing != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraInfo.pigeon_newInstance was null, expected non-null LensFacing.', - ); - final ExposureState? arg_exposureState = (args[3] as ExposureState?); - assert( - arg_exposureState != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraInfo.pigeon_newInstance was null, expected non-null ExposureState.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final int arg_sensorRotationDegrees = args[1]! as int; + final LensFacing arg_lensFacing = args[2]! as LensFacing; + final ExposureState arg_exposureState = args[3]! as ExposureState; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call( - arg_sensorRotationDegrees!, - arg_lensFacing!, - arg_exposureState!, + arg_sensorRotationDegrees, + arg_lensFacing, + arg_exposureState, ) ?? CameraInfo.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - sensorRotationDegrees: arg_sensorRotationDegrees!, - lensFacing: arg_lensFacing!, - exposureState: arg_exposureState!, + sensorRotationDegrees: arg_sensorRotationDegrees, + lensFacing: arg_lensFacing, + exposureState: arg_exposureState, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -2037,22 +1885,13 @@ class CameraInfo extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as LiveData?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as LiveData; } /// A LiveData of ZoomState. @@ -2068,22 +1907,13 @@ class CameraInfo extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as LiveData?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as LiveData; } @override @@ -2147,17 +1977,8 @@ class CameraSelector extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -2205,16 +2026,8 @@ class CameraSelector extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraSelector.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraSelector.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -2222,7 +2035,7 @@ class CameraSelector extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -2259,17 +2072,8 @@ class CameraSelector extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -2296,17 +2100,8 @@ class CameraSelector extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -2327,22 +2122,13 @@ class CameraSelector extends PigeonInternalProxyApiBaseClass { cameraInfos, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as List?)!.cast(); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return (pigeonVar_replyValue! as List).cast(); } @override @@ -2392,16 +2178,8 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ProcessCameraProvider.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ProcessCameraProvider.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -2409,7 +2187,7 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -2445,22 +2223,13 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as ProcessCameraProvider?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as ProcessCameraProvider; } /// The `CameraInfo` instances of the available cameras. @@ -2477,22 +2246,13 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as List?)!.cast(); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return (pigeonVar_replyValue! as List).cast(); } /// Binds the collection of `UseCase` to a `LifecycleOwner`. @@ -2513,22 +2273,13 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { useCases, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as Camera?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as Camera; } /// Returns true if the `UseCase` is bound to a lifecycle. @@ -2545,22 +2296,13 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, useCase]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as bool?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as bool; } /// Unbinds all specified use cases from the lifecycle provider. @@ -2577,17 +2319,8 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, useCases]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Unbinds all use cases from the lifecycle provider and removes them from @@ -2605,17 +2338,8 @@ class ProcessCameraProvider extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -2658,16 +2382,8 @@ class UseCase extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.UseCase.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.UseCase.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -2675,7 +2391,7 @@ class UseCase extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -2742,30 +2458,18 @@ class Camera extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera.pigeon_newInstance was null, expected non-null int.', - ); - final CameraControl? arg_cameraControl = (args[1] as CameraControl?); - assert( - arg_cameraControl != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera.pigeon_newInstance was null, expected non-null CameraControl.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final CameraControl arg_cameraControl = args[1]! as CameraControl; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_cameraControl!) ?? + pigeon_newInstance?.call(arg_cameraControl) ?? Camera.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - cameraControl: arg_cameraControl!, + cameraControl: arg_cameraControl, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -2792,22 +2496,13 @@ class Camera extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as CameraInfo?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as CameraInfo; } @override @@ -2860,17 +2555,8 @@ class SystemServicesManager extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -2929,25 +2615,13 @@ class SystemServicesManager extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.SystemServicesManager.onCameraError was null.', - ); - final List args = (message as List?)!; - final SystemServicesManager? arg_pigeon_instance = (args[0] as SystemServicesManager?); - assert( - arg_pigeon_instance != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.SystemServicesManager.onCameraError was null, expected non-null SystemServicesManager.', - ); - final String? arg_errorDescription = (args[1] as String?); - assert( - arg_errorDescription != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.SystemServicesManager.onCameraError was null, expected non-null String.', - ); + final List args = message! as List; + final SystemServicesManager arg_pigeon_instance = args[0]! as SystemServicesManager; + final String arg_errorDescription = args[1]! as String; try { - (onCameraError ?? arg_pigeon_instance!.onCameraError).call( - arg_pigeon_instance!, - arg_errorDescription!, + (onCameraError ?? arg_pigeon_instance.onCameraError).call( + arg_pigeon_instance, + arg_errorDescription, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -2978,17 +2652,13 @@ class SystemServicesManager extends PigeonInternalProxyApiBaseClass { enableAudio, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return (pigeonVar_replyList[0] as CameraPermissionsError?); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue as CameraPermissionsError?; } /// Returns a path to be used to create a temp file in the current cache @@ -3010,22 +2680,13 @@ class SystemServicesManager extends PigeonInternalProxyApiBaseClass { suffix, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as String?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as String; } @override @@ -3076,36 +2737,20 @@ class CameraPermissionsError extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraPermissionsError.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraPermissionsError.pigeon_newInstance was null, expected non-null int.', - ); - final String? arg_errorCode = (args[1] as String?); - assert( - arg_errorCode != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraPermissionsError.pigeon_newInstance was null, expected non-null String.', - ); - final String? arg_description = (args[2] as String?); - assert( - arg_description != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraPermissionsError.pigeon_newInstance was null, expected non-null String.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final String arg_errorCode = args[1]! as String; + final String arg_description = args[2]! as String; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_errorCode!, arg_description!) ?? + pigeon_newInstance?.call(arg_errorCode, arg_description) ?? CameraPermissionsError.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - errorCode: arg_errorCode!, - description: arg_description!, + errorCode: arg_errorCode, + description: arg_description, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -3174,17 +2819,8 @@ class DeviceOrientationManager extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -3245,26 +2881,13 @@ class DeviceOrientationManager extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.DeviceOrientationManager.onDeviceOrientationChanged was null.', - ); - final List args = (message as List?)!; - final DeviceOrientationManager? arg_pigeon_instance = - (args[0] as DeviceOrientationManager?); - assert( - arg_pigeon_instance != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.DeviceOrientationManager.onDeviceOrientationChanged was null, expected non-null DeviceOrientationManager.', - ); - final String? arg_orientation = (args[1] as String?); - assert( - arg_orientation != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.DeviceOrientationManager.onDeviceOrientationChanged was null, expected non-null String.', - ); + final List args = message! as List; + final DeviceOrientationManager arg_pigeon_instance = args[0]! as DeviceOrientationManager; + final String arg_orientation = args[1]! as String; try { - (onDeviceOrientationChanged ?? arg_pigeon_instance!.onDeviceOrientationChanged).call( - arg_pigeon_instance!, - arg_orientation!, + (onDeviceOrientationChanged ?? arg_pigeon_instance.onDeviceOrientationChanged).call( + arg_pigeon_instance, + arg_orientation, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -3292,17 +2915,8 @@ class DeviceOrientationManager extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } Future stopListeningForDeviceOrientationChange() async { @@ -3318,17 +2932,8 @@ class DeviceOrientationManager extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } Future getDefaultDisplayRotation() async { @@ -3344,22 +2949,13 @@ class DeviceOrientationManager extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as int; } Future getUiOrientation() async { @@ -3375,22 +2971,13 @@ class DeviceOrientationManager extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as String?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as String; } @override @@ -3456,17 +3043,8 @@ class Preview extends UseCase { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -3506,17 +3084,9 @@ class Preview extends UseCase { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Preview.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Preview.pigeon_newInstance was null, expected non-null int.', - ); - final ResolutionSelector? arg_resolutionSelector = (args[1] as ResolutionSelector?); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final ResolutionSelector? arg_resolutionSelector = args[1] as ResolutionSelector?; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call(arg_resolutionSelector) ?? @@ -3525,7 +3095,7 @@ class Preview extends UseCase { pigeon_instanceManager: pigeon_instanceManager, resolutionSelector: arg_resolutionSelector, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -3563,22 +3133,13 @@ class Preview extends UseCase { systemServicesManager, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as int; } /// Releases the `SurfaceProducer` created in `setSurfaceProvider` if one was @@ -3595,17 +3156,8 @@ class Preview extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Gets selected resolution information of the `Preview`. @@ -3621,17 +3173,13 @@ class Preview extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return (pigeonVar_replyList[0] as ResolutionInfo?); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue as ResolutionInfo?; } /// Sets the target rotation. @@ -3647,17 +3195,8 @@ class Preview extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, rotation]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Returns whether or not the preview's surface producer handles correctly @@ -3674,22 +3213,13 @@ class Preview extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as bool?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as bool; } @override @@ -3752,17 +3282,8 @@ class VideoCapture extends UseCase { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -3797,16 +3318,8 @@ class VideoCapture extends UseCase { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoCapture.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoCapture.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -3814,7 +3327,7 @@ class VideoCapture extends UseCase { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -3842,22 +3355,13 @@ class VideoCapture extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as VideoOutput?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as VideoOutput; } /// Sets the desired rotation of the output video. @@ -3873,17 +3377,8 @@ class VideoCapture extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, rotation]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -3926,16 +3421,8 @@ class VideoOutput extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoOutput.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoOutput.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -3943,7 +3430,7 @@ class VideoOutput extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -4021,17 +3508,8 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -4065,16 +3543,8 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Recorder.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Recorder.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -4082,7 +3552,7 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -4110,22 +3580,13 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as int; } /// Gets the target video encoding bitrate of this Recorder. @@ -4141,22 +3602,13 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as int; } /// The quality selector of this Recorder. @@ -4172,22 +3624,13 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as QualitySelector?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as QualitySelector; } /// Prepares a recording that will be saved to a File. @@ -4203,22 +3646,13 @@ class Recorder extends PigeonInternalProxyApiBaseClass implements VideoOutput { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, path]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as PendingRecording?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as PendingRecording; } @override @@ -4270,17 +3704,8 @@ class VideoRecordEventListener extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -4339,24 +3764,11 @@ class VideoRecordEventListener extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventListener.onEvent was null.', - ); - final List args = (message as List?)!; - final VideoRecordEventListener? arg_pigeon_instance = - (args[0] as VideoRecordEventListener?); - assert( - arg_pigeon_instance != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventListener.onEvent was null, expected non-null VideoRecordEventListener.', - ); - final VideoRecordEvent? arg_event = (args[1] as VideoRecordEvent?); - assert( - arg_event != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.VideoRecordEventListener.onEvent was null, expected non-null VideoRecordEvent.', - ); + final List args = message! as List; + final VideoRecordEventListener arg_pigeon_instance = args[0]! as VideoRecordEventListener; + final VideoRecordEvent arg_event = args[1]! as VideoRecordEvent; try { - (onEvent ?? arg_pigeon_instance!.onEvent).call(arg_pigeon_instance!, arg_event!); + (onEvent ?? arg_pigeon_instance.onEvent).call(arg_pigeon_instance, arg_event); return wrapResponse(empty: true); } on PlatformException catch (e) { return wrapResponse(error: e); @@ -4414,16 +3826,8 @@ class PendingRecording extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PendingRecording.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PendingRecording.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -4431,7 +3835,7 @@ class PendingRecording extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -4462,22 +3866,13 @@ class PendingRecording extends PigeonInternalProxyApiBaseClass { initialMuted, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as PendingRecording?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as PendingRecording; } /// Configures the recording to be a persistent recording. @@ -4501,22 +3896,13 @@ class PendingRecording extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as PendingRecording?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as PendingRecording; } /// Starts the recording, making it an active recording. @@ -4532,22 +3918,13 @@ class PendingRecording extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, listener]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as Recording?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as Recording; } @override @@ -4593,16 +3970,8 @@ class Recording extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Recording.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Recording.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -4610,7 +3979,7 @@ class Recording extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -4637,17 +4006,8 @@ class Recording extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Pauses the current recording if active. @@ -4662,17 +4022,8 @@ class Recording extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Resumes the current recording if paused. @@ -4687,17 +4038,8 @@ class Recording extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Stops the recording, as if calling `close`. @@ -4714,17 +4056,8 @@ class Recording extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -4794,17 +4127,8 @@ class ImageCapture extends UseCase { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -4844,17 +4168,9 @@ class ImageCapture extends UseCase { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageCapture.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageCapture.pigeon_newInstance was null, expected non-null int.', - ); - final ResolutionSelector? arg_resolutionSelector = (args[1] as ResolutionSelector?); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final ResolutionSelector? arg_resolutionSelector = args[1] as ResolutionSelector?; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call(arg_resolutionSelector) ?? @@ -4863,7 +4179,7 @@ class ImageCapture extends UseCase { pigeon_instanceManager: pigeon_instanceManager, resolutionSelector: arg_resolutionSelector, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -4891,17 +4207,8 @@ class ImageCapture extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, flashMode]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Captures a new still image for in memory access. @@ -4920,22 +4227,13 @@ class ImageCapture extends UseCase { systemServicesManager, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as String?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as String; } /// Sets the desired rotation of the output image. @@ -4951,17 +4249,8 @@ class ImageCapture extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, rotation]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -5023,17 +4312,8 @@ class ResolutionStrategy extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -5074,16 +4354,8 @@ class ResolutionStrategy extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionStrategy.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionStrategy.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -5091,7 +4363,7 @@ class ResolutionStrategy extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -5128,17 +4400,8 @@ class ResolutionStrategy extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -5156,17 +4419,13 @@ class ResolutionStrategy extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return (pigeonVar_replyList[0] as CameraSize?); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue as CameraSize?; } /// The fallback rule for choosing an alternate size when the specified bound @@ -5183,22 +4442,13 @@ class ResolutionStrategy extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as ResolutionStrategyFallbackRule?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as ResolutionStrategyFallbackRule; } @override @@ -5264,17 +4514,8 @@ class ResolutionSelector extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -5323,18 +4564,10 @@ class ResolutionSelector extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionSelector.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionSelector.pigeon_newInstance was null, expected non-null int.', - ); - final ResolutionFilter? arg_resolutionFilter = (args[1] as ResolutionFilter?); - final ResolutionStrategy? arg_resolutionStrategy = (args[2] as ResolutionStrategy?); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final ResolutionFilter? arg_resolutionFilter = args[1] as ResolutionFilter?; + final ResolutionStrategy? arg_resolutionStrategy = args[2] as ResolutionStrategy?; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call(arg_resolutionFilter, arg_resolutionStrategy) ?? @@ -5344,7 +4577,7 @@ class ResolutionSelector extends PigeonInternalProxyApiBaseClass { resolutionFilter: arg_resolutionFilter, resolutionStrategy: arg_resolutionStrategy, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -5374,22 +4607,13 @@ class ResolutionSelector extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as AspectRatioStrategy?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as AspectRatioStrategy; } @override @@ -5456,17 +4680,8 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -5522,16 +4737,8 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.AspectRatioStrategy.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.AspectRatioStrategy.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -5539,7 +4746,7 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -5576,17 +4783,8 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -5613,17 +4811,8 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -5642,22 +4831,13 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as AspectRatioStrategyFallbackRule?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as AspectRatioStrategyFallbackRule; } /// The specified preferred aspect ratio. @@ -5673,22 +4853,13 @@ class AspectRatioStrategy extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as AspectRatio?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as AspectRatio; } @override @@ -5742,32 +4913,20 @@ class CameraState extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraState.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraState.pigeon_newInstance was null, expected non-null int.', - ); - final CameraStateType? arg_type = (args[1] as CameraStateType?); - assert( - arg_type != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraState.pigeon_newInstance was null, expected non-null CameraStateType.', - ); - final CameraStateStateError? arg_error = (args[2] as CameraStateStateError?); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final CameraStateType arg_type = args[1]! as CameraStateType; + final CameraStateStateError? arg_error = args[2] as CameraStateStateError?; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_type!, arg_error) ?? + pigeon_newInstance?.call(arg_type, arg_error) ?? CameraState.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - type: arg_type!, + type: arg_type, error: arg_error, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -5840,40 +4999,23 @@ class ExposureState extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ExposureState.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ExposureState.pigeon_newInstance was null, expected non-null int.', - ); - final CameraIntegerRange? arg_exposureCompensationRange = - (args[1] as CameraIntegerRange?); - assert( - arg_exposureCompensationRange != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ExposureState.pigeon_newInstance was null, expected non-null CameraIntegerRange.', - ); - final double? arg_exposureCompensationStep = (args[2] as double?); - assert( - arg_exposureCompensationStep != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ExposureState.pigeon_newInstance was null, expected non-null double.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final CameraIntegerRange arg_exposureCompensationRange = args[1]! as CameraIntegerRange; + final double arg_exposureCompensationStep = args[2]! as double; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call( - arg_exposureCompensationRange!, - arg_exposureCompensationStep!, + arg_exposureCompensationRange, + arg_exposureCompensationStep, ) ?? ExposureState.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - exposureCompensationRange: arg_exposureCompensationRange!, - exposureCompensationStep: arg_exposureCompensationStep!, + exposureCompensationRange: arg_exposureCompensationRange, + exposureCompensationStep: arg_exposureCompensationStep, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -5941,36 +5083,20 @@ class ZoomState extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ZoomState.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ZoomState.pigeon_newInstance was null, expected non-null int.', - ); - final double? arg_minZoomRatio = (args[1] as double?); - assert( - arg_minZoomRatio != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ZoomState.pigeon_newInstance was null, expected non-null double.', - ); - final double? arg_maxZoomRatio = (args[2] as double?); - assert( - arg_maxZoomRatio != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ZoomState.pigeon_newInstance was null, expected non-null double.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final double arg_minZoomRatio = args[1]! as double; + final double arg_maxZoomRatio = args[2]! as double; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_minZoomRatio!, arg_maxZoomRatio!) ?? + pigeon_newInstance?.call(arg_minZoomRatio, arg_maxZoomRatio) ?? ZoomState.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - minZoomRatio: arg_minZoomRatio!, - maxZoomRatio: arg_maxZoomRatio!, + minZoomRatio: arg_minZoomRatio, + maxZoomRatio: arg_maxZoomRatio, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -6055,17 +5181,8 @@ class ImageAnalysis extends UseCase { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -6105,17 +5222,9 @@ class ImageAnalysis extends UseCase { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageAnalysis.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageAnalysis.pigeon_newInstance was null, expected non-null int.', - ); - final ResolutionSelector? arg_resolutionSelector = (args[1] as ResolutionSelector?); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final ResolutionSelector? arg_resolutionSelector = args[1] as ResolutionSelector?; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call(arg_resolutionSelector) ?? @@ -6124,7 +5233,7 @@ class ImageAnalysis extends UseCase { pigeon_instanceManager: pigeon_instanceManager, resolutionSelector: arg_resolutionSelector, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -6152,17 +5261,8 @@ class ImageAnalysis extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, analyzer]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Removes a previously set analyzer. @@ -6178,17 +5278,8 @@ class ImageAnalysis extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Sets the target rotation. @@ -6204,17 +5295,8 @@ class ImageAnalysis extends UseCase { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, rotation]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -6267,17 +5349,8 @@ class Analyzer extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -6336,23 +5409,11 @@ class Analyzer extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Analyzer.analyze was null.', - ); - final List args = (message as List?)!; - final Analyzer? arg_pigeon_instance = (args[0] as Analyzer?); - assert( - arg_pigeon_instance != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Analyzer.analyze was null, expected non-null Analyzer.', - ); - final ImageProxy? arg_image = (args[1] as ImageProxy?); - assert( - arg_image != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Analyzer.analyze was null, expected non-null ImageProxy.', - ); + final List args = message! as List; + final Analyzer arg_pigeon_instance = args[0]! as Analyzer; + final ImageProxy arg_image = args[1]! as ImageProxy; try { - (analyze ?? arg_pigeon_instance!.analyze).call(arg_pigeon_instance!, arg_image!); + (analyze ?? arg_pigeon_instance.analyze).call(arg_pigeon_instance, arg_image); return wrapResponse(empty: true); } on PlatformException catch (e) { return wrapResponse(error: e); @@ -6414,30 +5475,18 @@ class CameraStateStateError extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraStateStateError.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraStateStateError.pigeon_newInstance was null, expected non-null int.', - ); - final CameraStateErrorCode? arg_code = (args[1] as CameraStateErrorCode?); - assert( - arg_code != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraStateStateError.pigeon_newInstance was null, expected non-null CameraStateErrorCode.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final CameraStateErrorCode arg_code = args[1]! as CameraStateErrorCode; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_code!) ?? + pigeon_newInstance?.call(arg_code) ?? CameraStateStateError.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - code: arg_code!, + code: arg_code, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -6507,30 +5556,18 @@ class LiveData extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.LiveData.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.LiveData.pigeon_newInstance was null, expected non-null int.', - ); - final LiveDataSupportedType? arg_type = (args[1] as LiveDataSupportedType?); - assert( - arg_type != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.LiveData.pigeon_newInstance was null, expected non-null LiveDataSupportedType.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final LiveDataSupportedType arg_type = args[1]! as LiveDataSupportedType; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_type!) ?? + pigeon_newInstance?.call(arg_type) ?? LiveData.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - type: arg_type!, + type: arg_type, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -6558,17 +5595,8 @@ class LiveData extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, observer]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Removes all observers that are tied to the given `LifecycleOwner`. @@ -6584,17 +5612,8 @@ class LiveData extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Returns the current value. @@ -6609,17 +5628,13 @@ class LiveData extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return pigeonVar_replyList[0]; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue; } @override @@ -6681,42 +5696,22 @@ class ImageProxy extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxy.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxy.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_format = (args[1] as int?); - assert( - arg_format != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxy.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_width = (args[2] as int?); - assert( - arg_width != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxy.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_height = (args[3] as int?); - assert( - arg_height != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxy.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final int arg_format = args[1]! as int; + final int arg_width = args[2]! as int; + final int arg_height = args[3]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_format!, arg_width!, arg_height!) ?? + pigeon_newInstance?.call(arg_format, arg_width, arg_height) ?? ImageProxy.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - format: arg_format!, - width: arg_width!, - height: arg_height!, + format: arg_format, + width: arg_width, + height: arg_height, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -6743,22 +5738,13 @@ class ImageProxy extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as List?)!.cast(); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return (pigeonVar_replyValue! as List).cast(); } /// Closes the underlying `android.media.Image`. @@ -6773,17 +5759,8 @@ class ImageProxy extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -6830,16 +5807,8 @@ class ImageProxyUtils extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxyUtils.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ImageProxyUtils.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -6847,7 +5816,7 @@ class ImageProxyUtils extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -6862,16 +5831,14 @@ class ImageProxyUtils extends PigeonInternalProxyApiBaseClass { } } - /// Returns a single buffer that is representative of three NV21-compatible [planes]. + /// Returns a single buffer that is representative of three NV21-compatible planes. static Future getNv21Buffer( - int imageWidth, - int imageHeight, - List planes, { + ImageProxy imageProxy, { BinaryMessenger? pigeon_binaryMessenger, PigeonInstanceManager? pigeon_instanceManager, }) async { if (PigeonOverrides.imageProxyUtils_getNv21Buffer != null) { - return PigeonOverrides.imageProxyUtils_getNv21Buffer!(imageWidth, imageHeight, planes); + return PigeonOverrides.imageProxyUtils_getNv21Buffer!(imageProxy); } final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance, @@ -6884,28 +5851,15 @@ class ImageProxyUtils extends PigeonInternalProxyApiBaseClass { pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final Future pigeonVar_sendFuture = pigeonVar_channel.send([ - imageWidth, - imageHeight, - planes, - ]); + final Future pigeonVar_sendFuture = pigeonVar_channel.send([imageProxy]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as Uint8List?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as Uint8List; } @override @@ -6964,42 +5918,22 @@ class PlaneProxy extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PlaneProxy.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PlaneProxy.pigeon_newInstance was null, expected non-null int.', - ); - final Uint8List? arg_buffer = (args[1] as Uint8List?); - assert( - arg_buffer != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PlaneProxy.pigeon_newInstance was null, expected non-null Uint8List.', - ); - final int? arg_pixelStride = (args[2] as int?); - assert( - arg_pixelStride != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PlaneProxy.pigeon_newInstance was null, expected non-null int.', - ); - final int? arg_rowStride = (args[3] as int?); - assert( - arg_rowStride != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.PlaneProxy.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final Uint8List arg_buffer = args[1]! as Uint8List; + final int arg_pixelStride = args[2]! as int; + final int arg_rowStride = args[3]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_buffer!, arg_pixelStride!, arg_rowStride!) ?? + pigeon_newInstance?.call(arg_buffer, arg_pixelStride, arg_rowStride) ?? PlaneProxy.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - buffer: arg_buffer!, - pixelStride: arg_pixelStride!, - rowStride: arg_rowStride!, + buffer: arg_buffer, + pixelStride: arg_pixelStride, + rowStride: arg_rowStride, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -7076,17 +6010,8 @@ class QualitySelector extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7136,17 +6061,8 @@ class QualitySelector extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7180,16 +6096,8 @@ class QualitySelector extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.QualitySelector.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.QualitySelector.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -7197,7 +6105,7 @@ class QualitySelector extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -7238,17 +6146,13 @@ class QualitySelector extends PigeonInternalProxyApiBaseClass { quality, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return (pigeonVar_replyList[0] as CameraSize?); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue as CameraSize?; } @override @@ -7307,17 +6211,8 @@ class FallbackStrategy extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7362,17 +6257,8 @@ class FallbackStrategy extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7417,17 +6303,8 @@ class FallbackStrategy extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7472,17 +6349,8 @@ class FallbackStrategy extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7516,16 +6384,8 @@ class FallbackStrategy extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FallbackStrategy.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FallbackStrategy.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -7533,7 +6393,7 @@ class FallbackStrategy extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -7593,16 +6453,8 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraControl.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraControl.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -7610,7 +6462,7 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -7638,17 +6490,8 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, torch]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Sets current zoom by ratio. @@ -7664,17 +6507,8 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, ratio]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Starts a focus and metering action configured by the @@ -7691,17 +6525,13 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, action]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return (pigeonVar_replyList[0] as FocusMeteringResult?); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue as FocusMeteringResult?; } /// Cancels current FocusMeteringAction and clears AF/AE/AWB regions. @@ -7717,17 +6547,8 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Set the exposure compensation value for the camera. @@ -7743,17 +6564,13 @@ class CameraControl extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, index]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return (pigeonVar_replyList[0] as int?); - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue as int?; } @override @@ -7811,17 +6628,8 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7869,17 +6677,8 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -7916,16 +6715,8 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringActionBuilder.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringActionBuilder.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -7933,7 +6724,7 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -7962,17 +6753,8 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, point]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Adds another MeteringPoint with specified meteringMode. @@ -7993,17 +6775,8 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { mode, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Disables the auto-cancel. @@ -8020,17 +6793,8 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } /// Builds the `FocusMeteringAction` instance. @@ -8047,22 +6811,13 @@ class FocusMeteringActionBuilder extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as FocusMeteringAction?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as FocusMeteringAction; } @override @@ -8130,56 +6885,32 @@ class FocusMeteringAction extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringAction.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringAction.pigeon_newInstance was null, expected non-null int.', - ); - final List? arg_meteringPointsAe = (args[1] as List?) - ?.cast(); - assert( - arg_meteringPointsAe != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringAction.pigeon_newInstance was null, expected non-null List.', - ); - final List? arg_meteringPointsAf = (args[2] as List?) - ?.cast(); - assert( - arg_meteringPointsAf != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringAction.pigeon_newInstance was null, expected non-null List.', - ); - final List? arg_meteringPointsAwb = (args[3] as List?) - ?.cast(); - assert( - arg_meteringPointsAwb != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringAction.pigeon_newInstance was null, expected non-null List.', - ); - final bool? arg_isAutoCancelEnabled = (args[4] as bool?); - assert( - arg_isAutoCancelEnabled != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringAction.pigeon_newInstance was null, expected non-null bool.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final List arg_meteringPointsAe = (args[1]! as List) + .cast(); + final List arg_meteringPointsAf = (args[2]! as List) + .cast(); + final List arg_meteringPointsAwb = (args[3]! as List) + .cast(); + final bool arg_isAutoCancelEnabled = args[4]! as bool; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call( - arg_meteringPointsAe!, - arg_meteringPointsAf!, - arg_meteringPointsAwb!, - arg_isAutoCancelEnabled!, + arg_meteringPointsAe, + arg_meteringPointsAf, + arg_meteringPointsAwb, + arg_isAutoCancelEnabled, ) ?? FocusMeteringAction.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - meteringPointsAe: arg_meteringPointsAe!, - meteringPointsAf: arg_meteringPointsAf!, - meteringPointsAwb: arg_meteringPointsAwb!, - isAutoCancelEnabled: arg_isAutoCancelEnabled!, + meteringPointsAe: arg_meteringPointsAe, + meteringPointsAf: arg_meteringPointsAf, + meteringPointsAwb: arg_meteringPointsAwb, + isAutoCancelEnabled: arg_isAutoCancelEnabled, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -8245,30 +6976,18 @@ class FocusMeteringResult extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringResult.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringResult.pigeon_newInstance was null, expected non-null int.', - ); - final bool? arg_isFocusSuccessful = (args[1] as bool?); - assert( - arg_isFocusSuccessful != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.FocusMeteringResult.pigeon_newInstance was null, expected non-null bool.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; + final bool arg_isFocusSuccessful = args[1]! as bool; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( - pigeon_newInstance?.call(arg_isFocusSuccessful!) ?? + pigeon_newInstance?.call(arg_isFocusSuccessful) ?? FocusMeteringResult.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, - isFocusSuccessful: arg_isFocusSuccessful!, + isFocusSuccessful: arg_isFocusSuccessful, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -8359,16 +7078,8 @@ class CaptureRequest extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CaptureRequest.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CaptureRequest.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -8376,7 +7087,7 @@ class CaptureRequest extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -8413,17 +7124,8 @@ class CaptureRequest extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -8450,17 +7152,8 @@ class CaptureRequest extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -8506,16 +7199,8 @@ class CaptureRequestKey extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CaptureRequestKey.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CaptureRequestKey.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -8523,7 +7208,7 @@ class CaptureRequestKey extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -8589,17 +7274,8 @@ class CaptureRequestOptions extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -8636,16 +7312,8 @@ class CaptureRequestOptions extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CaptureRequestOptions.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CaptureRequestOptions.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -8653,7 +7321,7 @@ class CaptureRequestOptions extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -8683,17 +7351,13 @@ class CaptureRequestOptions extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, key]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return pigeonVar_replyList[0]; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue; } @override @@ -8750,17 +7414,8 @@ class Camera2CameraControl extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -8797,16 +7452,8 @@ class Camera2CameraControl extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera2CameraControl.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera2CameraControl.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -8814,7 +7461,7 @@ class Camera2CameraControl extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -8844,17 +7491,8 @@ class Camera2CameraControl extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, bundle]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); } @override @@ -8910,17 +7548,8 @@ class ResolutionFilter extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -8954,16 +7583,8 @@ class ResolutionFilter extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionFilter.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.ResolutionFilter.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -8971,7 +7592,7 @@ class ResolutionFilter extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -9030,16 +7651,8 @@ class CameraCharacteristicsKey extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraCharacteristicsKey.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraCharacteristicsKey.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -9047,7 +7660,7 @@ class CameraCharacteristicsKey extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -9158,16 +7771,8 @@ class CameraCharacteristics extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraCharacteristics.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.CameraCharacteristics.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -9175,7 +7780,7 @@ class CameraCharacteristics extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -9212,17 +7817,8 @@ class CameraCharacteristics extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -9249,17 +7845,8 @@ class CameraCharacteristics extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -9286,17 +7873,8 @@ class CameraCharacteristics extends PigeonInternalProxyApiBaseClass { pigeonVar_instanceIdentifier, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); return pigeonVar_instance; } @@ -9353,17 +7931,8 @@ class Camera2CameraInfo extends PigeonInternalProxyApiBaseClass { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -9397,16 +7966,8 @@ class Camera2CameraInfo extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera2CameraInfo.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.Camera2CameraInfo.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -9414,7 +7975,7 @@ class Camera2CameraInfo extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -9442,22 +8003,13 @@ class Camera2CameraInfo extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as String?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as String; } /// Gets a camera characteristic value. @@ -9473,17 +8025,13 @@ class Camera2CameraInfo extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, key]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return pigeonVar_replyList[0]; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: true, + ); + return pigeonVar_replyValue; } @override @@ -9532,16 +8080,8 @@ class MeteringPointFactory extends PigeonInternalProxyApiBaseClass { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.MeteringPointFactory.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.MeteringPointFactory.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -9549,7 +8089,7 @@ class MeteringPointFactory extends PigeonInternalProxyApiBaseClass { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { @@ -9578,22 +8118,13 @@ class MeteringPointFactory extends PigeonInternalProxyApiBaseClass { ); final Future pigeonVar_sendFuture = pigeonVar_channel.send([this, x, y]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as MeteringPoint?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as MeteringPoint; } /// Creates a MeteringPoint by x, y, size. @@ -9615,22 +8146,13 @@ class MeteringPointFactory extends PigeonInternalProxyApiBaseClass { size, ]); final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as MeteringPoint?)!; - } + + final Object? pigeonVar_replyValue = _extractReplyValueOrThrow( + pigeonVar_replyList, + pigeonVar_channelName, + isNullValid: false, + ); + return pigeonVar_replyValue! as MeteringPoint; } @override @@ -9704,17 +8226,8 @@ class DisplayOrientedMeteringPointFactory extends MeteringPointFactory { ]); () async { final pigeonVar_replyList = await pigeonVar_sendFuture as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } + + _extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true); }(); } @@ -9751,16 +8264,8 @@ class DisplayOrientedMeteringPointFactory extends MeteringPointFactory { pigeonVar_channel.setMessageHandler(null); } else { pigeonVar_channel.setMessageHandler((Object? message) async { - assert( - message != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.DisplayOrientedMeteringPointFactory.pigeon_newInstance was null.', - ); - final List args = (message as List?)!; - final int? arg_pigeon_instanceIdentifier = (args[0] as int?); - assert( - arg_pigeon_instanceIdentifier != null, - 'Argument for dev.flutter.pigeon.camera_android_camerax.DisplayOrientedMeteringPointFactory.pigeon_newInstance was null, expected non-null int.', - ); + final List args = message! as List; + final int arg_pigeon_instanceIdentifier = args[0]! as int; try { (pigeon_instanceManager ?? PigeonInstanceManager.instance).addHostCreatedInstance( pigeon_newInstance?.call() ?? @@ -9768,7 +8273,7 @@ class DisplayOrientedMeteringPointFactory extends MeteringPointFactory { pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ), - arg_pigeon_instanceIdentifier!, + arg_pigeon_instanceIdentifier, ); return wrapResponse(empty: true); } on PlatformException catch (e) { diff --git a/packages/camera/camera_android_camerax/pigeons/camerax_library.dart b/packages/camera/camera_android_camerax/pigeons/camerax_library.dart index 47c64caa4b57..1920125b65f0 100644 --- a/packages/camera/camera_android_camerax/pigeons/camerax_library.dart +++ b/packages/camera/camera_android_camerax/pigeons/camerax_library.dart @@ -853,9 +853,9 @@ abstract class ImageProxy { /// Utilities for working with [ImageProxy]s. @ProxyApi() abstract class ImageProxyUtils { - /// Returns a single buffer that is representative of three NV21-compatible [planes]. + /// Returns a single buffer that is representative of three NV21-compatible planes. @static - Uint8List getNv21Buffer(int imageWidth, int imageHeight, List planes); + Uint8List getNv21Buffer(ImageProxy imageProxy); } /// A plane proxy which has an analogous interface as diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index d881582c0968..6ed48240336d 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.7.4+2 +version: 0.7.5 environment: 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 35599f486f2b..3b2f69bfa338 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 @@ -128,8 +128,7 @@ void main() { })? newImageAnalysis, Analyzer Function({required void Function(Analyzer, ImageProxy) analyze})? newAnalyzer, - Future Function(int imageWidth, int imageHeight, List planes)? - getNv21BufferImageProxyUtils, + Future Function(ImageProxy imageProxy)? getNv21BufferImageProxyUtils, }) { final AspectRatioStrategy ratio_4_3FallbackAutoStrategyAspectRatioStrategy = MockAspectRatioStrategy(); @@ -284,7 +283,7 @@ void main() { }; PigeonOverrides.imageProxyUtils_getNv21Buffer = getNv21BufferImageProxyUtils ?? - (int imageWidth, int imageHeight, List planes) { + (ImageProxy imageProxy) { return Future.value(Uint8List(0)); }; } @@ -4084,7 +4083,7 @@ void main() { int? targetRotation, CameraIntegerRange? targetFpsRange, }) => mockImageAnalysis, - getNv21BufferImageProxyUtils: (int imageWidth, int imageHeight, List planes) => + getNv21BufferImageProxyUtils: (ImageProxy imageProxy) => Future.value(testNv21Buffer), ); From 417a5fc2609a053e52ff72b66898a3d6129ca487 Mon Sep 17 00:00:00 2001 From: Mairramer Date: Thu, 30 Jul 2026 13:45:35 -0300 Subject: [PATCH 2/4] fix(camera_android_camerax): Eliminate NV21 buffer reuse and simplify conversion logic --- .../plugins/camerax/ImageProxyUtils.java | 16 ++++------- .../camerax/ImageProxyUtilsProxyApi.java | 20 ++----------- .../camerax/ImageProxyUtilsApiTest.java | 28 ++++++++++++------- 3 files changed, 26 insertions(+), 38 deletions(-) diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java index c23377c3476d..ff1e64326c39 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java @@ -57,18 +57,14 @@ public static ByteBuffer planesToNV21( yBuffer.get(outBuffer, 0, expectedYSize); position = expectedYSize; } else { - // Copy row by row if padding exists. - byte[] row = new byte[width]; + // Copy row by row, reading directly into outBuffer to avoid a temporary array. for (int rowIndex = 0; rowIndex < height; rowIndex++) { - yBuffer.get(row, 0, width); - System.arraycopy(row, 0, outBuffer, position, width); + yBuffer.get(outBuffer, position, width); position += width; - // Adjust buffer position to start of next row. - // After reading 'width' bytes, move ahead by (yRowStride - width) - // to skip any padding bytes at the end of the current row. - if (rowIndex < height - 1) { - yBuffer.position(yBuffer.position() - width + yRowStride); - } + // Skip padding bytes to advance to the start of the next row. + // Setting position to (current - width + yRowStride) moves past the + // (yRowStride - width) padding bytes appended to each row. + yBuffer.position(yBuffer.position() - width + yRowStride); } } diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java index 64c85213942f..a74873f2cbfa 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtilsProxyApi.java @@ -5,9 +5,7 @@ package io.flutter.plugins.camerax; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.camera.core.ImageProxy; -import java.nio.ByteBuffer; import java.util.Arrays; /** @@ -17,10 +15,6 @@ */ public class ImageProxyUtilsProxyApi extends PigeonApiImageProxyUtils { - // Pre-allocated NV21 output buffer, reused across frames to avoid per-frame heap allocations. - // Reallocated only when the image resolution changes. - @Nullable private byte[] nv21Buffer; - ImageProxyUtilsProxyApi(@NonNull ProxyApiRegistrar pigeonRegistrar) { super(pigeonRegistrar); } @@ -31,19 +25,9 @@ public byte[] getNv21Buffer(@NonNull ImageProxy imageProxy) { final int width = imageProxy.getWidth(); final int height = imageProxy.getHeight(); final int expectedYSize = width * height; - final int totalSize = expectedYSize + (expectedYSize / 2); - - // Reallocate only when the resolution changes (rare). - if (nv21Buffer == null || nv21Buffer.length != totalSize) { - nv21Buffer = new byte[totalSize]; - } - - final ByteBuffer nv21ByteBuffer = - ImageProxyUtils.planesToNV21( - Arrays.asList(imageProxy.getPlanes()), width, height, nv21Buffer); + final byte[] bytes = new byte[expectedYSize + (expectedYSize / 2)]; - byte[] bytes = new byte[nv21ByteBuffer.remaining()]; - nv21ByteBuffer.get(bytes, 0, bytes.length); + ImageProxyUtils.planesToNV21(Arrays.asList(imageProxy.getPlanes()), width, height, bytes); return bytes; } diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java index e1adc540f801..e7e79fb3c56c 100644 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java +++ b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsApiTest.java @@ -20,6 +20,7 @@ import java.util.List; import org.junit.Test; import org.mockito.MockedStatic; +import org.mockito.stubbing.Answer; public class ImageProxyUtilsApiTest { @@ -29,32 +30,39 @@ public void getNv21Buffer_returnsExpectedBytes() { List planes = Arrays.asList(mock(PlaneProxy.class), mock(PlaneProxy.class), mock(PlaneProxy.class)); - long width = 4; - long height = 2; - byte[] expectedBytes = new byte[] {1, 2, 3, 4, 5}; - ByteBuffer mockBuffer = ByteBuffer.wrap(expectedBytes); + int width = 4; + int height = 2; + // Matches the size allocated by getNv21Buffer: width * height * 3 / 2. + final byte[] nv21Data = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; try (MockedStatic mockedStatic = mockStatic(ImageProxyUtils.class)) { + // Simulate planesToNV21 filling the caller-owned outBuffer in-place. mockedStatic .when( () -> ImageProxyUtils.planesToNV21(anyList(), anyInt(), anyInt(), any(byte[].class))) - .thenReturn(mockBuffer); + .thenAnswer( + (Answer) + invocation -> { + byte[] outBuffer = invocation.getArgument(3); + System.arraycopy(nv21Data, 0, outBuffer, 0, outBuffer.length); + return ByteBuffer.wrap(outBuffer); + }); ImageProxy imageProxy = mock(ImageProxy.class); PlaneProxy[] planesArray = planes.toArray(new PlaneProxy[0]); when(imageProxy.getPlanes()).thenReturn(planesArray); - when(imageProxy.getWidth()).thenReturn((int) width); - when(imageProxy.getHeight()).thenReturn((int) height); + when(imageProxy.getWidth()).thenReturn(width); + when(imageProxy.getHeight()).thenReturn(height); byte[] result = api.getNv21Buffer(imageProxy); - assertArrayEquals(expectedBytes, result); + assertArrayEquals(nv21Data, result); mockedStatic.verify( () -> ImageProxyUtils.planesToNV21( eq(Arrays.asList(planesArray)), - eq((int) width), - eq((int) height), + eq(width), + eq(height), any(byte[].class))); } } From 7e37b7232187a982914413dafac31d171dc32aaf Mon Sep 17 00:00:00 2001 From: Mairramer Date: Thu, 30 Jul 2026 14:04:54 -0300 Subject: [PATCH 3/4] Add test verifying NV21 conversion overload equivalence --- .../plugins/camerax/ImageProxyUtilsTest.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java index 0cf3650f8fae..c9795a708ab4 100644 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java +++ b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/ImageProxyUtilsTest.java @@ -135,6 +135,56 @@ public void areUVPlanesNV21_handlesVBufferAtLimitGracefully() { assertEquals(width * height + (width * height / 2), nv21.length); } + @Test + public void planesToNV21_noBufferOverload_producesIdenticalOutputToBufferOverload() { + int width = 4; + int height = 2; + + // Y plane — tightly packed, no padding. + byte[] y = new byte[] {0, 1, 2, 3, 4, 5, 6, 7}; + PlaneProxy yPlane = mockPlaneProxyWithData(y); + when(yPlane.getPixelStride()).thenReturn(1); + when(yPlane.getRowStride()).thenReturn(width); + + ByteBuffer vBuffer = ByteBuffer.wrap(new byte[] {9, 5, 7}); + ByteBuffer uBuffer = ByteBuffer.wrap(new byte[] {5, 7, 33}); + + PlaneProxy uPlane = Mockito.mock(PlaneProxy.class); + PlaneProxy vPlane = Mockito.mock(PlaneProxy.class); + Mockito.when(uPlane.getBuffer()).thenReturn(uBuffer); + Mockito.when(vPlane.getBuffer()).thenReturn(vBuffer); + Mockito.when(uPlane.getPixelStride()).thenReturn(2); + Mockito.when(uPlane.getRowStride()).thenReturn(width); + Mockito.when(vPlane.getPixelStride()).thenReturn(2); + Mockito.when(vPlane.getRowStride()).thenReturn(width); + + List planes = Arrays.asList(yPlane, uPlane, vPlane); + + // Call the no-buffer overload. + ByteBuffer noBufferResult = ImageProxyUtils.planesToNV21(planes, width, height); + byte[] noBufferBytes = new byte[noBufferResult.remaining()]; + noBufferResult.get(noBufferBytes); + + // Call the buffer overload with a fresh outBuffer for comparison. + int totalSize = width * height + (width * height / 2); + byte[] outBuffer = new byte[totalSize]; + + // Reset plane buffers — planesToNV21 rewinds them, but calling it twice requires + // rewinding the mocked ByteBuffers back to position 0 between calls. + uBuffer.rewind(); + vBuffer.rewind(); + + ByteBuffer bufferedResult = ImageProxyUtils.planesToNV21(planes, width, height, outBuffer); + byte[] bufferedBytes = new byte[bufferedResult.remaining()]; + bufferedResult.get(bufferedBytes); + + // Both overloads must produce identical NV21 output. + assertArrayEquals(bufferedBytes, noBufferBytes); + + // The no-buffer overload must allocate exactly width * height * 3 / 2 bytes. + assertEquals(totalSize, noBufferResult.capacity()); + } + @Test public void planesToNV21_doesNotOverAllocateWhenYBufferIsOversized() { int width = 1280; From 025e2dfe65c81650c713c58e788945a828bceff0 Mon Sep 17 00:00:00 2001 From: Mairramer Date: Thu, 30 Jul 2026 14:37:00 -0300 Subject: [PATCH 4/4] Clarify NV21 buffer position logic in comments --- .../main/java/io/flutter/plugins/camerax/ImageProxyUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java index ff1e64326c39..cae15c1b2d10 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/ImageProxyUtils.java @@ -62,8 +62,8 @@ public static ByteBuffer planesToNV21( yBuffer.get(outBuffer, position, width); position += width; // Skip padding bytes to advance to the start of the next row. - // Setting position to (current - width + yRowStride) moves past the - // (yRowStride - width) padding bytes appended to each row. + // On the last row this seeks past the limit, which is harmless because + // yBuffer is not read again after the loop. yBuffer.position(yBuffer.position() - width + yRowStride); } }