[quick_actions] Fix Android lint issues (#3885)

Removes lint-baseline.xml and fixes all warnings.

Part of https://github.com/flutter/flutter/issues/88011
diff --git a/packages/quick_actions/quick_actions_android/CHANGELOG.md b/packages/quick_actions/quick_actions_android/CHANGELOG.md
index 32a0fa1..30344bc 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 71bd5b2..942584d 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 @@
         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 e0ecdc8..0000000
--- a/packages/quick_actions/quick_actions_android/android/lint-baseline.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 7.4.2" type="baseline" client="gradle" dependencies="false" name="AGP (7.4.2)" variant="all" version="7.4.2">
-
-    <issue
-        id="DiscouragedApi"
-        message="Use of this function is discouraged because resource reflection makes it harder to perform build optimizations and compile-time verification of code. It is much more efficient to retrieve resources by identifier (e.g. `R.foo.bar`) than by name (e.g. `getIdentifier(&quot;bar&quot;, &quot;foo&quot;, null)`)."
-        errorLine1="    final int resourceId = res.getIdentifier(icon, &quot;drawable&quot;, packageName);"
-        errorLine2="                               ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java"
-            line="149"
-            column="32"/>
-    </issue>
-
-    <issue
-        id="DiscouragedApi"
-        message="Use of this function is discouraged because resource reflection makes it harder to perform build optimizations and compile-time verification of code. It is much more efficient to retrieve resources by identifier (e.g. `R.foo.bar`) than by name (e.g. `getIdentifier(&quot;bar&quot;, &quot;foo&quot;, null)`)."
-        errorLine1="      return res.getIdentifier(icon, &quot;mipmap&quot;, packageName);"
-        errorLine2="                 ~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java"
-            line="152"
-            column="18"/>
-    </issue>
-
-    <issue
-        id="SyntheticAccessor"
-        message="Access to `private` member of class `UiThreadExecutor` requires synthetic accessor"
-        errorLine1="          Executor uiThreadExecutor = new UiThreadExecutor();"
-        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java"
-            line="60"
-            column="39"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
-        errorLine1="  public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registrar registrar) {"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java"
-            line="33"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
-        errorLine1="  public void onAttachedToEngine(FlutterPluginBinding binding) {"
-        errorLine2="                                 ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java"
-            line="39"
-            column="34"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
-        errorLine1="  public void onDetachedFromEngine(FlutterPluginBinding binding) {"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java"
-            line="44"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
-        errorLine1="  public void onAttachedToActivity(ActivityPluginBinding binding) {"
-        errorLine2="                                   ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java"
-            line="49"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
-        errorLine1="  public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) {"
-        errorLine2="                                                     ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java"
-            line="62"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
-        errorLine1="  public boolean onNewIntent(Intent intent) {"
-        errorLine2="                             ~~~~~~">
-        <location
-            file="src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java"
-            line="73"
-            column="30"/>
-    </issue>
-
-</issues>
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 96b141f..c6a0db5 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 @@
   }
 
   @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 @@
     switch (call.method) {
       case "setShortcutItems":
         if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
-          List<Map<String, String>> serializedShortcuts = call.arguments();
+          List<Map<String, String>> serializedShortcuts = Objects.requireNonNull(call.arguments());
           List<ShortcutInfo> shortcuts = deserializeShortcuts(serializedShortcuts);
 
           Executor uiThreadExecutor = new UiThreadExecutor();
           ThreadPoolExecutor executor =
-              new ThreadPoolExecutor(
-                  0, 1, 1, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
+              new ThreadPoolExecutor(0, 1, 1, TimeUnit.SECONDS, new LinkedBlockingQueue<>());
 
           executor.execute(
               () -> {
@@ -140,6 +140,8 @@
     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 @@
         .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 b410878..91950f3 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 @@
    * <p>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 @@
   }
 
   @Override
-  public void onReattachedToActivityForConfigChanges(ActivityPluginBinding binding) {
+  public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) {
     binding.removeOnNewIntentListener(this);
     onAttachedToActivity(binding);
   }
@@ -70,7 +72,7 @@
   }
 
   @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 65f71d6..0c82184 100644
--- a/packages/quick_actions/quick_actions_android/pubspec.yaml
+++ b/packages/quick_actions/quick_actions_android/pubspec.yaml
@@ -2,7 +2,7 @@
 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"