From 216b8a9abcf0a92e3d5a5a327df23bc7d4777b60 Mon Sep 17 00:00:00 2001 From: Daniele Ricci Date: Wed, 31 Oct 2018 20:02:29 +0100 Subject: [PATCH] Notify the user that emoji can't be opened in multi-window (close #1101) Signed-off-by: Daniele Ricci --- .../java/org/kontalk/ui/AbstractComposeFragment.java | 10 ++++++++++ app/src/main/java/org/kontalk/ui/view/ComposerBar.java | 3 ++- .../java/org/kontalk/ui/view/ComposerListener.java | 3 +++ app/src/main/java/org/kontalk/util/SystemUtils.java | 4 ++++ app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/kontalk/ui/AbstractComposeFragment.java b/app/src/main/java/org/kontalk/ui/AbstractComposeFragment.java index 60322fd6a..5438e7542 100644 --- a/app/src/main/java/org/kontalk/ui/AbstractComposeFragment.java +++ b/app/src/main/java/org/kontalk/ui/AbstractComposeFragment.java @@ -770,6 +770,16 @@ public void onTextEntryFocus() { tryHideAttachmentView(true); } + @Override + public boolean canOpenEmoji() { + if (SystemUtils.supportsMultiWindow() && getActivity().isInMultiWindowMode()) { + Toast.makeText(getContext(), R.string.err_emoji_disabled_in_multiwindow, + Toast.LENGTH_LONG).show(); + return false; + } + return true; + } + /** * Sends out the text message in the composing entry. */ diff --git a/app/src/main/java/org/kontalk/ui/view/ComposerBar.java b/app/src/main/java/org/kontalk/ui/view/ComposerBar.java index 4ea4c7c9a..41b305933 100644 --- a/app/src/main/java/org/kontalk/ui/view/ComposerBar.java +++ b/app/src/main/java/org/kontalk/ui/view/ComposerBar.java @@ -381,7 +381,8 @@ else if (mDistMove > mMoveOffset) { mEmojiButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - toggleEmojiDrawer(); + if (mListener != null && mListener.canOpenEmoji()) + toggleEmojiDrawer(); } }); diff --git a/app/src/main/java/org/kontalk/ui/view/ComposerListener.java b/app/src/main/java/org/kontalk/ui/view/ComposerListener.java index 380e64105..40a0bd1aa 100644 --- a/app/src/main/java/org/kontalk/ui/view/ComposerListener.java +++ b/app/src/main/java/org/kontalk/ui/view/ComposerListener.java @@ -56,4 +56,7 @@ void sendBinaryMessage(Uri uri, String mime, boolean media, /** The text entry has gained focus. */ void onTextEntryFocus(); + /** Return false if for whatever reason the emoji panel can't be opened. */ + boolean canOpenEmoji(); + } diff --git a/app/src/main/java/org/kontalk/util/SystemUtils.java b/app/src/main/java/org/kontalk/util/SystemUtils.java index 85c98fcf8..b88aef5cc 100644 --- a/app/src/main/java/org/kontalk/util/SystemUtils.java +++ b/app/src/main/java/org/kontalk/util/SystemUtils.java @@ -489,6 +489,10 @@ public static boolean supportsJobScheduler() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; } + public static boolean supportsMultiWindow() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N; + } + /** Return true if the platform can and will broadcast network state change *implicit* intents. */ public static boolean isReceivingNetworkStateChanges() { return Build.VERSION.SDK_INT < Build.VERSION_CODES.N; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 29b5885b3..e61f9aa5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -686,6 +686,8 @@ If you allow Kontalk to manage phone calls, it can automatically detect your phone number.\nKontalk won\'t use the granted permission for anything else. + Emoji can\'t be used in multi-window mode. + Access to Kontalk messages Can read from and write to the Kontalk messages database Access to Kontalk users information