[webview_flutter] Enable warnings-as-errors on Android (#3356)
[webview_flutter] Enable warnings-as-errors on Android
diff --git a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
index f6d7bb7..dd38bcb 100644
--- a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
@@ -1,5 +1,6 @@
## 3.3.2
+* Resolves compilations warnings.
* Updates compileSdkVersion to 33.
* Bumps androidx.webkit:webkit from 1.5.0 to 1.6.0.
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImpl.java b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImpl.java
index 3e38ce9..d9a647d 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImpl.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImpl.java
@@ -14,11 +14,7 @@
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.removeAllCookies(result::success);
} else {
- final boolean hasCookies = cookieManager.hasCookies();
- if (hasCookies) {
- cookieManager.removeAllCookie();
- }
- result.success(hasCookies);
+ result.success(removeCookiesPreL(cookieManager));
}
}
@@ -26,4 +22,20 @@
public void setCookie(String url, String value) {
CookieManager.getInstance().setCookie(url, value);
}
+
+ /**
+ * Removes all cookies from the given cookie manager, using the deprecated (pre-Lollipop)
+ * implementation.
+ *
+ * @param cookieManager The cookie manager to clear all cookies from.
+ * @return Whether any cookies were removed.
+ */
+ @SuppressWarnings("deprecation")
+ private boolean removeCookiesPreL(CookieManager cookieManager) {
+ final boolean hasCookies = cookieManager.hasCookies();
+ if (hasCookies) {
+ cookieManager.removeAllCookie();
+ }
+ return hasCookies;
+ }
}
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/GeneratedAndroidWebView.java b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/GeneratedAndroidWebView.java
index 425f6c1..9897472 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/GeneratedAndroidWebView.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/GeneratedAndroidWebView.java
@@ -1,7 +1,7 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Autogenerated from Pigeon (v4.2.14), do not edit directly.
+// Autogenerated from Pigeon (v9.0.4), do not edit directly.
// See also: https://pub.dev/packages/pigeon
package io.flutter.plugins.webviewflutter;
@@ -24,6 +24,15 @@
/** Generated class from Pigeon. */
@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression"})
public class GeneratedAndroidWebView {
+ @NonNull
+ private static ArrayList<Object> wrapError(@NonNull Throwable exception) {
+ ArrayList<Object> errorList = new ArrayList<Object>(3);
+ errorList.add(exception.toString());
+ errorList.add(exception.getClass().getSimpleName());
+ errorList.add(
+ "Cause: " + exception.getCause() + ", Stacktrace: " + Log.getStackTraceString(exception));
+ return errorList;
+ }
/**
* Mode of how to select files for a file chooser.
@@ -62,7 +71,7 @@
}
/** Generated class from Pigeon that represents data sent in messages. */
- public static class FileChooserModeEnumData {
+ public static final class FileChooserModeEnumData {
private @NonNull FileChooserMode value;
public @NonNull FileChooserMode getValue() {
@@ -80,6 +89,7 @@
private FileChooserModeEnumData() {}
public static final class Builder {
+
private @Nullable FileChooserMode value;
public @NonNull Builder setValue(@NonNull FileChooserMode setterArg) {
@@ -110,7 +120,7 @@
}
/** Generated class from Pigeon that represents data sent in messages. */
- public static class WebResourceRequestData {
+ public static final class WebResourceRequestData {
private @NonNull String url;
public @NonNull String getUrl() {
@@ -190,6 +200,7 @@
private WebResourceRequestData() {}
public static final class Builder {
+
private @Nullable String url;
public @NonNull Builder setUrl(@NonNull String setterArg) {
@@ -275,7 +286,7 @@
}
/** Generated class from Pigeon that represents data sent in messages. */
- public static class WebResourceErrorData {
+ public static final class WebResourceErrorData {
private @NonNull Long errorCode;
public @NonNull Long getErrorCode() {
@@ -306,6 +317,7 @@
private WebResourceErrorData() {}
public static final class Builder {
+
private @Nullable Long errorCode;
public @NonNull Builder setErrorCode(@NonNull Long setterArg) {
@@ -350,7 +362,7 @@
}
/** Generated class from Pigeon that represents data sent in messages. */
- public static class WebViewPoint {
+ public static final class WebViewPoint {
private @NonNull Long x;
public @NonNull Long getX() {
@@ -381,6 +393,7 @@
private WebViewPoint() {}
public static final class Builder {
+
private @Nullable Long x;
public @NonNull Builder setX(@NonNull Long setterArg) {
@@ -436,6 +449,7 @@
* <p>Generated interface from Pigeon that represents a handler of messages from Flutter.
*/
public interface JavaObjectHostApi {
+
void dispose(@NonNull Long identifier);
/** The codec used by JavaObjectHostApi. */
@@ -453,7 +467,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -489,6 +503,7 @@
this.binaryMessenger = argBinaryMessenger;
}
+ /** Public interface for sending reply. */
public interface Reply<T> {
void reply(T reply);
}
@@ -503,13 +518,12 @@
binaryMessenger, "dev.flutter.pigeon.JavaObjectFlutterApi.dispose", getCodec());
channel.send(
new ArrayList<Object>(Collections.singletonList(identifierArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface CookieManagerHostApi {
+
void clearCookies(Result<Boolean> result);
void setCookie(@NonNull String url, @NonNull String value);
@@ -532,7 +546,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
Result<Boolean> resultCallback =
new Result<Boolean>() {
@@ -564,7 +578,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -601,7 +615,6 @@
switch (type) {
case (byte) 128:
return WebViewPoint.fromList((ArrayList<Object>) readValue(buffer));
-
default:
return super.readValueOfType(type, buffer);
}
@@ -620,6 +633,7 @@
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface WebViewHostApi {
+
void create(@NonNull Long instanceId, @NonNull Boolean useHybridComposition);
void loadData(
@@ -705,7 +719,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -738,7 +752,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -777,7 +791,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -818,7 +832,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -856,7 +870,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -892,7 +906,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -920,7 +934,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -948,7 +962,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -976,7 +990,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1003,7 +1017,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1030,7 +1044,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1057,7 +1071,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1092,7 +1106,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1137,7 +1151,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1165,7 +1179,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1203,7 +1217,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1241,7 +1255,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1269,7 +1283,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1297,7 +1311,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1328,7 +1342,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1355,7 +1369,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1392,7 +1406,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1430,7 +1444,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1468,7 +1482,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1500,7 +1514,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1532,7 +1546,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1562,6 +1576,7 @@
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface WebSettingsHostApi {
+
void create(@NonNull Long instanceId, @NonNull Long webViewInstanceId);
void setDomStorageEnabled(@NonNull Long instanceId, @NonNull Boolean flag);
@@ -1603,7 +1618,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1638,7 +1653,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1672,7 +1687,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1706,7 +1721,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1740,7 +1755,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1774,7 +1789,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1806,7 +1821,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1840,7 +1855,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1874,7 +1889,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1908,7 +1923,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1942,7 +1957,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -1976,7 +1991,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2010,7 +2025,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2039,6 +2054,7 @@
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface JavaScriptChannelHostApi {
+
void create(@NonNull Long instanceId, @NonNull String channelName);
/** The codec used by JavaScriptChannelHostApi. */
@@ -2057,7 +2073,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2092,6 +2108,7 @@
this.binaryMessenger = argBinaryMessenger;
}
+ /** Public interface for sending reply. */
public interface Reply<T> {
void reply(T reply);
}
@@ -2109,13 +2126,12 @@
getCodec());
channel.send(
new ArrayList<Object>(Arrays.asList(instanceIdArg, messageArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface WebViewClientHostApi {
+
void create(@NonNull Long instanceId);
void setSynchronousReturnValueForShouldOverrideUrlLoading(
@@ -2137,7 +2153,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2166,7 +2182,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2204,10 +2220,8 @@
switch (type) {
case (byte) 128:
return WebResourceErrorData.fromList((ArrayList<Object>) readValue(buffer));
-
case (byte) 129:
return WebResourceRequestData.fromList((ArrayList<Object>) readValue(buffer));
-
default:
return super.readValueOfType(type, buffer);
}
@@ -2235,6 +2249,7 @@
this.binaryMessenger = argBinaryMessenger;
}
+ /** Public interface for sending reply. */
public interface Reply<T> {
void reply(T reply);
}
@@ -2255,9 +2270,7 @@
getCodec());
channel.send(
new ArrayList<Object>(Arrays.asList(instanceIdArg, webViewInstanceIdArg, urlArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
public void onPageFinished(
@@ -2272,9 +2285,7 @@
getCodec());
channel.send(
new ArrayList<Object>(Arrays.asList(instanceIdArg, webViewInstanceIdArg, urlArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
public void onReceivedRequestError(
@@ -2291,9 +2302,7 @@
channel.send(
new ArrayList<Object>(
Arrays.asList(instanceIdArg, webViewInstanceIdArg, requestArg, errorArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
public void onReceivedError(
@@ -2316,9 +2325,7 @@
errorCodeArg,
descriptionArg,
failingUrlArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
public void requestLoading(
@@ -2333,9 +2340,7 @@
getCodec());
channel.send(
new ArrayList<Object>(Arrays.asList(instanceIdArg, webViewInstanceIdArg, requestArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
public void urlLoading(
@@ -2348,13 +2353,12 @@
binaryMessenger, "dev.flutter.pigeon.WebViewClientFlutterApi.urlLoading", getCodec());
channel.send(
new ArrayList<Object>(Arrays.asList(instanceIdArg, webViewInstanceIdArg, urlArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface DownloadListenerHostApi {
+
void create(@NonNull Long instanceId);
/** The codec used by DownloadListenerHostApi. */
@@ -2373,7 +2377,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2403,6 +2407,7 @@
this.binaryMessenger = argBinaryMessenger;
}
+ /** Public interface for sending reply. */
public interface Reply<T> {
void reply(T reply);
}
@@ -2433,13 +2438,12 @@
contentDispositionArg,
mimetypeArg,
contentLengthArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface WebChromeClientHostApi {
+
void create(@NonNull Long instanceId);
void setSynchronousReturnValueForOnShowFileChooser(
@@ -2461,7 +2465,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2490,7 +2494,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2519,6 +2523,7 @@
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface FlutterAssetManagerHostApi {
+
@NonNull
List<String> list(@NonNull String path);
@@ -2541,7 +2546,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2570,7 +2575,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2600,6 +2605,7 @@
this.binaryMessenger = argBinaryMessenger;
}
+ /** Public interface for sending reply. */
public interface Reply<T> {
void reply(T reply);
}
@@ -2620,9 +2626,7 @@
getCodec());
channel.send(
new ArrayList<Object>(Arrays.asList(instanceIdArg, webViewInstanceIdArg, progressArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
public void onShowFileChooser(
@@ -2647,6 +2651,7 @@
}
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
public interface WebStorageHostApi {
+
void create(@NonNull Long instanceId);
void deleteAllData(@NonNull Long instanceId);
@@ -2666,7 +2671,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2693,7 +2698,7 @@
if (api != null) {
channel.setMessageHandler(
(message, reply) -> {
- ArrayList wrapped = new ArrayList<>();
+ ArrayList<Object> wrapped = new ArrayList<Object>();
try {
ArrayList<Object> args = (ArrayList<Object>) message;
assert args != null;
@@ -2727,7 +2732,6 @@
switch (type) {
case (byte) 128:
return FileChooserModeEnumData.fromList((ArrayList<Object>) readValue(buffer));
-
default:
return super.readValueOfType(type, buffer);
}
@@ -2759,6 +2763,7 @@
this.binaryMessenger = argBinaryMessenger;
}
+ /** Public interface for sending reply. */
public interface Reply<T> {
void reply(T reply);
}
@@ -2781,19 +2786,7 @@
new ArrayList<Object>(
Arrays.asList(
instanceIdArg, isCaptureEnabledArg, acceptTypesArg, modeArg, filenameHintArg)),
- channelReply -> {
- callback.reply(null);
- });
+ channelReply -> callback.reply(null));
}
}
-
- @NonNull
- private static ArrayList<Object> wrapError(@NonNull Throwable exception) {
- ArrayList<Object> errorList = new ArrayList<>(3);
- errorList.add(exception.toString());
- errorList.add(exception.getClass().getSimpleName());
- errorList.add(
- "Cause: " + exception.getCause() + ", Stacktrace: " + Log.getStackTraceString(exception));
- return errorList;
- }
}
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebChromeClientHostApiImpl.java b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebChromeClientHostApiImpl.java
index a5825c0..5bc40e6 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebChromeClientHostApiImpl.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebChromeClientHostApiImpl.java
@@ -130,6 +130,8 @@
return true;
}
+ // Legacy codepath for < N.
+ @SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView windowWebView, String url) {
if (!webViewClient.shouldOverrideUrlLoading(view, url)) {
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebViewClientHostApiImpl.java b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebViewClientHostApiImpl.java
index 09a34f2..79c0210 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebViewClientHostApiImpl.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/main/java/io/flutter/plugins/webviewflutter/WebViewClientHostApiImpl.java
@@ -59,6 +59,8 @@
flutterApi.onReceivedRequestError(this, view, request, error, reply -> {});
}
+ // Legacy codepath for < 23; newer versions use the variant above.
+ @SuppressWarnings("deprecation")
@Override
public void onReceivedError(
WebView view, int errorCode, String description, String failingUrl) {
@@ -72,6 +74,8 @@
return returnValueForShouldOverrideUrlLoading;
}
+ // Legacy codepath for < 24; newer versions use the variant above.
+ @SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
flutterApi.urlLoading(this, view, url, reply -> {});
@@ -125,6 +129,8 @@
flutterApi.onReceivedRequestError(this, view, request, error, reply -> {});
}
+ // Legacy codepath for versions that don't support the variant above.
+ @SuppressWarnings("deprecation")
@Override
public void onReceivedError(
WebView view, int errorCode, String description, String failingUrl) {
@@ -140,6 +146,8 @@
return returnValueForShouldOverrideUrlLoading;
}
+ // Legacy codepath for < Lollipop; newer versions use the variant above.
+ @SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
flutterApi.urlLoading(this, view, url, reply -> {});
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImplTest.java b/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImplTest.java
index 6daeb1b..79edf9c 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImplTest.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/CookieManagerHostApiImplTest.java
@@ -33,7 +33,9 @@
when(cookieManager.hasCookies()).thenReturn(true);
doAnswer(
answer -> {
- ((ValueCallback<Boolean>) answer.getArgument(0)).onReceiveValue(true);
+ @SuppressWarnings("unchecked")
+ ValueCallback<Boolean> callback = (ValueCallback<Boolean>) answer.getArgument(0);
+ (callback).onReceiveValue(true);
return null;
})
.when(cookieManager)
@@ -59,6 +61,7 @@
public void clearCookiesShouldCallRemoveAllCookiesOnAndroidLAbove() {
// Setup
TestUtils.setFinalStatic(Build.VERSION.class, "SDK_INT", Build.VERSION_CODES.LOLLIPOP);
+ @SuppressWarnings("unchecked")
GeneratedAndroidWebView.Result<Boolean> result = mock(GeneratedAndroidWebView.Result.class);
CookieManagerHostApiImpl impl = new CookieManagerHostApiImpl();
// Run
@@ -69,9 +72,11 @@
}
@Test
+ @SuppressWarnings("deprecation")
public void clearCookiesShouldCallRemoveAllCookieBelowAndroidL() {
// Setup
TestUtils.setFinalStatic(Build.VERSION.class, "SDK_INT", Build.VERSION_CODES.KITKAT_WATCH);
+ @SuppressWarnings("unchecked")
GeneratedAndroidWebView.Result<Boolean> result = mock(GeneratedAndroidWebView.Result.class);
CookieManagerHostApiImpl impl = new CookieManagerHostApiImpl();
// Run
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/JavaScriptChannelTest.java b/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/JavaScriptChannelTest.java
index c9a5e64..391c6c8 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/JavaScriptChannelTest.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/JavaScriptChannelTest.java
@@ -9,6 +9,7 @@
import static org.mockito.Mockito.verify;
import android.os.Handler;
+import android.os.Looper;
import io.flutter.plugins.webviewflutter.JavaScriptChannelHostApiImpl.JavaScriptChannelCreator;
import org.junit.After;
import org.junit.Before;
@@ -47,7 +48,10 @@
hostApiImpl =
new JavaScriptChannelHostApiImpl(
- instanceManager, javaScriptChannelCreator, mockFlutterApi, new Handler());
+ instanceManager,
+ javaScriptChannelCreator,
+ mockFlutterApi,
+ new Handler(Looper.myLooper()));
hostApiImpl.create(0L, "aChannelName");
}
diff --git a/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/RegistrarFlutterAssetManagerTest.java b/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/RegistrarFlutterAssetManagerTest.java
index 86b0fb5..fa0d27d 100644
--- a/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/RegistrarFlutterAssetManagerTest.java
+++ b/packages/webview_flutter/webview_flutter_android/android/src/test/java/io/flutter/plugins/webviewflutter/RegistrarFlutterAssetManagerTest.java
@@ -11,8 +11,6 @@
import static org.mockito.Mockito.when;
import android.content.res.AssetManager;
-import io.flutter.plugin.common.PluginRegistry.Registrar;
-import io.flutter.plugins.webviewflutter.FlutterAssetManager.RegistrarFlutterAssetManager;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
@@ -21,17 +19,19 @@
@SuppressWarnings("deprecation")
public class RegistrarFlutterAssetManagerTest {
@Mock AssetManager mockAssetManager;
- @Mock Registrar mockRegistrar;
+ @Mock io.flutter.plugin.common.PluginRegistry.Registrar mockRegistrar;
- RegistrarFlutterAssetManager testRegistrarFlutterAssetManager;
+ io.flutter.plugins.webviewflutter.FlutterAssetManager.RegistrarFlutterAssetManager
+ testRegistrarFlutterAssetManager;
@Before
public void setUp() {
mockAssetManager = mock(AssetManager.class);
- mockRegistrar = mock(Registrar.class);
+ mockRegistrar = mock(io.flutter.plugin.common.PluginRegistry.Registrar.class);
testRegistrarFlutterAssetManager =
- new RegistrarFlutterAssetManager(mockAssetManager, mockRegistrar);
+ new io.flutter.plugins.webviewflutter.FlutterAssetManager.RegistrarFlutterAssetManager(
+ mockAssetManager, mockRegistrar);
}
@Test
diff --git a/packages/webview_flutter/webview_flutter_android/example/android/build.gradle b/packages/webview_flutter/webview_flutter_android/example/android/build.gradle
index 1942e9d..ca118fd 100644
--- a/packages/webview_flutter/webview_flutter_android/example/android/build.gradle
+++ b/packages/webview_flutter/webview_flutter_android/example/android/build.gradle
@@ -35,9 +35,7 @@
gradle.projectsEvaluated {
project(":webview_flutter_android") {
tasks.withType(JavaCompile) {
- // TODO(stuartmorgan): Enable this. See
- // https://github.com/flutter/flutter/issues/91868
- //options.compilerArgs << "-Xlint:all" << "-Werror"
+ options.compilerArgs << "-Xlint:all" << "-Werror"
}
}
}
diff --git a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart
index d3c306a..5210879 100644
--- a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart
+++ b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart
@@ -1,9 +1,10 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Autogenerated from Pigeon (v4.2.14), do not edit directly.
+// Autogenerated from Pigeon (v9.0.4), do not edit directly.
// See also: https://pub.dev/packages/pigeon
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import
+
import 'dart:async';
import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List;
@@ -297,7 +298,6 @@
switch (type) {
case 128:
return WebViewPoint.decode(readValue(buffer)!);
-
default:
return super.readValueOfType(type, buffer);
}
@@ -1394,10 +1394,8 @@
switch (type) {
case 128:
return WebResourceErrorData.decode(readValue(buffer)!);
-
case 129:
return WebResourceRequestData.decode(readValue(buffer)!);
-
default:
return super.readValueOfType(type, buffer);
}
@@ -1935,7 +1933,6 @@
switch (type) {
case 128:
return FileChooserModeEnumData.decode(readValue(buffer)!);
-
default:
return super.readValueOfType(type, buffer);
}
diff --git a/packages/webview_flutter/webview_flutter_android/pubspec.yaml b/packages/webview_flutter/webview_flutter_android/pubspec.yaml
index 6196da9..16d9eda 100644
--- a/packages/webview_flutter/webview_flutter_android/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_android/pubspec.yaml
@@ -29,4 +29,4 @@
flutter_test:
sdk: flutter
mockito: ^5.3.2
- pigeon: ^4.2.14
+ pigeon: ^9.0.4
diff --git a/packages/webview_flutter/webview_flutter_android/test/android_webview_controller_test.mocks.dart b/packages/webview_flutter/webview_flutter_android/test/android_webview_controller_test.mocks.dart
index 01885ca..4bb2afb 100644
--- a/packages/webview_flutter/webview_flutter_android/test/android_webview_controller_test.mocks.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/android_webview_controller_test.mocks.dart
@@ -349,6 +349,12 @@
class MockAndroidWebViewController extends _i1.Mock
implements _i8.AndroidWebViewController {
@override
+ int get webViewIdentifier => (super.noSuchMethod(
+ Invocation.getter(#webViewIdentifier),
+ returnValue: 0,
+ returnValueForMissingStub: 0,
+ ) as int);
+ @override
_i3.PlatformWebViewControllerCreationParams get params => (super.noSuchMethod(
Invocation.getter(#params),
returnValue: _FakePlatformWebViewControllerCreationParams_4(
@@ -650,11 +656,11 @@
@override
_i9.Future<void> setOnShowFileSelector(
_i9.Future<List<String>> Function(_i8.FileSelectorParams)?
- onShowFileSelectorCallback) =>
+ onShowFileSelector) =>
(super.noSuchMethod(
Invocation.method(
#setOnShowFileSelector,
- [onShowFileSelectorCallback],
+ [onShowFileSelector],
),
returnValue: _i9.Future<void>.value(),
returnValueForMissingStub: _i9.Future<void>.value(),
diff --git a/packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart b/packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart
index 56ba79a..1b372e6 100644
--- a/packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart
@@ -1,7 +1,7 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Autogenerated from Pigeon (v4.2.14), do not edit directly.
+// Autogenerated from Pigeon (v9.0.4), do not edit directly.
// See also: https://pub.dev/packages/pigeon
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, unnecessary_import
// ignore_for_file: avoid_relative_lib_imports
@@ -64,7 +64,6 @@
switch (type) {
case 128:
return WebViewPoint.decode(readValue(buffer)!);
-
default:
return super.readValueOfType(type, buffer);
}