From b98a208b699589d0e977460244b563a8123b9b50 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Fri, 5 Jan 2024 08:02:11 +0100 Subject: [PATCH] fix #384 and make (semi-)related code more concise --- .../dslul/openboard/inputmethod/latin/LatinIME.java | 6 +----- .../latin/suggestions/SuggestionStripView.java | 13 ++++--------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java index cc71be3f..cd14a4bf 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/LatinIME.java @@ -1347,11 +1347,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen final View inlineSuggestionView = InlineAutofillUtils.createView(inlineSuggestions, mDisplayContext); // "normal" suggestions might be determined in parallel when processing MSG_UPDATE_SUGGESTION_STRIP // so we add a delay to make sure inline suggestions are set only after normal suggestions - mHandler.postDelayed(() -> { - mSuggestionStripView.clear(); - mSuggestionStripView.hideToolbarKeys(); - mSuggestionStripView.addSuggestionView(inlineSuggestionView); - }, 200); + mHandler.postDelayed(() -> mSuggestionStripView.setInlineSuggestionsView(inlineSuggestionView), 200); return true; } 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 9dfefb42..3d94f13b 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 @@ -269,13 +269,11 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick getContext(), mSuggestedWords, mSuggestionsStrip, this); } - public void addSuggestionView(final View view) { - mSuggestionsStrip.addView(view); - } - - public void hideToolbarKeys() { + public void setInlineSuggestionsView(final View view) { + clear(); mToolbarExpandKey.setVisibility(GONE); mPinnedKeys.setVisibility(GONE); + mSuggestionsStrip.addView(view); } public void setMoreSuggestionsHeight(final int remainingHeight) { @@ -283,7 +281,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick } @SuppressLint("ClickableViewAccessibility") // why would "null" need to call View#performClick? - public void clear() { + private void clear() { mSuggestionsStrip.removeAllViews(); if (DEBUG_SUGGESTIONS) removeAllDebugInfoViews(); @@ -293,9 +291,6 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick for (final TextView word : mWordViews) { word.setOnTouchListener(null); } - - mToolbarExpandKey.setVisibility(VISIBLE); - mPinnedKeys.setVisibility(VISIBLE); } private void removeAllDebugInfoViews() {