diff --git a/java/res/xml-sw600dp/key_styles_enter.xml b/java/res/xml-sw600dp/key_styles_enter.xml index 0227d811b42c5cc958c256d6e8960af170c22642..d066d2d129e971be013837e9aa0e8176fde08714 100644 --- a/java/res/xml-sw600dp/key_styles_enter.xml +++ b/java/res/xml-sw600dp/key_styles_enter.xml @@ -22,20 +22,18 @@ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > <!-- Navigate more keys style --> + <include latin:keyboardLayout="@xml/key_styles_navigate_more_keys" /> <switch> - <!-- latin:passwordInput="true" --> <case latin:imeAction="actionNext" latin:navigatePrevious="true" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_previous" /> + latin:parentStyle="navigatePreviousMoreKeysStyle" /> </case> <case latin:imeAction="actionNext" - latin:navigatePrevious="false" > <key-style latin:styleName="navigateMoreKeysStyle" /> @@ -46,12 +44,10 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_next" /> + latin:parentStyle="navigateNextMoreKeysStyle" /> </case> <case latin:imeAction="actionPrevious" - latin:navigateNext="false" > <key-style latin:styleName="navigateMoreKeysStyle" /> @@ -62,33 +58,21 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_action_previous,!text/keyspec_action_next" /> + latin:parentStyle="navigatePreviousNextMoreKeysStyle" /> </case> <case latin:navigateNext="true" - latin:navigatePrevious="false" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_next" /> + latin:parentStyle="navigateNextMoreKeysStyle" /> </case> <case - latin:navigateNext="false" latin:navigatePrevious="true" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_previous" /> - </case> - <case - latin:navigateNext="false" - latin:navigatePrevious="false" - > - <key-style - latin:styleName="navigateMoreKeysStyle" /> + latin:parentStyle="navigatePreviousMoreKeysStyle" /> </case> <default> <key-style @@ -103,6 +87,7 @@ latin:keyActionFlags="noKeyPreview" latin:backgroundType="action" latin:parentStyle="navigateMoreKeysStyle" /> + <include latin:keyboardLayout="@xml/key_styles_actions" /> <switch> <!-- Shift + Enter in textMultiLine field. --> <case @@ -114,135 +99,54 @@ latin:keySpec="!icon/enter_key|!code/key_shift_enter" latin:parentStyle="defaultEnterKeyStyle" /> </case> - <case - latin:imeAction="actionGo" - latin:isIconDefined="go_key" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!icon/go_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> <case latin:imeAction="actionGo" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_go_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="goActionKeyStyle" /> </case> <case latin:imeAction="actionNext" - latin:isIconDefined="next_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/next_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionNext" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_next_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="nextActionKeyStyle" /> </case> <case latin:imeAction="actionPrevious" - latin:isIconDefined="previous_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/previous_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionPrevious" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_previous_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="previousActionKeyStyle" /> </case> <case latin:imeAction="actionDone" - latin:isIconDefined="done_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/done_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionDone" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_done_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="doneActionKeyStyle" /> </case> <case latin:imeAction="actionSend" - latin:isIconDefined="send_key" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!icon/send_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionSend" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_send_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionSearch" - latin:isIconDefined="search_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/search_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="sendActionKeyStyle" /> </case> <case latin:imeAction="actionSearch" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_search_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="searchActionKeyStyle" /> </case> <case latin:imeAction="actionCustomLabel" - latin:keyboardTheme="ICS|KLP" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="dummy_label|!code/key_enter" - latin:keyLabelFlags="fromCustomActionLabel" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionCustomLabel" - latin:keyboardTheme="LXXLight|LXXDark" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="dummy_label|!code/key_enter" - latin:keyLabelFlags="fromCustomActionLabel" - latin:backgroundType="functional" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="customLabelActionKeyStyle" /> </case> <!-- imeAction is either actionNone or actionUnspecified. --> <default> diff --git a/java/res/xml/key_styles_actions.xml b/java/res/xml/key_styles_actions.xml new file mode 100644 index 0000000000000000000000000000000000000000..83901cad9a4526f7cd63c944003d4a401639e1bb --- /dev/null +++ b/java/res/xml/key_styles_actions.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <!-- Go key --> + <switch> + <case latin:isIconDefined="go_key"> + <key-style + latin:styleName="goActionKeyStyle" + latin:keySpec="!icon/go_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <default> + <key-style + latin:styleName="goActionKeyStyle" + latin:keySpec="!text/label_go_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> + <!-- Next key --> + <switch> + <case latin:isIconDefined="next_key"> + <key-style + latin:styleName="nextActionKeyStyle" + latin:keySpec="!icon/next_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <default> + <key-style + latin:styleName="nextActionKeyStyle" + latin:keySpec="!text/label_next_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> + <!-- Previous key --> + <switch> + <case latin:isIconDefined="previous_key"> + <key-style + latin:styleName="previousActionKeyStyle" + latin:keySpec="!icon/previous_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <default> + <key-style + latin:styleName="previousActionKeyStyle" + latin:keySpec="!text/label_previous_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> + <!-- Done key --> + <switch> + <case latin:isIconDefined="done_key"> + <key-style + latin:styleName="doneActionKeyStyle" + latin:keySpec="!icon/done_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <default> + <key-style + latin:styleName="doneActionKeyStyle" + latin:keySpec="!text/label_done_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> + <!-- Send key --> + <switch> + <case latin:isIconDefined="send_key"> + <key-style + latin:styleName="sendActionKeyStyle" + latin:keySpec="!icon/send_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <default> + <key-style + latin:styleName="sendActionKeyStyle" + latin:keySpec="!text/label_send_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> + <!-- Seartch key --> + <switch> + <case latin:isIconDefined="search_key"> + <key-style + latin:styleName="searchActionKeyStyle" + latin:keySpec="!icon/search_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <default> + <key-style + latin:styleName="searchActionKeyStyle" + latin:keySpec="!text/label_search_key|!code/key_enter" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> + <switch> + <case latin:keyboardTheme="ICS|KLP"> + <key-style + latin:styleName="customLabelActionKeyStyle" + latin:keySpec="dummy_label|!code/key_enter" + latin:keyLabelFlags="fromCustomActionLabel" + latin:backgroundType="action" + latin:parentStyle="defaultEnterKeyStyle" /> + </case> + <!-- keyboardTheme="LXXLight|LXXDark" --> + <default> + <key-style + latin:styleName="customLabelActionKeyStyle" + latin:keySpec="dummy_label|!code/key_enter" + latin:keyLabelFlags="fromCustomActionLabel" + latin:backgroundType="functional" + latin:parentStyle="defaultEnterKeyStyle" /> + </default> + </switch> +</merge> diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml index 7aea1ceff623568fee2ba00e566fd41d944ec9fb..d6d01b86233c401cc846132205792d755ab53bf3 100644 --- a/java/res/xml/key_styles_enter.xml +++ b/java/res/xml/key_styles_enter.xml @@ -21,8 +21,8 @@ <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > - <!-- TODO: Stop using many conditional cases for keyspec_emoji_action_key. There are way too many to maintain. --> <!-- Navigate more keys style --> + <include latin:keyboardLayout="@xml/key_styles_navigate_more_keys" /> <switch> <!-- latin:passwordInput="true" --> <case @@ -32,12 +32,10 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_previous" /> + latin:parentStyle="navigatePreviousMoreKeysStyle" /> </case> <case latin:imeAction="actionNext" - latin:navigatePrevious="false" latin:passwordInput="true" > <key-style @@ -50,12 +48,10 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_next" /> + latin:parentStyle="navigateNextMoreKeysStyle" /> </case> <case latin:imeAction="actionPrevious" - latin:navigateNext="false" latin:passwordInput="true" > <key-style @@ -68,32 +64,25 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_action_previous,!text/keyspec_action_next" /> + latin:parentStyle="navigatePreviousNextMoreKeysStyle" /> </case> <case latin:navigateNext="true" - latin:navigatePrevious="false" latin:passwordInput="true" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_next" /> + latin:parentStyle="navigateNextMoreKeysStyle" /> </case> <case - latin:navigateNext="false" latin:navigatePrevious="true" latin:passwordInput="true" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_previous" /> + latin:parentStyle="navigatePreviousMoreKeysStyle" /> </case> <case - latin:navigateNext="false" - latin:navigatePrevious="false" latin:passwordInput="true" > <key-style @@ -107,12 +96,10 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_previous" /> + latin:parentStyle="navigatePreviousMoreKeysStyle" /> </case> <case latin:imeAction="actionNext" - latin:navigatePrevious="false" latin:mode="email|url|phone|number|date|time|datetime" > <key-style @@ -125,12 +112,10 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_next" /> + latin:parentStyle="navigateNextMoreKeysStyle" /> </case> <case latin:imeAction="actionPrevious" - latin:navigateNext="false" latin:mode="email|url|phone|number|date|time|datetime" > <key-style @@ -143,32 +128,25 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_action_previous,!text/keyspec_action_next" /> + latin:parentStyle="navigatePreviousNextMoreKeysStyle" /> </case> <case latin:navigateNext="true" - latin:navigatePrevious="false" latin:mode="email|url|phone|number|date|time|datetime" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_next" /> + latin:parentStyle="navigateNextMoreKeysStyle" /> </case> <case - latin:navigateNext="false" latin:navigatePrevious="true" latin:mode="email|url|phone|number|date|time|datetime" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_action_previous" /> + latin:parentStyle="navigatePreviousMoreKeysStyle" /> </case> <case - latin:navigateNext="false" - latin:navigatePrevious="false" latin:mode="email|url|phone|number|date|time|datetime" > <key-style @@ -181,17 +159,14 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous" /> + latin:parentStyle="navigateEmojiPreviousMoreKeysStyle" /> </case> <case latin:imeAction="actionNext" - latin:navigatePrevious="false" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_emoji_action_key" /> + latin:parentStyle="navigateEmojiMoreKeysStyle" /> </case> <case latin:imeAction="actionPrevious" @@ -199,17 +174,14 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_next" /> + latin:parentStyle="navigateEmojiNextMoreKeysStyle" /> </case> <case latin:imeAction="actionPrevious" - latin:navigateNext="false" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_emoji_action_key" /> + latin:parentStyle="navigateEmojiMoreKeysStyle" /> </case> <case latin:navigateNext="true" @@ -217,39 +189,26 @@ > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!3,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous,!text/keyspec_action_next" /> + latin:parentStyle="navigateEmojiPreviousNextMoreKeysStyle" /> </case> <case latin:navigateNext="true" - latin:navigatePrevious="false" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_next" /> + latin:parentStyle="navigateEmojiNextMoreKeysStyle" /> </case> <case - latin:navigateNext="false" latin:navigatePrevious="true" > <key-style latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous" /> - </case> - <case - latin:navigateNext="false" - latin:navigatePrevious="false" - > - <key-style - latin:styleName="navigateMoreKeysStyle" - latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="!text/keyspec_emoji_action_key" /> + latin:parentStyle="navigateEmojiPreviousMoreKeysStyle" /> </case> <default> <key-style - latin:styleName="navigateMoreKeysStyle" /> + latin:styleName="navigateMoreKeysStyle" + latin:parentStyle="navigateEmojiMoreKeysStyle" /> </default> </switch> <!-- Enter key style --> @@ -260,10 +219,7 @@ latin:keyActionFlags="noKeyPreview" latin:backgroundType="action" latin:parentStyle="navigateMoreKeysStyle" /> - <key-style - latin:styleName="shiftEnterKeyStyle" - latin:keySpec="!icon/enter_key|!code/key_shift_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + <include latin:keyboardLayout="@xml/key_styles_actions" /> <switch> <!-- Shift + Enter in textMultiLine field. --> <case @@ -272,7 +228,8 @@ > <key-style latin:styleName="enterKeyStyle" - latin:parentStyle="shiftEnterKeyStyle" /> + latin:keySpec="!icon/enter_key|!code/key_shift_enter" + latin:parentStyle="defaultEnterKeyStyle" /> </case> <!-- Smiley in textShortMessage field. This <case> should be after Shift + Enter <case> and before any of action <case>. --> @@ -285,139 +242,57 @@ </case> <case latin:imeAction="actionGo" - latin:isIconDefined="go_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/go_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionGo" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_go_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="goActionKeyStyle" /> </case> <case latin:imeAction="actionNext" - latin:isIconDefined="next_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/next_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionNext" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_next_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="nextActionKeyStyle" /> </case> <case latin:imeAction="actionPrevious" - latin:isIconDefined="previous_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/previous_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionPrevious" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_previous_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="previousActionKeyStyle" /> </case> <case latin:imeAction="actionDone" - latin:isIconDefined="done_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/done_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionDone" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_done_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="doneActionKeyStyle" /> </case> <case latin:imeAction="actionSend" - latin:isIconDefined="send_key" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!icon/send_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionSend" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_send_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionSearch" - latin:isIconDefined="search_key" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/search_key|!code/key_enter" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="sendActionKeyStyle" /> </case> <case latin:imeAction="actionSearch" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!text/label_search_key|!code/key_enter" - latin:parentStyle="defaultEnterKeyStyle" /> - </case> - <case - latin:imeAction="actionCustomLabel" - latin:keyboardTheme="ICS|KLP" - > - <key-style - latin:styleName="enterKeyStyle" - latin:keySpec="dummy_label|!code/key_enter" - latin:keyLabelFlags="fromCustomActionLabel" - latin:backgroundType="action" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="searchActionKeyStyle" /> </case> <case latin:imeAction="actionCustomLabel" - latin:keyboardTheme="LXXLight|LXXDark" > <key-style latin:styleName="enterKeyStyle" - latin:keySpec="dummy_label|!code/key_enter" - latin:keyLabelFlags="fromCustomActionLabel" - latin:backgroundType="functional" - latin:parentStyle="defaultEnterKeyStyle" /> + latin:parentStyle="customLabelActionKeyStyle" /> </case> <!-- imeAction is either actionNone or actionUnspecified. --> <default> <key-style latin:styleName="enterKeyStyle" - latin:keySpec="!icon/enter_key|!code/key_enter" latin:parentStyle="defaultEnterKeyStyle" /> </default> </switch> diff --git a/java/res/xml/key_styles_navigate_more_keys.xml b/java/res/xml/key_styles_navigate_more_keys.xml new file mode 100644 index 0000000000000000000000000000000000000000..f97114db90485b084005300142220bc3580bdeac --- /dev/null +++ b/java/res/xml/key_styles_navigate_more_keys.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <switch> + <case latin:keyboardTheme="ICS|KLP"> + <key-style + latin:styleName="navigateNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!text/keyspec_action_next" /> + <key-style + latin:styleName="navigatePreviousMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!text/keyspec_action_previous" /> + <key-style + latin:styleName="navigatePreviousNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_action_previous,!text/keyspec_action_next" /> + <key-style + latin:styleName="navigateEmojiMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!text/keyspec_emoji_action_key" /> + <key-style + latin:styleName="navigateEmojiNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_next" /> + <key-style + latin:styleName="navigateEmojiPreviousMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous" /> + <key-style + latin:styleName="navigateEmojiPreviousNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!3,!needsDividers!,!text/keyspec_emoji_action_key,!text/keyspec_action_previous,!text/keyspec_action_next" /> + </case> + <default> + <key-style + latin:styleName="navigateNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!icon/next_key|!code/key_action_next" /> + <key-style + latin:styleName="navigatePreviousMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!icon/previous_key|!code/key_action_previous" /> + <key-style + latin:styleName="navigatePreviousNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!icon/previous_key|!code/key_action_previous,!icon/next_key|!code/key_action_next" /> + <key-style + latin:styleName="navigateEmojiMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!text/keyspec_emoji_action_key" /> + <key-style + latin:styleName="navigateEmojiNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!icon/next_key|!code/key_action_next" /> + <key-style + latin:styleName="navigateEmojiPreviousMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!2,!needsDividers!,!text/keyspec_emoji_action_key,!icon/previous_key|!code/key_action_previous" /> + <key-style + latin:styleName="navigateEmojiPreviousNextMoreKeysStyle" + latin:keyLabelFlags="hasPopupHint|preserveCase" + latin:moreKeys="!fixedColumnOrder!3,!needsDividers!,!text/keyspec_emoji_action_key,!icon/previous_key|!code/key_action_previous,!icon/next_key|!code/key_action_next" /> + </default> + </switch> +</merge> diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysBase.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysBase.java index 1fce362b534fa141c0b3dcfc23d87eecf61cf506..8a55455d0b8684271f0e93c2919311a72537da47 100644 --- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysBase.java +++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysBase.java @@ -35,12 +35,24 @@ abstract class KeyboardLayoutSetNavigateMoreKeysBase extends KeyboardLayoutSetTe private ExpectedMoreKey mExpectedNavigatePreviousMoreKey; private ExpectedMoreKey mExpectedEmojiMoreKey; + protected ExpectedMoreKey getExpectedNavigateNextMoreKey() { + return new ExpectedMoreKey(R.string.label_next_key); + } + + protected ExpectedMoreKey getExpectedNavigatePreviousMoreKey() { + return new ExpectedMoreKey(R.string.label_previous_key); + } + + protected ExpectedMoreKey getExpectedEmojiMoreKey() { + return new ExpectedMoreKey(KeyboardIconsSet.NAME_EMOJI_ACTION_KEY); + } + @Override protected void setUp() throws Exception { super.setUp(); - mExpectedNavigateNextMoreKey = new ExpectedMoreKey(R.string.label_next_key); - mExpectedNavigatePreviousMoreKey = new ExpectedMoreKey(R.string.label_previous_key); - mExpectedEmojiMoreKey = new ExpectedMoreKey(KeyboardIconsSet.NAME_EMOJI_ACTION_KEY); + mExpectedNavigateNextMoreKey = getExpectedNavigateNextMoreKey(); + mExpectedNavigatePreviousMoreKey = getExpectedNavigatePreviousMoreKey(); + mExpectedEmojiMoreKey = getExpectedEmojiMoreKey(); } /** @@ -90,6 +102,7 @@ abstract class KeyboardLayoutSetNavigateMoreKeysBase extends KeyboardLayoutSetTe assertEquals(tag + " column", expectedMoreKeys.length, actualKey.getMoreKeysColumnNumber()); } + assertNotNull(tag + " moreKeys", actualMoreKeys); assertEquals(tag, expectedMoreKeys.length, actualMoreKeys.length); for (int index = 0; index < actualMoreKeys.length; index++) { final int expectedLabelResId = expectedMoreKeys[index].mLabelResId; diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysLxxTests.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysLxxTests.java index 02593cb4996016f598086c7fa01dcce34d2d698d..d2bb41e5d6732aa6688b6b388ff71e099dba7e1c 100644 --- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysLxxTests.java +++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetNavigateMoreKeysLxxTests.java @@ -18,6 +18,8 @@ package com.android.inputmethod.keyboard; import android.test.suitebuilder.annotation.SmallTest; +import com.android.inputmethod.keyboard.internal.KeyboardIconsSet; + @SmallTest public class KeyboardLayoutSetNavigateMoreKeysLxxTests extends KeyboardLayoutSetNavigateMoreKeysBase { @@ -25,4 +27,14 @@ public class KeyboardLayoutSetNavigateMoreKeysLxxTests protected int getKeyboardThemeForTests() { return KeyboardTheme.THEME_ID_LXX_LIGHT; } + + @Override + protected ExpectedMoreKey getExpectedNavigateNextMoreKey() { + return new ExpectedMoreKey(KeyboardIconsSet.NAME_NEXT_KEY); + } + + @Override + protected ExpectedMoreKey getExpectedNavigatePreviousMoreKey() { + return new ExpectedMoreKey(KeyboardIconsSet.NAME_PREVIOUS_KEY); + } } diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java index f95ba3caccbefcb0172855a5e28235da171d5eff..a002bbe482842d3d75817b4aeaf3bd7c240e6301 100644 --- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java +++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetTestsBase.java @@ -52,6 +52,7 @@ public abstract class KeyboardLayoutSetTestsBase extends AndroidTestCase { final KeyboardTheme keyboardTheme = KeyboardTheme.searchKeyboardThemeById( getKeyboardThemeForTests()); setContext(new ContextThemeWrapper(getContext(), keyboardTheme.mStyleId)); + KeyboardLayoutSet.onKeyboardThemeChanged(); final Context context = getContext(); mScreenMetrics = context.getResources().getInteger(R.integer.config_screen_metrics);