From 1f5cc0ddb1dd2bcc5ff0e48fa9c1d2a05eefb7ac Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Wed, 8 May 2013 01:14:44 +0200 Subject: Trebuchet: Fix drawer vertical orientation bugs Change-Id: I6c76830c944be85b62c043991c36ba5bd18f036e JIRA: CYAN-901 Issue: https://jira.cyanogenmod.org/browse/CYAN-901 Signed-off-by: Jorge Ruesga --- src/com/cyanogenmod/trebuchet/PagedView.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/cyanogenmod/trebuchet/PagedView.java b/src/com/cyanogenmod/trebuchet/PagedView.java index 42ae968..5090f8d 100644 --- a/src/com/cyanogenmod/trebuchet/PagedView.java +++ b/src/com/cyanogenmod/trebuchet/PagedView.java @@ -320,14 +320,19 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc */ protected void updateCurrentPageScroll() { // If the current page is invalid, just reset the scroll position to zero - int newX = 0; + int newScrollPos = 0; if (0 <= mCurrentPage && mCurrentPage < getPageCount()) { int offset = getChildOffset(mCurrentPage); int relOffset = getRelativeChildOffset(mCurrentPage); - newX = offset - relOffset; + newScrollPos = offset - relOffset; + } + if (!mVertical) { + scrollTo(newScrollPos, 0); + mScroller.setFinalX(newScrollPos); + } else { + scrollTo(0, newScrollPos); + mScroller.setFinalY(newScrollPos); } - scrollTo(newX, 0); - mScroller.setFinalX(newX); mScroller.forceFinished(true); } -- cgit v1.1