From b82d5bdb555a64ffd585467a9872e95e174707c8 Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Wed, 22 Jan 2020 03:59:34 +0200 Subject: [PATCH] voice button --- .../leanback/ime/LeanbackKeyboardContainer.java | 10 +++++----- .../leanback/ime/LeanbackKeyboardView.java | 2 +- .../src/main/res/drawable-hdpi-v4/ic_voice.png | Bin 0 -> 5363 bytes .../src/main/res/drawable-mdpi-v4/ic_voice.png | Bin 0 -> 3499 bytes .../src/main/res/drawable-xhdpi-v4/ic_voice.png | Bin 0 -> 7147 bytes .../src/main/res/layout/input_leanback.xml | 6 +++--- leankeykeyboard/src/main/res/values/dimens.xml | 4 ++-- .../src/main/res/values/languages.xml | 2 +- leankeykeyboard/src/main/res/values/strings.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_ar.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_bg.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_de.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_el.xml | 1 + .../res/xml/{qwerty_us.xml => qwerty_en_us.xml} | 1 + .../src/main/res/xml/qwerty_es_us.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_fa.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_fr.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_he.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_is.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_it.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_nl.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_ru.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_sv.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_th.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_tr.xml | 1 + leankeykeyboard/src/main/res/xml/qwerty_uk.xml | 1 + .../main/res/xml/{sym_us.xml => sym_en_us.xml} | 1 + .../src/main/res/xml/{ => unused}/qwerty_az.xml | 0 .../src/main/res/xml/{ => unused}/qwerty_ca.xml | 0 .../src/main/res/xml/{ => unused}/qwerty_da.xml | 0 .../main/res/xml/{ => unused}/qwerty_en_gb.xml | 0 .../main/res/xml/{ => unused}/qwerty_en_in.xml | 0 .../main/res/xml/{ => unused}/qwerty_es_eu.xml | 0 .../src/main/res/xml/{ => unused}/qwerty_et.xml | 0 .../src/main/res/xml/{ => unused}/qwerty_eu.xml | 0 .../src/main/res/xml/{ => unused}/qwerty_fi.xml | 0 .../res/xml/{ => unused}/qwerty_leanback_ru.xml | 0 .../src/main/res/xml/{ => unused}/qwerty_nb.xml | 0 .../src/main/res/xml/{ => unused}/qwertz.xml | 0 .../src/main/res/xml/{ => unused}/qwertz_ch.xml | 0 .../src/main/res/xml/{ => unused}/sym_en_gb.xml | 0 .../src/main/res/xml/{ => unused}/sym_en_in.xml | 0 42 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 leankeykeyboard/src/main/res/drawable-hdpi-v4/ic_voice.png create mode 100644 leankeykeyboard/src/main/res/drawable-mdpi-v4/ic_voice.png create mode 100644 leankeykeyboard/src/main/res/drawable-xhdpi-v4/ic_voice.png rename leankeykeyboard/src/main/res/xml/{qwerty_us.xml => qwerty_en_us.xml} (96%) rename leankeykeyboard/src/main/res/xml/{sym_us.xml => sym_en_us.xml} (95%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_az.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_ca.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_da.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_en_gb.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_en_in.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_es_eu.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_et.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_eu.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_fi.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_leanback_ru.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwerty_nb.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwertz.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/qwertz_ch.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/sym_en_gb.xml (100%) rename leankeykeyboard/src/main/res/xml/{ => unused}/sym_en_in.xml (100%) diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardContainer.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardContainer.java index 522f0f7..682ac0b 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardContainer.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardContainer.java @@ -196,17 +196,17 @@ public class LeanbackKeyboardContainer { mVoiceButtonView.setCallback(new RecognizerView.Callback() { @Override public void onCancelRecordingClicked() { - LeanbackKeyboardContainer.this.cancelVoiceRecording(); + cancelVoiceRecording(); } @Override public void onStartRecordingClicked() { - LeanbackKeyboardContainer.this.startVoiceRecording(); + startVoiceRecording(); } @Override public void onStopRecordingClicked() { - LeanbackKeyboardContainer.this.cancelVoiceRecording(); + cancelVoiceRecording(); } }); initKeyboards(); @@ -274,8 +274,8 @@ public class LeanbackKeyboardContainer { } private void initKeyboards() { - mAbcKeyboard = new Keyboard(mContext, R.xml.qwerty_us); - mSymKeyboard = new Keyboard(mContext, R.xml.sym_us); + mAbcKeyboard = new Keyboard(mContext, R.xml.qwerty_en_us); + mSymKeyboard = new Keyboard(mContext, R.xml.sym_en_us); updateAddonKeyboard(); mNumKeyboard = new Keyboard(mContext, R.xml.number); } diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardView.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardView.java index bbe1a48..abfedd6 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardView.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/android/leanback/ime/LeanbackKeyboardView.java @@ -32,7 +32,7 @@ public class LeanbackKeyboardView extends FrameLayout { /** * keys count among which space key spans (important: wrong value will broke navigation) */ - public static final int ASCII_PERIOD_LEN = 6; + public static final int ASCII_PERIOD_LEN = 5; public static final int ASCII_SPACE = 32; private static final boolean DEBUG = false; public static final int KEYCODE_CAPS_LOCK = -6; diff --git a/leankeykeyboard/src/main/res/drawable-hdpi-v4/ic_voice.png b/leankeykeyboard/src/main/res/drawable-hdpi-v4/ic_voice.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca7277131a876a246980fd9d91d0d8df937d710 GIT binary patch literal 5363 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 a!~oMCle^wUwFAF@L#iojAxagkg8m2n$-)2t literal 0 HcmV?d00001 diff --git a/leankeykeyboard/src/main/res/drawable-mdpi-v4/ic_voice.png b/leankeykeyboard/src/main/res/drawable-mdpi-v4/ic_voice.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca7b537d14b632ec4e1421bec00bff45a67d552 GIT binary patch literal 3499 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 literal 0 HcmV?d00001 diff --git a/leankeykeyboard/src/main/res/drawable-xhdpi-v4/ic_voice.png b/leankeykeyboard/src/main/res/drawable-xhdpi-v4/ic_voice.png new file mode 100644 index 0000000000000000000000000000000000000000..5936d631436098223b31da293d43cf56b3008571 GIT binary patch literal 7147 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 literal 0 HcmV?d00001 diff --git a/leankeykeyboard/src/main/res/layout/input_leanback.xml b/leankeykeyboard/src/main/res/layout/input_leanback.xml index d27c773..f56e573 100644 --- a/leankeykeyboard/src/main/res/layout/input_leanback.xml +++ b/leankeykeyboard/src/main/res/layout/input_leanback.xml @@ -3,13 +3,13 @@ - + - + -