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

Commit b25b2c41 authored by Sunny Goyal's avatar Sunny Goyal Committed by Android (Google) Code Review
Browse files

Merge "Fixing bug in getDescendantCoordRelativeToParent where it was...

Merge "Fixing bug in getDescendantCoordRelativeToParent where it was calculating the coordinates relative to the root's parent" into ub-launcher3-calgary
parents 90bcafb0 e8b5d20d
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -331,7 +331,7 @@ public final class Utilities {
     * coordinates.
     *
     * @param descendant The descendant to which the passed coordinate is relative.
     * @param root The root view to make the coordinates relative to.
     * @param ancestor The root view to make the coordinates relative to.
     * @param coord The coordinate that we want mapped.
     * @param includeRootScroll Whether or not to account for the scroll of the descendant:
     *          sometimes this is relevant as in a child's coordinates within the descendant.
@@ -339,18 +339,17 @@ public final class Utilities {
     *         this scale factor is assumed to be equal in X and Y, and so if at any point this
     *         assumption fails, we will need to return a pair of scale factors.
     */
    public static float getDescendantCoordRelativeToParent(View descendant, View root,
                                                           int[] coord, boolean includeRootScroll) {
    public static float getDescendantCoordRelativeToAncestor(
            View descendant, View ancestor, int[] coord, boolean includeRootScroll) {
        ArrayList<View> ancestorChain = new ArrayList<View>();

        float[] pt = {coord[0], coord[1]};

        View v = descendant;
        while(v != root && v != null) {
        while(v != ancestor && v != null) {
            ancestorChain.add(v);
            v = (View) v.getParent();
        }
        ancestorChain.add(root);

        float scale = 1.0f;
        int count = ancestorChain.size();
@@ -375,7 +374,7 @@ public final class Utilities {
    }

    /**
     * Inverse of {@link #getDescendantCoordRelativeToParent(View, View, int[], boolean)}.
     * Inverse of {@link #getDescendantCoordRelativeToAncestor(View, View, int[], boolean)}.
     */
    public static float mapCoordInSelfToDescendent(View descendant, View root,
                                                   int[] coord) {
+1 −3
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ import android.widget.FrameLayout;
import android.widget.TextView;

import com.android.launcher3.AppWidgetResizeFrame;
import com.android.launcher3.BaseContainerView;
import com.android.launcher3.CellLayout;
import com.android.launcher3.InsettableFrameLayout;
import com.android.launcher3.ItemInfo;
@@ -56,7 +55,6 @@ import com.android.launcher3.ShortcutAndWidgetContainer;
import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
import com.android.launcher3.allapps.AllAppsContainerView;
import com.android.launcher3.allapps.AllAppsTransitionController;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.folder.Folder;
@@ -468,7 +466,7 @@ public class DragLayer extends InsettableFrameLayout {
     */
    public float getDescendantCoordRelativeToSelf(View descendant, int[] coord,
            boolean includeRootScroll) {
        return Utilities.getDescendantCoordRelativeToParent(descendant, this,
        return Utilities.getDescendantCoordRelativeToAncestor(descendant, this,
                coord, includeRootScroll);
    }