diff options
| author | Adam Cohen <adamcohen@google.com> | 2010-09-16 15:25:54 -0700 |
|---|---|---|
| committer | Adam Cohen <adamcohen@google.com> | 2010-09-16 15:27:20 -0700 |
| commit | b7f4d030a2ed9301bf47c41fefc1b338f4347ffe (patch) | |
| tree | 37fdc0c65461f4d97b2709d47f07bcc01dc4880c /core/java/android/widget/StackView.java | |
| parent | f4cae9f944975f7232b565e78ba35e7515871aec (diff) | |
Fixing StackView rendering bug exposed by recent Launcher change
Change-Id: Ic8aad699afb75842d63be39e6586a6b23997aef8
Diffstat (limited to 'core/java/android/widget/StackView.java')
| -rw-r--r-- | core/java/android/widget/StackView.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/core/java/android/widget/StackView.java b/core/java/android/widget/StackView.java index 0f1acbe59786..56dc5cd60b4a 100644 --- a/core/java/android/widget/StackView.java +++ b/core/java/android/widget/StackView.java @@ -869,21 +869,19 @@ public class StackView extends AdapterViewAnimator { View p = v; if (!(v.getParent() != null && v.getParent() instanceof View)) return; - View gp = (View) v.getParent(); boolean firstPass = true; parentRect.set(0, 0, 0, 0); int depth = 0; - while (gp.getParent() != null && gp.getParent() instanceof View + while (p.getParent() != null && p.getParent() instanceof View && !parentRect.contains(r)) { if (!firstPass) { - r.offset(p.getLeft() - gp.getScrollX(), p.getTop() - gp.getScrollY()); + r.offset(p.getLeft() - p.getScrollX(), p.getTop() - p.getScrollY()); depth++; } firstPass = false; p = (View) p.getParent(); - gp = (View) p.getParent(); - parentRect.set(p.getLeft() - gp.getScrollX(), p.getTop() - gp.getScrollY(), - p.getRight() - gp.getScrollX(), p.getBottom() - gp.getScrollY()); + parentRect.set(p.getScrollX(), p.getScrollY(), + p.getWidth() + p.getScrollX(), p.getHeight() + p.getScrollY()); // TODO: we need to stop early here if we've hit the edge of the screen // so as to prevent us from walking too high in the hierarchy. A lot of this |
