Skip to content

Commit d5801ea

Browse files
[webview_flutter_android] Fix Android lint warnings (#3675)
[webview_flutter_android] Fix Android lint warnings
1 parent 38f7714 commit d5801ea

36 files changed

+333
-4357
lines changed

packages/webview_flutter/webview_flutter_android/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 3.5.1
2+
3+
* Updates pigeon dev dependency to `9.2.4`.
4+
* Fixes Android lint warnings.
5+
16
## 3.5.0
27

38
* Adds support for `PlatformNavigationDelegate.onUrlChange`.

packages/webview_flutter/webview_flutter_android/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ import io.flutter.plugins.webviewflutter.WebViewFlutterAndroidExternalApi;
5757
This package uses [pigeon][3] to generate the communication layer between Flutter and the host
5858
platform (Android). The communication interface is defined in the `pigeons/android_webview.dart`
5959
file. After editing the communication interface regenerate the communication layer by running
60-
`flutter pub run pigeon --input pigeons/android_webview.dart`.
60+
`dart run pigeon --input pigeons/android_webview.dart`.
6161

6262
Besides [pigeon][3] this package also uses [mockito][4] to generate mock objects for testing
6363
purposes. To generate the mock objects run the following command:
6464
```bash
65-
flutter pub run build_runner build --delete-conflicting-outputs
65+
dart run build_runner build --delete-conflicting-outputs
6666
```
6767

6868
If you would like to contribute to the plugin, check out our [contribution guide][5].

packages/webview_flutter/webview_flutter_android/android/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ android {
3333
checkAllWarnings true
3434
warningsAsErrors true
3535
disable 'AndroidGradlePluginVersion', 'InvalidPackage', 'GradleDependency'
36-
baseline file("lint-baseline.xml")
3736
}
3837

3938
dependencies {

packages/webview_flutter/webview_flutter_android/android/lint-baseline.xml

Lines changed: 0 additions & 4107 deletions
This file was deleted.

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66

77
import android.os.Build;
88
import android.webkit.CookieManager;
9+
import androidx.annotation.NonNull;
10+
import io.flutter.plugins.webviewflutter.GeneratedAndroidWebView.CookieManagerHostApi;
911

10-
class CookieManagerHostApiImpl implements GeneratedAndroidWebView.CookieManagerHostApi {
12+
class CookieManagerHostApiImpl implements CookieManagerHostApi {
1113
@Override
12-
public void clearCookies(GeneratedAndroidWebView.Result<Boolean> result) {
14+
public void clearCookies(@NonNull GeneratedAndroidWebView.Result<Boolean> result) {
1315
CookieManager cookieManager = CookieManager.getInstance();
1416
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
1517
cookieManager.removeAllCookies(result::success);
@@ -19,7 +21,7 @@ public void clearCookies(GeneratedAndroidWebView.Result<Boolean> result) {
1921
}
2022

2123
@Override
22-
public void setCookie(String url, String value) {
24+
public void setCookie(@NonNull String url, @NonNull String value) {
2325
CookieManager.getInstance().setCookie(url, value);
2426
}
2527

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import static android.hardware.display.DisplayManager.DisplayListener;
88

9-
import android.annotation.TargetApi;
109
import android.hardware.display.DisplayManager;
1110
import android.os.Build;
1211
import android.util.Log;
@@ -39,7 +38,6 @@
3938
* first initialization of a webview within the process the difference between the lists is the
4039
* webview's display listener.
4140
*/
42-
@TargetApi(Build.VERSION_CODES.KITKAT)
4341
class DisplayListenerProxy {
4442
private static final String TAG = "DisplayListenerProxy";
4543

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package io.flutter.plugins.webviewflutter;
66

77
import android.webkit.DownloadListener;
8+
import androidx.annotation.NonNull;
89
import io.flutter.plugin.common.BinaryMessenger;
910
import io.flutter.plugins.webviewflutter.GeneratedAndroidWebView.DownloadListenerFlutterApi;
1011

@@ -23,20 +24,20 @@ public class DownloadListenerFlutterApiImpl extends DownloadListenerFlutterApi {
2324
* @param instanceManager maintains instances stored to communicate with Dart objects
2425
*/
2526
public DownloadListenerFlutterApiImpl(
26-
BinaryMessenger binaryMessenger, InstanceManager instanceManager) {
27+
@NonNull BinaryMessenger binaryMessenger, @NonNull InstanceManager instanceManager) {
2728
super(binaryMessenger);
2829
this.instanceManager = instanceManager;
2930
}
3031

3132
/** Passes arguments from {@link DownloadListener#onDownloadStart} to Dart. */
3233
public void onDownloadStart(
33-
DownloadListener downloadListener,
34-
String url,
35-
String userAgent,
36-
String contentDisposition,
37-
String mimetype,
34+
@NonNull DownloadListener downloadListener,
35+
@NonNull String url,
36+
@NonNull String userAgent,
37+
@NonNull String contentDisposition,
38+
@NonNull String mimetype,
3839
long contentLength,
39-
Reply<Void> callback) {
40+
@NonNull Reply<Void> callback) {
4041
onDownloadStart(
4142
getIdentifierForListener(downloadListener),
4243
url,

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ public DownloadListenerImpl(@NonNull DownloadListenerFlutterApiImpl flutterApi)
3535

3636
@Override
3737
public void onDownloadStart(
38-
String url,
39-
String userAgent,
40-
String contentDisposition,
41-
String mimetype,
38+
@NonNull String url,
39+
@NonNull String userAgent,
40+
@NonNull String contentDisposition,
41+
@NonNull String mimetype,
4242
long contentLength) {
4343
flutterApi.onDownloadStart(
4444
this, url, userAgent, contentDisposition, mimetype, contentLength, reply -> {});
@@ -53,7 +53,9 @@ public static class DownloadListenerCreator {
5353
* @param flutterApi handles sending messages to Dart
5454
* @return the created {@link DownloadListenerImpl}
5555
*/
56-
public DownloadListenerImpl createDownloadListener(DownloadListenerFlutterApiImpl flutterApi) {
56+
@NonNull
57+
public DownloadListenerImpl createDownloadListener(
58+
@NonNull DownloadListenerFlutterApiImpl flutterApi) {
5759
return new DownloadListenerImpl(flutterApi);
5860
}
5961
}
@@ -66,16 +68,16 @@ public DownloadListenerImpl createDownloadListener(DownloadListenerFlutterApiImp
6668
* @param flutterApi handles sending messages to Dart
6769
*/
6870
public DownloadListenerHostApiImpl(
69-
InstanceManager instanceManager,
70-
DownloadListenerCreator downloadListenerCreator,
71-
DownloadListenerFlutterApiImpl flutterApi) {
71+
@NonNull InstanceManager instanceManager,
72+
@NonNull DownloadListenerCreator downloadListenerCreator,
73+
@NonNull DownloadListenerFlutterApiImpl flutterApi) {
7274
this.instanceManager = instanceManager;
7375
this.downloadListenerCreator = downloadListenerCreator;
7476
this.flutterApi = flutterApi;
7577
}
7678

7779
@Override
78-
public void create(Long instanceId) {
80+
public void create(@NonNull Long instanceId) {
7981
final DownloadListener downloadListener =
8082
downloadListenerCreator.createDownloadListener(flutterApi);
8183
instanceManager.addDartCreatedInstance(downloadListener, instanceId);

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import android.os.Build;
88
import android.webkit.WebChromeClient;
9+
import androidx.annotation.NonNull;
910
import androidx.annotation.RequiresApi;
1011
import io.flutter.plugin.common.BinaryMessenger;
1112
import java.util.Arrays;
@@ -28,7 +29,7 @@ public class FileChooserParamsFlutterApiImpl
2829
* @param instanceManager maintains instances stored to communicate with Dart objects
2930
*/
3031
public FileChooserParamsFlutterApiImpl(
31-
BinaryMessenger binaryMessenger, InstanceManager instanceManager) {
32+
@NonNull BinaryMessenger binaryMessenger, @NonNull InstanceManager instanceManager) {
3233
super(binaryMessenger);
3334
this.instanceManager = instanceManager;
3435
}
@@ -58,7 +59,8 @@ private static GeneratedAndroidWebView.FileChooserModeEnumData toFileChooserEnum
5859
* Stores the FileChooserParams instance and notifies Dart to create a new FileChooserParams
5960
* instance that is attached to this one.
6061
*/
61-
public void create(WebChromeClient.FileChooserParams instance, Reply<Void> callback) {
62+
public void create(
63+
@NonNull WebChromeClient.FileChooserParams instance, @NonNull Reply<Void> callback) {
6264
if (!instanceManager.containsInstance(instance)) {
6365
create(
6466
instanceManager.addHostCreatedInstance(instance),

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.io.IOException;
1212

1313
/** Provides access to the assets registered as part of the App bundle. */
14+
@SuppressWarnings({"deprecation", "DeprecatedIsStillUsed"})
1415
abstract class FlutterAssetManager {
1516
final AssetManager assetManager;
1617

0 commit comments

Comments
 (0)