Skip to content

Commit 4ad9646

Browse files
hamdikahlounjorgefspereira
authored andcommitted
Android Code Inspection and Clean up (flutter#3117)
1 parent 37f5727 commit 4ad9646

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
@@ -108,13 +108,16 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
108108
methodChannel.setMethodCallHandler(this);
109109

110110
flutterWebViewClient = new FlutterWebViewClient(methodChannel);
111-
applySettings((Map<String, Object>) params.get("settings"));
111+
Map<String, Object> settings = (Map<String, Object>) params.get("settings");
112+
if (settings != null) applySettings(settings);
112113

113114
if (params.containsKey(JS_CHANNEL_NAMES_FIELD)) {
114-
registerJavaScriptChannelNames((List<String>) params.get(JS_CHANNEL_NAMES_FIELD));
115+
List<String> names = (List<String>) params.get(JS_CHANNEL_NAMES_FIELD);
116+
if (names != null) registerJavaScriptChannelNames(names);
115117
}
116118

117-
updateAutoMediaPlaybackPolicy((Integer) params.get("autoMediaPlaybackPolicy"));
119+
Integer autoMediaPlaybackPolicy = (Integer) params.get("autoMediaPlaybackPolicy");
120+
if (autoMediaPlaybackPolicy != null) updateAutoMediaPlaybackPolicy(autoMediaPlaybackPolicy);
118121
if (params.containsKey("userAgent")) {
119122
String userAgent = (String) params.get("userAgent");
120123
updateUserAgent(userAgent);
@@ -321,7 +324,7 @@ private void getTitle(Result result) {
321324
}
322325

323326
private void scrollTo(MethodCall methodCall, Result result) {
324-
Map<String, Object> request = (Map<String, Object>) methodCall.arguments;
327+
Map<String, Object> request = methodCall.arguments();
325328
int x = (int) request.get("x");
326329
int y = (int) request.get("y");
327330

@@ -331,7 +334,7 @@ private void scrollTo(MethodCall methodCall, Result result) {
331334
}
332335

333336
private void scrollBy(MethodCall methodCall, Result result) {
334-
Map<String, Object> request = (Map<String, Object>) methodCall.arguments;
337+
Map<String, Object> request = methodCall.arguments();
335338
int x = (int) request.get("x");
336339
int y = (int) request.get("y");
337340

@@ -351,7 +354,8 @@ private void applySettings(Map<String, Object> settings) {
351354
for (String key : settings.keySet()) {
352355
switch (key) {
353356
case "jsMode":
354-
updateJsMode((Integer) settings.get(key));
357+
Integer mode = (Integer) settings.get(key);
358+
if (mode != null) updateJsMode(mode);
355359
break;
356360
case "hasNavigationDelegate":
357361
final boolean hasNavigationDelegate = (boolean) settings.get(key);
@@ -364,7 +368,9 @@ private void applySettings(Map<String, Object> settings) {
364368
case "debuggingEnabled":
365369
final boolean debuggingEnabled = (boolean) settings.get(key);
366370

367-
webView.setWebContentsDebuggingEnabled(debuggingEnabled);
371+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
372+
webView.setWebContentsDebuggingEnabled(debuggingEnabled);
373+
}
368374
break;
369375
case "gestureNavigationEnabled":
370376
break;
@@ -397,7 +403,9 @@ private void updateAutoMediaPlaybackPolicy(int mode) {
397403
// This is the index of the AutoMediaPlaybackPolicy enum, index 1 is always_allow, for all
398404
// other values we require a user gesture.
399405
boolean requireUserGesture = mode != 1;
400-
webView.getSettings().setMediaPlaybackRequiresUserGesture(requireUserGesture);
406+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
407+
webView.getSettings().setMediaPlaybackRequiresUserGesture(requireUserGesture);
408+
}
401409
}
402410

403411
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)