[webview_flutter_android] Fix throwing `StateError` when `onShowFileChooser` was nonnull (#6995)

diff --git a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart
index f7d536c..c5d301d 100644
--- a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart
+++ b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart
@@ -927,7 +927,7 @@
   Future<void> setSynchronousReturnValueForOnShowFileChooser(
     bool value,
   ) {
-    if (value && onShowFileChooser != null) {
+    if (value && onShowFileChooser == null) {
       throw StateError(
         'Setting this to true requires `onShowFileChooser` to be nonnull.',
       );
diff --git a/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart b/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart
index bd01494..9878d7a 100644
--- a/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart
@@ -861,6 +861,58 @@
         expect(result[1], params);
       });
 
+      test('setSynchronousReturnValueForOnShowFileChooser', () {
+        final MockTestWebChromeClientHostApi mockHostApi =
+            MockTestWebChromeClientHostApi();
+        TestWebChromeClientHostApi.setup(mockHostApi);
+
+        WebChromeClient.api =
+            WebChromeClientHostApiImpl(instanceManager: instanceManager);
+
+        final WebChromeClient webChromeClient = WebChromeClient.detached();
+        instanceManager.addHostCreatedInstance(webChromeClient, 2);
+
+        webChromeClient.setSynchronousReturnValueForOnShowFileChooser(false);
+
+        verify(
+          mockHostApi.setSynchronousReturnValueForOnShowFileChooser(2, false),
+        );
+      });
+
+      test(
+          'setSynchronousReturnValueForOnShowFileChooser throws StateError when onShowFileChooser is null',
+          () {
+        final MockTestWebChromeClientHostApi mockHostApi =
+            MockTestWebChromeClientHostApi();
+        TestWebChromeClientHostApi.setup(mockHostApi);
+
+        WebChromeClient.api =
+            WebChromeClientHostApiImpl(instanceManager: instanceManager);
+
+        final WebChromeClient clientWithNullCallback =
+            WebChromeClient.detached();
+        instanceManager.addHostCreatedInstance(clientWithNullCallback, 2);
+
+        expect(
+          () => clientWithNullCallback
+              .setSynchronousReturnValueForOnShowFileChooser(true),
+          throwsStateError,
+        );
+
+        final WebChromeClient clientWithNonnullCallback =
+            WebChromeClient.detached(
+          onShowFileChooser: (_, __) async => <String>[],
+        );
+        instanceManager.addHostCreatedInstance(clientWithNonnullCallback, 3);
+
+        clientWithNonnullCallback
+            .setSynchronousReturnValueForOnShowFileChooser(true);
+
+        verify(
+          mockHostApi.setSynchronousReturnValueForOnShowFileChooser(3, true),
+        );
+      });
+
       test('copy', () {
         expect(WebChromeClient.detached().copy(), isA<WebChromeClient>());
       });