Fixing overscroll not drawn in rtl

> Using the currect right page index in rtl
> Updating current scroll after max scroll has been calculated. This prevens an extra overscroll when the layout happens for the first time.

Bug: 22358804
Change-Id: If07132701936e06f727211122a3b3e6f8426c07b
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 873c068..218c1a3 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -909,11 +909,6 @@
             }
         }
 
-        if (mFirstLayout && mCurrentPage >= 0 && mCurrentPage < childCount) {
-            updateCurrentPageScroll();
-            mFirstLayout = false;
-        }
-
         final LayoutTransition transition = getLayoutTransition();
         // If the transition is running defer updating max scroll, as some empty pages could
         // still be present, and a max scroll change could cause sudden jumps in scroll.
@@ -938,6 +933,11 @@
             updateMaxScrollX();
         }
 
+        if (mFirstLayout && mCurrentPage >= 0 && mCurrentPage < childCount) {
+            updateCurrentPageScroll();
+            mFirstLayout = false;
+        }
+
         if (mScroller.isFinished() && mChildCountOnLastLayout != childCount) {
             if (mRestorePage != INVALID_RESTORE_PAGE) {
                 setCurrentPage(mRestorePage);
@@ -1173,7 +1173,7 @@
             if (!mEdgeGlowRight.isFinished()) {
                 final int restoreCount = canvas.save();
                 Rect display = mViewport;
-                canvas.translate(display.left + mPageScrolls[getChildCount() - 1], display.top);
+                canvas.translate(display.left + mPageScrolls[mIsRtl ? 0 : (getPageCount() - 1)], display.top);
                 canvas.rotate(90);
 
                 getEdgeVerticalPostion(sTmpIntPoint);