From 55c4ce006745d44f842d5338fdd1c9d4c192534b Mon Sep 17 00:00:00 2001
From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com>
Date: Thu, 5 Mar 2026 16:05:38 -0500
Subject: [PATCH 01/20] update example app
---
.../example/assets/www/index.html | 41 +-
.../example/lib/main.dart | 844 +-----------------
2 files changed, 50 insertions(+), 835 deletions(-)
diff --git a/packages/webview_flutter/webview_flutter_android/example/assets/www/index.html b/packages/webview_flutter/webview_flutter_android/example/assets/www/index.html
index 46e20876ba58..517746ed269b 100644
--- a/packages/webview_flutter/webview_flutter_android/example/assets/www/index.html
+++ b/packages/webview_flutter/webview_flutter_android/example/assets/www/index.html
@@ -1,21 +1,30 @@
-
-
+
-
-Load file or HTML string example
-
+
+
+ WebView Test
+
-
-Local demo page
-
- This is an example page used to demonstrate how to load a local file or HTML
- string using the Flutter
- webview plugin.
-
-
+
+
+
+
This is some webview content
+
+
-
+
\ No newline at end of file
diff --git a/packages/webview_flutter/webview_flutter_android/example/lib/main.dart b/packages/webview_flutter/webview_flutter_android/example/lib/main.dart
index db3d32723ec6..78746b4b2f52 100644
--- a/packages/webview_flutter/webview_flutter_android/example/lib/main.dart
+++ b/packages/webview_flutter/webview_flutter_android/example/lib/main.dart
@@ -1,174 +1,35 @@
-// 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.
-
-// ignore_for_file: public_member_api_docs
-
-import 'dart:async';
-import 'dart:convert';
-import 'dart:io';
-import 'dart:typed_data';
-
import 'package:flutter/material.dart';
-import 'package:path_provider/path_provider.dart';
-import 'package:webview_flutter_android/webview_flutter_android.dart';
import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart';
void main() {
- runApp(const MaterialApp(home: WebViewExample()));
+ runApp(const MyApp());
}
-const String kNavigationExamplePage = '''
-
-Navigation Delegate Example
-
-
-The navigation delegate is set to block navigation to the pub.dev website.
-
-
-
-
-''';
-
-const String kLocalExamplePage = '''
-
-
-
-Load file or HTML string example
-
-
-
-Local demo page
-
- This is an example page used to demonstrate how to load a local file or HTML
- string using the Flutter
- webview plugin.
-
-
-
-
-''';
-
-const String kTransparentBackgroundPage = '''
-
-
-
- Transparent background test
-
-
-
-
-
Transparent background test
-
-
-
-
-''';
-
-const String kLogExamplePage = '''
-
-
-
-Load file or HTML string example
-
-
+class MyApp extends StatelessWidget {
+ const MyApp({super.key});
-Local demo page
-
- This page is used to test the forwarding of console logs to Dart.
-
-
-
-
-
- Error
- Warning
- Info
- Debug
- Log
-
-
-
-
-''';
-
-const String kAlertTestPage = '''
-
-
-
-
-
-
-
- Click the following button to see the effect
-
-
-
-''';
-
-const String kViewportMetaPage = '''
-
-
-
- Viewport meta example
-
-
-
-
-
-
Viewport meta example
-
-
-
-
-''';
+ @override
+ Widget build(BuildContext context) {
+ return MaterialApp(
+ title: 'Flutter Demo',
+ theme: ThemeData(
+ colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
+ ),
+ home: const MyHomePage(title: 'Flutter Demo Home Page'),
+ );
+ }
+}
-class WebViewExample extends StatefulWidget {
- const WebViewExample({super.key, this.cookieManager});
+class MyHomePage extends StatefulWidget {
+ const MyHomePage({super.key, required this.title});
- final PlatformWebViewCookieManager? cookieManager;
+ final String title;
@override
- State createState() => _WebViewExampleState();
+ State createState() => _MyHomePageState();
}
-class _WebViewExampleState extends State {
+class _MyHomePageState extends State {
late final PlatformWebViewController _controller;
@override
@@ -176,678 +37,23 @@ class _WebViewExampleState extends State {
super.initState();
_controller =
- PlatformWebViewController(AndroidWebViewControllerCreationParams())
- ..setJavaScriptMode(JavaScriptMode.unrestricted)
- ..setBackgroundColor(const Color(0x80000000))
- ..setPlatformNavigationDelegate(
- PlatformNavigationDelegate(
- const PlatformNavigationDelegateCreationParams(),
- )
- ..setOnProgress((int progress) {
- debugPrint('WebView is loading (progress : $progress%)');
- })
- ..setOnPageStarted((String url) {
- debugPrint('Page started loading: $url');
- })
- ..setOnPageFinished((String url) {
- debugPrint('Page finished loading: $url');
- })
- ..setOnHttpError((HttpResponseError error) {
- debugPrint(
- 'HTTP error occured on page: ${error.response?.statusCode}',
- );
- })
- ..setOnWebResourceError((WebResourceError error) {
- debugPrint('''
-Page resource error:
- code: ${error.errorCode}
- description: ${error.description}
- errorType: ${error.errorType}
- isForMainFrame: ${error.isForMainFrame}
- url: ${error.url}
- ''');
- })
- ..setOnNavigationRequest((NavigationRequest request) {
- if (request.url.contains('pub.dev')) {
- debugPrint('blocking navigation to ${request.url}');
- return NavigationDecision.prevent;
- }
- debugPrint('allowing navigation to ${request.url}');
- return NavigationDecision.navigate;
- })
- ..setOnUrlChange((UrlChange change) {
- debugPrint('url change to ${change.url}');
- })
- ..setOnHttpAuthRequest((HttpAuthRequest request) {
- openDialog(request);
- })
- ..setOnSSlAuthError((PlatformSslAuthError error) {
- debugPrint(
- 'SSL error from ${(error as AndroidSslAuthError).url}',
- );
- error.cancel();
- }),
- )
- ..addJavaScriptChannel(
- JavaScriptChannelParams(
- name: 'Toaster',
- onMessageReceived: (JavaScriptMessage message) {
- ScaffoldMessenger.of(
- context,
- ).showSnackBar(SnackBar(content: Text(message.message)));
- },
- ),
+ PlatformWebViewController(
+ const PlatformWebViewControllerCreationParams(),
)
- ..setOnPlatformPermissionRequest((
- PlatformWebViewPermissionRequest request,
- ) {
- debugPrint(
- 'requesting permissions for ${request.types.map((WebViewPermissionResourceType type) => type.name)}',
- );
- request.grant();
- })
- ..loadRequest(
- LoadRequestParams(uri: Uri.parse('https://flutter.dev')),
- );
+ ..setJavaScriptMode(JavaScriptMode.unrestricted)
+ ..loadFlutterAsset('assets/www/index.html');
}
@override
Widget build(BuildContext context) {
return Scaffold(
- backgroundColor: const Color(0xFF4CAF50),
appBar: AppBar(
- title: const Text('Flutter WebView example'),
- // This drop down menu demonstrates that Flutter widgets can be shown over the web view.
- actions: [
- NavigationControls(webViewController: _controller),
- SampleMenu(
- webViewController: _controller,
- cookieManager: widget.cookieManager,
- ),
- ],
+ backgroundColor: Theme.of(context).colorScheme.primary,
+ toolbarHeight: 0,
),
body: PlatformWebViewWidget(
PlatformWebViewWidgetCreationParams(controller: _controller),
).build(context),
- floatingActionButton: favoriteButton(),
- );
- }
-
- Widget favoriteButton() {
- return FloatingActionButton(
- onPressed: () async {
- final String? url = await _controller.currentUrl();
- if (mounted) {
- ScaffoldMessenger.of(
- context,
- ).showSnackBar(SnackBar(content: Text('Favorited $url')));
- }
- },
- child: const Icon(Icons.favorite),
- );
- }
-
- Future openDialog(HttpAuthRequest httpRequest) async {
- final usernameTextController = TextEditingController();
- final passwordTextController = TextEditingController();
-
- return showDialog(
- context: context,
- builder: (BuildContext context) {
- return AlertDialog(
- title: Text('${httpRequest.host}: ${httpRequest.realm ?? '-'}'),
- content: Column(
- mainAxisSize: MainAxisSize.min,
- children: [
- TextField(
- decoration: const InputDecoration(labelText: 'Username'),
- autofocus: true,
- controller: usernameTextController,
- ),
- TextField(
- decoration: const InputDecoration(labelText: 'Password'),
- controller: passwordTextController,
- ),
- ],
- ),
- actions: [
- TextButton(
- onPressed: () {
- httpRequest.onProceed(
- WebViewCredential(
- user: usernameTextController.text,
- password: passwordTextController.text,
- ),
- );
- Navigator.of(context).pop();
- },
- child: const Text('Authenticate'),
- ),
- ],
- );
- },
- );
- }
-}
-
-enum MenuOptions {
- showUserAgent,
- listCookies,
- clearCookies,
- addToCache,
- listCache,
- clearCache,
- navigationDelegate,
- doPostRequest,
- loadLocalFile,
- loadFlutterAsset,
- loadHtmlString,
- transparentBackground,
- setCookie,
- videoExample,
- logExample,
- basicAuthentication,
- javaScriptAlert,
- viewportMeta,
-}
-
-class SampleMenu extends StatelessWidget {
- SampleMenu({
- super.key,
- required this.webViewController,
- PlatformWebViewCookieManager? cookieManager,
- }) : cookieManager =
- cookieManager ??
- PlatformWebViewCookieManager(
- const PlatformWebViewCookieManagerCreationParams(),
- );
-
- final PlatformWebViewController webViewController;
- late final PlatformWebViewCookieManager cookieManager;
-
- @override
- Widget build(BuildContext context) {
- return PopupMenuButton(
- key: const ValueKey('ShowPopupMenu'),
- onSelected: (MenuOptions value) {
- switch (value) {
- case MenuOptions.showUserAgent:
- _onShowUserAgent();
- case MenuOptions.listCookies:
- _onListCookies(context);
- case MenuOptions.clearCookies:
- _onClearCookies(context);
- case MenuOptions.addToCache:
- _onAddToCache(context);
- case MenuOptions.listCache:
- _onListCache();
- case MenuOptions.clearCache:
- _onClearCache(context);
- case MenuOptions.navigationDelegate:
- _onNavigationDelegateExample();
- case MenuOptions.doPostRequest:
- _onDoPostRequest();
- case MenuOptions.loadLocalFile:
- _onLoadLocalFileExample();
- case MenuOptions.loadFlutterAsset:
- _onLoadFlutterAssetExample();
- case MenuOptions.loadHtmlString:
- _onLoadHtmlStringExample();
- case MenuOptions.transparentBackground:
- _onTransparentBackground();
- case MenuOptions.setCookie:
- _onSetCookie();
- case MenuOptions.videoExample:
- _onVideoExample(context);
- case MenuOptions.logExample:
- _onLogExample();
- case MenuOptions.basicAuthentication:
- _promptForUrl(context);
- case MenuOptions.javaScriptAlert:
- _onJavaScriptAlertExample(context);
- case MenuOptions.viewportMeta:
- _onViewportMetaExample();
- }
- },
- itemBuilder: (BuildContext context) => >[
- const PopupMenuItem(
- value: MenuOptions.showUserAgent,
- child: Text('Show user agent'),
- ),
- const PopupMenuItem(
- value: MenuOptions.listCookies,
- child: Text('List cookies'),
- ),
- const PopupMenuItem(
- value: MenuOptions.clearCookies,
- child: Text('Clear cookies'),
- ),
- const PopupMenuItem(
- value: MenuOptions.addToCache,
- child: Text('Add to cache'),
- ),
- const PopupMenuItem(
- value: MenuOptions.listCache,
- child: Text('List cache'),
- ),
- const PopupMenuItem(
- value: MenuOptions.clearCache,
- child: Text('Clear cache'),
- ),
- const PopupMenuItem(
- value: MenuOptions.navigationDelegate,
- child: Text('Navigation Delegate example'),
- ),
- const PopupMenuItem(
- value: MenuOptions.doPostRequest,
- child: Text('Post Request'),
- ),
- const PopupMenuItem(
- value: MenuOptions.loadHtmlString,
- child: Text('Load HTML string'),
- ),
- const PopupMenuItem(
- value: MenuOptions.loadLocalFile,
- child: Text('Load local file'),
- ),
- const PopupMenuItem(
- value: MenuOptions.loadFlutterAsset,
- child: Text('Load Flutter Asset'),
- ),
- const PopupMenuItem(
- value: MenuOptions.setCookie,
- child: Text('Set cookie'),
- ),
- const PopupMenuItem(
- key: ValueKey('ShowTransparentBackgroundExample'),
- value: MenuOptions.transparentBackground,
- child: Text('Transparent background example'),
- ),
- const PopupMenuItem(
- value: MenuOptions.logExample,
- child: Text('Log example'),
- ),
- const PopupMenuItem(
- value: MenuOptions.videoExample,
- child: Text('Video example'),
- ),
- const PopupMenuItem(
- value: MenuOptions.basicAuthentication,
- child: Text('Basic Authentication Example'),
- ),
- const PopupMenuItem(
- value: MenuOptions.javaScriptAlert,
- child: Text('JavaScript Alert Example'),
- ),
- const PopupMenuItem(
- value: MenuOptions.viewportMeta,
- child: Text('Viewport meta example'),
- ),
- ],
- );
- }
-
- Future _onShowUserAgent() {
- // Send a message with the user agent string to the Toaster JavaScript channel we registered
- // with the WebView.
- return webViewController.runJavaScript(
- 'Toaster.postMessage("User Agent: " + navigator.userAgent);',
- );
- }
-
- Future _onListCookies(BuildContext context) async {
- final cookies =
- await webViewController.runJavaScriptReturningResult('document.cookie')
- as String;
- if (context.mounted) {
- ScaffoldMessenger.of(context).showSnackBar(
- SnackBar(
- content: Column(
- mainAxisAlignment: MainAxisAlignment.end,
- mainAxisSize: MainAxisSize.min,
- children: [const Text('Cookies:'), _getCookieList(cookies)],
- ),
- ),
- );
- }
- }
-
- Future _onAddToCache(BuildContext context) async {
- await webViewController.runJavaScript(
- 'caches.open("test_caches_entry"); localStorage["test_localStorage"] = "dummy_entry";',
- );
- if (context.mounted) {
- ScaffoldMessenger.of(context).showSnackBar(
- const SnackBar(content: Text('Added a test entry to cache.')),
- );
- }
- }
-
- Future _onListCache() {
- return webViewController.runJavaScript(
- 'caches.keys()'
- // ignore: missing_whitespace_between_adjacent_strings
- '.then((cacheKeys) => JSON.stringify({"cacheKeys" : cacheKeys, "localStorage" : localStorage}))'
- '.then((caches) => Toaster.postMessage(caches))',
- );
- }
-
- Future _onClearCache(BuildContext context) async {
- await webViewController.clearCache();
- await webViewController.clearLocalStorage();
- if (context.mounted) {
- ScaffoldMessenger.of(
- context,
- ).showSnackBar(const SnackBar(content: Text('Cache cleared.')));
- }
- }
-
- Future _onClearCookies(BuildContext context) async {
- final bool hadCookies = await cookieManager.clearCookies();
- var message = 'There were cookies. Now, they are gone!';
- if (!hadCookies) {
- message = 'There are no cookies.';
- }
- if (context.mounted) {
- ScaffoldMessenger.of(
- context,
- ).showSnackBar(SnackBar(content: Text(message)));
- }
- }
-
- Future _onNavigationDelegateExample() {
- final String contentBase64 = base64Encode(
- const Utf8Encoder().convert(kNavigationExamplePage),
- );
- return webViewController.loadRequest(
- LoadRequestParams(uri: Uri.parse('data:text/html;base64,$contentBase64')),
- );
- }
-
- Future _onSetCookie() async {
- await cookieManager.setCookie(
- const WebViewCookie(
- name: 'foo',
- value: 'bar',
- domain: 'httpbin.org',
- path: '/anything',
- ),
- );
- await webViewController.loadRequest(
- LoadRequestParams(uri: Uri.parse('https://httpbin.org/anything')),
- );
- }
-
- Future _onVideoExample(BuildContext context) {
- final androidController = webViewController as AndroidWebViewController;
- // #docregion fullscreen_example
- androidController.setCustomWidgetCallbacks(
- onShowCustomWidget: (Widget widget, OnHideCustomWidgetCallback callback) {
- Navigator.of(context).push(
- MaterialPageRoute(
- builder: (BuildContext context) => widget,
- fullscreenDialog: true,
- ),
- );
- },
- onHideCustomWidget: () {
- Navigator.of(context).pop();
- },
- );
- // #enddocregion fullscreen_example
-
- return androidController.loadRequest(
- LoadRequestParams(
- uri: Uri.parse('https://www.youtube.com/watch?v=4AoFA19gbLo'),
- ),
- );
- }
-
- Future _onDoPostRequest() {
- return webViewController.loadRequest(
- LoadRequestParams(
- uri: Uri.parse('https://httpbin.org/post'),
- method: LoadRequestMethod.post,
- headers: const {
- 'foo': 'bar',
- 'Content-Type': 'text/plain',
- },
- body: Uint8List.fromList('Test Body'.codeUnits),
- ),
- );
- }
-
- Future _onLoadLocalFileExample() async {
- final String pathToIndex = await _prepareLocalFile();
- await webViewController.loadFile(pathToIndex);
- }
-
- Future _onLoadFlutterAssetExample() {
- return webViewController.loadFlutterAsset('assets/www/index.html');
- }
-
- Future _onLoadHtmlStringExample() {
- return webViewController.loadHtmlString(kLocalExamplePage);
- }
-
- Future _onTransparentBackground() {
- return webViewController.loadHtmlString(kTransparentBackgroundPage);
- }
-
- Future _onJavaScriptAlertExample(BuildContext context) {
- webViewController.setOnJavaScriptAlertDialog((
- JavaScriptAlertDialogRequest request,
- ) async {
- await _showAlert(context, request.message);
- });
-
- webViewController.setOnJavaScriptConfirmDialog((
- JavaScriptConfirmDialogRequest request,
- ) async {
- final bool result = await _showConfirm(context, request.message);
- return result;
- });
-
- webViewController.setOnJavaScriptTextInputDialog((
- JavaScriptTextInputDialogRequest request,
- ) async {
- final String result = await _showTextInput(
- context,
- request.message,
- request.defaultText,
- );
- return result;
- });
-
- return webViewController.loadHtmlString(kAlertTestPage);
- }
-
- Widget _getCookieList(String cookies) {
- if (cookies == '""') {
- return Container();
- }
- final List cookieList = cookies.split(';');
- final Iterable cookieWidgets = cookieList.map(
- (String cookie) => Text(cookie),
- );
- return Column(
- mainAxisAlignment: MainAxisAlignment.end,
- mainAxisSize: MainAxisSize.min,
- children: cookieWidgets.toList(),
- );
- }
-
- static Future _prepareLocalFile() async {
- final String tmpDir = (await getTemporaryDirectory()).path;
- final indexFile = File(
- {tmpDir, 'www', 'index.html'}.join(Platform.pathSeparator),
- );
-
- await indexFile.create(recursive: true);
- await indexFile.writeAsString(kLocalExamplePage);
-
- return indexFile.path;
- }
-
- Future _onLogExample() {
- webViewController.setOnConsoleMessage((
- JavaScriptConsoleMessage consoleMessage,
- ) {
- debugPrint(
- '== JS == ${consoleMessage.level.name}: ${consoleMessage.message}',
- );
- });
- return webViewController.loadHtmlString(kLogExamplePage);
- }
-
- Future _promptForUrl(BuildContext context) {
- final urlTextController = TextEditingController();
-
- return showDialog(
- context: context,
- builder: (BuildContext context) {
- return AlertDialog(
- title: const Text('Input URL to visit'),
- content: TextField(
- decoration: const InputDecoration(labelText: 'URL'),
- autofocus: true,
- controller: urlTextController,
- ),
- actions: [
- TextButton(
- onPressed: () {
- if (urlTextController.text.isNotEmpty) {
- final Uri? uri = Uri.tryParse(urlTextController.text);
- if (uri != null && uri.scheme.isNotEmpty) {
- webViewController.loadRequest(LoadRequestParams(uri: uri));
- Navigator.pop(context);
- }
- }
- },
- child: const Text('Visit'),
- ),
- ],
- );
- },
- );
- }
-
- Future _showAlert(BuildContext context, String message) async {
- return showDialog(
- context: context,
- builder: (BuildContext ctx) {
- return AlertDialog(
- content: Text(message),
- actions: [
- TextButton(
- onPressed: () {
- Navigator.of(ctx).pop();
- },
- child: const Text('OK'),
- ),
- ],
- );
- },
- );
- }
-
- Future _showConfirm(BuildContext context, String message) async {
- return await showDialog(
- context: context,
- builder: (BuildContext ctx) {
- return AlertDialog(
- content: Text(message),
- actions: [
- TextButton(
- onPressed: () {
- Navigator.of(ctx).pop(false);
- },
- child: const Text('Cancel'),
- ),
- TextButton(
- onPressed: () {
- Navigator.of(ctx).pop(true);
- },
- child: const Text('OK'),
- ),
- ],
- );
- },
- ) ??
- false;
- }
-
- Future _showTextInput(
- BuildContext context,
- String message,
- String? defaultText,
- ) async {
- return await showDialog(
- context: context,
- builder: (BuildContext ctx) {
- return AlertDialog(
- content: Text(message),
- actions: [
- TextButton(
- onPressed: () {
- Navigator.of(ctx).pop('Text test');
- },
- child: const Text('Enter'),
- ),
- ],
- );
- },
- ) ??
- '';
- }
-
- Future _onViewportMetaExample() {
- return webViewController.loadHtmlString(kViewportMetaPage);
- }
-}
-
-class NavigationControls extends StatelessWidget {
- const NavigationControls({super.key, required this.webViewController});
-
- final PlatformWebViewController webViewController;
-
- @override
- Widget build(BuildContext context) {
- return Row(
- children: [
- IconButton(
- icon: const Icon(Icons.arrow_back_ios),
- onPressed: () async {
- if (await webViewController.canGoBack()) {
- await webViewController.goBack();
- } else {
- if (context.mounted) {
- ScaffoldMessenger.of(context).showSnackBar(
- const SnackBar(content: Text('No back history item')),
- );
- }
- }
- },
- ),
- IconButton(
- icon: const Icon(Icons.arrow_forward_ios),
- onPressed: () async {
- if (await webViewController.canGoForward()) {
- await webViewController.goForward();
- } else {
- if (context.mounted) {
- ScaffoldMessenger.of(context).showSnackBar(
- const SnackBar(content: Text('No forward history item')),
- );
- }
- }
- },
- ),
- IconButton(
- icon: const Icon(Icons.replay),
- onPressed: () => webViewController.reload(),
- ),
- ],
);
}
}
From 6bb5a99d8e016ebff36b82f040b6c1c6ded205a9 Mon Sep 17 00:00:00 2001
From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com>
Date: Fri, 6 Mar 2026 14:51:10 -0500
Subject: [PATCH 02/20] implementation
---
.../webviewflutter/AndroidWebkitLibrary.g.kt | 4376 +++++--------
.../plugins/webviewflutter/ViewProxyApi.java | 33 +
.../lib/src/android_webkit.g.dart | 5824 +++++++----------
.../lib/src/android_webview_controller.dart | 4 +
.../pigeons/android_webkit.dart | 18 +
5 files changed, 3973 insertions(+), 6282 deletions(-)
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.g.kt b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.g.kt
index 71d26653c2e6..26cf66dcd37c 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.g.kt
+++ b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.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.4), do not edit directly.
+// Autogenerated from Pigeon (v26.1.10), do not edit directly.
// See also: https://pub.dev/packages/pigeon
@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass")
@@ -10,17 +10,16 @@ package io.flutter.plugins.webviewflutter
import android.util.Log
import io.flutter.plugin.common.BasicMessageChannel
import io.flutter.plugin.common.BinaryMessenger
+import io.flutter.plugin.common.EventChannel
import io.flutter.plugin.common.MessageCodec
+import io.flutter.plugin.common.StandardMethodCodec
import io.flutter.plugin.common.StandardMessageCodec
import java.io.ByteArrayOutputStream
import java.nio.ByteBuffer
-
private object AndroidWebkitLibraryPigeonUtils {
fun createConnectionError(channelName: String): AndroidWebKitError {
- return AndroidWebKitError(
- "channel-error", "Unable to establish connection on channel: '$channelName'.", "")
- }
+ return AndroidWebKitError("channel-error", "Unable to establish connection on channel: '$channelName'.", "") }
fun wrapResult(result: Any?): List {
return listOf(result)
@@ -28,48 +27,50 @@ private object AndroidWebkitLibraryPigeonUtils {
fun wrapError(exception: Throwable): List {
return if (exception is AndroidWebKitError) {
- listOf(exception.code, exception.message, exception.details)
+ listOf(
+ exception.code,
+ exception.message,
+ exception.details
+ )
} else {
listOf(
- exception.javaClass.simpleName,
- exception.toString(),
- "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception))
+ exception.javaClass.simpleName,
+ exception.toString(),
+ "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)
+ )
}
}
}
/**
* Error class for passing custom error details to Flutter via a thrown PlatformException.
- *
* @property code The error code.
* @property message The error message.
* @property details The error details. Must be a datatype supported by the api codec.
*/
-class AndroidWebKitError(
- val code: String,
- override val message: String? = null,
- val details: Any? = null
+class AndroidWebKitError (
+ val code: String,
+ override val message: String? = null,
+ val details: Any? = null
) : Throwable()
/**
* Maintains instances used to communicate with the corresponding objects in Dart.
*
- * Objects stored in this container are represented by an object in Dart that is also stored in an
- * InstanceManager with the same identifier.
+ * Objects stored in this container are represented by an object in Dart that is also stored in
+ * an InstanceManager with the same identifier.
*
* When an instance is added with an identifier, either can be used to retrieve the other.
*
- * Added instances are added as a weak reference and a strong reference. When the strong reference
- * is removed with [remove] and the weak reference is deallocated, the
- * `finalizationListener.onFinalize` is called with the instance's identifier. However, if the
- * strong reference is removed and then the identifier is retrieved with the intention to pass the
- * identifier to Dart (e.g. calling [getIdentifierForStrongReference]), the strong reference to the
- * instance is recreated. The strong reference will then need to be removed manually again.
+ * Added instances are added as a weak reference and a strong reference. When the strong
+ * reference is removed with [remove] and the weak reference is deallocated, the
+ * `finalizationListener.onFinalize` is called with the instance's identifier. However, if the strong
+ * reference is removed and then the identifier is retrieved with the intention to pass the identifier
+ * to Dart (e.g. calling [getIdentifierForStrongReference]), the strong reference to the instance
+ * is recreated. The strong reference will then need to be removed manually again.
*/
@Suppress("UNCHECKED_CAST", "MemberVisibilityCanBePrivate")
-class AndroidWebkitLibraryPigeonInstanceManager(
- private val finalizationListener: PigeonFinalizationListener
-) {
- /** Interface for listening when a weak reference of an instance is removed from the manager. */
+class AndroidWebkitLibraryPigeonInstanceManager(private val finalizationListener: PigeonFinalizationListener) {
+ /** Interface for listening when a weak reference of an instance is removed from the manager. */
interface PigeonFinalizationListener {
fun onFinalize(identifier: Long)
}
@@ -138,40 +139,37 @@ class AndroidWebkitLibraryPigeonInstanceManager(
private const val tag = "PigeonInstanceManager"
/**
- * Instantiate a new manager with a listener for garbage collected weak references.
+ * Instantiate a new manager with a listener for garbage collected weak
+ * references.
*
* When the manager is no longer needed, [stopFinalizationListener] must be called.
*/
- fun create(
- finalizationListener: PigeonFinalizationListener
- ): AndroidWebkitLibraryPigeonInstanceManager {
+ fun create(finalizationListener: PigeonFinalizationListener): AndroidWebkitLibraryPigeonInstanceManager {
return AndroidWebkitLibraryPigeonInstanceManager(finalizationListener)
}
}
/**
- * Removes `identifier` and return its associated strongly referenced instance, if present, from
- * the manager.
+ * Removes `identifier` and return its associated strongly referenced instance, if present,
+ * from the manager.
*/
fun remove(identifier: Long): T? {
logWarningIfFinalizationListenerHasStopped()
- val instance: Any? = getInstance(identifier)
- if (instance is WebViewProxyApi.WebViewPlatformView) {
- instance.destroy()
- }
return strongInstances.remove(identifier) as T?
}
/**
* Retrieves the identifier paired with an instance, if present, otherwise `null`.
*
+ *
* If the manager contains a strong reference to `instance`, it will return the identifier
* associated with `instance`. If the manager contains only a weak reference to `instance`, a new
* strong reference to `instance` will be added and will need to be removed again with [remove].
*
+ *
* If this method returns a nonnull identifier, this method also expects the Dart
- * `AndroidWebkitLibraryPigeonInstanceManager` to have, or recreate, a weak reference to the Dart
- * instance the identifier is associated with.
+ * `AndroidWebkitLibraryPigeonInstanceManager` to have, or recreate, a weak reference to the Dart instance the
+ * identifier is associated with.
*/
fun getIdentifierForStrongReference(instance: Any?): Long? {
logWarningIfFinalizationListenerHasStopped()
@@ -188,9 +186,9 @@ class AndroidWebkitLibraryPigeonInstanceManager(
/**
* Adds a new instance that was instantiated from Dart.
*
- * The same instance can be added multiple times, but each identifier must be unique. This allows
- * two objects that are equivalent (e.g. the `equals` method returns true and their hashcodes are
- * equal) to both be added.
+ * The same instance can be added multiple times, but each identifier must be unique. This
+ * allows two objects that are equivalent (e.g. the `equals` method returns true and their
+ * hashcodes are equal) to both be added.
*
* [identifier] must be >= 0 and unique.
*/
@@ -202,15 +200,13 @@ class AndroidWebkitLibraryPigeonInstanceManager(
/**
* Adds a new unique instance that was instantiated from the host platform.
*
- * If the manager contains [instance], this returns the corresponding identifier. If the manager
- * does not contain [instance], this adds the instance and returns a unique identifier for that
- * [instance].
+ * If the manager contains [instance], this returns the corresponding identifier. If the
+ * manager does not contain [instance], this adds the instance and returns a unique
+ * identifier for that [instance].
*/
fun addHostCreatedInstance(instance: Any): Long {
logWarningIfFinalizationListenerHasStopped()
- require(!containsInstance(instance)) {
- "Instance of ${instance.javaClass} has already been added."
- }
+ require(!containsInstance(instance)) { "Instance of ${instance.javaClass} has already been added." }
val identifier = nextIdentifier++
addInstance(instance, identifier)
return identifier
@@ -294,43 +290,39 @@ class AndroidWebkitLibraryPigeonInstanceManager(
private fun logWarningIfFinalizationListenerHasStopped() {
if (hasFinalizationListenerStopped()) {
Log.w(
- tag,
- "The manager was used after calls to the PigeonFinalizationListener has been stopped.")
+ tag,
+ "The manager was used after calls to the PigeonFinalizationListener has been stopped."
+ )
}
}
}
+
/** Generated API for managing the Dart and native `InstanceManager`s. */
private class AndroidWebkitLibraryPigeonInstanceManagerApi(val binaryMessenger: BinaryMessenger) {
companion object {
/** The codec used by AndroidWebkitLibraryPigeonInstanceManagerApi. */
- val codec: MessageCodec by lazy { AndroidWebkitLibraryPigeonCodec() }
+ val codec: MessageCodec by lazy {
+ AndroidWebkitLibraryPigeonCodec()
+ }
/**
- * Sets up an instance of `AndroidWebkitLibraryPigeonInstanceManagerApi` to handle messages from
- * the `binaryMessenger`.
+ * Sets up an instance of `AndroidWebkitLibraryPigeonInstanceManagerApi` to handle messages from the
+ * `binaryMessenger`.
*/
- fun setUpMessageHandlers(
- binaryMessenger: BinaryMessenger,
- instanceManager: AndroidWebkitLibraryPigeonInstanceManager?
- ) {
+ fun setUpMessageHandlers(binaryMessenger: BinaryMessenger, instanceManager: AndroidWebkitLibraryPigeonInstanceManager?) {
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.PigeonInternalInstanceManager.removeStrongReference",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.PigeonInternalInstanceManager.removeStrongReference", codec)
if (instanceManager != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val identifierArg = args[0] as Long
- val wrapped: List =
- try {
- instanceManager.remove(identifierArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ instanceManager.remove(identifierArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -338,20 +330,15 @@ private class AndroidWebkitLibraryPigeonInstanceManagerApi(val binaryMessenger:
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.PigeonInternalInstanceManager.clear",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.PigeonInternalInstanceManager.clear", codec)
if (instanceManager != null) {
channel.setMessageHandler { _, reply ->
- val wrapped: List =
- try {
- instanceManager.clear()
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ instanceManager.clear()
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -361,28 +348,26 @@ private class AndroidWebkitLibraryPigeonInstanceManagerApi(val binaryMessenger:
}
}
- fun removeStrongReference(identifierArg: Long, callback: (Result) -> Unit) {
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.PigeonInternalInstanceManager.removeStrongReference"
+ fun removeStrongReference(identifierArg: Long, callback: (Result) -> Unit)
+{
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.PigeonInternalInstanceManager.removeStrongReference"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
channel.send(listOf(identifierArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ }
}
}
}
/**
- * Provides implementations for each ProxyApi implementation and provides access to resources needed
- * by any implementation.
+ * Provides implementations for each ProxyApi implementation and provides access to resources
+ * needed by any implementation.
*/
abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger: BinaryMessenger) {
/** Whether APIs should ignore calling to Dart. */
@@ -399,19 +384,20 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
init {
val api = AndroidWebkitLibraryPigeonInstanceManagerApi(binaryMessenger)
- instanceManager =
- AndroidWebkitLibraryPigeonInstanceManager.create(
- object : AndroidWebkitLibraryPigeonInstanceManager.PigeonFinalizationListener {
- override fun onFinalize(identifier: Long) {
- api.removeStrongReference(identifier) {
- if (it.isFailure) {
- Log.e(
- "PigeonProxyApiRegistrar",
- "Failed to remove Dart strong reference with identifier: $identifier")
- }
- }
- }
- })
+ instanceManager = AndroidWebkitLibraryPigeonInstanceManager.create(
+ object : AndroidWebkitLibraryPigeonInstanceManager.PigeonFinalizationListener {
+ override fun onFinalize(identifier: Long) {
+ api.removeStrongReference(identifier) {
+ if (it.isFailure) {
+ Log.e(
+ "PigeonProxyApiRegistrar",
+ "Failed to remove Dart strong reference with identifier: $identifier"
+ )
+ }
+ }
+ }
+ }
+ )
}
/**
* An implementation of [PigeonApiWebResourceRequest] used to add a new Dart instance of
@@ -438,8 +424,8 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiWebResourceErrorCompat(): PigeonApiWebResourceErrorCompat
/**
- * An implementation of [PigeonApiWebViewPoint] used to add a new Dart instance of `WebViewPoint`
- * to the Dart `InstanceManager`.
+ * An implementation of [PigeonApiWebViewPoint] used to add a new Dart instance of
+ * `WebViewPoint` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiWebViewPoint(): PigeonApiWebViewPoint
@@ -456,14 +442,14 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiCookieManager(): PigeonApiCookieManager
/**
- * An implementation of [PigeonApiWebView] used to add a new Dart instance of `WebView` to the
- * Dart `InstanceManager`.
+ * An implementation of [PigeonApiWebView] used to add a new Dart instance of
+ * `WebView` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiWebView(): PigeonApiWebView
/**
- * An implementation of [PigeonApiWebSettings] used to add a new Dart instance of `WebSettings` to
- * the Dart `InstanceManager`.
+ * An implementation of [PigeonApiWebSettings] used to add a new Dart instance of
+ * `WebSettings` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiWebSettings(): PigeonApiWebSettings
@@ -498,8 +484,8 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiFlutterAssetManager(): PigeonApiFlutterAssetManager
/**
- * An implementation of [PigeonApiWebStorage] used to add a new Dart instance of `WebStorage` to
- * the Dart `InstanceManager`.
+ * An implementation of [PigeonApiWebStorage] used to add a new Dart instance of
+ * `WebStorage` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiWebStorage(): PigeonApiWebStorage
@@ -522,14 +508,14 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiCustomViewCallback(): PigeonApiCustomViewCallback
/**
- * An implementation of [PigeonApiView] used to add a new Dart instance of `View` to the Dart
- * `InstanceManager`.
+ * An implementation of [PigeonApiView] used to add a new Dart instance of
+ * `View` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiView(): PigeonApiView
/**
- * An implementation of [PigeonApiGeolocationPermissionsCallback] used to add a new Dart instance
- * of `GeolocationPermissionsCallback` to the Dart `InstanceManager`.
+ * An implementation of [PigeonApiGeolocationPermissionsCallback] used to add a new Dart instance of
+ * `GeolocationPermissionsCallback` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiGeolocationPermissionsCallback(): PigeonApiGeolocationPermissionsCallback
@@ -552,10 +538,11 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiClientCertRequest(): PigeonApiClientCertRequest
/**
- * An implementation of [PigeonApiPrivateKey] used to add a new Dart instance of `PrivateKey` to
- * the Dart `InstanceManager`.
+ * An implementation of [PigeonApiPrivateKey] used to add a new Dart instance of
+ * `PrivateKey` to the Dart `InstanceManager`.
*/
- open fun getPigeonApiPrivateKey(): PigeonApiPrivateKey {
+ open fun getPigeonApiPrivateKey(): PigeonApiPrivateKey
+ {
return PigeonApiPrivateKey(this)
}
@@ -563,7 +550,8 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
* An implementation of [PigeonApiX509Certificate] used to add a new Dart instance of
* `X509Certificate` to the Dart `InstanceManager`.
*/
- open fun getPigeonApiX509Certificate(): PigeonApiX509Certificate {
+ open fun getPigeonApiX509Certificate(): PigeonApiX509Certificate
+ {
return PigeonApiX509Certificate(this)
}
@@ -574,8 +562,8 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiSslErrorHandler(): PigeonApiSslErrorHandler
/**
- * An implementation of [PigeonApiSslError] used to add a new Dart instance of `SslError` to the
- * Dart `InstanceManager`.
+ * An implementation of [PigeonApiSslError] used to add a new Dart instance of
+ * `SslError` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiSslError(): PigeonApiSslError
@@ -592,8 +580,8 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiSslCertificate(): PigeonApiSslCertificate
/**
- * An implementation of [PigeonApiCertificate] used to add a new Dart instance of `Certificate` to
- * the Dart `InstanceManager`.
+ * An implementation of [PigeonApiCertificate] used to add a new Dart instance of
+ * `Certificate` to the Dart `InstanceManager`.
*/
abstract fun getPigeonApiCertificate(): PigeonApiCertificate
@@ -610,41 +598,31 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
abstract fun getPigeonApiWebViewFeature(): PigeonApiWebViewFeature
fun setUp() {
- AndroidWebkitLibraryPigeonInstanceManagerApi.setUpMessageHandlers(
- binaryMessenger, instanceManager)
+ AndroidWebkitLibraryPigeonInstanceManagerApi.setUpMessageHandlers(binaryMessenger, instanceManager)
PigeonApiCookieManager.setUpMessageHandlers(binaryMessenger, getPigeonApiCookieManager())
PigeonApiWebView.setUpMessageHandlers(binaryMessenger, getPigeonApiWebView())
PigeonApiWebSettings.setUpMessageHandlers(binaryMessenger, getPigeonApiWebSettings())
- PigeonApiJavaScriptChannel.setUpMessageHandlers(
- binaryMessenger, getPigeonApiJavaScriptChannel())
+ PigeonApiJavaScriptChannel.setUpMessageHandlers(binaryMessenger, getPigeonApiJavaScriptChannel())
PigeonApiWebViewClient.setUpMessageHandlers(binaryMessenger, getPigeonApiWebViewClient())
PigeonApiDownloadListener.setUpMessageHandlers(binaryMessenger, getPigeonApiDownloadListener())
PigeonApiWebChromeClient.setUpMessageHandlers(binaryMessenger, getPigeonApiWebChromeClient())
- PigeonApiFlutterAssetManager.setUpMessageHandlers(
- binaryMessenger, getPigeonApiFlutterAssetManager())
+ PigeonApiFlutterAssetManager.setUpMessageHandlers(binaryMessenger, getPigeonApiFlutterAssetManager())
PigeonApiWebStorage.setUpMessageHandlers(binaryMessenger, getPigeonApiWebStorage())
- PigeonApiPermissionRequest.setUpMessageHandlers(
- binaryMessenger, getPigeonApiPermissionRequest())
- PigeonApiCustomViewCallback.setUpMessageHandlers(
- binaryMessenger, getPigeonApiCustomViewCallback())
+ PigeonApiPermissionRequest.setUpMessageHandlers(binaryMessenger, getPigeonApiPermissionRequest())
+ PigeonApiCustomViewCallback.setUpMessageHandlers(binaryMessenger, getPigeonApiCustomViewCallback())
PigeonApiView.setUpMessageHandlers(binaryMessenger, getPigeonApiView())
- PigeonApiGeolocationPermissionsCallback.setUpMessageHandlers(
- binaryMessenger, getPigeonApiGeolocationPermissionsCallback())
+ PigeonApiGeolocationPermissionsCallback.setUpMessageHandlers(binaryMessenger, getPigeonApiGeolocationPermissionsCallback())
PigeonApiHttpAuthHandler.setUpMessageHandlers(binaryMessenger, getPigeonApiHttpAuthHandler())
PigeonApiAndroidMessage.setUpMessageHandlers(binaryMessenger, getPigeonApiAndroidMessage())
- PigeonApiClientCertRequest.setUpMessageHandlers(
- binaryMessenger, getPigeonApiClientCertRequest())
+ PigeonApiClientCertRequest.setUpMessageHandlers(binaryMessenger, getPigeonApiClientCertRequest())
PigeonApiSslErrorHandler.setUpMessageHandlers(binaryMessenger, getPigeonApiSslErrorHandler())
PigeonApiSslError.setUpMessageHandlers(binaryMessenger, getPigeonApiSslError())
- PigeonApiSslCertificateDName.setUpMessageHandlers(
- binaryMessenger, getPigeonApiSslCertificateDName())
+ PigeonApiSslCertificateDName.setUpMessageHandlers(binaryMessenger, getPigeonApiSslCertificateDName())
PigeonApiSslCertificate.setUpMessageHandlers(binaryMessenger, getPigeonApiSslCertificate())
PigeonApiCertificate.setUpMessageHandlers(binaryMessenger, getPigeonApiCertificate())
- PigeonApiWebSettingsCompat.setUpMessageHandlers(
- binaryMessenger, getPigeonApiWebSettingsCompat())
+ PigeonApiWebSettingsCompat.setUpMessageHandlers(binaryMessenger, getPigeonApiWebSettingsCompat())
PigeonApiWebViewFeature.setUpMessageHandlers(binaryMessenger, getPigeonApiWebViewFeature())
}
-
fun tearDown() {
AndroidWebkitLibraryPigeonInstanceManagerApi.setUpMessageHandlers(binaryMessenger, null)
PigeonApiCookieManager.setUpMessageHandlers(binaryMessenger, null)
@@ -672,17 +650,17 @@ abstract class AndroidWebkitLibraryPigeonProxyApiRegistrar(val binaryMessenger:
PigeonApiWebViewFeature.setUpMessageHandlers(binaryMessenger, null)
}
}
-
-private class AndroidWebkitLibraryPigeonProxyApiBaseCodec(
- val registrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) : AndroidWebkitLibraryPigeonCodec() {
+private class AndroidWebkitLibraryPigeonProxyApiBaseCodec(val registrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) : AndroidWebkitLibraryPigeonCodec() {
override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? {
return when (type) {
128.toByte() -> {
val identifier: Long = readValue(buffer) as Long
val instance: Any? = registrar.instanceManager.getInstance(identifier)
if (instance == null) {
- Log.e("PigeonProxyApiBaseCodec", "Failed to find instance with identifier: $identifier")
+ Log.e(
+ "PigeonProxyApiBaseCodec",
+ "Failed to find instance with identifier: $identifier"
+ )
}
return instance
}
@@ -691,32 +669,16 @@ private class AndroidWebkitLibraryPigeonProxyApiBaseCodec(
}
override fun writeValue(stream: ByteArrayOutputStream, value: Any?) {
- if (value is Boolean ||
- value is ByteArray ||
- value is Double ||
- value is DoubleArray ||
- value is FloatArray ||
- value is Int ||
- value is IntArray ||
- value is List<*> ||
- value is Long ||
- value is LongArray ||
- value is Map<*, *> ||
- value is String ||
- value is FileChooserMode ||
- value is ConsoleMessageLevel ||
- value is OverScrollMode ||
- value is SslErrorType ||
- value is MixedContentMode ||
- value == null) {
+ if (value is Boolean || value is ByteArray || value is Double || value is DoubleArray || value is FloatArray || value is Int || value is IntArray || value is List<*> || value is Long || value is LongArray || value is Map<*, *> || value is String || value is FileChooserMode || value is ConsoleMessageLevel || value is OverScrollMode || value is SslErrorType || value is MixedContentMode || value is WindowInsets || value == null) {
super.writeValue(stream, value)
return
}
fun logNewInstanceFailure(apiName: String, value: Any, exception: Throwable?) {
Log.w(
- "PigeonProxyApiBaseCodec",
- "Failed to create new Dart proxy instance of $apiName: $value. $exception")
+ "PigeonProxyApiBaseCodec",
+ "Failed to create new Dart proxy instance of $apiName: $value. $exception"
+ )
}
if (value is android.webkit.WebResourceRequest) {
@@ -725,188 +687,218 @@ private class AndroidWebkitLibraryPigeonProxyApiBaseCodec(
logNewInstanceFailure("WebResourceRequest", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebResourceResponse) {
+ }
+ else if (value is android.webkit.WebResourceResponse) {
registrar.getPigeonApiWebResourceResponse().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebResourceResponse", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebResourceError) {
+ }
+ else if (value is android.webkit.WebResourceError) {
registrar.getPigeonApiWebResourceError().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebResourceError", value, it.exceptionOrNull())
}
}
- } else if (value is androidx.webkit.WebResourceErrorCompat) {
+ }
+ else if (value is androidx.webkit.WebResourceErrorCompat) {
registrar.getPigeonApiWebResourceErrorCompat().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebResourceErrorCompat", value, it.exceptionOrNull())
}
}
- } else if (value is WebViewPoint) {
+ }
+ else if (value is WebViewPoint) {
registrar.getPigeonApiWebViewPoint().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebViewPoint", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.ConsoleMessage) {
+ }
+ else if (value is android.webkit.ConsoleMessage) {
registrar.getPigeonApiConsoleMessage().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("ConsoleMessage", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.CookieManager) {
+ }
+ else if (value is android.webkit.CookieManager) {
registrar.getPigeonApiCookieManager().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("CookieManager", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebView) {
+ }
+ else if (value is android.webkit.WebView) {
registrar.getPigeonApiWebView().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebView", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebSettings) {
+ }
+ else if (value is android.webkit.WebSettings) {
registrar.getPigeonApiWebSettings().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebSettings", value, it.exceptionOrNull())
}
}
- } else if (value is JavaScriptChannel) {
+ }
+ else if (value is JavaScriptChannel) {
registrar.getPigeonApiJavaScriptChannel().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("JavaScriptChannel", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebViewClient) {
+ }
+ else if (value is android.webkit.WebViewClient) {
registrar.getPigeonApiWebViewClient().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebViewClient", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.DownloadListener) {
+ }
+ else if (value is android.webkit.DownloadListener) {
registrar.getPigeonApiDownloadListener().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("DownloadListener", value, it.exceptionOrNull())
}
}
- } else if (value
- is io.flutter.plugins.webviewflutter.WebChromeClientProxyApi.WebChromeClientImpl) {
+ }
+ else if (value is io.flutter.plugins.webviewflutter.WebChromeClientProxyApi.WebChromeClientImpl) {
registrar.getPigeonApiWebChromeClient().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebChromeClient", value, it.exceptionOrNull())
}
}
- } else if (value is io.flutter.plugins.webviewflutter.FlutterAssetManager) {
+ }
+ else if (value is io.flutter.plugins.webviewflutter.FlutterAssetManager) {
registrar.getPigeonApiFlutterAssetManager().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("FlutterAssetManager", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebStorage) {
+ }
+ else if (value is android.webkit.WebStorage) {
registrar.getPigeonApiWebStorage().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebStorage", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebChromeClient.FileChooserParams) {
+ }
+ else if (value is android.webkit.WebChromeClient.FileChooserParams) {
registrar.getPigeonApiFileChooserParams().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("FileChooserParams", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.PermissionRequest) {
+ }
+ else if (value is android.webkit.PermissionRequest) {
registrar.getPigeonApiPermissionRequest().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("PermissionRequest", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.WebChromeClient.CustomViewCallback) {
+ }
+ else if (value is android.webkit.WebChromeClient.CustomViewCallback) {
registrar.getPigeonApiCustomViewCallback().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("CustomViewCallback", value, it.exceptionOrNull())
}
}
- } else if (value is android.view.View) {
+ }
+ else if (value is android.view.View) {
registrar.getPigeonApiView().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("View", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.GeolocationPermissions.Callback) {
+ }
+ else if (value is android.webkit.GeolocationPermissions.Callback) {
registrar.getPigeonApiGeolocationPermissionsCallback().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("GeolocationPermissionsCallback", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.HttpAuthHandler) {
+ }
+ else if (value is android.webkit.HttpAuthHandler) {
registrar.getPigeonApiHttpAuthHandler().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("HttpAuthHandler", value, it.exceptionOrNull())
}
}
- } else if (value is android.os.Message) {
+ }
+ else if (value is android.os.Message) {
registrar.getPigeonApiAndroidMessage().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("AndroidMessage", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.ClientCertRequest) {
+ }
+ else if (value is android.webkit.ClientCertRequest) {
registrar.getPigeonApiClientCertRequest().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("ClientCertRequest", value, it.exceptionOrNull())
}
}
- } else if (value is java.security.PrivateKey) {
+ }
+ else if (value is java.security.PrivateKey) {
registrar.getPigeonApiPrivateKey().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("PrivateKey", value, it.exceptionOrNull())
}
}
- } else if (value is java.security.cert.X509Certificate) {
+ }
+ else if (value is java.security.cert.X509Certificate) {
registrar.getPigeonApiX509Certificate().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("X509Certificate", value, it.exceptionOrNull())
}
}
- } else if (value is android.webkit.SslErrorHandler) {
+ }
+ else if (value is android.webkit.SslErrorHandler) {
registrar.getPigeonApiSslErrorHandler().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("SslErrorHandler", value, it.exceptionOrNull())
}
}
- } else if (value is android.net.http.SslError) {
+ }
+ else if (value is android.net.http.SslError) {
registrar.getPigeonApiSslError().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("SslError", value, it.exceptionOrNull())
}
}
- } else if (value is android.net.http.SslCertificate.DName) {
+ }
+ else if (value is android.net.http.SslCertificate.DName) {
registrar.getPigeonApiSslCertificateDName().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("SslCertificateDName", value, it.exceptionOrNull())
}
}
- } else if (value is android.net.http.SslCertificate) {
+ }
+ else if (value is android.net.http.SslCertificate) {
registrar.getPigeonApiSslCertificate().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("SslCertificate", value, it.exceptionOrNull())
}
}
- } else if (value is java.security.cert.Certificate) {
+ }
+ else if (value is java.security.cert.Certificate) {
registrar.getPigeonApiCertificate().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("Certificate", value, it.exceptionOrNull())
}
}
- } else if (value is androidx.webkit.WebSettingsCompat) {
+ }
+ else if (value is androidx.webkit.WebSettingsCompat) {
registrar.getPigeonApiWebSettingsCompat().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebSettingsCompat", value, it.exceptionOrNull())
}
}
- } else if (value is androidx.webkit.WebViewFeature) {
+ }
+ else if (value is androidx.webkit.WebViewFeature) {
registrar.getPigeonApiWebViewFeature().pigeon_newInstance(value) {
if (it.isFailure) {
logNewInstanceFailure("WebViewFeature", value, it.exceptionOrNull())
@@ -919,9 +911,7 @@ private class AndroidWebkitLibraryPigeonProxyApiBaseCodec(
stream.write(128)
writeValue(stream, registrar.instanceManager.getIdentifierForStrongReference(value))
}
- else ->
- throw IllegalArgumentException(
- "Unsupported value: '$value' of type '${value.javaClass.name}'")
+ else -> throw IllegalArgumentException("Unsupported value: '$value' of type '${value.javaClass.name}'")
}
}
}
@@ -933,31 +923,29 @@ private class AndroidWebkitLibraryPigeonProxyApiBaseCodec(
*/
enum class FileChooserMode(val raw: Int) {
/**
- * Open single file and requires that the file exists before allowing the user to pick it.
+ * Open single file and requires that the file exists before allowing the
+ * user to pick it.
*
- * See
- * https://developer.android.com/reference/android/webkit/WebChromeClient.FileChooserParams#MODE_OPEN.
+ * See https://developer.android.com/reference/android/webkit/WebChromeClient.FileChooserParams#MODE_OPEN.
*/
OPEN(0),
/**
* Similar to [open] but allows multiple files to be selected.
*
- * See
- * https://developer.android.com/reference/android/webkit/WebChromeClient.FileChooserParams#MODE_OPEN_MULTIPLE.
+ * See https://developer.android.com/reference/android/webkit/WebChromeClient.FileChooserParams#MODE_OPEN_MULTIPLE.
*/
OPEN_MULTIPLE(1),
/**
* Allows picking a nonexistent file and saving it.
*
- * See
- * https://developer.android.com/reference/android/webkit/WebChromeClient.FileChooserParams#MODE_SAVE.
+ * See https://developer.android.com/reference/android/webkit/WebChromeClient.FileChooserParams#MODE_SAVE.
*/
SAVE(2),
/**
* Indicates a `FileChooserMode` with an unknown mode.
*
- * This does not represent an actual value provided by the platform and only indicates a value was
- * provided that isn't currently supported.
+ * This does not represent an actual value provided by the platform and only
+ * indicates a value was provided that isn't currently supported.
*/
UNKNOWN(3);
@@ -1007,8 +995,8 @@ enum class ConsoleMessageLevel(val raw: Int) {
/**
* Indicates a message with an unknown level.
*
- * This does not represent an actual value provided by the platform and only indicates a value was
- * provided that isn't currently supported.
+ * This does not represent an actual value provided by the platform and only
+ * indicates a value was provided that isn't currently supported.
*/
UNKNOWN(5);
@@ -1025,11 +1013,14 @@ enum class ConsoleMessageLevel(val raw: Int) {
* See https://developer.android.com/reference/android/view/View#OVER_SCROLL_ALWAYS.
*/
enum class OverScrollMode(val raw: Int) {
- /** Always allow a user to over-scroll this view, provided it is a view that can scroll. */
+ /**
+ * Always allow a user to over-scroll this view, provided it is a view that
+ * can scroll.
+ */
ALWAYS(0),
/**
- * Allow a user to over-scroll this view only if the content is large enough to meaningfully
- * scroll, provided it is a view that can scroll.
+ * Allow a user to over-scroll this view only if the content is large enough
+ * to meaningfully scroll, provided it is a view that can scroll.
*/
IF_CONTENT_SCROLLS(1),
/** Never allow a user to over-scroll this view. */
@@ -1079,16 +1070,19 @@ enum class SslErrorType(val raw: Int) {
*/
enum class MixedContentMode(val raw: Int) {
/**
- * The WebView will allow a secure origin to load content from any other origin, even if that
- * origin is insecure.
+ * The WebView will allow a secure origin to load content from any other
+ * origin, even if that origin is insecure.
*/
ALWAYS_ALLOW(0),
/**
- * The WebView will attempt to be compatible with the approach of a modern web browser with regard
- * to mixed content.
+ * The WebView will attempt to be compatible with the approach of a modern
+ * web browser with regard to mixed content.
*/
COMPATIBILITY_MODE(1),
- /** The WebView will not allow a secure origin to load content from an insecure origin. */
+ /**
+ * The WebView will not allow a secure origin to load content from an
+ * insecure origin.
+ */
NEVER_ALLOW(2);
companion object {
@@ -1098,29 +1092,59 @@ enum class MixedContentMode(val raw: Int) {
}
}
+/**
+ * A representation of window insets that tracks access to enable
+ * recomposition, relayout, and redrawing when values change.
+ *
+ * See https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/WindowInsets
+ */
+enum class WindowInsets(val raw: Int) {
+ SYSTEM_BARS(0),
+ DISPLAY_CUTOUT(1);
+
+ companion object {
+ fun ofRaw(raw: Int): WindowInsets? {
+ return values().firstOrNull { it.raw == raw }
+ }
+ }
+}
private open class AndroidWebkitLibraryPigeonCodec : StandardMessageCodec() {
override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? {
return when (type) {
129.toByte() -> {
- return (readValue(buffer) as Long?)?.let { FileChooserMode.ofRaw(it.toInt()) }
+ return (readValue(buffer) as Long?)?.let {
+ FileChooserMode.ofRaw(it.toInt())
+ }
}
130.toByte() -> {
- return (readValue(buffer) as Long?)?.let { ConsoleMessageLevel.ofRaw(it.toInt()) }
+ return (readValue(buffer) as Long?)?.let {
+ ConsoleMessageLevel.ofRaw(it.toInt())
+ }
}
131.toByte() -> {
- return (readValue(buffer) as Long?)?.let { OverScrollMode.ofRaw(it.toInt()) }
+ return (readValue(buffer) as Long?)?.let {
+ OverScrollMode.ofRaw(it.toInt())
+ }
}
132.toByte() -> {
- return (readValue(buffer) as Long?)?.let { SslErrorType.ofRaw(it.toInt()) }
+ return (readValue(buffer) as Long?)?.let {
+ SslErrorType.ofRaw(it.toInt())
+ }
}
133.toByte() -> {
- return (readValue(buffer) as Long?)?.let { MixedContentMode.ofRaw(it.toInt()) }
+ return (readValue(buffer) as Long?)?.let {
+ MixedContentMode.ofRaw(it.toInt())
+ }
+ }
+ 134.toByte() -> {
+ return (readValue(buffer) as Long?)?.let {
+ WindowInsets.ofRaw(it.toInt())
+ }
}
else -> super.readValueOfType(type, buffer)
}
}
-
- override fun writeValue(stream: ByteArrayOutputStream, value: Any?) {
+ override fun writeValue(stream: ByteArrayOutputStream, value: Any?) {
when (value) {
is FileChooserMode -> {
stream.write(129)
@@ -1142,6 +1166,10 @@ private open class AndroidWebkitLibraryPigeonCodec : StandardMessageCodec() {
stream.write(133)
writeValue(stream, value.raw.toLong())
}
+ is WindowInsets -> {
+ stream.write(134)
+ writeValue(stream, value.raw.toLong())
+ }
else -> super.writeValue(stream, value)
}
}
@@ -1153,9 +1181,7 @@ private open class AndroidWebkitLibraryPigeonCodec : StandardMessageCodec() {
* See https://developer.android.com/reference/android/webkit/WebResourceRequest.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebResourceRequest(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebResourceRequest(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
/** The URL for which the resource request was made. */
abstract fun url(pigeon_instance: android.webkit.WebResourceRequest): String
@@ -1172,25 +1198,20 @@ abstract class PigeonApiWebResourceRequest(
abstract fun method(pigeon_instance: android.webkit.WebResourceRequest): String
/** The headers associated with the request. */
- abstract fun requestHeaders(
- pigeon_instance: android.webkit.WebResourceRequest
- ): Map?
+ abstract fun requestHeaders(pigeon_instance: android.webkit.WebResourceRequest): Map?
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of WebResourceRequest and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: android.webkit.WebResourceRequest,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: android.webkit.WebResourceRequest, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val urlArg = url(pigeon_instanceArg)
val isForMainFrameArg = isForMainFrame(pigeon_instanceArg)
val isRedirectArg = isRedirect(pigeon_instanceArg)
@@ -1199,34 +1220,22 @@ abstract class PigeonApiWebResourceRequest(
val requestHeadersArg = requestHeaders(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.WebResourceRequest.pigeon_newInstance"
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.WebResourceRequest.pigeon_newInstance"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
- channel.send(
- listOf(
- pigeon_identifierArg,
- urlArg,
- isForMainFrameArg,
- isRedirectArg,
- hasGestureArg,
- methodArg,
- requestHeadersArg)) {
- if (it is List<*>) {
- if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
- } else {
- callback(Result.success(Unit))
- }
- } else {
- callback(
- Result.failure(
- AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ channel.send(listOf(pigeon_identifierArg, urlArg, isForMainFrameArg, isRedirectArg, hasGestureArg, methodArg, requestHeadersArg)) {
+ if (it is List<*>) {
+ if (it.size > 1) {
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ } else {
+ callback(Result.success(Unit))
}
+ } else {
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
+ }
}
}
+
}
/**
* Encapsulates a resource response.
@@ -1234,59 +1243,50 @@ abstract class PigeonApiWebResourceRequest(
* See https://developer.android.com/reference/android/webkit/WebResourceResponse.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebResourceResponse(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebResourceResponse(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
/** The resource response's status code. */
abstract fun statusCode(pigeon_instance: android.webkit.WebResourceResponse): Long
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of WebResourceResponse and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: android.webkit.WebResourceResponse,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: android.webkit.WebResourceResponse, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val statusCodeArg = statusCode(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.WebResourceResponse.pigeon_newInstance"
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.WebResourceResponse.pigeon_newInstance"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
channel.send(listOf(pigeon_identifierArg, statusCodeArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
+
}
/**
- * Encapsulates information about errors that occurred during loading of web resources.
+ * Encapsulates information about errors that occurred during loading of web
+ * resources.
*
* See https://developer.android.com/reference/android/webkit/WebResourceError.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebResourceError(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebResourceError(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
/** The error code of the error. */
abstract fun errorCode(pigeon_instance: android.webkit.WebResourceError): Long
@@ -1295,52 +1295,45 @@ abstract class PigeonApiWebResourceError(
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of WebResourceError and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: android.webkit.WebResourceError,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: android.webkit.WebResourceError, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val errorCodeArg = errorCode(pigeon_instanceArg)
val descriptionArg = description(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.WebResourceError.pigeon_newInstance"
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.WebResourceError.pigeon_newInstance"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
channel.send(listOf(pigeon_identifierArg, errorCodeArg, descriptionArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
+
}
/**
- * Encapsulates information about errors that occurred during loading of web resources.
+ * Encapsulates information about errors that occurred during loading of web
+ * resources.
*
* See https://developer.android.com/reference/androidx/webkit/WebResourceErrorCompat.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebResourceErrorCompat(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebResourceErrorCompat(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
/** The error code of the error. */
abstract fun errorCode(pigeon_instance: androidx.webkit.WebResourceErrorCompat): Long
@@ -1349,42 +1342,36 @@ abstract class PigeonApiWebResourceErrorCompat(
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of WebResourceErrorCompat and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: androidx.webkit.WebResourceErrorCompat,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: androidx.webkit.WebResourceErrorCompat, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val errorCodeArg = errorCode(pigeon_instanceArg)
val descriptionArg = description(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.WebResourceErrorCompat.pigeon_newInstance"
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.WebResourceErrorCompat.pigeon_newInstance"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
channel.send(listOf(pigeon_identifierArg, errorCodeArg, descriptionArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
+
}
/**
* Represents a position on a web page.
@@ -1392,25 +1379,23 @@ abstract class PigeonApiWebResourceErrorCompat(
* This is a custom class created for convenience of the wrapper.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebViewPoint(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebViewPoint(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
abstract fun x(pigeon_instance: WebViewPoint): Long
abstract fun y(pigeon_instance: WebViewPoint): Long
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of WebViewPoint and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(pigeon_instanceArg: WebViewPoint, callback: (Result) -> Unit) {
+ fun pigeon_newInstance(pigeon_instanceArg: WebViewPoint, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val xArg = x(pigeon_instanceArg)
val yArg = y(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
@@ -1420,19 +1405,17 @@ abstract class PigeonApiWebViewPoint(
channel.send(listOf(pigeon_identifierArg, xArg, yArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
+
}
/**
* Represents a JavaScript console message from WebCore.
@@ -1440,9 +1423,7 @@ abstract class PigeonApiWebViewPoint(
* See https://developer.android.com/reference/android/webkit/ConsoleMessage
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiConsoleMessage(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiConsoleMessage(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
abstract fun lineNumber(pigeon_instance: android.webkit.ConsoleMessage): Long
abstract fun message(pigeon_instance: android.webkit.ConsoleMessage): String
@@ -1453,44 +1434,38 @@ abstract class PigeonApiConsoleMessage(
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of ConsoleMessage and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: android.webkit.ConsoleMessage,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: android.webkit.ConsoleMessage, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val lineNumberArg = lineNumber(pigeon_instanceArg)
val messageArg = message(pigeon_instanceArg)
val levelArg = level(pigeon_instanceArg)
val sourceIdArg = sourceId(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.ConsoleMessage.pigeon_newInstance"
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.ConsoleMessage.pigeon_newInstance"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
channel.send(listOf(pigeon_identifierArg, lineNumberArg, messageArg, levelArg, sourceIdArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
+
}
/**
* Manages the cookies used by an application's `WebView` instances.
@@ -1498,49 +1473,34 @@ abstract class PigeonApiConsoleMessage(
* See https://developer.android.com/reference/android/webkit/CookieManager.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiCookieManager(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiCookieManager(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
abstract fun instance(): android.webkit.CookieManager
/** Sets a single cookie (key-value pair) for the given URL. */
abstract fun setCookie(pigeon_instance: android.webkit.CookieManager, url: String, value: String)
/** Removes all cookies. */
- abstract fun removeAllCookies(
- pigeon_instance: android.webkit.CookieManager,
- callback: (Result) -> Unit
- )
+ abstract fun removeAllCookies(pigeon_instance: android.webkit.CookieManager, callback: (Result) -> Unit)
/** Sets whether the `WebView` should allow third party cookies to be set. */
- abstract fun setAcceptThirdPartyCookies(
- pigeon_instance: android.webkit.CookieManager,
- webView: android.webkit.WebView,
- accept: Boolean
- )
+ abstract fun setAcceptThirdPartyCookies(pigeon_instance: android.webkit.CookieManager, webView: android.webkit.WebView, accept: Boolean)
companion object {
@Suppress("LocalVariableName")
fun setUpMessageHandlers(binaryMessenger: BinaryMessenger, api: PigeonApiCookieManager?) {
val codec = api?.pigeonRegistrar?.codec ?: AndroidWebkitLibraryPigeonCodec()
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.CookieManager.instance",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.CookieManager.instance", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_identifierArg = args[0] as Long
- val wrapped: List =
- try {
- api.pigeonRegistrar.instanceManager.addDartCreatedInstance(
- api.instance(), pigeon_identifierArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.pigeonRegistrar.instanceManager.addDartCreatedInstance(api.instance(), pigeon_identifierArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1548,24 +1508,19 @@ abstract class PigeonApiCookieManager(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.CookieManager.setCookie",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.CookieManager.setCookie", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.CookieManager
val urlArg = args[1] as String
val valueArg = args[2] as String
- val wrapped: List =
- try {
- api.setCookie(pigeon_instanceArg, urlArg, valueArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.setCookie(pigeon_instanceArg, urlArg, valueArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1573,11 +1528,7 @@ abstract class PigeonApiCookieManager(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.CookieManager.removeAllCookies",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.CookieManager.removeAllCookies", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
@@ -1597,24 +1548,19 @@ abstract class PigeonApiCookieManager(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.CookieManager.setAcceptThirdPartyCookies",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.CookieManager.setAcceptThirdPartyCookies", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.CookieManager
val webViewArg = args[1] as android.webkit.WebView
val acceptArg = args[2] as Boolean
- val wrapped: List =
- try {
- api.setAcceptThirdPartyCookies(pigeon_instanceArg, webViewArg, acceptArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.setAcceptThirdPartyCookies(pigeon_instanceArg, webViewArg, acceptArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1626,40 +1572,34 @@ abstract class PigeonApiCookieManager(
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of CookieManager and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: android.webkit.CookieManager,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: android.webkit.CookieManager, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
- val channelName =
- "dev.flutter.pigeon.webview_flutter_android.CookieManager.pigeon_newInstance"
+ val channelName = "dev.flutter.pigeon.webview_flutter_android.CookieManager.pigeon_newInstance"
val channel = BasicMessageChannel(binaryMessenger, channelName, codec)
channel.send(listOf(pigeon_identifierArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
+
}
/**
* A View that displays web pages.
@@ -1667,38 +1607,23 @@ abstract class PigeonApiCookieManager(
* See https://developer.android.com/reference/android/webkit/WebView.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebView(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebView(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
abstract fun pigeon_defaultConstructor(): android.webkit.WebView
/** The WebSettings object used to control the settings for this WebView. */
abstract fun settings(pigeon_instance: android.webkit.WebView): android.webkit.WebSettings
/** Loads the given data into this WebView using a 'data' scheme URL. */
- abstract fun loadData(
- pigeon_instance: android.webkit.WebView,
- data: String,
- mimeType: String?,
- encoding: String?
- )
-
- /** Loads the given data into this WebView, using baseUrl as the base URL for the content. */
- abstract fun loadDataWithBaseUrl(
- pigeon_instance: android.webkit.WebView,
- baseUrl: String?,
- data: String,
- mimeType: String?,
- encoding: String?,
- historyUrl: String?
- )
+ abstract fun loadData(pigeon_instance: android.webkit.WebView, data: String, mimeType: String?, encoding: String?)
+
+ /**
+ * Loads the given data into this WebView, using baseUrl as the base URL for
+ * the content.
+ */
+ abstract fun loadDataWithBaseUrl(pigeon_instance: android.webkit.WebView, baseUrl: String?, data: String, mimeType: String?, encoding: String?, historyUrl: String?)
/** Loads the given URL. */
- abstract fun loadUrl(
- pigeon_instance: android.webkit.WebView,
- url: String,
- headers: Map
- )
+ abstract fun loadUrl(pigeon_instance: android.webkit.WebView, url: String, headers: Map)
/** Loads the URL with postData using "POST" method into this WebView. */
abstract fun postUrl(pigeon_instance: android.webkit.WebView, url: String, data: ByteArray)
@@ -1724,51 +1649,41 @@ abstract class PigeonApiWebView(
/** Clears the resource cache. */
abstract fun clearCache(pigeon_instance: android.webkit.WebView, includeDiskFiles: Boolean)
- /** Asynchronously evaluates JavaScript in the context of the currently displayed page. */
- abstract fun evaluateJavascript(
- pigeon_instance: android.webkit.WebView,
- javascriptString: String,
- callback: (Result) -> Unit
- )
+ /**
+ * Asynchronously evaluates JavaScript in the context of the currently
+ * displayed page.
+ */
+ abstract fun evaluateJavascript(pigeon_instance: android.webkit.WebView, javascriptString: String, callback: (Result) -> Unit)
/** Gets the title for the current page. */
abstract fun getTitle(pigeon_instance: android.webkit.WebView): String?
/**
- * Enables debugging of web contents (HTML / CSS / JavaScript) loaded into any WebViews of this
- * application.
+ * Enables debugging of web contents (HTML / CSS / JavaScript) loaded into
+ * any WebViews of this application.
*/
abstract fun setWebContentsDebuggingEnabled(enabled: Boolean)
- /** Sets the WebViewClient that will receive various notifications and requests. */
- abstract fun setWebViewClient(
- pigeon_instance: android.webkit.WebView,
- client: android.webkit.WebViewClient?
- )
+ /**
+ * Sets the WebViewClient that will receive various notifications and
+ * requests.
+ */
+ abstract fun setWebViewClient(pigeon_instance: android.webkit.WebView, client: android.webkit.WebViewClient?)
/** Injects the supplied Java object into this WebView. */
- abstract fun addJavaScriptChannel(
- pigeon_instance: android.webkit.WebView,
- channel: JavaScriptChannel
- )
+ abstract fun addJavaScriptChannel(pigeon_instance: android.webkit.WebView, channel: JavaScriptChannel)
/** Removes a previously injected Java object from this WebView. */
abstract fun removeJavaScriptChannel(pigeon_instance: android.webkit.WebView, name: String)
/**
- * Registers the interface to be used when content can not be handled by the rendering engine, and
- * should be downloaded instead.
+ * Registers the interface to be used when content can not be handled by the
+ * rendering engine, and should be downloaded instead.
*/
- abstract fun setDownloadListener(
- pigeon_instance: android.webkit.WebView,
- listener: android.webkit.DownloadListener?
- )
+ abstract fun setDownloadListener(pigeon_instance: android.webkit.WebView, listener: android.webkit.DownloadListener?)
/** Sets the chrome handler. */
- abstract fun setWebChromeClient(
- pigeon_instance: android.webkit.WebView,
- client: io.flutter.plugins.webviewflutter.WebChromeClientProxyApi.WebChromeClientImpl?
- )
+ abstract fun setWebChromeClient(pigeon_instance: android.webkit.WebView, client: io.flutter.plugins.webviewflutter.WebChromeClientProxyApi.WebChromeClientImpl?)
/** Sets the background color for this view. */
abstract fun setBackgroundColor(pigeon_instance: android.webkit.WebView, color: Long)
@@ -1781,23 +1696,17 @@ abstract class PigeonApiWebView(
fun setUpMessageHandlers(binaryMessenger: BinaryMessenger, api: PigeonApiWebView?) {
val codec = api?.pigeonRegistrar?.codec ?: AndroidWebkitLibraryPigeonCodec()
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.pigeon_defaultConstructor",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.pigeon_defaultConstructor", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_identifierArg = args[0] as Long
- val wrapped: List =
- try {
- api.pigeonRegistrar.instanceManager.addDartCreatedInstance(
- api.pigeon_defaultConstructor(), pigeon_identifierArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.pigeonRegistrar.instanceManager.addDartCreatedInstance(api.pigeon_defaultConstructor(), pigeon_identifierArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1805,24 +1714,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.settings",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.settings", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val pigeon_identifierArg = args[1] as Long
- val wrapped: List =
- try {
- api.pigeonRegistrar.instanceManager.addDartCreatedInstance(
- api.settings(pigeon_instanceArg), pigeon_identifierArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.pigeonRegistrar.instanceManager.addDartCreatedInstance(api.settings(pigeon_instanceArg), pigeon_identifierArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1830,11 +1733,7 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.loadData",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.loadData", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
@@ -1842,13 +1741,12 @@ abstract class PigeonApiWebView(
val dataArg = args[1] as String
val mimeTypeArg = args[2] as String?
val encodingArg = args[3] as String?
- val wrapped: List =
- try {
- api.loadData(pigeon_instanceArg, dataArg, mimeTypeArg, encodingArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.loadData(pigeon_instanceArg, dataArg, mimeTypeArg, encodingArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1856,11 +1754,7 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.loadDataWithBaseUrl",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.loadDataWithBaseUrl", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
@@ -1870,19 +1764,12 @@ abstract class PigeonApiWebView(
val mimeTypeArg = args[3] as String?
val encodingArg = args[4] as String?
val historyUrlArg = args[5] as String?
- val wrapped: List =
- try {
- api.loadDataWithBaseUrl(
- pigeon_instanceArg,
- baseUrlArg,
- dataArg,
- mimeTypeArg,
- encodingArg,
- historyUrlArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.loadDataWithBaseUrl(pigeon_instanceArg, baseUrlArg, dataArg, mimeTypeArg, encodingArg, historyUrlArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1890,24 +1777,19 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.loadUrl",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.loadUrl", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val urlArg = args[1] as String
val headersArg = args[2] as Map
- val wrapped: List =
- try {
- api.loadUrl(pigeon_instanceArg, urlArg, headersArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.loadUrl(pigeon_instanceArg, urlArg, headersArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1915,24 +1797,19 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.postUrl",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.postUrl", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val urlArg = args[1] as String
val dataArg = args[2] as ByteArray
- val wrapped: List =
- try {
- api.postUrl(pigeon_instanceArg, urlArg, dataArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.postUrl(pigeon_instanceArg, urlArg, dataArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1940,19 +1817,16 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.getUrl", codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.getUrl", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- listOf(api.getUrl(pigeon_instanceArg))
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ listOf(api.getUrl(pigeon_instanceArg))
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1960,21 +1834,16 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.canGoBack",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.canGoBack", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- listOf(api.canGoBack(pigeon_instanceArg))
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ listOf(api.canGoBack(pigeon_instanceArg))
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -1982,21 +1851,16 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.canGoForward",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.canGoForward", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- listOf(api.canGoForward(pigeon_instanceArg))
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ listOf(api.canGoForward(pigeon_instanceArg))
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2004,20 +1868,17 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.goBack", codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.goBack", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- api.goBack(pigeon_instanceArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.goBack(pigeon_instanceArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2025,22 +1886,17 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.goForward",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.goForward", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- api.goForward(pigeon_instanceArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.goForward(pigeon_instanceArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2048,20 +1904,17 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.reload", codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.reload", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- api.reload(pigeon_instanceArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.reload(pigeon_instanceArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2069,23 +1922,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.clearCache",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.clearCache", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val includeDiskFilesArg = args[1] as Boolean
- val wrapped: List =
- try {
- api.clearCache(pigeon_instanceArg, includeDiskFilesArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.clearCache(pigeon_instanceArg, includeDiskFilesArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2093,18 +1941,13 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.evaluateJavascript",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.evaluateJavascript", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val javascriptStringArg = args[1] as String
- api.evaluateJavascript(pigeon_instanceArg, javascriptStringArg) {
- result: Result ->
+ api.evaluateJavascript(pigeon_instanceArg, javascriptStringArg) { result: Result ->
val error = result.exceptionOrNull()
if (error != null) {
reply.reply(AndroidWebkitLibraryPigeonUtils.wrapError(error))
@@ -2119,21 +1962,16 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.getTitle",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.getTitle", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- listOf(api.getTitle(pigeon_instanceArg))
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ listOf(api.getTitle(pigeon_instanceArg))
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2141,22 +1979,17 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.setWebContentsDebuggingEnabled",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.setWebContentsDebuggingEnabled", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val enabledArg = args[0] as Boolean
- val wrapped: List =
- try {
- api.setWebContentsDebuggingEnabled(enabledArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.setWebContentsDebuggingEnabled(enabledArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2164,23 +1997,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.setWebViewClient",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.setWebViewClient", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val clientArg = args[1] as android.webkit.WebViewClient?
- val wrapped: List =
- try {
- api.setWebViewClient(pigeon_instanceArg, clientArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.setWebViewClient(pigeon_instanceArg, clientArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2188,23 +2016,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.addJavaScriptChannel",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.addJavaScriptChannel", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val channelArg = args[1] as JavaScriptChannel
- val wrapped: List =
- try {
- api.addJavaScriptChannel(pigeon_instanceArg, channelArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.addJavaScriptChannel(pigeon_instanceArg, channelArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2212,23 +2035,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.removeJavaScriptChannel",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.removeJavaScriptChannel", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val nameArg = args[1] as String
- val wrapped: List =
- try {
- api.removeJavaScriptChannel(pigeon_instanceArg, nameArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.removeJavaScriptChannel(pigeon_instanceArg, nameArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2236,23 +2054,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.setDownloadListener",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.setDownloadListener", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val listenerArg = args[1] as android.webkit.DownloadListener?
- val wrapped: List =
- try {
- api.setDownloadListener(pigeon_instanceArg, listenerArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.setDownloadListener(pigeon_instanceArg, listenerArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2260,26 +2073,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.setWebChromeClient",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.setWebChromeClient", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val clientArg =
- args[1]
- as
- io.flutter.plugins.webviewflutter.WebChromeClientProxyApi.WebChromeClientImpl?
- val wrapped: List =
- try {
- api.setWebChromeClient(pigeon_instanceArg, clientArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val clientArg = args[1] as io.flutter.plugins.webviewflutter.WebChromeClientProxyApi.WebChromeClientImpl?
+ val wrapped: List = try {
+ api.setWebChromeClient(pigeon_instanceArg, clientArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2287,23 +2092,18 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.setBackgroundColor",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.setBackgroundColor", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
val colorArg = args[1] as Long
- val wrapped: List =
- try {
- api.setBackgroundColor(pigeon_instanceArg, colorArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.setBackgroundColor(pigeon_instanceArg, colorArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2311,22 +2111,17 @@ abstract class PigeonApiWebView(
}
}
run {
- val channel =
- BasicMessageChannel(
- binaryMessenger,
- "dev.flutter.pigeon.webview_flutter_android.WebView.destroy",
- codec)
+ val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.webview_flutter_android.WebView.destroy", codec)
if (api != null) {
channel.setMessageHandler { message, reply ->
val args = message as List
val pigeon_instanceArg = args[0] as android.webkit.WebView
- val wrapped: List =
- try {
- api.destroy(pigeon_instanceArg)
- listOf(null)
- } catch (exception: Throwable) {
- AndroidWebkitLibraryPigeonUtils.wrapError(exception)
- }
+ val wrapped: List = try {
+ api.destroy(pigeon_instanceArg)
+ listOf(null)
+ } catch (exception: Throwable) {
+ AndroidWebkitLibraryPigeonUtils.wrapError(exception)
+ }
reply.reply(wrapped)
}
} else {
@@ -2338,19 +2133,16 @@ abstract class PigeonApiWebView(
@Suppress("LocalVariableName", "FunctionName")
/** Creates a Dart instance of WebView and attaches it to [pigeon_instanceArg]. */
- fun pigeon_newInstance(
- pigeon_instanceArg: android.webkit.WebView,
- callback: (Result) -> Unit
- ) {
+ fun pigeon_newInstance(pigeon_instanceArg: android.webkit.WebView, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
- } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(Result.success(Unit))
- } else {
- val pigeon_identifierArg =
- pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
+ } else {
+ val pigeon_identifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance(pigeon_instanceArg)
val binaryMessenger = pigeonRegistrar.binaryMessenger
val codec = pigeonRegistrar.codec
val channelName = "dev.flutter.pigeon.webview_flutter_android.WebView.pigeon_newInstance"
@@ -2358,44 +2150,32 @@ abstract class PigeonApiWebView(
channel.send(listOf(pigeon_identifierArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
- callback(
- Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
+ }
}
}
}
/**
- * This is called in response to an internal scroll in this view (i.e., the view scrolled its own
- * contents).
+ * This is called in response to an internal scroll in this view (i.e., the
+ * view scrolled its own contents).
*/
- fun onScrollChanged(
- pigeon_instanceArg: android.webkit.WebView,
- leftArg: Long,
- topArg: Long,
- oldLeftArg: Long,
- oldTopArg: Long,
- callback: (Result) -> Unit
- ) {
+ fun onScrollChanged(pigeon_instanceArg: android.webkit.WebView, leftArg: Long, topArg: Long, oldLeftArg: Long, oldTopArg: Long, callback: (Result) -> Unit)
+{
if (pigeonRegistrar.ignoreCallsToDart) {
callback(
Result.failure(
AndroidWebKitError("ignore-calls-error", "Calls to Dart are being ignored.", "")))
return
- } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
+ } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) {
callback(
Result.failure(
- AndroidWebKitError(
- "missing-instance-error",
- "Callback to `WebView.onScrollChanged` failed because native instance was not in the instance manager.",
- "")))
+ AndroidWebKitError("missing-instance-error", "Callback to `WebView.onScrollChanged` failed because native instance was not in the instance manager.", "")))
return
}
val binaryMessenger = pigeonRegistrar.binaryMessenger
@@ -2405,23 +2185,23 @@ abstract class PigeonApiWebView(
channel.send(listOf(pigeon_instanceArg, leftArg, topArg, oldLeftArg, oldTopArg)) {
if (it is List<*>) {
if (it.size > 1) {
- callback(
- Result.failure(
- AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
+ callback(Result.failure(AndroidWebKitError(it[0] as String, it[1] as String, it[2] as String?)))
} else {
callback(Result.success(Unit))
}
} else {
callback(Result.failure(AndroidWebkitLibraryPigeonUtils.createConnectionError(channelName)))
- }
+ }
}
}
@Suppress("FunctionName")
/** An implementation of [PigeonApiView] used to access callback methods */
- fun pigeon_getPigeonApiView(): PigeonApiView {
+ fun pigeon_getPigeonApiView(): PigeonApiView
+ {
return pigeonRegistrar.getPigeonApiView()
}
+
}
/**
* Manages settings state for a `WebView`.
@@ -2429,68 +2209,52 @@ abstract class PigeonApiWebView(
* See https://developer.android.com/reference/android/webkit/WebSettings.
*/
@Suppress("UNCHECKED_CAST")
-abstract class PigeonApiWebSettings(
- open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar
-) {
+abstract class PigeonApiWebSettings(open val pigeonRegistrar: AndroidWebkitLibraryPigeonProxyApiRegistrar) {
/** Sets whether the DOM storage API is enabled. */
abstract fun setDomStorageEnabled(pigeon_instance: android.webkit.WebSettings, flag: Boolean)
/** Tells JavaScript to open windows automatically. */
- abstract fun setJavaScriptCanOpenWindowsAutomatically(
- pigeon_instance: android.webkit.WebSettings,
- flag: Boolean
- )
+ abstract fun setJavaScriptCanOpenWindowsAutomatically(pigeon_instance: android.webkit.WebSettings, flag: Boolean)
/** Sets whether the WebView whether supports multiple windows. */
- abstract fun setSupportMultipleWindows(
- pigeon_instance: android.webkit.WebSettings,
- support: Boolean
- )
+ abstract fun setSupportMultipleWindows(pigeon_instance: android.webkit.WebSettings, support: Boolean)
/** Tells the WebView to enable JavaScript execution. */
abstract fun setJavaScriptEnabled(pigeon_instance: android.webkit.WebSettings, flag: Boolean)
/** Sets the WebView's user-agent string. */
- abstract fun setUserAgentString(
- pigeon_instance: android.webkit.WebSettings,
- userAgentString: String?
- )
+ abstract fun setUserAgentString(pigeon_instance: android.webkit.WebSettings, userAgentString: String?)
/** Sets whether the WebView requires a user gesture to play media. */
- abstract fun setMediaPlaybackRequiresUserGesture(
- pigeon_instance: android.webkit.WebSettings,
- require: Boolean
- )
+ abstract fun setMediaPlaybackRequiresUserGesture(pigeon_instance: android.webkit.WebSettings, require: Boolean)
/**
- * Sets whether the WebView should support zooming using its on-screen zoom controls and gestures.
+ * Sets whether the WebView should support zooming using its on-screen zoom
+ * controls and gestures.
*/
abstract fun setSupportZoom(pigeon_instance: android.webkit.WebSettings, support: Boolean)
/**
- * Sets whether the WebView loads pages in overview mode, that is, zooms out the content to fit on
- * screen by width.
+ * Sets whether the WebView loads pages in overview mode, that is, zooms out
+ * the content to fit on screen by width.
*/
- abstract fun setLoadWithOverviewMode(
- pigeon_instance: android.webkit.WebSettings,
- overview: Boolean
- )
+ abstract fun setLoadWithOverviewMode(pigeon_instance: android.webkit.WebSettings, overview: Boolean)
/**
- * Sets whether the WebView should enable support for the "viewport" HTML meta tag or should use a
- * wide viewport.
+ * Sets whether the WebView should enable support for the "viewport" HTML
+ * meta tag or should use a wide viewport.
*/
abstract fun setUseWideViewPort(pigeon_instance: android.webkit.WebSettings, use: Boolean)
/**
- * Sets whether the WebView should display on-screen zoom controls when using the built-in zoom
- * mechanisms.
+ * Sets whether the WebView should display on-screen zoom controls when using
+ * the built-in zoom mechanisms.
*/
abstract fun setDisplayZoomControls(pigeon_instance: android.webkit.WebSettings, enabled: Boolean)
/**
- * Sets whether the WebView should display on-screen zoom controls when using the built-in zoom
- * mechanisms.
+ * Sets whether the WebView should display on-screen zoom controls when using
+ * the built-in zoom mechanisms.
*/
abstract fun setBuiltInZoomControls(pigeon_instance: android.webkit.WebSettings, enabled: Boolean)
@@ -2510,33 +2274,25 @@ abstract class PigeonApiWebSettings(
abstract fun getUserAgentString(pigeon_instance: android.webkit.WebSettings): String
/** Configures the WebView's behavior when handling mixed content. */
- abstract fun setMixedContentMode(
- pigeon_instance: android.webkit.WebSettings,
- mode: MixedContentMode
- )
+ abstract fun setMixedContentMode(pigeon_instance: android.webkit.WebSettings, mode: MixedContentMode)
companion object {
@Suppress("LocalVariableName")
fun setUpMessageHandlers(binaryMessenger: BinaryMessenger, api: PigeonApiWebSettings?) {
val codec = api?.pigeonRegistrar?.codec ?: AndroidWebkitLibraryPigeonCodec()
run {
- val channel =
- BasicMessageChannel