From c626f11ba7904c0bcfd6d913ef3ecd8d01bd200e Mon Sep 17 00:00:00 2001 From: Hieu Pham Date: Thu, 1 May 2014 16:11:15 -0700 Subject: [PATCH] timob-7260: reset typeface when password input is set. --- .../ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java index 37a89a3f7e9..be19c92b4f8 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/TiUIText.java @@ -19,6 +19,7 @@ import android.content.Context; import android.graphics.Rect; +import android.graphics.Typeface; import android.os.Build; import android.text.Editable; import android.text.InputType; @@ -513,9 +514,13 @@ protected char[] getAcceptedChars() { if (passwordMask) { textTypeAndClass |= InputType.TYPE_TEXT_VARIATION_PASSWORD; + Typeface origTF = tv.getTypeface(); // Sometimes password transformation does not work properly when the input type is set after the transformation method. // This issue has been filed at http://code.google.com/p/android/issues/detail?id=7092 tv.setInputType(textTypeAndClass); + // Workaround for https://code.google.com/p/android/issues/detail?id=55418 since setInputType + // with InputType.TYPE_TEXT_VARIATION_PASSWORD sets the typeface to monospace. + tv.setTypeface(origTF); tv.setTransformationMethod(PasswordTransformationMethod.getInstance()); //turn off text UI in landscape mode b/c Android numeric passwords are not masked correctly in landscape mode.