Dumping TIS state on failures

Bug: 156287114
Change-Id: Ib438aae3cc4682b1f1c958e59337c095480d910a
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 9c92a26..ef69448 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -437,15 +437,7 @@
             }
         }
 
-        try {
-            Log.e("b/156287114", "Input:");
-            for (String line : mDevice.executeShellCommand("dumpsys input").split("\\n")) {
-                SystemClock.sleep(10);
-                Log.d("b/156287114", line);
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+        dumpDiagnostics();
 
         log("Hierarchy dump for: " + message);
         dumpViewHierarchy();
@@ -453,6 +445,24 @@
         return message;
     }
 
+    private void dumpDiagnostics() {
+        Log.e("b/156287114", "Input:");
+        logShellCommand("dumpsys input");
+        Log.e("b/156287114", "TIS:");
+        logShellCommand("dumpsys activity service TouchInteractionService");
+    }
+
+    private void logShellCommand(String command) {
+        try {
+            for (String line : mDevice.executeShellCommand(command).split("\\n")) {
+                SystemClock.sleep(10);
+                Log.d("b/156287114", line);
+            }
+        } catch (IOException e) {
+            Log.d("b/156287114", "Failed to execute " + command);
+        }
+    }
+
     private void fail(String message) {
         checkForAnomaly();
         Assert.fail(formatSystemHealthMessage(formatErrorWithEvents(
@@ -1335,17 +1345,7 @@
                 if (mCheckEventsForSuccessfulGestures) {
                     final String message = sEventChecker.verify(WAIT_TIME_MS, true);
                     if (message != null) {
-                        try {
-                            Log.e("b/156287114", "Input:");
-                            for (String line : mDevice.executeShellCommand("dumpsys input").split(
-                                    "\\n")) {
-                                SystemClock.sleep(10);
-                                Log.d("b/156287114", line);
-                            }
-                        } catch (IOException e) {
-                            e.printStackTrace();
-                        }
-
+                        dumpDiagnostics();
                         checkForAnomaly();
                         Assert.fail(formatSystemHealthMessage(
                                 "http://go/tapl : successful gesture produced " + message));