From 694407ce0849827625bcbad305274132aeb325d0 Mon Sep 17 00:00:00 2001 From: Thiru Ramasamy Date: Tue, 8 Mar 2022 12:11:24 -0800 Subject: [PATCH] Make AllAppsEntry and exit events optional. This change will allow us to skip logging AllApps entry and exit events when entering into AllApps state from QSB. Bug: 210792253 Test: wwdebug && wwlogcat Change-Id: I658ff0842c72aa27335d426abaa46435ae312941 --- src/com/android/launcher3/Launcher.java | 34 ++++++++++++++----------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 5c5aee579d..07d7b9022d 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -228,6 +228,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Optional; import java.util.function.Predicate; import java.util.function.Supplier; import java.util.stream.Stream; @@ -1108,21 +1109,23 @@ public class Launcher extends StatefulActivity implements Launche && mAllAppsSessionLogId == null) { // creates new instance ID since new all apps session is started. mAllAppsSessionLogId = new InstanceIdSequence().newInstanceId(); - getStatsLogManager().logger().withContainerInfo( - ContainerInfo.newBuilder().setWorkspace( - WorkspaceContainer.newBuilder().setPageIndex( - getWorkspace().getCurrentPage())).build()) - .log(getAllAppsEntryEvent()); + if (getAllAppsEntryEvent().isPresent()) { + getStatsLogManager().logger() + .withContainerInfo(ContainerInfo.newBuilder() + .setWorkspace(WorkspaceContainer.newBuilder() + .setPageIndex(getWorkspace().getCurrentPage())).build()) + .log(getAllAppsEntryEvent().get()); + } } } /** * Returns {@link EventEnum} that should be logged when Launcher enters into AllApps state. */ - protected EventEnum getAllAppsEntryEvent() { - return FeatureFlags.ENABLE_DEVICE_SEARCH.get() + protected Optional getAllAppsEntryEvent() { + return Optional.of(FeatureFlags.ENABLE_DEVICE_SEARCH.get() ? LAUNCHER_ALLAPPS_ENTRY_WITH_DEVICE_SEARCH - : LAUNCHER_ALLAPPS_ENTRY; + : LAUNCHER_ALLAPPS_ENTRY); } @Override @@ -1151,17 +1154,18 @@ public class Launcher extends StatefulActivity implements Launche // Making sure mAllAppsSessionLogId is not null to avoid double logging. && mAllAppsSessionLogId != null) { getAppsView().reset(false); - getStatsLogManager().logger() - .withContainerInfo(LauncherAtom.ContainerInfo.newBuilder() - .setWorkspace( - LauncherAtom.WorkspaceContainer.newBuilder() - .setPageIndex(getWorkspace().getCurrentPage())) - .build()) - .log(LAUNCHER_ALLAPPS_EXIT); + getAllAppsExitEvent().ifPresent(getStatsLogManager().logger()::log); mAllAppsSessionLogId = null; } } + /** + * Returns {@link EventEnum} that should be logged when Launcher exists from AllApps state. + */ + protected Optional getAllAppsExitEvent() { + return Optional.of(LAUNCHER_ALLAPPS_EXIT); + } + @Override protected void onResume() { Object traceToken = TraceHelper.INSTANCE.beginSection(ON_RESUME_EVT,