Prevent NPEs when no focusable stack.

Fallback to home stack when no focusable stack
(e.g. launcher force stopped & enter PIP mode with no other app task),
Fix NPEs for logWindowState & getTopRunningActivity from null stack.

Change-Id: I0a0134661dfc20ff844a0bc19ce6833242f4a865
Fixes: 110078217
Test: Manual
Test: atest ActivityStackSupervisorTests ActivityStackTests ActivityStarterTests
diff --git a/services/core/java/com/android/server/am/ActivityMetricsLogger.java b/services/core/java/com/android/server/am/ActivityMetricsLogger.java
index 47d0423..6d7b4fd 100644
--- a/services/core/java/com/android/server/am/ActivityMetricsLogger.java
+++ b/services/core/java/com/android/server/am/ActivityMetricsLogger.java
@@ -185,6 +185,10 @@
 
         mWindowState = WINDOW_STATE_INVALID;
         ActivityStack stack = mSupervisor.getFocusedStack();
+        if (stack == null) {
+            return;
+        }
+
         if (stack.isActivityTypeAssistant()) {
             mWindowState = WINDOW_STATE_ASSISTANT;
             return;