From 6ff10eaf75c87ed566b7ec3cb2f5ecbab13a2d4e Mon Sep 17 00:00:00 2001 From: Yuriy Liskov Date: Wed, 22 Jan 2020 21:39:42 +0200 Subject: [PATCH] space key scale fix --- leankeykeyboard/src/main/AndroidManifest.xml | 4 ++-- .../android/leanback/ime/LeanbackKeyboardView.java | 13 ++++++++++--- .../keyboard/leanback/ime/LeanbackImeService.java | 3 +++ .../settings/settings/KbSettingsActivity.java | 10 ---------- leankeykeyboard/src/main/res/values/languages.xml | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/leankeykeyboard/src/main/AndroidManifest.xml b/leankeykeyboard/src/main/AndroidManifest.xml index ce0369c..39ecf87 100644 --- a/leankeykeyboard/src/main/AndroidManifest.xml +++ b/leankeykeyboard/src/main/AndroidManifest.xml @@ -78,8 +78,8 @@ + android:enabled="false" + android:exported="false"> 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 abfedd6..b4b21e0 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 @@ -201,10 +201,17 @@ public class LeanbackKeyboardView extends FrameLayout { } } - int dx = (key.width - padding.left - padding.right - key.icon.getIntrinsicWidth()) / 2 + padding.left; - int dy = (key.height - padding.top - padding.bottom - key.icon.getIntrinsicHeight()) / 2 + padding.top; + int iconWidth = key.icon.getIntrinsicWidth(); + int iconHeight = key.icon.getIntrinsicHeight(); + + if (key.width > key.height) { // wide key like space key + iconWidth = key.width; + } + + int dx = (key.width - padding.left - padding.right - iconWidth) / 2 + padding.left; + int dy = (key.height - padding.top - padding.bottom - iconHeight) / 2 + padding.top; canvas.translate((float) dx, (float) dy); - key.icon.setBounds(0, 0, key.icon.getIntrinsicWidth(), key.icon.getIntrinsicHeight()); + key.icon.setBounds(0, 0, iconWidth, iconHeight); key.icon.draw(canvas); canvas.translate((float) (-dx), (float) (-dy)); } else if (label != null) { diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/leanback/ime/LeanbackImeService.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/leanback/ime/LeanbackImeService.java index ebb0856..546482c 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/leanback/ime/LeanbackImeService.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/keyboard/leanback/ime/LeanbackImeService.java @@ -309,6 +309,9 @@ public class LeanbackImeService extends InputMethodService { public void onStartInputView(EditorInfo info, boolean restarting) { super.onStartInputView(info, restarting); + Log.d(TAG, "Restarting ime service..."); + setInputView(onCreateInputView()); + // FireTV: fix accidental kbd pop-ups // more info: https://forum.xda-developers.com/fire-tv/general/guide-change-screen-keyboard-to-leankey-t3527675/page2 //updateInputViewShown(); diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/settings/settings/KbSettingsActivity.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/settings/settings/KbSettingsActivity.java index 3f67884..a9e7c22 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/settings/settings/KbSettingsActivity.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/settings/settings/KbSettingsActivity.java @@ -1,10 +1,8 @@ package com.liskovsoft.leankeyboard.settings.settings; -import android.content.Intent; import android.os.Bundle; import androidx.fragment.app.FragmentActivity; import androidx.leanback.app.GuidedStepSupportFragment; -import com.liskovsoft.leankeyboard.other.RestartServiceReceiver; public class KbSettingsActivity extends FragmentActivity { @Override @@ -13,12 +11,4 @@ public class KbSettingsActivity extends FragmentActivity { GuidedStepSupportFragment.addAsRoot(this, new KbSettingsFragment(), android.R.id.content); } - - @Override - protected void onStop() { - super.onStop(); - - Intent intent = new Intent(this, RestartServiceReceiver.class); - sendBroadcast(intent); - } } diff --git a/leankeykeyboard/src/main/res/values/languages.xml b/leankeykeyboard/src/main/res/values/languages.xml index 9f296c6..9f96e9a 100644 --- a/leankeykeyboard/src/main/res/values/languages.xml +++ b/leankeykeyboard/src/main/res/values/languages.xml @@ -17,6 +17,6 @@ Thai|th Turkish|tr Ukrainian|uk - Spanish|es_us + \ No newline at end of file