summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gmail.com>2014-02-14 16:59:05 +0200
committerSteve Kondik <steve@cyngn.com>2015-10-26 16:09:12 -0700
commit22d3df79c0e1bfe58d8228f7a3ccf6b3dd9721d5 (patch)
tree4fd892c41a56591440c5cde1ef076bc58d21c52a
parentb4e37e48d8f9916c9b828d9f425672df7848d82b (diff)
downloadframeworks_base-22d3df79c0e1bfe58d8228f7a3ccf6b3dd9721d5.zip
frameworks_base-22d3df79c0e1bfe58d8228f7a3ccf6b3dd9721d5.tar.gz
frameworks_base-22d3df79c0e1bfe58d8228f7a3ccf6b3dd9721d5.tar.bz2
Base: Mirroring layout on RTL languages [1/2]
When Force RTL layout (in developer options) is sellected on RTL language (Arabic, Hebrew, etc) - mirror back to LTR. There is another commit (same name but with [2/2]) which just changes the strings to match the new meaning for RTL languages. Change-Id: Ib051b976db4e15dab9caddcd0d49276b5ada3f13
-rw-r--r--core/java/android/text/TextUtils.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java
index d8f7158..75fd2da 100644
--- a/core/java/android/text/TextUtils.java
+++ b/core/java/android/text/TextUtils.java
@@ -1754,19 +1754,21 @@ public class TextUtils {
* Be careful: this code will need to be updated when vertical scripts will be supported
*/
public static int getLayoutDirectionFromLocale(Locale locale) {
+ boolean mirror = SystemProperties.getBoolean(Settings.Global.DEVELOPMENT_FORCE_RTL, false);
if (locale != null && !locale.equals(Locale.ROOT)) {
final String scriptSubtag = ICU.addLikelySubtags(locale).getScript();
if (scriptSubtag == null) return getLayoutDirectionFromFirstChar(locale);
if (scriptSubtag.equalsIgnoreCase(ARAB_SCRIPT_SUBTAG) ||
scriptSubtag.equalsIgnoreCase(HEBR_SCRIPT_SUBTAG)) {
- return View.LAYOUT_DIRECTION_RTL;
+ // If forcing into RTL layout mode and language is RTL
+ // return LTR as default, else RTL
+ return mirror ? View.LAYOUT_DIRECTION_LTR : View.LAYOUT_DIRECTION_RTL;
}
}
- // If forcing into RTL layout mode, return RTL as default, else LTR
- return SystemProperties.getBoolean(Settings.Global.DEVELOPMENT_FORCE_RTL, false)
- ? View.LAYOUT_DIRECTION_RTL
- : View.LAYOUT_DIRECTION_LTR;
+ // If forcing into RTL layout mode and language is LTR
+ // return RTL as default, else LTR
+ return mirror ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR;
}
/**