diff --git a/packages/quick_actions/quick_actions_android/CHANGELOG.md b/packages/quick_actions/quick_actions_android/CHANGELOG.md index 32a0fa16d40..30344bc2fb1 100644 --- a/packages/quick_actions/quick_actions_android/CHANGELOG.md +++ b/packages/quick_actions/quick_actions_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.5 + +* Fixes Java warnings. + ## 1.0.4 * Fixes compatibility with AGP versions older than 4.2. diff --git a/packages/quick_actions/quick_actions_android/android/build.gradle b/packages/quick_actions/quick_actions_android/android/build.gradle index 71bd5b2d6d2..942584d964d 100644 --- a/packages/quick_actions/quick_actions_android/android/build.gradle +++ b/packages/quick_actions/quick_actions_android/android/build.gradle @@ -36,7 +36,6 @@ android { checkAllWarnings true warningsAsErrors true disable 'AndroidGradlePluginVersion', 'InvalidPackage', 'GradleDependency' - baseline file("lint-baseline.xml") } dependencies { diff --git a/packages/quick_actions/quick_actions_android/android/lint-baseline.xml b/packages/quick_actions/quick_actions_android/android/lint-baseline.xml deleted file mode 100644 index e0ecdc88cde..00000000000 --- a/packages/quick_actions/quick_actions_android/android/lint-baseline.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java b/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java index 96b141fb9c3..c6a0db5d0b1 100644 --- a/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java +++ b/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java @@ -15,11 +15,13 @@ import android.os.Build; import android.os.Handler; import android.os.Looper; +import androidx.annotation.NonNull; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.Executor; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; @@ -27,7 +29,6 @@ class MethodCallHandlerImpl implements MethodChannel.MethodCallHandler { protected static final String EXTRA_ACTION = "some unique action key"; - private static final String CHANNEL_ID = "plugins.flutter.io/quick_actions_android"; private final Context context; private Activity activity; @@ -42,7 +43,7 @@ void setActivity(Activity activity) { } @Override - public void onMethodCall(MethodCall call, MethodChannel.Result result) { + public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) { // We already know that this functionality does not work for anything // 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) { switch (call.method) { case "setShortcutItems": if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) { - List> serializedShortcuts = call.arguments(); + List> serializedShortcuts = Objects.requireNonNull(call.arguments()); List shortcuts = deserializeShortcuts(serializedShortcuts); Executor uiThreadExecutor = new UiThreadExecutor(); ThreadPoolExecutor executor = - new ThreadPoolExecutor( - 0, 1, 1, TimeUnit.SECONDS, new LinkedBlockingQueue()); + new ThreadPoolExecutor(0, 1, 1, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); executor.execute( () -> { @@ -140,6 +140,8 @@ private List deserializeShortcuts(List> shortc return shortcutInfos; } + // This method requires doing dynamic resource lookup, which is a discouraged API. + @SuppressWarnings("DiscouragedApi") private int loadResourceId(Context context, String icon) { if (icon == null) { return 0; @@ -167,7 +169,7 @@ private Intent getIntentToOpenMainActivity(String type) { .addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); } - private static class UiThreadExecutor implements Executor { + static class UiThreadExecutor implements Executor { private final Handler handler = new Handler(Looper.getMainLooper()); @Override diff --git a/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java b/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java index b4108781688..91950f3d799 100644 --- a/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java +++ b/packages/quick_actions/quick_actions_android/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java @@ -9,6 +9,7 @@ import android.content.Intent; import android.content.pm.ShortcutManager; import android.os.Build; +import androidx.annotation.NonNull; import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.embedding.engine.plugins.activity.ActivityAware; import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; @@ -30,23 +31,24 @@ public class QuickActionsPlugin implements FlutterPlugin, ActivityAware, NewInte * Must be called when the application is created. */ @SuppressWarnings("deprecation") - public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registrar registrar) { + public static void registerWith( + @NonNull io.flutter.plugin.common.PluginRegistry.Registrar registrar) { final QuickActionsPlugin plugin = new QuickActionsPlugin(); plugin.setupChannel(registrar.messenger(), registrar.context(), registrar.activity()); } @Override - public void onAttachedToEngine(FlutterPluginBinding binding) { + public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { setupChannel(binding.getBinaryMessenger(), binding.getApplicationContext(), null); } @Override - public void onDetachedFromEngine(FlutterPluginBinding binding) { + public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { teardownChannel(); } @Override - public void onAttachedToActivity(ActivityPluginBinding binding) { + public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) { activity = binding.getActivity(); handler.setActivity(activity); binding.addOnNewIntentListener(this); @@ -59,7 +61,7 @@ public void onDetachedFromActivity() { } @Override - public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) { + public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) { binding.removeOnNewIntentListener(this); onAttachedToActivity(binding); } @@ -70,7 +72,7 @@ public void onDetachedFromActivityForConfigChanges() { } @Override - public boolean onNewIntent(Intent intent) { + public boolean onNewIntent(@NonNull Intent intent) { // Do nothing for anything lower than API 25 as the functionality isn't supported. if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) { return false; diff --git a/packages/quick_actions/quick_actions_android/pubspec.yaml b/packages/quick_actions/quick_actions_android/pubspec.yaml index 65f71d6b157..0c821849874 100644 --- a/packages/quick_actions/quick_actions_android/pubspec.yaml +++ b/packages/quick_actions/quick_actions_android/pubspec.yaml @@ -2,7 +2,7 @@ name: quick_actions_android description: An implementation for the Android platform of the Flutter `quick_actions` plugin. repository: https://github.com/flutter/packages/tree/main/packages/quick_actions/quick_actions_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 1.0.4 +version: 1.0.5 environment: sdk: ">=2.17.0 <4.0.0"
Must be called when the application is created. */ @SuppressWarnings("deprecation") - public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registrar registrar) { + public static void registerWith( + @NonNull io.flutter.plugin.common.PluginRegistry.Registrar registrar) { final QuickActionsPlugin plugin = new QuickActionsPlugin(); plugin.setupChannel(registrar.messenger(), registrar.context(), registrar.activity()); } @Override - public void onAttachedToEngine(FlutterPluginBinding binding) { + public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { setupChannel(binding.getBinaryMessenger(), binding.getApplicationContext(), null); } @Override - public void onDetachedFromEngine(FlutterPluginBinding binding) { + public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { teardownChannel(); } @Override - public void onAttachedToActivity(ActivityPluginBinding binding) { + public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) { activity = binding.getActivity(); handler.setActivity(activity); binding.addOnNewIntentListener(this); @@ -59,7 +61,7 @@ public void onDetachedFromActivity() { } @Override - public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) { + public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) { binding.removeOnNewIntentListener(this); onAttachedToActivity(binding); } @@ -70,7 +72,7 @@ public void onDetachedFromActivityForConfigChanges() { } @Override - public boolean onNewIntent(Intent intent) { + public boolean onNewIntent(@NonNull Intent intent) { // Do nothing for anything lower than API 25 as the functionality isn't supported. if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) { return false; diff --git a/packages/quick_actions/quick_actions_android/pubspec.yaml b/packages/quick_actions/quick_actions_android/pubspec.yaml index 65f71d6b157..0c821849874 100644 --- a/packages/quick_actions/quick_actions_android/pubspec.yaml +++ b/packages/quick_actions/quick_actions_android/pubspec.yaml @@ -2,7 +2,7 @@ name: quick_actions_android description: An implementation for the Android platform of the Flutter `quick_actions` plugin. repository: https://github.com/flutter/packages/tree/main/packages/quick_actions/quick_actions_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 1.0.4 +version: 1.0.5 environment: sdk: ">=2.17.0 <4.0.0"