diff options
| author | returntrip <stefano@figura.im> | 2020-03-18 14:19:58 +0000 |
|---|---|---|
| committer | returntrip <stefano@figura.im> | 2020-03-18 19:10:07 +0000 |
| commit | 31933243b6bc07f9172d077f89d61df2a5c45042 (patch) | |
| tree | cb0fb852c22faf1e3c2f38918d089054b7fb2c97 | |
| parent | 5bc94bab938bd90f9cc4e7c6f1cbc58f38504367 (diff) | |
| download | AnySoftKeyboard-31933243b6bc07f9172d077f89d61df2a5c45042.tar.gz AnySoftKeyboard-31933243b6bc07f9172d077f89d61df2a5c45042.tar.bz2 | |
Add: AOSP/Gboard bottom common kbd
9 files changed, 135 insertions, 8 deletions
diff --git a/api/src/main/res/values/keyboard_theme_api.xml b/api/src/main/res/values/keyboard_theme_api.xml index d1460ac95..a84a0022a 100644 --- a/api/src/main/res/values/keyboard_theme_api.xml +++ b/api/src/main/res/values/keyboard_theme_api.xml @@ -257,6 +257,8 @@ <!-- should support normal, key_type_feedback --> <attr name="iconKeyClipboardFineSelect" format="reference"/> <!-- should support normal, key_type_feedback --> + <attr name="iconKeyQuickTextPopup" format="reference"/> + <!-- should support normal, key_type_feedback --> <attr name="iconKeyQuickText" format="reference"/> <!-- should support normal, key_type_feedback --> <attr name="iconKeyUndo" format="reference"/> @@ -268,4 +270,4 @@ <attr name="iconKeyImageInsert" format="reference"/> </declare-styleable> -</resources>
\ No newline at end of file +</resources> diff --git a/ime/app/src/main/java/com/anysoftkeyboard/keyboards/views/AnyKeyboardViewBase.java b/ime/app/src/main/java/com/anysoftkeyboard/keyboards/views/AnyKeyboardViewBase.java index f6480555a..2e2de736d 100644 --- a/ime/app/src/main/java/com/anysoftkeyboard/keyboards/views/AnyKeyboardViewBase.java +++ b/ime/app/src/main/java/com/anysoftkeyboard/keyboards/views/AnyKeyboardViewBase.java @@ -920,6 +920,9 @@ public class AnyKeyboardViewBase extends View implements InputViewBinder, Pointe case R.attr.iconKeyClipboardFineSelect: keyCode = KeyCodes.CLIPBOARD_SELECT; break; + case R.attr.iconKeyQuickTextPopup: + keyCode = KeyCodes.QUICK_TEXT_POPUP; + break; case R.attr.iconKeyQuickText: keyCode = KeyCodes.QUICK_TEXT; break; diff --git a/ime/app/src/main/res/values/strings.xml b/ime/app/src/main/res/values/strings.xml index 32629ede5..4931bfa93 100644 --- a/ime/app/src/main/res/values/strings.xml +++ b/ime/app/src/main/res/values/strings.xml @@ -535,6 +535,7 @@ <string name="extension_kbd_bottom_alt_with_mic">Alternate with mic</string> <string name="extension_kbd_bottom_old">Old School</string> <string name="extension_kbd_bottom_simple">Simple</string> + <string name="extension_kbd_bottom_row_aosp">AOSP styled</string> <string name="extension_kbd_bottom_ng">New Generation - Testing</string> <string name="extension_kbd_extension_numbers_symbols">Numbers and symbols</string> diff --git a/ime/app/src/main/res/values/styles_base_keyboard_theme.xml b/ime/app/src/main/res/values/styles_base_keyboard_theme.xml index ab3a9ce4a..4cc9b2eaa 100644 --- a/ime/app/src/main/res/values/styles_base_keyboard_theme.xml +++ b/ime/app/src/main/res/values/styles_base_keyboard_theme.xml @@ -51,6 +51,7 @@ <item name="iconKeyClipboardSelect">@drawable/ic_clipboard_select</item> <item name="iconKeyClipboardFineSelect">@drawable/ic_clipboard_fine_select</item> <item name="iconKeyQuickText">@drawable/ic_quick_text_dark_theme</item> + <item name="iconKeyQuickTextPopup">@drawable/ic_quick_text_dark_theme</item> <item name="iconKeyUndo">@drawable/ic_undo_dark_theme</item> <item name="iconKeyRedo">@drawable/ic_redo_dark_theme</item> diff --git a/ime/app/src/main/res/values/styles_lean_light_keyboard_theme.xml b/ime/app/src/main/res/values/styles_lean_light_keyboard_theme.xml index d9d40e7e5..3c3b59420 100644 --- a/ime/app/src/main/res/values/styles_lean_light_keyboard_theme.xml +++ b/ime/app/src/main/res/values/styles_lean_light_keyboard_theme.xml @@ -71,6 +71,7 @@ <item name="iconKeyClipboardSelect">@drawable/ic_clipboard_select_light</item> <item name="iconKeyClipboardFineSelect">@drawable/ic_clipboard_fine_select_light</item> <item name="iconKeyQuickText">@drawable/ic_quick_text_light_theme</item> + <item name="iconKeyQuickTextPopup">@drawable/ic_quick_text_light_theme</item> <item name="iconKeyImageInsert">@drawable/ic_media_insertion_light</item> <item name="iconKeyUndo">@drawable/ic_undo_light_theme</item> diff --git a/ime/app/src/main/res/values/styles_yochees_keyboard_theme.xml b/ime/app/src/main/res/values/styles_yochees_keyboard_theme.xml index c95868322..4ec56e7b0 100644 --- a/ime/app/src/main/res/values/styles_yochees_keyboard_theme.xml +++ b/ime/app/src/main/res/values/styles_yochees_keyboard_theme.xml @@ -50,6 +50,7 @@ <item name="iconKeyClipboardSelect">@drawable/yochees_dark_select_all</item> <item name="iconKeyClipboardFineSelect">@drawable/ic_clipboard_fine_select</item> <item name="iconKeyQuickText">@drawable/yochees_dark_smiley</item> + <item name="iconKeyQuickTextPopup">@drawable/yochees_dark_smiley</item> <item name="iconKeyArrowRight">@drawable/yochees_dark_arrow_right</item> <item name="iconKeyArrowLeft">@drawable/yochees_dark_arrow_left</item> diff --git a/ime/app/src/main/res/xml/ext_kbd_bottom_row_aosp.xml b/ime/app/src/main/res/xml/ext_kbd_bottom_row_aosp.xml new file mode 100644 index 000000000..edfa37c78 --- /dev/null +++ b/ime/app/src/main/res/xml/ext_kbd_bottom_row_aosp.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="utf-8"?> + +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:ask="http://schemas.android.com/apk/res-auto"> + <!-- Generic bottom row --> + <Row android:keyboardMode="@integer/keyboard_mode_normal" android:rowEdgeFlags="bottom" android:keyWidth="10%p" + android:keyHeight="@integer/key_normal_height"> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_keyboard_mode_change" + ask:longPressCode="@integer/key_code_mode_alphabet_popup" ask:keyDynamicEmblem="icon" + android:keyEdgeFlags="left"/> + + <Key ask:isFunctional="true" android:codes="44" ask:shiftedCodes="46" + android:popupCharacters="._`*\u005C\u003C\u003E\u00b7\u2026\u2014"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_quick_text_popup" + ask:longPressCode="@integer/key_code_quick_text"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_space" android:keyWidth="40%p"/> + + <Key ask:isFunctional="true" android:codes="46" ask:shiftedCodes="44" + android:popupCharacters="\u003F\!,#)(/;@':-\u0022\+%\u0026"/> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_enter" + android:keyEdgeFlags="right" ask:longPressCode="@integer/key_code_settings"/> + </Row> + <Row android:keyboardMode="@integer/keyboard_mode_im" android:rowEdgeFlags="bottom" android:keyWidth="10%p" + android:keyHeight="@integer/key_normal_height"> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_keyboard_mode_change" + ask:longPressCode="@integer/key_code_mode_alphabet_popup" ask:keyDynamicEmblem="icon" + android:keyEdgeFlags="left"/> + + <Key ask:isFunctional="true" android:codes="44" ask:shiftedCodes="46" + android:popupCharacters="._`*\u005C\u003C\u003E\u00b7\u2026\u2014"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_quick_text_popup" + ask:longPressCode="@integer/key_code_quick_text"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_space" android:keyWidth="40%p"/> + + <Key ask:isFunctional="true" android:codes="46" ask:shiftedCodes="44" + android:popupCharacters="\u003F\!,#)(/;@':-\u0022\+%\u0026"/> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_enter" + android:keyEdgeFlags="right" ask:longPressCode="@integer/key_code_settings"/> + </Row> + <Row android:keyboardMode="@integer/keyboard_mode_url" android:rowEdgeFlags="bottom" android:keyWidth="10%p" + android:keyHeight="@integer/key_normal_height"> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_keyboard_mode_change" + ask:longPressCode="@integer/key_code_mode_alphabet_popup" ask:keyDynamicEmblem="icon" + android:keyEdgeFlags="left"/> + + <Key ask:isFunctional="true" android:codes="47" ask:shiftedCodes=":" + android:popupCharacters=":,-_"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_domain"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_space" android:keyWidth="40%p"/> + + <Key ask:isFunctional="true" android:codes="." android:keyLabel="." + ask:longPressCode="@integer/key_code_quick_text_popup"/> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_enter" + android:keyEdgeFlags="right" ask:longPressCode="@integer/key_code_settings"/> + </Row> + <Row android:keyboardMode="@integer/keyboard_mode_email" android:rowEdgeFlags="bottom" android:keyWidth="10%p" + android:keyHeight="@integer/key_normal_height"> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_keyboard_mode_change" + ask:longPressCode="@integer/key_code_mode_alphabet_popup" ask:keyDynamicEmblem="icon" + android:keyEdgeFlags="left"/> + + <Key ask:isFunctional="true" android:codes="64" android:keyLabel="\@" ask:shiftedCodes="44" + android:popupCharacters=".-_+"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_domain"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_space" android:keyWidth="40%p"/> + + <Key ask:isFunctional="true" android:codes="46" ask:shiftedCodes="64" + android:popupCharacters=",-_+"/> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_enter" + android:keyEdgeFlags="right" ask:longPressCode="@integer/key_code_settings"/> + </Row> + <Row android:keyboardMode="@integer/keyboard_mode_password" android:rowEdgeFlags="bottom" android:keyWidth="10%p" + android:keyHeight="@integer/key_normal_height"> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_keyboard_mode_change" + ask:longPressCode="@integer/key_code_mode_alphabet_popup" ask:keyDynamicEmblem="icon" + android:keyEdgeFlags="left"/> + + <Key ask:isFunctional="true" android:codes="44" ask:shiftedCodes="46" + android:popupCharacters="._`*\u005C\u003C\u003E\u00b7\u2026\u2014"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_quick_text_popup" android:keyLabel=":)" + ask:longPressCode="@integer/key_code_quick_text"/> + + <Key ask:isFunctional="true" android:codes="@integer/key_code_space" android:keyWidth="40%p"/> + + <Key ask:isFunctional="true" android:codes="46" ask:shiftedCodes="44" + android:popupCharacters="\u003F\!,#)(/;@':-\u0022\+%\u0026"/> + + <Key ask:isFunctional="true" android:keyWidth="15%p" android:codes="@integer/key_code_enter" + android:keyEdgeFlags="right" ask:longPressCode="@integer/key_code_settings"/> + </Row> +</Keyboard> diff --git a/ime/app/src/main/res/xml/extension_keyboards.xml b/ime/app/src/main/res/xml/extension_keyboards.xml index 044cb6c8b..d1cbca4a6 100644 --- a/ime/app/src/main/res/xml/extension_keyboards.xml +++ b/ime/app/src/main/res/xml/extension_keyboards.xml @@ -65,6 +65,14 @@ description="" index="8" /> + <ExtensionKeyboard + id="16bbcd88-5532-4fd6-92ff-db57977dd815" + nameResId="@string/extension_kbd_top_text_editing" + extensionKeyboardResId="@xml/ext_kbd_top_row_text_editing" + extensionKeyboardType="@integer/extension_keyboard_type_top_row" + description="" + index="9" + /> <!-- bottom rows --> <ExtensionKeyboard @@ -140,12 +148,12 @@ index="9" /> <ExtensionKeyboard - id="16bbcd88-5532-4fd6-92ff-db57977dd815" - nameResId="@string/extension_kbd_top_text_editing" - extensionKeyboardResId="@xml/ext_kbd_top_row_text_editing" - extensionKeyboardType="@integer/extension_keyboard_type_top_row" + id="4bd88cea-f31e-4500-b20d-f51757350d8d" + nameResId="@string/extension_kbd_bottom_row_aosp" + extensionKeyboardResId="@xml/ext_kbd_bottom_row_aosp" + extensionKeyboardType="@integer/extension_keyboard_type_bottom_row" description="" - index="9" + index="10" /> <!-- top extension keyboards --> @@ -157,4 +165,4 @@ description="" index="2" /> -</ExtensionKeyboards>
\ No newline at end of file +</ExtensionKeyboards> diff --git a/ime/app/src/test/java/com/anysoftkeyboard/keyboardextensions/KeyboardExtensionFactoryTest.java b/ime/app/src/test/java/com/anysoftkeyboard/keyboardextensions/KeyboardExtensionFactoryTest.java index 2c3bfed14..55ed1ae4d 100644 --- a/ime/app/src/test/java/com/anysoftkeyboard/keyboardextensions/KeyboardExtensionFactoryTest.java +++ b/ime/app/src/test/java/com/anysoftkeyboard/keyboardextensions/KeyboardExtensionFactoryTest.java @@ -74,7 +74,7 @@ public class KeyboardExtensionFactoryTest { public void testGetAllAvailableExtensions() throws Exception { assertBasicListDetails( AnyApplication.getBottomRowFactory(getApplicationContext()).getAllAddOns(), - 9, + 10, KeyboardExtension.TYPE_BOTTOM); assertBasicListDetails( AnyApplication.getTopRowFactory(getApplicationContext()).getAllAddOns(), |
