diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index 88a27b8e2e..edd88230be 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -135,6 +135,7 @@ import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.InputConsumerController; import com.android.systemui.shared.system.InteractionJankMonitorWrapper; +import com.android.systemui.shared.system.SysUiStatsLog; import com.android.systemui.shared.system.TaskStackChangeListener; import com.android.systemui.shared.system.TaskStackChangeListeners; import com.android.wm.shell.common.TransactionPool; @@ -1345,7 +1346,10 @@ public abstract class AbsSwipeUpHandler, } StatsLogger logger = StatsLogManager.newInstance(mContext).logger() .withSrcState(LAUNCHER_STATE_BACKGROUND) - .withDstState(endTarget.containerType); + .withDstState(endTarget.containerType) + .withInputType(mGestureState.isTrackpadGesture() + ? SysUiStatsLog.LAUNCHER_UICHANGED__INPUT_TYPE__TRACKPAD + : SysUiStatsLog.LAUNCHER_UICHANGED__INPUT_TYPE__TOUCH); if (targetTask != null) { logger.withItemInfo(targetTask.getItemInfo()); } diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java index 4690d94175..298d49a9d2 100644 --- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java @@ -227,6 +227,7 @@ public class StatsLogCompatManager extends StatsLogManager { private SliceItem mSliceItem; private LauncherAtom.Slice mSlice; private Optional mCardinality = Optional.empty(); + private int mInputType = SysUiStatsLog.LAUNCHER_UICHANGED__INPUT_TYPE__UNKNOWN; StatsCompatLogger(Context context, ActivityContext activityContext) { mContext = context; @@ -319,6 +320,12 @@ public class StatsLogCompatManager extends StatsLogManager { return this; } + @Override + public StatsLogger withInputType(int inputType) { + this.mInputType = inputType; + return this; + } + @Override public void log(EventEnum event) { if (!Utilities.ATLEAST_R) { @@ -413,6 +420,7 @@ public class StatsLogCompatManager extends StatsLogManager { InstanceId instanceId = mInstanceId; int srcState = mSrcState; int dstState = mDstState; + int inputType = mInputType; if (IS_VERBOSE) { String name = (event instanceof Enum) ? ((Enum) event).name() : event.getId() + ""; @@ -470,7 +478,8 @@ public class StatsLogCompatManager extends StatsLogManager { cardinality /* cardinality */, getFeatures(atomInfo) /* features */, getSearchAttributes(atomInfo) /* searchAttributes */, - getAttributes(atomInfo) /* attributes */ + getAttributes(atomInfo) /* attributes */, + inputType /* input_type */ ); } } diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java index cf710da484..7f46324e7f 100644 --- a/src/com/android/launcher3/logging/StatsLogManager.java +++ b/src/com/android/launcher3/logging/StatsLogManager.java @@ -769,6 +769,13 @@ public class StatsLogManager implements ResourceBasedOverride { return this; } + /** + * Sets the input type of the log message. + */ + default StatsLogger withInputType(int inputType) { + return this; + } + /** * Builds the final message and logs it as {@link EventEnum}. */