Diagnosing launcher visible state in TAPL

Bug: 133891845
Change-Id: Ibdd959f50668fd6eeb5e48dacc370a054057b7fc
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 55ccb1c..22be594 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -270,11 +270,21 @@
             return "System alert popup is visible: " + object.getText();
         }
 
+        if (hasSystemUiObject("keyguard_status_view")) return "Phone is locked";
+
         if (!mDevice.hasObject(By.textStartsWith(""))) return "Screen is empty";
 
         return null;
     }
 
+    private String getVisibleStateMessage() {
+        if (hasLauncherObject(WIDGETS_RES_ID)) return "Widgets";
+        if (hasLauncherObject(OVERVIEW_RES_ID)) return "Overview";
+        if (hasLauncherObject(WORKSPACE_RES_ID)) return "Workspace";
+        if (hasLauncherObject(APPS_RES_ID)) return "AllApps";
+        return "Background";
+    }
+
     private static String truncateCrash(String text, int maxLines) {
         String[] lines = text.split("\\r?\\n");
         StringBuilder ret = new StringBuilder();
@@ -354,7 +364,11 @@
         message = "http://go/tapl : " + getContextDescription() + message;
 
         final String anomaly = getAnomalyMessage();
-        if (anomaly != null) message = anomaly + ", which causes:\n" + message;
+        if (anomaly != null) {
+            message = anomaly + ", which causes:\n" + message;
+        } else {
+            message = message + " (visible state: " + getVisibleStateMessage() + ")";
+        }
 
         final String systemHealth = getSystemHealthMessage();
         if (systemHealth != null) {