Make ScrollBar widget aware of layout direction
- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)
- also use isLayoutRtl() for being more concise
Change-Id: Ibf861333effdc646398fcd9354d96f2156550607
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index e680d41..fc526a8 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -11293,9 +11293,13 @@
scrollBar.setParameters(computeVerticalScrollRange(),
computeVerticalScrollOffset(),
computeVerticalScrollExtent(), true);
- switch (mVerticalScrollbarPosition) {
+ int verticalScrollbarPosition = mVerticalScrollbarPosition;
+ if (verticalScrollbarPosition == SCROLLBAR_POSITION_DEFAULT) {
+ verticalScrollbarPosition = isLayoutRtl() ?
+ SCROLLBAR_POSITION_LEFT : SCROLLBAR_POSITION_RIGHT;
+ }
+ switch (verticalScrollbarPosition) {
default:
- case SCROLLBAR_POSITION_DEFAULT:
case SCROLLBAR_POSITION_RIGHT:
left = scrollX + width - size - (mUserPaddingRight & inside);
break;
@@ -14328,7 +14332,7 @@
? 0 : getVerticalScrollbarWidth();
switch (mVerticalScrollbarPosition) {
case SCROLLBAR_POSITION_DEFAULT:
- if (getResolvedLayoutDirection() == LAYOUT_DIRECTION_RTL) {
+ if (isLayoutRtl()) {
left += offset;
} else {
right += offset;