From d8ec43b94e46971fe8c4456374b1b655c80b8e5e Mon Sep 17 00:00:00 2001 From: Sebastian Franco Date: Mon, 10 Mar 2025 10:14:42 -0700 Subject: [PATCH] Adding access to All Apps in the long press menu in Launcher Bug: 386737601 Test: TaplTestsLauncher3Test Flag: EXEMPT BUGFIX Change-Id: I1e49cf521c40e8217c1fdefa7ce8461da16429bd --- res/values/strings.xml | 2 ++ .../launcher3/debug/TestEventEmitter.java | 4 +++- .../launcher3/logging/StatsLogManager.java | 3 +++ .../launcher3/views/OptionsPopupView.java | 20 +++++++++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index cc740a5668..11179004eb 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -323,6 +323,8 @@ Edit Home Screen Home settings + + Apps Disabled by your admin diff --git a/src/com/android/launcher3/debug/TestEventEmitter.java b/src/com/android/launcher3/debug/TestEventEmitter.java index ed3b4bbac9..db69bc2130 100644 --- a/src/com/android/launcher3/debug/TestEventEmitter.java +++ b/src/com/android/launcher3/debug/TestEventEmitter.java @@ -34,7 +34,9 @@ public class TestEventEmitter { RESIZE_FRAME_SHOWING("RESIZE_FRAME_SHOWING"), WORKSPACE_FINISH_LOADING("WORKSPACE_FINISH_LOADING"), SPRING_LOADED_STATE_STARTED("SPRING_LOADED_STATE_STARTED"), - SPRING_LOADED_STATE_COMPLETED("SPRING_LOADED_STATE_COMPLETED"); + SPRING_LOADED_STATE_COMPLETED("SPRING_LOADED_STATE_COMPLETED"), + + LAUNCHER_STATE_COMPLETED("LAUNCHER_STATE_COMPLETED"); TestEvent(String event) { } diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java index 2f1af68329..aa5c199d21 100644 --- a/src/com/android/launcher3/logging/StatsLogManager.java +++ b/src/com/android/launcher3/logging/StatsLogManager.java @@ -166,6 +166,9 @@ public class StatsLogManager implements ResourceBasedOverride { @UiEvent(doc = "User tapped or long pressed on settings icon inside launcher settings.") LAUNCHER_SETTINGS_BUTTON_TAP_OR_LONGPRESS(463), + @UiEvent(doc = "User tapped or long pressed on apps icon inside launcher settings.") + LAUNCHER_ALL_APPS_TAP_OR_LONGPRESS(2204), + @UiEvent(doc = "User tapped or long pressed on widget tray icon inside launcher settings.") LAUNCHER_WIDGETSTRAY_BUTTON_TAP_OR_LONGPRESS(464), diff --git a/src/com/android/launcher3/views/OptionsPopupView.java b/src/com/android/launcher3/views/OptionsPopupView.java index 82cc40d93b..8c01c5999f 100644 --- a/src/com/android/launcher3/views/OptionsPopupView.java +++ b/src/com/android/launcher3/views/OptionsPopupView.java @@ -19,6 +19,7 @@ import static com.android.launcher3.BuildConfig.WIDGETS_ENABLED; import static com.android.launcher3.LauncherState.EDIT_MODE; import static com.android.launcher3.config.FeatureFlags.MULTI_SELECT_EDIT_MODE; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.IGNORE; +import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALL_APPS_TAP_OR_LONGPRESS; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SETTINGS_BUTTON_TAP_OR_LONGPRESS; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WIDGETSTRAY_BUTTON_TAP_OR_LONGPRESS; @@ -218,6 +219,11 @@ public class OptionsPopupView extends Arrow LAUNCHER_SETTINGS_BUTTON_TAP_OR_LONGPRESS, OptionsPopupView::enterHomeGardening)); } + options.add(new OptionItem(launcher, + R.string.all_apps_home_screen, + R.drawable.ic_apps, + LAUNCHER_ALL_APPS_TAP_OR_LONGPRESS, + OptionsPopupView::enterAllApps)); options.add(new OptionItem(launcher, R.string.settings_button_text, R.drawable.ic_setting, @@ -226,6 +232,20 @@ public class OptionsPopupView extends Arrow return options; } + /** + * Used by the options to open All Apps, uses an intent as to not tie the implementation of + * opening All Apps with OptionsPopup, instead it uses the public API to open All Apps. + */ + public static boolean enterAllApps(View view) { + Launcher launcher = Launcher.getLauncher(view.getContext()); + launcher.startActivity( + new Intent(Intent.ACTION_ALL_APPS) + .setComponent(launcher.getComponentName()) + .setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) + ); + return true; + } + private static boolean enterHomeGardening(View view) { Launcher launcher = Launcher.getLauncher(view.getContext()); launcher.getStateManager().goToState(EDIT_MODE);