Minor improvement to pinner header animation
Change-Id: Ia603e53ba3a9fb773bb0ea4046f6419a316808dc
diff --git a/src/com/android/contacts/widget/PinnedHeaderListView.java b/src/com/android/contacts/widget/PinnedHeaderListView.java
index 442ddd3..2867cbb 100644
--- a/src/com/android/contacts/widget/PinnedHeaderListView.java
+++ b/src/com/android/contacts/widget/PinnedHeaderListView.java
@@ -279,10 +279,11 @@
header.state = BOTTOM;
if (header.animating) {
header.targetTime = mAnimationTargetTime;
+ header.sourceY = header.y;
header.targetY = y;
} else if (animate && (header.y != y || !header.visible)) {
if (header.visible) {
- header.sourceY = y;
+ header.sourceY = header.y;
} else {
header.visible = true;
header.sourceY = y + header.height;
@@ -336,10 +337,10 @@
public void setHeaderInvisible(int viewIndex, boolean animate) {
PinnedHeader header = mHeaders[viewIndex];
if (header.visible && (animate || header.animating) && header.state == BOTTOM) {
+ header.sourceY = header.y;
if (!header.animating) {
header.visible = true;
- header.sourceY = header.y;
- header.targetY = header.y + header.height;
+ header.targetY = getBottom() + header.height;
}
header.animating = true;
header.targetTime = mAnimationTargetTime;