Fix clipTopAmount when read in 2 more critical places

* When determining the size of the rectangle made available for the a11y services (e.g. talkback)
* When determining which child view is being touched by our custom logic

Test: reproduce the bug, then navigate the screen with talkback; notice that the rectangle is correctly sized
Bug: 230080345
Change-Id: I01293c0aecbeee559e97f348ff7c4151a64538ab
This commit is contained in:
Jeff DeCew
2022-05-21 11:19:28 +00:00
parent 34b4ebd89a
commit 07381950ec
2 changed files with 2 additions and 2 deletions

View File

@@ -422,7 +422,7 @@ public abstract class ExpandableView extends FrameLayout implements Dumpable {
outRect.top += getTop() + getTranslationY();
}
outRect.bottom = outRect.top + getActualHeight();
outRect.top += getClipTopAmount();
outRect.top += Math.max(0, getClipTopAmount());
}
public boolean isSummaryWithChildren() {

View File

@@ -855,7 +855,7 @@ public class NotificationChildrenContainer extends ViewGroup
for (int childIdx = 0; childIdx < count; childIdx++) {
ExpandableNotificationRow slidingChild = mAttachedChildren.get(childIdx);
float childTop = slidingChild.getTranslationY();
float top = childTop + slidingChild.getClipTopAmount();
float top = childTop + Math.max(0, slidingChild.getClipTopAmount());
float bottom = childTop + slidingChild.getActualHeight();
if (y >= top && y <= bottom) {
return slidingChild;