summaryrefslogtreecommitdiffstats
path: root/core/java/android/text
diff options
context:
space:
mode:
authorSeigo Nonaka <nona@google.com>2015-04-09 21:57:20 +0900
committerSeigo Nonaka <nona@google.com>2015-04-09 21:57:20 +0900
commiteaddec8c7037e40f68863fe2bc9bc95401b284c0 (patch)
treebc349a19224b234a026443c961c29f2ee6938a75 /core/java/android/text
parent7a11a0e8c1bf452de0516b675b0180f63d9c5c5d (diff)
downloadframeworks_base-eaddec8c7037e40f68863fe2bc9bc95401b284c0.zip
frameworks_base-eaddec8c7037e40f68863fe2bc9bc95401b284c0.tar.gz
frameworks_base-eaddec8c7037e40f68863fe2bc9bc95401b284c0.tar.bz2
Use TextView's text locale for capitalization.
BUG: 19284889 Change-Id: Icd3c1dd3b31c23025bc974bcbb5a3618196434e7
Diffstat (limited to 'core/java/android/text')
-rw-r--r--core/java/android/text/method/AllCapsTransformationMethod.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/core/java/android/text/method/AllCapsTransformationMethod.java b/core/java/android/text/method/AllCapsTransformationMethod.java
index f9920dd..0cea821 100644
--- a/core/java/android/text/method/AllCapsTransformationMethod.java
+++ b/core/java/android/text/method/AllCapsTransformationMethod.java
@@ -19,6 +19,7 @@ import android.content.Context;
import android.graphics.Rect;
import android.util.Log;
import android.view.View;
+import android.widget.TextView;
import java.util.Locale;
@@ -39,11 +40,23 @@ public class AllCapsTransformationMethod implements TransformationMethod2 {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
- if (mEnabled) {
- return source != null ? source.toString().toUpperCase(mLocale) : null;
+ if (!mEnabled) {
+ Log.w(TAG, "Caller did not enable length changes; not transforming text");
+ return source;
}
- Log.w(TAG, "Caller did not enable length changes; not transforming text");
- return source;
+
+ if (source == null) {
+ return null;
+ }
+
+ Locale locale = null;
+ if (view instanceof TextView) {
+ locale = ((TextView)view).getTextLocale();
+ }
+ if (locale == null) {
+ locale = mLocale;
+ }
+ return source.toString().toUpperCase(locale);
}
@Override