summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShaoxu Liu <shaoxu@codeaurora.org>2015-11-30 16:15:56 +0800
committerSteve Kondik <steve@cyngn.com>2016-07-01 01:13:45 -0700
commit5227cbd5278bf614197b6b0cf85517f82ad0eab8 (patch)
treee9fe528cad8986c7e249f210397b1f492edbb984
parentf71be919310ec824a7d368fd9e2d8d7e08353718 (diff)
downloadandroid_packages_apps_InCallUI-5227cbd5278bf614197b6b0cf85517f82ad0eab8.tar.gz
android_packages_apps_InCallUI-5227cbd5278bf614197b6b0cf85517f82ad0eab8.tar.bz2
android_packages_apps_InCallUI-5227cbd5278bf614197b6b0cf85517f82ad0eab8.zip
Add rtl support to GlowPadView
When anwser a incoming call, GlowPadView alwasy shows the button in LTR view. While the RTL locale needs the mirror UI of LTR. Switch the left target and right target while in RTL view. Change-Id: I693932ab1cba35910dbea418adb50e0a32a7364d
-rw-r--r--src/com/android/incallui/widget/multiwaveview/GlowPadView.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/com/android/incallui/widget/multiwaveview/GlowPadView.java b/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
index acbcdba6..2acf2b6b 100644
--- a/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
+++ b/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
@@ -56,6 +56,7 @@ import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.view.accessibility.AccessibilityNodeProvider;
import com.android.incallui.R;
+import com.android.incallui.InCallPresenter;
import java.util.ArrayList;
import java.util.List;
@@ -641,7 +642,7 @@ public class GlowPadView extends View {
final int count = array.length();
ArrayList<TargetDrawable> drawables = new ArrayList<TargetDrawable>(count);
for (int i = 0; i < count; i++) {
- TypedValue value = array.peekValue(i);
+ TypedValue value = array.peekValue(getRtlTarget(i));
TargetDrawable target = new TargetDrawable(res, value != null ? value.resourceId : 0, 3);
drawables.add(target);
}
@@ -1549,4 +1550,20 @@ public class GlowPadView extends View {
}
}
+
+ /**
+ * Get the mirrored target iterator if it is in RTL locale
+ */
+ private int getRtlTarget(int id) {
+ if (InCallPresenter.isRtl()) {
+ // In the drawable array, LEFT is array[0], TOP is array[1], RIGHT is array[2]
+ int LEFT = 0, RIGHT = 2;
+ if (id == LEFT) {
+ return RIGHT;
+ } else if (id == RIGHT) {
+ return LEFT;
+ }
+ }
+ return id;
+ }
}