Ignore "forceDelay" option for packages that are not running.

Technically, we can make it work for all packages but limiting
to running packages is sufficient for now and we can revisit
if we need to apply this for all packages.

Bug: 262444203
Test: TH
Change-Id: Ie5769d5e1ce1badae4c52cd2b3b2e2ce6f067d48
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 2d6eaf1..cf07114 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -5310,6 +5310,9 @@
      * <p> When {@code delayedDurationMs} is {@code 0}, it will clears any previously
      * set forced delays.
      *
+     * <p><b>Note: This method is only intended for testing and it only
+     * works for packages that are already running.
+     *
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.DUMP)
diff --git a/services/core/java/com/android/server/am/BroadcastProcessQueue.java b/services/core/java/com/android/server/am/BroadcastProcessQueue.java
index 7013df1..7e404be 100644
--- a/services/core/java/com/android/server/am/BroadcastProcessQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastProcessQueue.java
@@ -425,8 +425,9 @@
     /**
      * Get package name of the first application loaded into this process.
      */
+    @Nullable
     public String getPackageName() {
-        return app.getApplicationInfo().packageName;
+        return app == null ? null : app.getApplicationInfo().packageName;
     }
 
     /**