Add user event logging for action on search box
b/31772967

Change-Id: Ide652ddfad931e392b21f5a2bbdf9f07729d0383
diff --git a/protos/launcher_log.proto b/protos/launcher_log.proto
index 3730555..448cf64 100644
--- a/protos/launcher_log.proto
+++ b/protos/launcher_log.proto
@@ -62,6 +62,7 @@
   WIDGET = 3;
   FOLDER_ICON = 4;
   DEEPSHORTCUT = 5;
+  SEARCHBOX = 6;
 }
 
 // Used to define what type of container a Target would represent.
diff --git a/src/com/android/launcher3/logging/UserEventDispatcher.java b/src/com/android/launcher3/logging/UserEventDispatcher.java
index 0356a9c..b5da049 100644
--- a/src/com/android/launcher3/logging/UserEventDispatcher.java
+++ b/src/com/android/launcher3/logging/UserEventDispatcher.java
@@ -37,6 +37,9 @@
 
 /**
  * Manages the creation of {@link LauncherEvent}.
+ * To debug this class, execute following command before sideloading a new apk.
+ *
+ * $ adb shell setprop log.tag.UserEvent VERBOSE
  */
 public class UserEventDispatcher {
 
@@ -152,6 +155,15 @@
         dispatchUserEvent(ev, intent);
     }
 
+    public void logActionOnItem(int action, int itemType) {
+        LauncherEvent event = LoggerUtils.initLauncherEvent(Action.TOUCH, Target.ITEM);
+        event.action.touch = action;
+        event.srcTarget[0].itemType = itemType;
+        event.elapsedContainerMillis = SystemClock.uptimeMillis() - mElapsedContainerMillis;
+        event.elapsedSessionMillis = SystemClock.uptimeMillis() - mElapsedSessionMillis;
+        dispatchUserEvent(event, null);
+    }
+
     public void logActionOnControl(int action, int controlType) {
         LauncherEvent event = LoggerUtils.initLauncherEvent(Action.TOUCH, Target.CONTROL);
         event.action.touch = action;