Log shortcuts open on ACTION_UP instead of in showForIcon().

- We only want to log when the container is opened and potentially
  used, not when a long press is followed by a drag-and-drop.
- Also cleaned up code that was determining the container of the
  app icon, since LaunchSourceProvider.fillInLaunchSourceData()
  can do that instead (it's more robust and consistent).

Bug: 30791570
Change-Id: I05b6750f26182fda8a9940ac66f1371c2d228ca9
This commit is contained in:
Tony Wickham
2016-08-10 16:06:22 -07:00
parent 37aba27bbc
commit be06874c81
3 changed files with 10 additions and 36 deletions

View File

@@ -147,12 +147,14 @@ public class UserEventDispatcher {
dispatchUserEvent(event, null);
}
public void logDeepShortcutsOpen(int containerType) {
public void logDeepShortcutsOpen(View icon) {
LauncherEvent event = LoggerUtils.initLauncherEvent(
Action.TOUCH, Target.ITEM, Target.CONTAINER);
event.action.touch = Action.LONGPRESS;
LaunchSourceProvider provider = getLaunchProviderRecursive(icon);
ItemInfo info = (ItemInfo) icon.getTag();
provider.fillInLaunchSourceData(icon, info, event.srcTarget[0], event.srcTarget[1]);
event.srcTarget[0].itemType = LauncherLogProto.DEEPSHORTCUT;
event.srcTarget[1].containerType = containerType;
event.action.touch = Action.LONGPRESS;
event.elapsedContainerMillis = System.currentTimeMillis() - mElapsedContainerMillis;
event.elapsedSessionMillis = System.currentTimeMillis() - mElapsedSessionMillis;
dispatchUserEvent(event, null);