diff options
author | 2011-02-20 14:44:59 +0900 | |
---|---|---|
committer | 2011-02-20 18:59:25 +0900 | |
commit | 4adf5d9ae5d8c449510bf1f93cf678f63109a1cc (patch) | |
tree | 5831b0fc55d5206c682a0bda5f105d2e898f1231 /java | |
parent | a9f2fe2d5925d509c8676d0d081e5f3c2ee12f9a (diff) | |
download | latinime-4adf5d9ae5d8c449510bf1f93cf678f63109a1cc.tar.gz latinime-4adf5d9ae5d8c449510bf1f93cf678f63109a1cc.tar.xz latinime-4adf5d9ae5d8c449510bf1f93cf678f63109a1cc.zip |
Disable non-ASCII symbol keys in password input
Bug: 3384942
Change-Id: Ifa10e84f22bb6ff85dfc397fac95a0294b2a6bea
Diffstat (limited to 'java')
-rw-r--r-- | java/res/xml-xlarge/kbd_key_styles.xml | 15 | ||||
-rw-r--r-- | java/res/xml-xlarge/kbd_symbols_shift.xml | 19 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardParser.java | 6 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 10 |
4 files changed, 45 insertions, 5 deletions
diff --git a/java/res/xml-xlarge/kbd_key_styles.xml b/java/res/xml-xlarge/kbd_key_styles.xml index d211e5e61..fc06d00fc 100644 --- a/java/res/xml-xlarge/kbd_key_styles.xml +++ b/java/res/xml-xlarge/kbd_key_styles.xml @@ -165,4 +165,19 @@ latin:keyOutputText="@string/keylabel_for_popular_domain" latin:keyHintIcon="@drawable/hint_popup_holo" latin:popupCharacters="@string/alternates_for_popular_domain" /> + <switch> + <case + latin:passwordInput="true" + > + <key-style + latin:styleName="nonPasswordSymbolKeyStyle" + latin:enabled="false" /> + </case> + <!-- latin:passwordInput="false" --> + <default> + <key-style + latin:styleName="nonPasswordSymbolKeyStyle" + latin:enabled="true" /> + </default> + </switch> </merge> diff --git a/java/res/xml-xlarge/kbd_symbols_shift.xml b/java/res/xml-xlarge/kbd_symbols_shift.xml index f7cf24a3f..1f5513b83 100644 --- a/java/res/xml-xlarge/kbd_symbols_shift.xml +++ b/java/res/xml-xlarge/kbd_symbols_shift.xml @@ -46,21 +46,28 @@ <Key latin:keyLabel="|" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="•" latin:popupCharacters="♪,♥,♠,♦,♣" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="√" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="π" latin:popupCharacters="Π" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="÷" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="×" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="§" latin:popupCharacters="¶" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="Δ" /> <Key latin:keyStyle="deleteKeyStyle" @@ -76,19 +83,25 @@ latin:keyWidth="11.167%p" latin:keyEdgeFlags="left" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="£" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="¢" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="€" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="¥" /> <Key latin:keyLabel="^" latin:popupCharacters="↑,↓,←,→" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="°" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="±" latin:popupCharacters="∞" /> <Key @@ -110,20 +123,26 @@ <Key latin:keyLabel="\\" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="©" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="®" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="™" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="℅" /> <Key latin:keyLabel="[" /> <Key latin:keyLabel="]" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="¡" /> <Key + latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="¿" /> <Key latin:keyStyle="moreKeyStyle" diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java index 89208dd5d..df64ad5af 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java @@ -103,7 +103,7 @@ import java.util.List; */ public class KeyboardParser { - private static final String TAG = "KeyboardParser"; + private static final String TAG = KeyboardParser.class.getSimpleName(); private static final boolean DEBUG = false; // Keyboard XML Tags @@ -279,8 +279,8 @@ public class KeyboardParser { checkEndTag(TAG_KEY, parser); } else { Key key = new Key(mResources, row, mCurrentX, mCurrentY, parser, mKeyStyles); - if (DEBUG) Log.d(TAG, String.format("<%s keyLabel=%s code=%d popupCharacters=%s />", - TAG_KEY, key.mLabel, key.mCode, + if (DEBUG) Log.d(TAG, String.format("<%s%s keyLabel=%s code=%d popupCharacters=%s />", + TAG_KEY, (key.mEnabled ? "" : " disabled"), key.mLabel, key.mCode, Arrays.toString(key.mPopupCharacters))); checkEndTag(TAG_KEY, parser); keys.add(key); diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index d4c5e579b..7fee022e0 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -26,6 +26,7 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.PorterDuff; @@ -705,8 +706,13 @@ public class KeyboardView extends View implements PointerTracker.UIProxy { } else { paint.setColor(mKeyTextColor); } - // Set a drop shadow for the text - paint.setShadowLayer(mShadowRadius, 0, 0, mShadowColor); + if (key.mEnabled) { + // Set a drop shadow for the text + paint.setShadowLayer(mShadowRadius, 0, 0, mShadowColor); + } else { + // Make label invisible + paint.setColor(Color.TRANSPARENT); + } canvas.drawText(label, positionX, baseline, paint); // Turn off drop shadow paint.setShadowLayer(0, 0, 0, 0); |