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 74d50988f1..4715132357 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);