@@ -531,6 +531,9 @@ Long bindToLifecycle(
531531 @ NonNull Long cameraSelectorIdentifier ,
532532 @ NonNull List <Long > useCaseIds );
533533
534+ @ NonNull
535+ Boolean isBound (@ NonNull Long identifier , @ NonNull Long useCaseIdentifier );
536+
534537 void unbind (@ NonNull Long identifier , @ NonNull List <Long > useCaseIds );
535538
536539 void unbindAll (@ NonNull Long identifier );
@@ -650,6 +653,40 @@ public void error(Throwable error) {
650653 channel .setMessageHandler (null );
651654 }
652655 }
656+ {
657+ BasicMessageChannel <Object > channel =
658+ new BasicMessageChannel <>(
659+ binaryMessenger ,
660+ "dev.flutter.pigeon.ProcessCameraProviderHostApi.isBound" ,
661+ getCodec ());
662+ if (api != null ) {
663+ channel .setMessageHandler (
664+ (message , reply ) -> {
665+ Map <String , Object > wrapped = new HashMap <>();
666+ try {
667+ ArrayList <Object > args = (ArrayList <Object >) message ;
668+ Number identifierArg = (Number ) args .get (0 );
669+ if (identifierArg == null ) {
670+ throw new NullPointerException ("identifierArg unexpectedly null." );
671+ }
672+ Number useCaseIdentifierArg = (Number ) args .get (1 );
673+ if (useCaseIdentifierArg == null ) {
674+ throw new NullPointerException ("useCaseIdentifierArg unexpectedly null." );
675+ }
676+ Boolean output =
677+ api .isBound (
678+ (identifierArg == null ) ? null : identifierArg .longValue (),
679+ (useCaseIdentifierArg == null ) ? null : useCaseIdentifierArg .longValue ());
680+ wrapped .put ("result" , output );
681+ } catch (Error | RuntimeException exception ) {
682+ wrapped .put ("error" , wrapError (exception ));
683+ }
684+ reply .reply (wrapped );
685+ });
686+ } else {
687+ channel .setMessageHandler (null );
688+ }
689+ }
653690 {
654691 BasicMessageChannel <Object > channel =
655692 new BasicMessageChannel <>(
@@ -1143,6 +1180,156 @@ static void setup(BinaryMessenger binaryMessenger, PreviewHostApi api) {
11431180 }
11441181 }
11451182
1183+ private static class ImageCaptureHostApiCodec extends StandardMessageCodec {
1184+ public static final ImageCaptureHostApiCodec INSTANCE = new ImageCaptureHostApiCodec ();
1185+
1186+ private ImageCaptureHostApiCodec () {}
1187+
1188+ @ Override
1189+ protected Object readValueOfType (byte type , ByteBuffer buffer ) {
1190+ switch (type ) {
1191+ case (byte ) 128 :
1192+ return ResolutionInfo .fromMap ((Map <String , Object >) readValue (buffer ));
1193+
1194+ default :
1195+ return super .readValueOfType (type , buffer );
1196+ }
1197+ }
1198+
1199+ @ Override
1200+ protected void writeValue (ByteArrayOutputStream stream , Object value ) {
1201+ if (value instanceof ResolutionInfo ) {
1202+ stream .write (128 );
1203+ writeValue (stream , ((ResolutionInfo ) value ).toMap ());
1204+ } else {
1205+ super .writeValue (stream , value );
1206+ }
1207+ }
1208+ }
1209+
1210+ /** Generated interface from Pigeon that represents a handler of messages from Flutter. */
1211+ public interface ImageCaptureHostApi {
1212+ void create (
1213+ @ NonNull Long identifier ,
1214+ @ Nullable Long flashMode ,
1215+ @ Nullable ResolutionInfo targetResolution );
1216+
1217+ void setFlashMode (@ NonNull Long identifier , @ NonNull Long flashMode );
1218+
1219+ void takePicture (@ NonNull Long identifier , Result <String > result );
1220+
1221+ /** The codec used by ImageCaptureHostApi. */
1222+ static MessageCodec <Object > getCodec () {
1223+ return ImageCaptureHostApiCodec .INSTANCE ;
1224+ }
1225+
1226+ /**
1227+ * Sets up an instance of `ImageCaptureHostApi` to handle messages through the
1228+ * `binaryMessenger`.
1229+ */
1230+ static void setup (BinaryMessenger binaryMessenger , ImageCaptureHostApi api ) {
1231+ {
1232+ BasicMessageChannel <Object > channel =
1233+ new BasicMessageChannel <>(
1234+ binaryMessenger , "dev.flutter.pigeon.ImageCaptureHostApi.create" , getCodec ());
1235+ if (api != null ) {
1236+ channel .setMessageHandler (
1237+ (message , reply ) -> {
1238+ Map <String , Object > wrapped = new HashMap <>();
1239+ try {
1240+ ArrayList <Object > args = (ArrayList <Object >) message ;
1241+ Number identifierArg = (Number ) args .get (0 );
1242+ if (identifierArg == null ) {
1243+ throw new NullPointerException ("identifierArg unexpectedly null." );
1244+ }
1245+ Number flashModeArg = (Number ) args .get (1 );
1246+ ResolutionInfo targetResolutionArg = (ResolutionInfo ) args .get (2 );
1247+ api .create (
1248+ (identifierArg == null ) ? null : identifierArg .longValue (),
1249+ (flashModeArg == null ) ? null : flashModeArg .longValue (),
1250+ targetResolutionArg );
1251+ wrapped .put ("result" , null );
1252+ } catch (Error | RuntimeException exception ) {
1253+ wrapped .put ("error" , wrapError (exception ));
1254+ }
1255+ reply .reply (wrapped );
1256+ });
1257+ } else {
1258+ channel .setMessageHandler (null );
1259+ }
1260+ }
1261+ {
1262+ BasicMessageChannel <Object > channel =
1263+ new BasicMessageChannel <>(
1264+ binaryMessenger , "dev.flutter.pigeon.ImageCaptureHostApi.setFlashMode" , getCodec ());
1265+ if (api != null ) {
1266+ channel .setMessageHandler (
1267+ (message , reply ) -> {
1268+ Map <String , Object > wrapped = new HashMap <>();
1269+ try {
1270+ ArrayList <Object > args = (ArrayList <Object >) message ;
1271+ Number identifierArg = (Number ) args .get (0 );
1272+ if (identifierArg == null ) {
1273+ throw new NullPointerException ("identifierArg unexpectedly null." );
1274+ }
1275+ Number flashModeArg = (Number ) args .get (1 );
1276+ if (flashModeArg == null ) {
1277+ throw new NullPointerException ("flashModeArg unexpectedly null." );
1278+ }
1279+ api .setFlashMode (
1280+ (identifierArg == null ) ? null : identifierArg .longValue (),
1281+ (flashModeArg == null ) ? null : flashModeArg .longValue ());
1282+ wrapped .put ("result" , null );
1283+ } catch (Error | RuntimeException exception ) {
1284+ wrapped .put ("error" , wrapError (exception ));
1285+ }
1286+ reply .reply (wrapped );
1287+ });
1288+ } else {
1289+ channel .setMessageHandler (null );
1290+ }
1291+ }
1292+ {
1293+ BasicMessageChannel <Object > channel =
1294+ new BasicMessageChannel <>(
1295+ binaryMessenger , "dev.flutter.pigeon.ImageCaptureHostApi.takePicture" , getCodec ());
1296+ if (api != null ) {
1297+ channel .setMessageHandler (
1298+ (message , reply ) -> {
1299+ Map <String , Object > wrapped = new HashMap <>();
1300+ try {
1301+ ArrayList <Object > args = (ArrayList <Object >) message ;
1302+ Number identifierArg = (Number ) args .get (0 );
1303+ if (identifierArg == null ) {
1304+ throw new NullPointerException ("identifierArg unexpectedly null." );
1305+ }
1306+ Result <String > resultCallback =
1307+ new Result <String >() {
1308+ public void success (String result ) {
1309+ wrapped .put ("result" , result );
1310+ reply .reply (wrapped );
1311+ }
1312+
1313+ public void error (Throwable error ) {
1314+ wrapped .put ("error" , wrapError (error ));
1315+ reply .reply (wrapped );
1316+ }
1317+ };
1318+
1319+ api .takePicture (
1320+ (identifierArg == null ) ? null : identifierArg .longValue (), resultCallback );
1321+ } catch (Error | RuntimeException exception ) {
1322+ wrapped .put ("error" , wrapError (exception ));
1323+ reply .reply (wrapped );
1324+ }
1325+ });
1326+ } else {
1327+ channel .setMessageHandler (null );
1328+ }
1329+ }
1330+ }
1331+ }
1332+
11461333 private static Map <String , Object > wrapError (Throwable exception ) {
11471334 Map <String , Object > errorMap = new HashMap <>();
11481335 errorMap .put ("message" , exception .toString ());
0 commit comments