Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90ea00b3 authored by Becky Qiu's avatar Becky Qiu
Browse files

Log the event for swiping up to dismiss a task in Overview.

Test: manual
Bug: 137777105

Demo logging for dismissing a task:
  data {
    elapsed_timestamp_nanos: 70772067228810
    atom {
      launcher_event {
        action: DISMISS_TASK
        src_state: OVERVIEW
        dst_state: BACKGROUND
        is_swipe_up_enabled: true
      }
    }
  }

Change-Id: I5569b80e2e1f35661bc5e9e343c6c298791a1ec1
parent e4061fc9
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -97,6 +97,7 @@ import com.android.launcher3.graphics.RotationMode;
import com.android.launcher3.userevent.nano.LauncherLogProto;
import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Direction;
import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch;
import com.android.launcher3.util.ComponentKey;
import com.android.launcher3.util.OverScroller;
import com.android.launcher3.util.PendingAnimation;
import com.android.launcher3.util.Themes;
@@ -1051,9 +1052,10 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
        if (task != null) {
            ActivityManagerWrapper.getInstance().removeTask(task.key.id);
            if (shouldLog) {
                ComponentKey componentKey = TaskUtils.getLaunchComponentKeyForTask(task.key);
                mActivity.getUserEventDispatcher().logTaskLaunchOrDismiss(
                        onEndListener.logAction, Direction.UP, index,
                        TaskUtils.getLaunchComponentKeyForTask(task.key));
                        onEndListener.logAction, Direction.UP, index, componentKey);
                mActivity.getStatsLogManager().logTaskDismiss(this, componentKey);
            }
        }
    }
+11 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static android.stats.launcher.nano.Launcher.ALLAPPS;
import static android.stats.launcher.nano.Launcher.HOME;
import static android.stats.launcher.nano.Launcher.LAUNCH_APP;
import static android.stats.launcher.nano.Launcher.LAUNCH_TASK;
import static android.stats.launcher.nano.Launcher.DISMISS_TASK;
import static android.stats.launcher.nano.Launcher.BACKGROUND;
import static android.stats.launcher.nano.Launcher.OVERVIEW;

@@ -74,6 +75,16 @@ public class StatsLogCompatManager extends StatsLogManager {
                MessageNano.toByteArray(ext), true);
    }

    @Override
    public void logTaskDismiss(View v, ComponentKey componentKey) {
        LauncherExtension ext = new LauncherExtension();
        ext.srcTarget = new LauncherTarget[SUPPORTED_TARGET_DEPTH];
        int srcState = OVERVIEW;
        fillInLauncherExtension(v, ext);
        StatsLogCompat.write(DISMISS_TASK, srcState, BACKGROUND /* dstState */,
                MessageNano.toByteArray(ext), true);
    }

    public static boolean fillInLauncherExtension(View v, LauncherExtension extension) {
        StatsLogUtils.LogContainerProvider provider = StatsLogUtils.getLaunchProviderRecursive(v);
        if (v == null || !(v.getTag() instanceof ItemInfo) || provider == null) {
+1 −0
Original line number Diff line number Diff line
@@ -40,5 +40,6 @@ public class StatsLogManager implements ResourceBasedOverride {

    public void logAppLaunch(View v, Intent intent) { }
    public void logTaskLaunch(View v, ComponentKey key) { }
    public void logTaskDismiss(View v, ComponentKey key) { }
    public void verify() {}     // TODO: should move into robo tests
}