From 8d3e16831a93079fc5a855a7b0f8b4be508c6942 Mon Sep 17 00:00:00 2001 From: Christoph Nakazawa Date: Wed, 24 Apr 2019 03:40:06 -0700 Subject: [PATCH] Revert "improve RTL (#24069)" (#24580) Summary: This reverts commit b3c74967ca6b20d7bda84c690ae3a99dfe255843. Fixes #24267 [Android] [Fixed] - Invalid text alignment for RTL fonts. Pull Request resolved: https://github.com/facebook/react-native/pull/24580 Differential Revision: D15061667 Pulled By: cpojer fbshipit-source-id: 6d02c9e938f1f8630ba691f57bdf79fd57db3bb2 --- .../react/views/text/ReactBaseTextShadowNode.java | 14 +++++++------- .../react/views/text/ReactTextShadowNode.java | 12 ++++++------ .../react/views/text/TextAttributeProps.java | 14 +++++++------- .../views/textinput/ReactTextInputManager.java | 7 +++---- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java index 04d4977ea06035..ba3cb0c50ac292 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java @@ -373,10 +373,10 @@ public ReactBaseTextShadowNode() { private int getTextAlign() { int textAlign = mTextAlign; if (getLayoutDirection() == YogaDirection.RTL) { - if (textAlign == Gravity.END) { - textAlign = Gravity.START; - } else if (textAlign == Gravity.START) { - textAlign = Gravity.END; + if (textAlign == Gravity.RIGHT) { + textAlign = Gravity.LEFT; + } else if (textAlign == Gravity.LEFT) { + textAlign = Gravity.RIGHT; } } return textAlign; @@ -422,7 +422,7 @@ public void setTextAlign(@Nullable String textAlign) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { mJustificationMode = Layout.JUSTIFICATION_MODE_INTER_WORD; } - mTextAlign = Gravity.START; + mTextAlign = Gravity.LEFT; } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { mJustificationMode = Layout.JUSTIFICATION_MODE_NONE; @@ -431,9 +431,9 @@ public void setTextAlign(@Nullable String textAlign) { if (textAlign == null || "auto".equals(textAlign)) { mTextAlign = Gravity.NO_GRAVITY; } else if ("left".equals(textAlign)) { - mTextAlign = Gravity.START; + mTextAlign = Gravity.LEFT; } else if ("right".equals(textAlign)) { - mTextAlign = Gravity.END; + mTextAlign = Gravity.RIGHT; } else if ("center".equals(textAlign)) { mTextAlign = Gravity.CENTER_HORIZONTAL; } else { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java index 0a572581eefa04..16af513a29e06e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java @@ -81,10 +81,10 @@ public long measure( Layout.Alignment alignment = Layout.Alignment.ALIGN_NORMAL; switch (getTextAlign()) { - case Gravity.START: + case Gravity.LEFT: alignment = Layout.Alignment.ALIGN_NORMAL; break; - case Gravity.END: + case Gravity.RIGHT: alignment = Layout.Alignment.ALIGN_OPPOSITE; break; case Gravity.CENTER_HORIZONTAL: @@ -184,10 +184,10 @@ private void initMeasureFunction() { private int getTextAlign() { int textAlign = mTextAlign; if (getLayoutDirection() == YogaDirection.RTL) { - if (textAlign == Gravity.END) { - textAlign = Gravity.START; - } else if (textAlign == Gravity.START) { - textAlign = Gravity.END; + if (textAlign == Gravity.RIGHT) { + textAlign = Gravity.LEFT; + } else if (textAlign == Gravity.LEFT) { + textAlign = Gravity.RIGHT; } } return textAlign; diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java index 34ca9213b35ac0..e23961d75d8b44 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java @@ -164,10 +164,10 @@ public float getEffectiveLineHeight() { public int getTextAlign() { int textAlign = mTextAlign; if (getLayoutDirection() == YogaDirection.RTL) { - if (textAlign == Gravity.END) { - textAlign = Gravity.START; - } else if (textAlign == Gravity.START) { - textAlign = Gravity.END; + if (textAlign == Gravity.RIGHT) { + textAlign = Gravity.LEFT; + } else if (textAlign == Gravity.LEFT) { + textAlign = Gravity.RIGHT; } } return textAlign; @@ -210,7 +210,7 @@ public void setTextAlign(@Nullable String textAlign) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { mJustificationMode = Layout.JUSTIFICATION_MODE_INTER_WORD; } - mTextAlign = Gravity.START; + mTextAlign = Gravity.LEFT; } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { mJustificationMode = Layout.JUSTIFICATION_MODE_NONE; @@ -219,9 +219,9 @@ public void setTextAlign(@Nullable String textAlign) { if (textAlign == null || "auto".equals(textAlign)) { mTextAlign = Gravity.NO_GRAVITY; } else if ("left".equals(textAlign)) { - mTextAlign = Gravity.START; + mTextAlign = Gravity.LEFT; } else if ("right".equals(textAlign)) { - mTextAlign = Gravity.END; + mTextAlign = Gravity.RIGHT; } else if ("center".equals(textAlign)) { mTextAlign = Gravity.CENTER_HORIZONTAL; } else { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index 7f917c0858d390..43de84c019cfa6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -9,7 +9,6 @@ import static android.view.View.FOCUS_FORWARD; -import android.annotation.TargetApi; import android.graphics.PorterDuff; import android.graphics.Typeface; import android.graphics.drawable.Drawable; @@ -478,7 +477,7 @@ public void setTextAlign(ReactEditText view, @Nullable String textAlign) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { view.setJustificationMode(Layout.JUSTIFICATION_MODE_INTER_WORD); } - view.setGravityHorizontal(Gravity.START); + view.setGravityHorizontal(Gravity.LEFT); } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { view.setJustificationMode(Layout.JUSTIFICATION_MODE_NONE); @@ -487,9 +486,9 @@ public void setTextAlign(ReactEditText view, @Nullable String textAlign) { if (textAlign == null || "auto".equals(textAlign)) { view.setGravityHorizontal(Gravity.NO_GRAVITY); } else if ("left".equals(textAlign)) { - view.setGravityHorizontal(Gravity.START); + view.setGravityHorizontal(Gravity.LEFT); } else if ("right".equals(textAlign)) { - view.setGravityHorizontal(Gravity.END); + view.setGravityHorizontal(Gravity.RIGHT); } else if ("center".equals(textAlign)) { view.setGravityHorizontal(Gravity.CENTER_HORIZONTAL); } else {