diff options
author | Winson Chung <winsonc@google.com> | 2013-04-01 16:52:31 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2013-04-01 17:07:39 -0700 |
commit | fe1fe268b6d9ffd99218117795b3524a87e5110b (patch) | |
tree | 25613177ba62ffd8318b52c0923622168fd288c1 /src/com/android/launcher2/DragController.java | |
parent | e233a8bf79d624c5419805fde4bb0e025c66b020 (diff) | |
download | android_packages_apps_Trebuchet-fe1fe268b6d9ffd99218117795b3524a87e5110b.tar.gz android_packages_apps_Trebuchet-fe1fe268b6d9ffd99218117795b3524a87e5110b.tar.bz2 android_packages_apps_Trebuchet-fe1fe268b6d9ffd99218117795b3524a87e5110b.zip |
Fixing RTL issues with apps ordering and snapping to page. (Bug 8238938, Bug 8374016, Bug 8373578)
Change-Id: I57ff58a6202a2794f02cfc13ed6124b10256dbbf
Diffstat (limited to 'src/com/android/launcher2/DragController.java')
-rw-r--r-- | src/com/android/launcher2/DragController.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java index 3e586bf61..2eace4166 100644 --- a/src/com/android/launcher2/DragController.java +++ b/src/com/android/launcher2/DragController.java @@ -516,22 +516,26 @@ public class DragController { mLastTouch[0] = x; mLastTouch[1] = y; final int delay = mDistanceSinceScroll < slop ? RESCROLL_DELAY : SCROLL_DELAY; + final DragLayer dragLayer = mLauncher.getDragLayer(); + final boolean isRtl = (dragLayer.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL); + final int forwardDirection = isRtl ? SCROLL_RIGHT : SCROLL_LEFT; + final int backwardsDirection = isRtl ? SCROLL_LEFT : SCROLL_RIGHT; if (x < mScrollZone) { if (mScrollState == SCROLL_OUTSIDE_ZONE) { mScrollState = SCROLL_WAITING_IN_ZONE; - if (mDragScroller.onEnterScrollArea(x, y, SCROLL_LEFT)) { - mLauncher.getDragLayer().onEnterScrollArea(SCROLL_LEFT); - mScrollRunnable.setDirection(SCROLL_LEFT); + if (mDragScroller.onEnterScrollArea(x, y, forwardDirection)) { + dragLayer.onEnterScrollArea(forwardDirection); + mScrollRunnable.setDirection(forwardDirection); mHandler.postDelayed(mScrollRunnable, delay); } } } else if (x > mScrollView.getWidth() - mScrollZone) { if (mScrollState == SCROLL_OUTSIDE_ZONE) { mScrollState = SCROLL_WAITING_IN_ZONE; - if (mDragScroller.onEnterScrollArea(x, y, SCROLL_RIGHT)) { - mLauncher.getDragLayer().onEnterScrollArea(SCROLL_RIGHT); - mScrollRunnable.setDirection(SCROLL_RIGHT); + if (mDragScroller.onEnterScrollArea(x, y, backwardsDirection)) { + dragLayer.onEnterScrollArea(backwardsDirection); + mScrollRunnable.setDirection(backwardsDirection); mHandler.postDelayed(mScrollRunnable, delay); } } |