From 47b71c82eca80b06e76d960c4a501b9a6c64654b Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 29 Aug 2013 17:17:28 +0900 Subject: [PATCH] Fix keyStyle flags handling Change-Id: Ia0d21f7a00ff99eae89c746244484d6fa3f0f44e --- .../inputmethod/keyboard/internal/KeyStylesSet.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java index b21ea3f71..05d855e31 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java @@ -124,10 +124,11 @@ public final class KeyStylesSet { @Override public int getFlags(final TypedArray a, final int index) { + final int parentFlags = mStyles.get(mParentStyleName).getFlags(a, index); final Integer value = (Integer)mStyleAttributes.get(index); - final int flags = a.getInt(index, (value != null) ? value : 0); - final KeyStyle parentStyle = mStyles.get(mParentStyleName); - return flags | parentStyle.getFlags(a, index); + final int styleFlags = (value != null) ? value : 0; + final int flags = a.getInt(index, 0); + return flags | styleFlags | parentFlags; } public void readKeyAttributes(final TypedArray keyAttr) { @@ -163,7 +164,8 @@ public final class KeyStylesSet { private void readFlags(final TypedArray a, final int index) { if (a.hasValue(index)) { final Integer value = (Integer)mStyleAttributes.get(index); - mStyleAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0)); + final int styleFlags = value != null ? value : 0; + mStyleAttributes.put(index, a.getInt(index, 0) | styleFlags); } }