[jnigen] Add correct cast to interface method invocation (https://github.com/dart-lang/jnigen/issues/385)

diff --git a/pkgs/jnigen/CHANGELOG.md b/pkgs/jnigen/CHANGELOG.md
index 5354fc2..76430af 100644
--- a/pkgs/jnigen/CHANGELOG.md
+++ b/pkgs/jnigen/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.6.1-wip
+* Added an explicit cast in generated `<Interface>.implement` code to allow `dart analyze` to pass when `strict-casts` is set.
+
 ## 0.6.0
 * **Breaking Change** ([#131](https://github.com/dart-lang/jnigen/issues/131)): Renamed `delete*` to `release*`.
 * **Breaking Change** ([#354](https://github.com/dart-lang/jnigen/issues/354)): Renamed constructors from `ctor1`, `ctor2`, ... to `new1`, `new2`, ...
diff --git a/pkgs/jnigen/lib/src/bindings/dart_generator.dart b/pkgs/jnigen/lib/src/bindings/dart_generator.dart
index 689678c..ead431f 100644
--- a/pkgs/jnigen/lib/src/bindings/dart_generator.dart
+++ b/pkgs/jnigen/lib/src/bindings/dart_generator.dart
@@ -479,7 +479,7 @@
         \$p.close();
         return;
       }
-      final \$i = \$MethodInvocation.fromMessage(\$m);
+      final \$i = \$MethodInvocation.fromMessage(\$m as List<dynamic>);
       final \$r = _\$invokeMethod(\$p.sendPort.nativePort, \$i);
       $_protectedExtension.returnResult(\$i.result, \$r);
     });
diff --git a/pkgs/jnigen/pubspec.yaml b/pkgs/jnigen/pubspec.yaml
index 28a103b..d8d08f7 100644
--- a/pkgs/jnigen/pubspec.yaml
+++ b/pkgs/jnigen/pubspec.yaml
@@ -4,7 +4,7 @@
 
 name: jnigen
 description: A Dart bindings generator for Java and Kotlin that uses JNI under the hood to interop with Java virtual machine.
-version: 0.6.0
+version: 0.6.1-wip
 repository: https://github.com/dart-lang/jnigen/tree/main/jnigen
 
 environment:
diff --git a/pkgs/jnigen/test/simple_package_test/c_based/dart_bindings/simple_package.dart b/pkgs/jnigen/test/simple_package_test/c_based/dart_bindings/simple_package.dart
index a91eba6..345a1c2 100644
--- a/pkgs/jnigen/test/simple_package_test/c_based/dart_bindings/simple_package.dart
+++ b/pkgs/jnigen/test/simple_package_test/c_based/dart_bindings/simple_package.dart
@@ -3435,7 +3435,7 @@
         $p.close();
         return;
       }
-      final $i = $MethodInvocation.fromMessage($m);
+      final $i = $MethodInvocation.fromMessage($m as List<dynamic>);
       final $r = _$invokeMethod($p.sendPort.nativePort, $i);
       ProtectedJniExtensions.returnResult($i.result, $r);
     });
@@ -3733,7 +3733,7 @@
         $p.close();
         return;
       }
-      final $i = $MethodInvocation.fromMessage($m);
+      final $i = $MethodInvocation.fromMessage($m as List<dynamic>);
       final $r = _$invokeMethod($p.sendPort.nativePort, $i);
       ProtectedJniExtensions.returnResult($i.result, $r);
     });
diff --git a/pkgs/jnigen/test/simple_package_test/dart_only/dart_bindings/simple_package.dart b/pkgs/jnigen/test/simple_package_test/dart_only/dart_bindings/simple_package.dart
index 3c6d41b..e534bf5 100644
--- a/pkgs/jnigen/test/simple_package_test/dart_only/dart_bindings/simple_package.dart
+++ b/pkgs/jnigen/test/simple_package_test/dart_only/dart_bindings/simple_package.dart
@@ -3244,7 +3244,7 @@
         $p.close();
         return;
       }
-      final $i = $MethodInvocation.fromMessage($m);
+      final $i = $MethodInvocation.fromMessage($m as List<dynamic>);
       final $r = _$invokeMethod($p.sendPort.nativePort, $i);
       ProtectedJniExtensions.returnResult($i.result, $r);
     });
@@ -3540,7 +3540,7 @@
         $p.close();
         return;
       }
-      final $i = $MethodInvocation.fromMessage($m);
+      final $i = $MethodInvocation.fromMessage($m as List<dynamic>);
       final $r = _$invokeMethod($p.sendPort.nativePort, $i);
       ProtectedJniExtensions.returnResult($i.result, $r);
     });