Skip to content

Commit 2642249

Browse files
[quick_actions] Fix Android lint issues (#3885)
Removes lint-baseline.xml and fixes all warnings. Part of flutter/flutter#88011
1 parent 4c4bb46 commit 2642249

File tree

6 files changed

+21
-117
lines changed

6 files changed

+21
-117
lines changed

packages/quick_actions/quick_actions_android/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.5
2+
3+
* Fixes Java warnings.
4+
15
## 1.0.4
26

37
* Fixes compatibility with AGP versions older than 4.2.

packages/quick_actions/quick_actions_android/android/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ android {
3636
checkAllWarnings true
3737
warningsAsErrors true
3838
disable 'AndroidGradlePluginVersion', 'InvalidPackage', 'GradleDependency'
39-
baseline file("lint-baseline.xml")
4039
}
4140

4241
dependencies {

packages/quick_actions/quick_actions_android/android/lint-baseline.xml

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

packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,20 @@
1515
import android.os.Build;
1616
import android.os.Handler;
1717
import android.os.Looper;
18+
import androidx.annotation.NonNull;
1819
import io.flutter.plugin.common.MethodCall;
1920
import io.flutter.plugin.common.MethodChannel;
2021
import java.util.ArrayList;
2122
import java.util.List;
2223
import java.util.Map;
24+
import java.util.Objects;
2325
import java.util.concurrent.Executor;
2426
import java.util.concurrent.LinkedBlockingQueue;
2527
import java.util.concurrent.ThreadPoolExecutor;
2628
import java.util.concurrent.TimeUnit;
2729

2830
class MethodCallHandlerImpl implements MethodChannel.MethodCallHandler {
2931
protected static final String EXTRA_ACTION = "some unique action key";
30-
private static final String CHANNEL_ID = "plugins.flutter.io/quick_actions_android";
3132

3233
private final Context context;
3334
private Activity activity;
@@ -42,7 +43,7 @@ void setActivity(Activity activity) {
4243
}
4344

4445
@Override
45-
public void onMethodCall(MethodCall call, MethodChannel.Result result) {
46+
public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) {
4647
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) {
4748
// We already know that this functionality does not work for anything
4849
// lower than API 25 so we chose not to return error. Instead we do nothing.
@@ -54,13 +55,12 @@ public void onMethodCall(MethodCall call, MethodChannel.Result result) {
5455
switch (call.method) {
5556
case "setShortcutItems":
5657
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
57-
List<Map<String, String>> serializedShortcuts = call.arguments();
58+
List<Map<String, String>> serializedShortcuts = Objects.requireNonNull(call.arguments());
5859
List<ShortcutInfo> shortcuts = deserializeShortcuts(serializedShortcuts);
5960

6061
Executor uiThreadExecutor = new UiThreadExecutor();
6162
ThreadPoolExecutor executor =
62-
new ThreadPoolExecutor(
63-
0, 1, 1, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
63+
new ThreadPoolExecutor(0, 1, 1, TimeUnit.SECONDS, new LinkedBlockingQueue<>());
6464

6565
executor.execute(
6666
() -> {
@@ -140,6 +140,8 @@ private List<ShortcutInfo> deserializeShortcuts(List<Map<String, String>> shortc
140140
return shortcutInfos;
141141
}
142142

143+
// This method requires doing dynamic resource lookup, which is a discouraged API.
144+
@SuppressWarnings("DiscouragedApi")
143145
private int loadResourceId(Context context, String icon) {
144146
if (icon == null) {
145147
return 0;
@@ -167,7 +169,7 @@ private Intent getIntentToOpenMainActivity(String type) {
167169
.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
168170
}
169171

170-
private static class UiThreadExecutor implements Executor {
172+
static class UiThreadExecutor implements Executor {
171173
private final Handler handler = new Handler(Looper.getMainLooper());
172174

173175
@Override

packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.content.Intent;
1010
import android.content.pm.ShortcutManager;
1111
import android.os.Build;
12+
import androidx.annotation.NonNull;
1213
import io.flutter.embedding.engine.plugins.FlutterPlugin;
1314
import io.flutter.embedding.engine.plugins.activity.ActivityAware;
1415
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
@@ -30,23 +31,24 @@ public class QuickActionsPlugin implements FlutterPlugin, ActivityAware, NewInte
3031
* <p>Must be called when the application is created.
3132
*/
3233
@SuppressWarnings("deprecation")
33-
public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registrar registrar) {
34+
public static void registerWith(
35+
@NonNull io.flutter.plugin.common.PluginRegistry.Registrar registrar) {
3436
final QuickActionsPlugin plugin = new QuickActionsPlugin();
3537
plugin.setupChannel(registrar.messenger(), registrar.context(), registrar.activity());
3638
}
3739

3840
@Override
39-
public void onAttachedToEngine(FlutterPluginBinding binding) {
41+
public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
4042
setupChannel(binding.getBinaryMessenger(), binding.getApplicationContext(), null);
4143
}
4244

4345
@Override
44-
public void onDetachedFromEngine(FlutterPluginBinding binding) {
46+
public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
4547
teardownChannel();
4648
}
4749

4850
@Override
49-
public void onAttachedToActivity(ActivityPluginBinding binding) {
51+
public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {
5052
activity = binding.getActivity();
5153
handler.setActivity(activity);
5254
binding.addOnNewIntentListener(this);
@@ -59,7 +61,7 @@ public void onDetachedFromActivity() {
5961
}
6062

6163
@Override
62-
public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) {
64+
public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) {
6365
binding.removeOnNewIntentListener(this);
6466
onAttachedToActivity(binding);
6567
}
@@ -70,7 +72,7 @@ public void onDetachedFromActivityForConfigChanges() {
7072
}
7173

7274
@Override
73-
public boolean onNewIntent(Intent intent) {
75+
public boolean onNewIntent(@NonNull Intent intent) {
7476
// Do nothing for anything lower than API 25 as the functionality isn't supported.
7577
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) {
7678
return false;

packages/quick_actions/quick_actions_android/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: quick_actions_android
22
description: An implementation for the Android platform of the Flutter `quick_actions` plugin.
33
repository: https://github.com/flutter/packages/tree/main/packages/quick_actions/quick_actions_android
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22
5-
version: 1.0.4
5+
version: 1.0.5
66

77
environment:
88
sdk: ">=2.17.0 <4.0.0"

0 commit comments

Comments
 (0)