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

Commit 5881b910 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Revert "Don't use ProxyActivity when launching from SearchActionItemInfo intent"

This reverts commit 878dedfb.

Reason for revert: b/192558017
Bug: 192558017

Change-Id: I41e64ab74c00d7b255be6f3ef1b783c01571d641
parent 878dedfb
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.os.UserHandle;

import androidx.annotation.Nullable;

import com.android.launcher3.Utilities;
import com.android.launcher3.logger.LauncherAtom.ItemInfo;
import com.android.launcher3.logger.LauncherAtom.SearchActionItem;

@@ -35,7 +34,6 @@ import com.android.launcher3.logger.LauncherAtom.SearchActionItem;
public class SearchActionItemInfo extends ItemInfoWithIcon {

    public static final int FLAG_SHOULD_START = 1 << 1;
    @Deprecated
    public static final int FLAG_SHOULD_START_FOR_RESULT = FLAG_SHOULD_START | 1 << 2;
    public static final int FLAG_BADGE_WITH_PACKAGE = 1 << 3;
    public static final int FLAG_PRIMARY_ICON_FROM_TITLE = 1 << 4;
@@ -91,13 +89,10 @@ public class SearchActionItemInfo extends ItemInfoWithIcon {
     * Setter for mIntent with assertion for null value mPendingIntent
     */
    public void setIntent(Intent intent) {
        if (mPendingIntent != null && intent != null && Utilities.IS_DEBUG_DEVICE) {
        if (mPendingIntent != null && intent != null) {
            throw new RuntimeException(
                    "SearchActionItemInfo can only have either an Intent or a PendingIntent");
        }
        if (intent != null) {
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        }
        mIntent = intent;
    }

@@ -109,7 +104,7 @@ public class SearchActionItemInfo extends ItemInfoWithIcon {
     * Setter of mPendingIntent with assertion for null value mIntent
     */
    public void setPendingIntent(PendingIntent pendingIntent) {
        if (mIntent != null && pendingIntent != null && Utilities.IS_DEBUG_DEVICE) {
        if (mIntent != null && pendingIntent != null) {
            throw new RuntimeException(
                    "SearchActionItemInfo can only have either an Intent or a PendingIntent");
        }
+8 −1
Original line number Diff line number Diff line
@@ -262,12 +262,19 @@ public class ItemClickHandler {
     */
    public static void onClickSearchAction(Launcher launcher, SearchActionItemInfo itemInfo) {
        if (itemInfo.getIntent() != null) {
            if (itemInfo.hasFlags(SearchActionItemInfo.FLAG_SHOULD_START_FOR_RESULT)) {
                launcher.startActivityForResult(itemInfo.getIntent(), 0);
            } else {
                launcher.startActivity(itemInfo.getIntent());
            }
        } else if (itemInfo.getPendingIntent() != null) {
            try {
                PendingIntent pendingIntent = itemInfo.getPendingIntent();
                if (!itemInfo.hasFlags(SearchActionItemInfo.FLAG_SHOULD_START)) {
                    pendingIntent.send();
                } else if (itemInfo.hasFlags(SearchActionItemInfo.FLAG_SHOULD_START_FOR_RESULT)) {
                    launcher.startIntentSenderForResult(pendingIntent.getIntentSender(), 0, null, 0,
                            0, 0);
                } else {
                    launcher.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
                }