diff options
| author | Jules Aguillon | 2026-05-02 19:32:21 +0200 |
|---|---|---|
| committer | GitHub | 2026-05-02 19:32:21 +0200 |
| commit | 9c23e6c5f3459240a87898762cbfa90cef766ad7 (patch) | |
| tree | 7b632f324e5d14431105ae87ea4e65dbda463d4f /srcs/juloo.keyboard2/suggestions/CandidatesView.java | |
| parent | d164820bca8d2182869108f8a015ce3d987d048d (diff) | |
| download | unexpected-keyboard-9c23e6c5f3459240a87898762cbfa90cef766ad7.tar.gz unexpected-keyboard-9c23e6c5f3459240a87898762cbfa90cef766ad7.zip | |
Emoji suggestion (#1235)
Suggest an emoji in addition to the 3 suggested words when the
current word matches an alias in the emoji dictionary, if
available.
Diffstat (limited to 'srcs/juloo.keyboard2/suggestions/CandidatesView.java')
| -rw-r--r-- | srcs/juloo.keyboard2/suggestions/CandidatesView.java | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/srcs/juloo.keyboard2/suggestions/CandidatesView.java b/srcs/juloo.keyboard2/suggestions/CandidatesView.java index 6eba62a..5485ccf 100644 --- a/srcs/juloo.keyboard2/suggestions/CandidatesView.java +++ b/srcs/juloo.keyboard2/suggestions/CandidatesView.java @@ -17,10 +17,12 @@ import juloo.keyboard2.R; public class CandidatesView extends LinearLayout { - static final int NUM_CANDIDATES = 3; + static final int NUM_CANDIDATES = 4; /** Candidates currently visible. Entries can be [null] when there are less - than [NUM_CANDIDATES] suggestions. */ + than [NUM_CANDIDATES] suggestions. + - Entries at indexes [0] to [2] are word suggestions. + - Entry at index [3] is the emoji suggestion. */ String[] _items = new String[NUM_CANDIDATES]; /** Text views showing the candidates in [_items]. Text views visibility is @@ -43,35 +45,45 @@ public class CandidatesView extends LinearLayout setup_item_view(0, R.id.candidates_middle); setup_item_view(1, R.id.candidates_right); setup_item_view(2, R.id.candidates_left); + setup_item_view(3, R.id.candidates_emoji); } - public void set_candidates(List<String> suggestions) + public void set_candidates(Suggestions s) { - int s_count = suggestions.size(); + int s_count = s.count; + for (int i = 0; i < Suggestions.MAX_COUNT; i++) + _items[i] = (i < s_count) ? s.suggestions[i] : null; + _items[3] = s.emoji_suggestion; // Hide the status message when showing candidates. if (s_count != 0 && _status_no_dict != null) _status_no_dict.setVisibility(View.GONE); for (int i = 0; i < _item_views.length; i++) { TextView v = _item_views[i]; - if (i < s_count) + if (_items[i] != null) { - String it = suggestions.get(i); - _items[i] = it; - v.setText(it); + v.setText(_items[i]); v.setVisibility(View.VISIBLE); } else { - _items[i] = null; v.setVisibility(View.GONE); } } } + public void clear_candidates() + { + for (int i = 0; i < _item_views.length; i++) + { + _items[i] = null; + _item_views[i].setVisibility(View.GONE); + } + } + public void refresh_config(Config config) { - set_candidates(Suggestions.NO_SUGGESTIONS); + clear_candidates(); // The status message indicates whether the dictionaries should be // installed. _status_no_dict = inflate_and_show(_status_no_dict, |
