diff options
author | Shaoxu Liu <shaoxu@codeaurora.org> | 2015-11-30 16:15:56 +0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-07-01 01:13:45 -0700 |
commit | 5227cbd5278bf614197b6b0cf85517f82ad0eab8 (patch) | |
tree | e9fe528cad8986c7e249f210397b1f492edbb984 | |
parent | f71be919310ec824a7d368fd9e2d8d7e08353718 (diff) | |
download | android_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.java | 19 |
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; + } } |