From 8916c67d15de24a3d3806391e8c01a53286d3088 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Wed, 30 Aug 2023 12:03:57 +0200 Subject: [PATCH] workaround for toasts not showing up on some android versions --- .../latin/suggestions/SuggestionStripView.java | 7 ++++++- .../inputmethod/latin/utils/NewDictionaryAdder.kt | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java index 3df454cdb..7a40cce47 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java @@ -341,7 +341,12 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick final SuggestedWordInfo info = mSuggestedWords.getInfo(i); if (info.getWord().equals(word)) { final String text = info.mSourceDict.mDictType + ":" + info.mSourceDict.mLocale; - Toast.makeText(getContext(), text, Toast.LENGTH_LONG).show(); + // apparently toast is not working on some Android versions, probably + // Android 13 with the notification permission + // Toast.makeText(getContext(), text, Toast.LENGTH_LONG).show(); + final PopupMenu uglyWorkaround = new PopupMenu(DialogUtils.getPlatformDialogThemeContext(getContext()), wordView); + uglyWorkaround.getMenu().add(Menu.NONE, 1, Menu.NONE, text); + uglyWorkaround.show(); } } return true; diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/NewDictionaryAdder.kt b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/NewDictionaryAdder.kt index 41084626a..66daba12e 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/NewDictionaryAdder.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/NewDictionaryAdder.kt @@ -136,7 +136,13 @@ class NewDictionaryAdder(private val context: Context, private val onAdded: ((Bo private fun onDictionaryLoadingError(messageId: Int) { cachedDictionaryFile.delete() - Toast.makeText(context, messageId, Toast.LENGTH_LONG).show() +// Toast.makeText(context, messageId, Toast.LENGTH_LONG).show() + // show a dialog because toasts are not showing up on some Android versions + // possibly Android 13 because of notification permission + AlertDialog.Builder(context) + .setMessage(messageId) + .setNegativeButton(R.string.dialog_close, null) + .show() } }