Merge "Fixing bug in getDescendantCoordRelativeToParent where it was calculating the coordinates relative to the root's parent" into ub-launcher3-calgary

This commit is contained in:
Sunny Goyal
2016-06-15 00:34:47 +00:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 9 deletions
+5 -6
View File
@@ -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) {
@@ -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);
}