Implements LAUNCHER_ITEM_DROP_COMPLETED event.

Assigns InstanceId to match LAUNCHER_ITEM_DROP_COMPLETED, LAUNCHER_ITEM_DRAG_STARTED events.

Sample Log:
2020-05-01 14:07:53.158 18369-18369/com.google.android.apps.nexuslauncher D/StatsLogManager: LAUNCHER_ITEM_DRAG_STARTED(InstanceId:282)
    # com.android.launcher3.logger.LauncherAtom$ItemInfo@c0711fbd
    application {
      component_name: "com.google.android.apps.maps/com.google.android.maps.MapsActivity"
      package_name: "com.google.android.apps.maps"
    }
    container_info {
      workspace {
        grid_x: 2
        grid_y: 1
        page_index: 0
      }
    }
    is_work: false
2020-05-01 14:07:54.308 18369-18369/com.google.android.apps.nexuslauncher D/StatsLogManager: LAUNCHER_ITEM_DROP_COMPLETED(InstanceId:282)
    # com.android.launcher3.logger.LauncherAtom$ItemInfo@90000206
    application {
      component_name: "com.google.android.apps.maps/com.google.android.maps.MapsActivity"
      package_name: "com.google.android.apps.maps"
    }
    container_info {
      workspace {
        grid_x: 0
        grid_y: 4
        page_index: 0
      }
    }
    is_work: false

Bug: 152978018

Change-Id: Ib4fc860e8080edd407ed15b93f7d55ac31328d11
This commit is contained in:
thiruram
2020-05-01 13:54:53 -07:00
parent fc9ea9b0fc
commit 740e2ab12e
2 changed files with 24 additions and 6 deletions

View File

@@ -248,6 +248,8 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
// Handles workspace state transitions
private final WorkspaceStateTransitionAnimation mStateTransitionAnimation;
private final StatsLogManager mStatsLogManager;
/**
* Used to inflate the Workspace from XML.
*
@@ -280,6 +282,7 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
// Disable multitouch across the workspace/all apps/customize tray
setMotionEventSplittingEnabled(true);
setOnTouchListener(new WorkspaceTouchListener(mLauncher, this));
mStatsLogManager = StatsLogManager.newInstance(context);
}
@Override
@@ -359,7 +362,7 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
}
@Override
public void onDragStart(DropTarget.DragObject dragObject, DragOptions options) {
public void onDragStart(DragObject dragObject, DragOptions options) {
if (ENFORCE_DRAG_EVENT_ORDER) {
enforceDragParity("onDragStart", 0, 0);
}
@@ -411,10 +414,10 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
// Always enter the spring loaded mode
mLauncher.getStateManager().goToState(SPRING_LOADED);
StatsLogManager.newInstance(getContext())
.log(
LauncherEvent.LAUNCHER_ITEM_DRAG_STARTED,
dragObject.originalDragInfo.buildProto(null));
mStatsLogManager.log(
LauncherEvent.LAUNCHER_ITEM_DRAG_STARTED,
dragObject.originalDragInfo.id,
dragObject.originalDragInfo.buildProto(null));
}
public void deferRemoveExtraEmptyScreen() {
@@ -1695,6 +1698,7 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
@Override
public void prepareAccessibilityDrop() { }
@Override
public void onDrop(final DragObject d, DragOptions options) {
mDragViewVisualCenter = d.getVisualCenter(mDragViewVisualCenter);
CellLayout dropTargetLayout = mDropToLayout;
@@ -1886,6 +1890,10 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
if (d.stateAnnouncer != null && !droppedOnOriginalCell) {
d.stateAnnouncer.completeAction(R.string.item_moved);
}
mStatsLogManager.log(
LauncherEvent.LAUNCHER_ITEM_DROP_COMPLETED,
d.dragInfo.id,
d.dragInfo.buildProto(null));
}
public void onNoCellFound(View dropTargetLayout) {