From bf3e05e2a4d2ff59c6d53ca41540a82b6249d291 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Tue, 9 Oct 2018 13:23:30 +0700 Subject: [PATCH] Refactor `setIsChiral` --- .../tavultesoft/kmea/KMKeyboardJSHandler.java | 10 ++++++-- .../java/com/tavultesoft/kmea/KMManager.java | 24 +++++-------------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardJSHandler.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardJSHandler.java index 21317810f7..9e3025f3e2 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardJSHandler.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMKeyboardJSHandler.java @@ -11,10 +11,12 @@ import static android.content.Context.VIBRATOR_SERVICE; public abstract class KMKeyboardJSHandler { private Context context; + private KMKeyboard k = null; private static int KM_VIBRATE_DURATION = 100; // milliseconds - KMKeyboardJSHandler(Context context) { + KMKeyboardJSHandler(Context context, KMKeyboard k) { this.context = context; + this.k = k; } // This annotation is required in Jelly Bean and later: @@ -55,7 +57,11 @@ public abstract class KMKeyboardJSHandler { // Store the current keyboard chirality status from KMW in the Keyboard @JavascriptInterface - public abstract void setIsChiral(boolean isChiral); + public void setIsChiral(boolean isChiral) { + if (k != null) { + k.setChirality(isChiral); + } + } // Insert the selected string s @JavascriptInterface diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java index b74b4f796a..f077b18ac9 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMManager.java @@ -225,7 +225,7 @@ public final class KMManager { InAppKeyboard.setVerticalScrollBarEnabled(false); InAppKeyboard.setHorizontalScrollBarEnabled(false); InAppKeyboard.setWebViewClient(new KMInAppKeyboardWebViewClient(appContext)); - InAppKeyboard.addJavascriptInterface(new KMInAppKeyboardJSHandler(appContext), "jsInterface"); + InAppKeyboard.addJavascriptInterface(new KMInAppKeyboardJSHandler(appContext, InAppKeyboard), "jsInterface"); InAppKeyboard.loadKeyboard(); } } @@ -240,7 +240,7 @@ public final class KMManager { SystemKeyboard.setVerticalScrollBarEnabled(false); SystemKeyboard.setHorizontalScrollBarEnabled(false); SystemKeyboard.setWebViewClient(new KMSystemKeyboardWebViewClient(appContext)); - SystemKeyboard.addJavascriptInterface(new KMSystemKeyboardJSHandler(appContext), "jsInterface"); + SystemKeyboard.addJavascriptInterface(new KMSystemKeyboardJSHandler(appContext, SystemKeyboard), "jsInterface"); SystemKeyboard.loadKeyboard(); } } @@ -1586,14 +1586,8 @@ public final class KMManager { private static final class KMInAppKeyboardJSHandler extends KMKeyboardJSHandler { - KMInAppKeyboardJSHandler(Context context) { - super(context); - } - - // Store the current keyboard chirality status from KMW in InAppKeyboard - @JavascriptInterface - public void setIsChiral(boolean isChiral) { - InAppKeyboard.setChirality(isChiral); + KMInAppKeyboardJSHandler(Context context, KMKeyboard k) { + super(context, k); } // This annotation is required in Jelly Bean and later: @@ -1674,14 +1668,8 @@ public final class KMManager { } private static final class KMSystemKeyboardJSHandler extends KMKeyboardJSHandler { - KMSystemKeyboardJSHandler(Context context) { - super(context); - } - - // Store the current keyboard chirality status from KMW in SystemKeyboard - @JavascriptInterface - public void setIsChiral(boolean isChiral) { - SystemKeyboard.setChirality(isChiral); + KMSystemKeyboardJSHandler(Context context, KMKeyboard k) { + super(context, k); } // This annotation is required in Jelly Bean and later: