add "show source dictionary" option in remove suggestion dialog when using debug apk

This commit is contained in:
Helium314 2023-08-27 18:41:13 +02:00
parent 3ca932db19
commit 5b0acd82fa

View file

@ -28,6 +28,7 @@ import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.GestureDetector;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
@ -40,12 +41,14 @@ import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import org.dslul.openboard.inputmethod.accessibility.AccessibilityUtils;
import org.dslul.openboard.inputmethod.keyboard.Keyboard;
import org.dslul.openboard.inputmethod.keyboard.MainKeyboardView;
import org.dslul.openboard.inputmethod.keyboard.MoreKeysPanel;
import org.dslul.openboard.inputmethod.latin.AudioAndHapticFeedbackManager;
import org.dslul.openboard.inputmethod.latin.BuildConfig;
import org.dslul.openboard.inputmethod.latin.R;
import org.dslul.openboard.inputmethod.latin.SuggestedWords;
import org.dslul.openboard.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
@ -329,14 +332,24 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
final String word = wordView.getText().toString();
final PopupMenu menu = new PopupMenu(DialogUtils.getPlatformDialogThemeContext(getContext()), wordView);
menu.getMenu().add(R.string.remove_suggestions);
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
menu.getMenu().add(Menu.NONE, 1, Menu.NONE, R.string.remove_suggestions);
if (BuildConfig.DEBUG)
menu.getMenu().add(Menu.NONE, 2, Menu.NONE, "Show source dictionary");
menu.setOnMenuItemClickListener(menuItem -> {
if (menuItem.getItemId() == 2) {
for (int i = 0; i < mSuggestedWords.size(); i ++) {
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();
}
}
return true;
}
mListener.removeSuggestion(word);
mMoreSuggestionsView.dismissMoreKeysPanel();
// show suggestions, but without the removed word
final ArrayList<SuggestedWordInfo> sw = new ArrayList<SuggestedWordInfo>();
final ArrayList<SuggestedWordInfo> sw = new ArrayList<>();
for (int i = 0; i < mSuggestedWords.size(); i ++) {
final SuggestedWordInfo info = mSuggestedWords.getInfo(i);
if (!info.getWord().equals(word))
@ -362,7 +375,6 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
getContext(), mSuggestedWords, mSuggestionsStrip, SuggestionStripView.this);
mStripVisibilityGroup.showSuggestionsStrip();
return true;
}
});
menu.show();
}