Accounting for view translation when calculating the focus location

Bug: 80160107
Change-Id: Ibb0cb82c33c141bb3abf9b7576be4253630cb8c5
This commit is contained in:
Sunny Goyal
2018-05-23 15:49:39 -07:00
parent 012d39a0e9
commit db9f86a472

View File

@@ -18,7 +18,6 @@ package com.android.launcher3.keyboard;
import android.graphics.Rect;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import com.android.launcher3.PagedView;
@@ -52,8 +51,8 @@ public class ViewGroupFocusHelper extends FocusIndicatorHelper {
private void computeLocationRelativeToContainer(View child, Rect outRect) {
View parent = (View) child.getParent();
outRect.left += child.getLeft();
outRect.top += child.getTop();
outRect.left += child.getX();
outRect.top += child.getY();
if (parent != mContainer) {
if (parent instanceof PagedView) {
@@ -64,22 +63,4 @@ public class ViewGroupFocusHelper extends FocusIndicatorHelper {
computeLocationRelativeToContainer(parent, outRect);
}
}
/**
* Sets the alpha of this FocusIndicatorHelper to 0 when a view with this listener
* receives focus.
*/
public View.OnFocusChangeListener getHideIndicatorOnFocusListener() {
return new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
endCurrentAnimation();
setCurrentView(null);
setAlpha(0);
invalidateDirty();
}
}
};
}
}