Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 8c9908e

Browse files
authored
Android Code Inspection and Clean up (#3117)
1 parent 05b1010 commit 8c9908e

File tree

5 files changed

+25
-15
lines changed

5 files changed

+25
-15
lines changed

packages/webview_flutter/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.2
2+
3+
* Android Code Inspection and Clean up.
4+
15
## 1.0.1
26

37
* Add documentation for `WebViewPlatformCreatedCallback`.

packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,16 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
103103
methodChannel.setMethodCallHandler(this);
104104

105105
flutterWebViewClient = new FlutterWebViewClient(methodChannel);
106-
applySettings((Map<String, Object>) params.get("settings"));
106+
Map<String, Object> settings = (Map<String, Object>) params.get("settings");
107+
if (settings != null) applySettings(settings);
107108

108109
if (params.containsKey(JS_CHANNEL_NAMES_FIELD)) {
109-
registerJavaScriptChannelNames((List<String>) params.get(JS_CHANNEL_NAMES_FIELD));
110+
List<String> names = (List<String>) params.get(JS_CHANNEL_NAMES_FIELD);
111+
if (names != null) registerJavaScriptChannelNames(names);
110112
}
111113

112-
updateAutoMediaPlaybackPolicy((Integer) params.get("autoMediaPlaybackPolicy"));
114+
Integer autoMediaPlaybackPolicy = (Integer) params.get("autoMediaPlaybackPolicy");
115+
if (autoMediaPlaybackPolicy != null) updateAutoMediaPlaybackPolicy(autoMediaPlaybackPolicy);
113116
if (params.containsKey("userAgent")) {
114117
String userAgent = (String) params.get("userAgent");
115118
updateUserAgent(userAgent);
@@ -316,7 +319,7 @@ private void getTitle(Result result) {
316319
}
317320

318321
private void scrollTo(MethodCall methodCall, Result result) {
319-
Map<String, Object> request = (Map<String, Object>) methodCall.arguments;
322+
Map<String, Object> request = methodCall.arguments();
320323
int x = (int) request.get("x");
321324
int y = (int) request.get("y");
322325

@@ -326,7 +329,7 @@ private void scrollTo(MethodCall methodCall, Result result) {
326329
}
327330

328331
private void scrollBy(MethodCall methodCall, Result result) {
329-
Map<String, Object> request = (Map<String, Object>) methodCall.arguments;
332+
Map<String, Object> request = methodCall.arguments();
330333
int x = (int) request.get("x");
331334
int y = (int) request.get("y");
332335

@@ -346,7 +349,8 @@ private void applySettings(Map<String, Object> settings) {
346349
for (String key : settings.keySet()) {
347350
switch (key) {
348351
case "jsMode":
349-
updateJsMode((Integer) settings.get(key));
352+
Integer mode = (Integer) settings.get(key);
353+
if (mode != null) updateJsMode(mode);
350354
break;
351355
case "hasNavigationDelegate":
352356
final boolean hasNavigationDelegate = (boolean) settings.get(key);
@@ -359,7 +363,9 @@ private void applySettings(Map<String, Object> settings) {
359363
case "debuggingEnabled":
360364
final boolean debuggingEnabled = (boolean) settings.get(key);
361365

362-
webView.setWebContentsDebuggingEnabled(debuggingEnabled);
366+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
367+
webView.setWebContentsDebuggingEnabled(debuggingEnabled);
368+
}
363369
break;
364370
case "gestureNavigationEnabled":
365371
break;
@@ -389,7 +395,9 @@ private void updateAutoMediaPlaybackPolicy(int mode) {
389395
// This is the index of the AutoMediaPlaybackPolicy enum, index 1 is always_allow, for all
390396
// other values we require a user gesture.
391397
boolean requireUserGesture = mode != 1;
392-
webView.getSettings().setMediaPlaybackRequiresUserGesture(requireUserGesture);
398+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
399+
webView.getSettings().setMediaPlaybackRequiresUserGesture(requireUserGesture);
400+
}
393401
}
394402

395403
private void registerJavaScriptChannelNames(List<String> channelNames) {

packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/InputAwareWebView.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,9 @@ && isCalledFromListPopupWindowShow()
222222

223223
private boolean isCalledFromListPopupWindowShow() {
224224
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
225-
for (int i = 0; i < stackTraceElements.length; i++) {
226-
if (stackTraceElements[i].getClassName().equals(ListPopupWindow.class.getCanonicalName())
227-
&& stackTraceElements[i].getMethodName().equals("show")) {
225+
for (StackTraceElement stackTraceElement : stackTraceElements) {
226+
if (stackTraceElement.getClassName().equals(ListPopupWindow.class.getCanonicalName())
227+
&& stackTraceElement.getMethodName().equals("show")) {
228228
return true;
229229
}
230230
}

packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/WebViewFlutterPlugin.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,7 @@ public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registra
5454
public void onAttachedToEngine(FlutterPluginBinding binding) {
5555
BinaryMessenger messenger = binding.getBinaryMessenger();
5656
binding
57-
.getFlutterEngine()
58-
.getPlatformViewsController()
59-
.getRegistry()
57+
.getPlatformViewRegistry()
6058
.registerViewFactory(
6159
"plugins.flutter.io/webview", new WebViewFactory(messenger, /*containerView=*/ null));
6260
flutterCookieManager = new FlutterCookieManager(messenger);

packages/webview_flutter/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: webview_flutter
22
description: A Flutter plugin that provides a WebView widget on Android and iOS.
3-
version: 1.0.1
3+
version: 1.0.2
44
homepage: https://github.com/flutter/plugins/tree/master/packages/webview_flutter
55

66
environment:

0 commit comments

Comments
 (0)