From 059228ad8e99658d6007c0f7f8bc205245d2dc9e Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 7 Apr 2015 15:30:26 -0700 Subject: [PATCH] Fixing focus indicator position when the overlay page has different size than the current page. Bug: 20104483 Change-Id: Ib79d1bc4eeffc03b706ad6d77d8285b8a7f1188a --- src/com/android/launcher3/FocusIndicatorView.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/com/android/launcher3/FocusIndicatorView.java b/src/com/android/launcher3/FocusIndicatorView.java index ab21c90e6a..ecf93e4b3d 100644 --- a/src/com/android/launcher3/FocusIndicatorView.java +++ b/src/com/android/launcher3/FocusIndicatorView.java @@ -149,7 +149,7 @@ public class FocusIndicatorView extends View implements View.OnFocusChangeListen } /** - * Computes the location of a view relative to {@link #mCommonParent}, off-setting + * Computes the location of a view relative to {@param parent}, off-setting * any shift due to page view scroll. * @param pos an array of two integers in which to hold the coordinates */ @@ -166,12 +166,12 @@ public class FocusIndicatorView extends View implements View.OnFocusChangeListen private static void computeLocationRelativeToParentHelper(View child, View commonParent, int[] shift) { View parent = (View) child.getParent(); - if (parent instanceof PagedView) { - child = ((PagedView) parent).getPageAt(0); - } - shift[0] += child.getLeft(); shift[1] += child.getTop(); + if (parent instanceof PagedView) { + PagedView page = (PagedView) parent; + shift[0] -= page.getScrollForPage(page.indexOfChild(child)); + } if (parent != commonParent) { computeLocationRelativeToParentHelper(parent, commonParent, shift);