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

Commit d8f951f9 authored by Tony Wickham's avatar Tony Wickham Committed by android-build-merger
Browse files

Log shortcuts open on ACTION_UP instead of in showForIcon().

am: be06874c

Change-Id: Iefc3b03644c2c197f0b744bb9f42fd3058624377
parents 9e22de7c be06874c
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -209,12 +209,8 @@ public class AllAppsRecyclerView extends BaseRecyclerView

    @Override
    public void fillInLaunchSourceData(View v, ItemInfo info, Target target, Target targetParent) {
        targetParent.containerType = getContainerType(v);
    }

    public int getContainerType(View v) {
        if (mApps.hasFilter()) {
            return LauncherLogProto.SEARCHRESULT;
            targetParent.containerType = LauncherLogProto.SEARCHRESULT;
        } else {
            if (v instanceof BubbleTextView) {
                BubbleTextView icon = (BubbleTextView) v;
@@ -223,11 +219,12 @@ public class AllAppsRecyclerView extends BaseRecyclerView
                    List<AlphabeticalAppsList.AdapterItem> items = mApps.getAdapterItems();
                    AlphabeticalAppsList.AdapterItem item = items.get(position);
                    if (item.viewType == AllAppsGridAdapter.VIEW_TYPE_PREDICTION_ICON) {
                        return LauncherLogProto.PREDICTION;
                        targetParent.containerType = LauncherLogProto.PREDICTION;
                        return;
                    }
                }
            }
            return LauncherLogProto.ALLAPPS;
            targetParent.containerType = LauncherLogProto.ALLAPPS;
        }
    }

+5 −3
Original line number Diff line number Diff line
@@ -147,12 +147,14 @@ public class UserEventDispatcher {
        dispatchUserEvent(event, null);
    }

    public void logDeepShortcutsOpen(int containerType) {
    public void logDeepShortcutsOpen(View icon) {
        LauncherEvent event = LoggerUtils.initLauncherEvent(
                Action.TOUCH, Target.ITEM, Target.CONTAINER);
        event.action.touch = Action.LONGPRESS;
        LaunchSourceProvider provider = getLaunchProviderRecursive(icon);
        ItemInfo info = (ItemInfo) icon.getTag();
        provider.fillInLaunchSourceData(icon, info, event.srcTarget[0], event.srcTarget[1]);
        event.srcTarget[0].itemType = LauncherLogProto.DEEPSHORTCUT;
        event.srcTarget[1].containerType = containerType;
        event.action.touch = Action.LONGPRESS;
        event.elapsedContainerMillis = System.currentTimeMillis() - mElapsedContainerMillis;
        event.elapsedSessionMillis = System.currentTimeMillis() - mElapsedSessionMillis;
        dispatchUserEvent(event, null);
+1 −26
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
@@ -54,19 +53,16 @@ import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherAnimUtils;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherModel;
import com.android.launcher3.LauncherSettings;
import com.android.launcher3.LauncherViewPropertyAnimator;
import com.android.launcher3.R;
import com.android.launcher3.ShortcutInfo;
import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.accessibility.ShortcutMenuAccessibilityDelegate;
import com.android.launcher3.allapps.AllAppsRecyclerView;
import com.android.launcher3.compat.UserHandleCompat;
import com.android.launcher3.dragndrop.DragController;
import com.android.launcher3.dragndrop.DragLayer;
import com.android.launcher3.dragndrop.DragView;
import com.android.launcher3.folder.Folder;
import com.android.launcher3.graphics.TriangleShape;
import com.android.launcher3.logging.UserEventDispatcher;
import com.android.launcher3.userevent.nano.LauncherLogProto;
@@ -479,6 +475,7 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
            }
        } else if (action == MotionEvent.ACTION_UP) {
            cleanupDeferredDrag(true);
            mLauncher.getUserEventDispatcher().logDeepShortcutsOpen(mDeferredDragIcon);
        } else if (action == MotionEvent.ACTION_CANCEL) {
            // Do not change the source icon visibility if we are already dragging the source icon.
            cleanupDeferredDrag(!mSrcIconDragStarted);
@@ -749,33 +746,11 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
            container.populateAndShow(icon, ids);
            icon.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS,
                    HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
            logOpen(launcher, icon);
            return container;
        }
        return null;
    }

    private static void logOpen(Launcher launcher, View icon) {
        ItemInfo info = (ItemInfo) icon.getTag();
        long iconContainer = info.container;
        Folder openFolder = launcher.getWorkspace().getOpenFolder();
        int containerType;
        if (iconContainer == LauncherSettings.Favorites.CONTAINER_DESKTOP) {
            containerType = LauncherLogProto.WORKSPACE;
        } else if (iconContainer == LauncherSettings.Favorites.CONTAINER_HOTSEAT) {
            containerType = LauncherLogProto.HOTSEAT;
        } else if (openFolder != null && iconContainer == openFolder.getInfo().id) {
            containerType = LauncherLogProto.FOLDER;
        } else if (icon.getParent() instanceof AllAppsRecyclerView) {
            containerType = ((AllAppsRecyclerView) icon.getParent()).getContainerType(icon);
        } else {
            // This should not happen.
            Log.w(TAG, "Couldn't determine parent of shortcut container");
            containerType = LauncherLogProto.DEFAULT_CONTAINERTYPE;
        }
        launcher.getUserEventDispatcher().logDeepShortcutsOpen(containerType);
    }

    /**
     * Extension of {@link ShortcutInfo} which does not badge the icons.
     */