Loading java/res/xml/key_styles_number.xml +1 −6 Original line number Diff line number Diff line Loading @@ -41,14 +41,9 @@ latin:styleName="numberKeyStyle" latin:keyLabelFlags="alignLeftOfCenter|hasHintLabel" latin:parentStyle="numKeyStyle" /> <!-- U+0030: "0" DIGIT ZERO U+002B: "+" PLUS SIGN --> <key-style latin:styleName="num0KeyStyle" latin:code="0x0030" latin:altCode="0x002B" latin:keyLabel="0 +" latin:keyActionFlags="enableLongPress" latin:keyLabel="0" latin:parentStyle="numberKeyStyle" /> <key-style latin:styleName="num1KeyStyle" Loading java/res/xml/rows_number_normal.xml +2 −4 Original line number Diff line number Diff line Loading @@ -111,13 +111,11 @@ <case latin:mode="datetime" > <!-- U+002F: "/" SOLIDUS U+003A: ":" COLON --> <!-- U+002F: "/" SOLIDUS --> <Key latin:code="0x002F" latin:altCode="0x003A" latin:keyLabel="/ :" latin:keyActionFlags="enableLongPress" latin:moreKeys="!embeddedMoreKey!,:" latin:keyStyle="numKeyStyle" /> </case> <default> Loading java/res/xml/rows_phone.xml +5 −1 Original line number Diff line number Diff line Loading @@ -63,8 +63,12 @@ <Row> <Key latin:keyStyle="numPhoneToSymbolKeyStyle" /> <!-- U+0030: "0" DIGIT ZERO --> <Key latin:keyStyle="num0KeyStyle" /> latin:keyStyle="num0KeyStyle" latin:code="0x0030" latin:keyLabel="0 +" latin:moreKeys="!embeddedMoreKey!,+" /> <Key latin:keyStyle="numSpaceKeyStyle" /> <Key Loading java/src/com/android/inputmethod/keyboard/Key.java +9 −0 Original line number Diff line number Diff line Loading @@ -109,10 +109,12 @@ public class Key { private static final int MORE_KEYS_FLAGS_FIXED_COLUMN_ORDER = 0x80000000; private static final int MORE_KEYS_FLAGS_HAS_LABELS = 0x40000000; private static final int MORE_KEYS_FLAGS_NEEDS_DIVIDERS = 0x40000000; private static final int MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY = 0x20000000; private static final String MORE_KEYS_AUTO_COLUMN_ORDER = "!autoColumnOrder!"; private static final String MORE_KEYS_FIXED_COLUMN_ORDER = "!fixedColumnOrder!"; private static final String MORE_KEYS_HAS_LABELS = "!hasLabels!"; private static final String MORE_KEYS_NEEDS_DIVIDERS = "!needsDividers!"; private static final String MORE_KEYS_EMBEDDED_MORE_KEY = "!embeddedMoreKey!"; /** Background type that represents different key background visual than normal one. */ public final int mBackgroundType; Loading Loading @@ -258,6 +260,9 @@ public class Key { if (KeySpecParser.getBooleanValue(moreKeys, MORE_KEYS_NEEDS_DIVIDERS)) { moreKeysColumn |= MORE_KEYS_FLAGS_NEEDS_DIVIDERS; } if (KeySpecParser.getBooleanValue(moreKeys, MORE_KEYS_EMBEDDED_MORE_KEY)) { moreKeysColumn |= MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY; } mMoreKeysColumnAndFlags = moreKeysColumn; final String[] additionalMoreKeys = style.getStringArray( Loading Loading @@ -548,6 +553,10 @@ public class Key { return (mMoreKeysColumnAndFlags & MORE_KEYS_FLAGS_NEEDS_DIVIDERS) != 0; } public boolean hasEmbeddedMoreKey() { return (mMoreKeysColumnAndFlags & MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY) != 0; } public Drawable getIcon(KeyboardIconsSet iconSet) { return iconSet.getIconDrawable(mIconId); } Loading java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +4 −6 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy; import com.android.inputmethod.deprecated.VoiceProxy; import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy; import com.android.inputmethod.keyboard.PointerTracker.TimerProxy; import com.android.inputmethod.keyboard.internal.KeySpecParser; import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; Loading Loading @@ -480,13 +481,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke */ protected boolean onLongPress(Key parentKey, PointerTracker tracker) { final int primaryCode = parentKey.mCode; if (parentKey.mMoreKeys == null && !parentKey.altCodeWhileTyping() && parentKey.mAltCode != Keyboard.CODE_UNSPECIFIED) { // Long press on a key that has no more keys and is not altCodeWhileTyping, but altCode // is defined, such as the "0 +" key on the phone layout and the "/ :" key on the // datetime layout. if (parentKey.hasEmbeddedMoreKey()) { final int embeddedCode = KeySpecParser.getCode(getResources(), parentKey.mMoreKeys[0]); tracker.onLongPressed(); invokeCodeInput(parentKey.mAltCode); invokeCodeInput(embeddedCode); invokeReleaseKey(primaryCode); KeyboardSwitcher.getInstance().hapticAndAudioFeedback(primaryCode); return true; Loading Loading
java/res/xml/key_styles_number.xml +1 −6 Original line number Diff line number Diff line Loading @@ -41,14 +41,9 @@ latin:styleName="numberKeyStyle" latin:keyLabelFlags="alignLeftOfCenter|hasHintLabel" latin:parentStyle="numKeyStyle" /> <!-- U+0030: "0" DIGIT ZERO U+002B: "+" PLUS SIGN --> <key-style latin:styleName="num0KeyStyle" latin:code="0x0030" latin:altCode="0x002B" latin:keyLabel="0 +" latin:keyActionFlags="enableLongPress" latin:keyLabel="0" latin:parentStyle="numberKeyStyle" /> <key-style latin:styleName="num1KeyStyle" Loading
java/res/xml/rows_number_normal.xml +2 −4 Original line number Diff line number Diff line Loading @@ -111,13 +111,11 @@ <case latin:mode="datetime" > <!-- U+002F: "/" SOLIDUS U+003A: ":" COLON --> <!-- U+002F: "/" SOLIDUS --> <Key latin:code="0x002F" latin:altCode="0x003A" latin:keyLabel="/ :" latin:keyActionFlags="enableLongPress" latin:moreKeys="!embeddedMoreKey!,:" latin:keyStyle="numKeyStyle" /> </case> <default> Loading
java/res/xml/rows_phone.xml +5 −1 Original line number Diff line number Diff line Loading @@ -63,8 +63,12 @@ <Row> <Key latin:keyStyle="numPhoneToSymbolKeyStyle" /> <!-- U+0030: "0" DIGIT ZERO --> <Key latin:keyStyle="num0KeyStyle" /> latin:keyStyle="num0KeyStyle" latin:code="0x0030" latin:keyLabel="0 +" latin:moreKeys="!embeddedMoreKey!,+" /> <Key latin:keyStyle="numSpaceKeyStyle" /> <Key Loading
java/src/com/android/inputmethod/keyboard/Key.java +9 −0 Original line number Diff line number Diff line Loading @@ -109,10 +109,12 @@ public class Key { private static final int MORE_KEYS_FLAGS_FIXED_COLUMN_ORDER = 0x80000000; private static final int MORE_KEYS_FLAGS_HAS_LABELS = 0x40000000; private static final int MORE_KEYS_FLAGS_NEEDS_DIVIDERS = 0x40000000; private static final int MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY = 0x20000000; private static final String MORE_KEYS_AUTO_COLUMN_ORDER = "!autoColumnOrder!"; private static final String MORE_KEYS_FIXED_COLUMN_ORDER = "!fixedColumnOrder!"; private static final String MORE_KEYS_HAS_LABELS = "!hasLabels!"; private static final String MORE_KEYS_NEEDS_DIVIDERS = "!needsDividers!"; private static final String MORE_KEYS_EMBEDDED_MORE_KEY = "!embeddedMoreKey!"; /** Background type that represents different key background visual than normal one. */ public final int mBackgroundType; Loading Loading @@ -258,6 +260,9 @@ public class Key { if (KeySpecParser.getBooleanValue(moreKeys, MORE_KEYS_NEEDS_DIVIDERS)) { moreKeysColumn |= MORE_KEYS_FLAGS_NEEDS_DIVIDERS; } if (KeySpecParser.getBooleanValue(moreKeys, MORE_KEYS_EMBEDDED_MORE_KEY)) { moreKeysColumn |= MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY; } mMoreKeysColumnAndFlags = moreKeysColumn; final String[] additionalMoreKeys = style.getStringArray( Loading Loading @@ -548,6 +553,10 @@ public class Key { return (mMoreKeysColumnAndFlags & MORE_KEYS_FLAGS_NEEDS_DIVIDERS) != 0; } public boolean hasEmbeddedMoreKey() { return (mMoreKeysColumnAndFlags & MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY) != 0; } public Drawable getIcon(KeyboardIconsSet iconSet) { return iconSet.getIconDrawable(mIconId); } Loading
java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +4 −6 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy; import com.android.inputmethod.deprecated.VoiceProxy; import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy; import com.android.inputmethod.keyboard.PointerTracker.TimerProxy; import com.android.inputmethod.keyboard.internal.KeySpecParser; import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; Loading Loading @@ -480,13 +481,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke */ protected boolean onLongPress(Key parentKey, PointerTracker tracker) { final int primaryCode = parentKey.mCode; if (parentKey.mMoreKeys == null && !parentKey.altCodeWhileTyping() && parentKey.mAltCode != Keyboard.CODE_UNSPECIFIED) { // Long press on a key that has no more keys and is not altCodeWhileTyping, but altCode // is defined, such as the "0 +" key on the phone layout and the "/ :" key on the // datetime layout. if (parentKey.hasEmbeddedMoreKey()) { final int embeddedCode = KeySpecParser.getCode(getResources(), parentKey.mMoreKeys[0]); tracker.onLongPressed(); invokeCodeInput(parentKey.mAltCode); invokeCodeInput(embeddedCode); invokeReleaseKey(primaryCode); KeyboardSwitcher.getInstance().hapticAndAudioFeedback(primaryCode); return true; Loading