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

Commit 5e9b71e0 authored by Anushree Ganjam's avatar Anushree Ganjam
Browse files

Add "Don't suggest app" shortcut to suggested apps.

This works for suggested apps in both Home and AA+. When enable_shortcut_dont_suggest_app is true, the secondary drop target "Don't Suggest app" is removed instead "Don't suggest app" is added to shortcuts.

Video: https://b.corp.google.com/issues/319250810#comment5

Home: https://screenshot.googleplex.com/d7Wts48X6EmFAYg.png
Private space app suggested: https://screenshot.googleplex.com/BukzCRTvkzbpwQ3.png

AA+: https://screenshot.googleplex.com/ADMCHnQ378jvJEE.png
Private space app suggested : https://screenshot.googleplex.com/AYga8Km3646AqMt.png

Bug: 319250810
Flag: aconfig com.android.launcher.enable_shortcut_dont_suggest_app DEVELOPMENT
Test: Manual.

Change-Id: Ia7df749a1c7d806bd9d74124be138384c3050119
parent eb1966c2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -91,6 +91,13 @@ flag {
    bug: "315055849"
}

flag {
    name: "enable_shortcut_dont_suggest_app"
    namespace: "launcher"
    description: "Enables don't suggest app shortcut for suggested apps"
    bug: "319250810"
}

flag {
    name: "enable_support_for_archiving"
    namespace: "launcher"
+3 −1
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ONRESUME;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_QUICKSWITCH_LEFT;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_QUICKSWITCH_RIGHT;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_SWIPE_DOWN;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_TAP;
import static com.android.launcher3.model.PredictionHelper.isTrackedForHotseatPrediction;
@@ -137,7 +138,8 @@ public class AppEventProducer implements StatsLogConsumer {
                || event == LAUNCHER_QUICKSWITCH_LEFT
                || event == LAUNCHER_APP_LAUNCH_DRAGDROP) {
            sendEvent(atomInfo, ACTION_LAUNCH, CONTAINER_PREDICTION);
        } else if (event == LAUNCHER_ITEM_DROPPED_ON_DONT_SUGGEST) {
        } else if (event == LAUNCHER_ITEM_DROPPED_ON_DONT_SUGGEST
                || event == LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP) {
            sendEvent(atomInfo, ACTION_DISMISS, CONTAINER_PREDICTION);
        } else if (event == LAUNCHER_ITEM_DRAG_STARTED) {
            mLastDragItem = atomInfo;
+4 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH
import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID;
import static com.android.launcher3.popup.QuickstepSystemShortcut.getSplitSelectShortcutByPosition;
import static com.android.launcher3.popup.SystemShortcut.APP_INFO;
import static com.android.launcher3.popup.SystemShortcut.DONT_SUGGEST_APP;
import static com.android.launcher3.popup.SystemShortcut.INSTALL;
import static com.android.launcher3.popup.SystemShortcut.PRIVATE_PROFILE_INSTALL;
import static com.android.launcher3.popup.SystemShortcut.WIDGETS;
@@ -417,10 +418,12 @@ public class QuickstepLauncher extends Launcher {
        shortcuts.addAll(getSplitShortcuts());
        shortcuts.add(WIDGETS);
        shortcuts.add(INSTALL);

        if (Flags.enablePrivateSpaceInstallShortcut()) {
            shortcuts.add(PRIVATE_PROFILE_INSTALL);
        }
        if (Flags.enableShortcutDontSuggestApp()) {
            shortcuts.add(DONT_SUGGEST_APP);
        }
        return shortcuts.stream();
    }

+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@
    <string name="install_private_system_shortcut_label">Install in private</string>
    <!-- Label for install drop target. [CHAR_LIMIT=20] -->
    <string name="install_drop_target_label">Install</string>
    <!-- Label for install dismiss prediction. -->
    <!-- Label for dismiss prediction. -->
    <string name="dismiss_prediction_label">Don\'t suggest app</string>
    <!-- Label for pinning predicted app. -->
    <string name="pin_prediction">Pin Prediction</string>
+3 −0
Original line number Diff line number Diff line
@@ -155,6 +155,9 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
            }
            return INVALID;
        } else if (info.isPredictedItem()) {
            if (Flags.enableShortcutDontSuggestApp()) {
                return INVALID;
            }
            return DISMISS_PREDICTION;
        }

Loading