From 2f733b6ce9a7d08fe00d7a79cab553d857e66a64 Mon Sep 17 00:00:00 2001 From: Thiru Ramasamy Date: Tue, 8 Mar 2022 15:46:05 -0800 Subject: [PATCH] [OneSearch] Add LAUNCHER_ALLAPPS_SCROLLED event. * Simplified logcat message * Log latency events with different tag to help filter event logs from latency logs. Bug: 210792253 Test: wwdebug && wwlogcat - http://gpaste/6546219850530816 Change-Id: I975a7140d14d3cb45f50d7db64aac3fa83ccd389 --- .../logging/StatsLogCompatManager.java | 39 ++++++++++++------- .../allapps/AllAppsRecyclerView.java | 2 + .../launcher3/logging/StatsLogManager.java | 6 ++- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java index d85515aef0..f6002ec10a 100644 --- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java +++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java @@ -19,6 +19,7 @@ package com.android.quickstep.logging; import static androidx.core.util.Preconditions.checkNotNull; import static androidx.core.util.Preconditions.checkState; +import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_NON_ACTIONABLE; import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.EXTENDED_CONTAINERS; import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.FOLDER; import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.SEARCH_RESULT_CONTAINER; @@ -82,6 +83,7 @@ import java.util.concurrent.CopyOnWriteArrayList; public class StatsLogCompatManager extends StatsLogManager { private static final String TAG = "StatsLog"; + private static final String LATENCY_TAG = "StatsLatencyLog"; private static final boolean IS_VERBOSE = Utilities.isPropertyEnabled(LogConfig.STATSLOG); private static final InstanceId DEFAULT_INSTANCE_ID = InstanceId.fakeInstanceId(0); // LauncherAtom.ItemInfo.getDefaultInstance() should be used but until launcher proto migrates @@ -196,7 +198,9 @@ public class StatsLogCompatManager extends StatsLogManager { private static class StatsCompatLogger implements StatsLogger { private static final ItemInfo DEFAULT_ITEM_INFO = new ItemInfo(); - + static { + DEFAULT_ITEM_INFO.itemType = ITEM_TYPE_NON_ACTIONABLE; + } private final Context mContext; private final Optional mActivityContext; private ItemInfo mItemInfo = DEFAULT_ITEM_INFO; @@ -388,13 +392,21 @@ public class StatsLogCompatManager extends StatsLogManager { if (IS_VERBOSE) { String name = (event instanceof Enum) ? ((Enum) event).name() : event.getId() + ""; - - Log.d(TAG, instanceId == DEFAULT_INSTANCE_ID - ? String.format("\n%s (State:%s->%s)\n%s", name, getStateString(srcState), - getStateString(dstState), atomInfo) - : String.format("\n%s (State:%s->%s) (InstanceId:%s)\n%s", name, - getStateString(srcState), getStateString(dstState), instanceId, - atomInfo)); + StringBuilder logStringBuilder = new StringBuilder("\n"); + if (instanceId != DEFAULT_INSTANCE_ID) { + logStringBuilder.append(String.format("InstanceId:%s ", instanceId)); + } + logStringBuilder.append(name); + if (srcState != LAUNCHER_STATE_UNSPECIFIED + || dstState != LAUNCHER_STATE_UNSPECIFIED) { + logStringBuilder.append( + String.format("(State:%s->%s)", getStateString(srcState), + getStateString(dstState))); + } + if (mItemInfo != DEFAULT_ITEM_INFO) { + logStringBuilder.append("\n").append(atomInfo); + } + Log.d(TAG, logStringBuilder.toString()); } for (StatsLogConsumer consumer : LOGS_CONSUMER) { @@ -479,11 +491,12 @@ public class StatsLogCompatManager extends StatsLogManager { if (IS_VERBOSE) { String name = (event instanceof Enum) ? ((Enum) event).name() : event.getId() + ""; - - Log.d(TAG, mInstanceId == DEFAULT_INSTANCE_ID - ? String.format("\n%s = %dms\n", name, mLatencyInMillis) - : String.format("\n%s = %dms (InstanceId:%s)\n", name, - mLatencyInMillis, mInstanceId)); + StringBuilder logStringBuilder = new StringBuilder("\n"); + if (mInstanceId != DEFAULT_INSTANCE_ID) { + logStringBuilder.append(String.format("InstanceId:%s ", mInstanceId)); + } + logStringBuilder.append(String.format("%s=%sms", name, mLatencyInMillis)); + Log.d(LATENCY_TAG, logStringBuilder.toString()); } SysUiStatsLog.write(SysUiStatsLog.LAUNCHER_LATENCY, diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java index c2cb845f0d..7dbe711716 100644 --- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java +++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java @@ -19,6 +19,7 @@ import static android.view.View.MeasureSpec.EXACTLY; import static android.view.View.MeasureSpec.UNSPECIFIED; import static android.view.View.MeasureSpec.makeMeasureSpec; +import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_SCROLLED; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_VERTICAL_SWIPE_BEGIN; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_VERTICAL_SWIPE_END; import static com.android.launcher3.util.LogConfig.SEARCH_LOGGING; @@ -203,6 +204,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView { StatsLogManager mgr = ActivityContext.lookupContext(getContext()).getStatsLogManager(); switch (state) { case SCROLL_STATE_DRAGGING: + mgr.logger().log(LAUNCHER_ALLAPPS_SCROLLED); requestFocus(); mgr.logger().sendToInteractionJankMonitor( LAUNCHER_ALLAPPS_VERTICAL_SWIPE_BEGIN, this); diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java index 0c1ba8b781..f392e95b5f 100644 --- a/src/com/android/launcher3/logging/StatsLogManager.java +++ b/src/com/android/launcher3/logging/StatsLogManager.java @@ -527,7 +527,11 @@ public class StatsLogManager implements ResourceBasedOverride { LAUNCHER_TASKBAR_LONGPRESS_SHOW(897), @UiEvent(doc = "User clicks on the search icon on header to launch search in app.") - LAUNCHER_ALLAPPS_SEARCHINAPP_LAUNCH(913); + LAUNCHER_ALLAPPS_SEARCHINAPP_LAUNCH(913), + + @UiEvent(doc = "User scrolled on one of the all apps surfaces such as A-Z list, search " + + "result page etc.") + LAUNCHER_ALLAPPS_SCROLLED(985); // ADD MORE