From 9aac7900c0858eb44b81c4ed1dd80f3cb44b85bb Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 5 Jun 2022 20:14:16 +0200 Subject: [PATCH] Refactor: Make KeyValue final The class has a complicated internal logic, it is no longer reasonable to extend it. --- srcs/juloo.keyboard2/Emoji.java | 15 +++++++++++++-- srcs/juloo.keyboard2/EmojiGridView.java | 6 +++--- srcs/juloo.keyboard2/EmojiGroupButtonsBar.java | 2 +- srcs/juloo.keyboard2/KeyValue.java | 2 +- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/srcs/juloo.keyboard2/Emoji.java b/srcs/juloo.keyboard2/Emoji.java index b75069d..28c4f9f 100644 --- a/srcs/juloo.keyboard2/Emoji.java +++ b/srcs/juloo.keyboard2/Emoji.java @@ -8,19 +8,30 @@ import java.io.BufferedReader; import java.util.ArrayList; import java.util.HashMap; -public class Emoji extends KeyValue +public class Emoji { + private final KeyValue _kv; private final String _desc; private static HashMap emojis_by_name = new HashMap(); protected Emoji(String name, String bytecode, String desc) { - super(name, bytecode, KIND_STRING, 0, 0); + _kv = new KeyValue(name, bytecode, KeyValue.KIND_STRING, 0, 0); _desc = desc; emojis_by_name.put(name, this); } + public String name() + { + return _kv.name; + } + + public KeyValue kv() + { + return _kv; + } + public String getDescription() { return (_desc); diff --git a/srcs/juloo.keyboard2/EmojiGridView.java b/srcs/juloo.keyboard2/EmojiGridView.java index 6216d5b..224099c 100644 --- a/srcs/juloo.keyboard2/EmojiGridView.java +++ b/srcs/juloo.keyboard2/EmojiGridView.java @@ -55,7 +55,7 @@ public class EmojiGridView extends GridView Config config = Config.globalConfig(); Integer used = _lastUsed.get(_emojiArray[pos]); _lastUsed.put(_emojiArray[pos], (used == null) ? 1 : used.intValue() + 1); - config.handler.handleKeyUp(_emojiArray[pos], Pointers.Modifiers.EMPTY); + config.handler.handleKeyUp(_emojiArray[pos].kv(), Pointers.Modifiers.EMPTY); saveLastUsed(); // TODO: opti } @@ -88,7 +88,7 @@ public class EmojiGridView extends GridView HashSet set = new HashSet(); for (Emoji emoji : _lastUsed.keySet()) - set.add(String.valueOf(_lastUsed.get(emoji)) + "-" + emoji.name); + set.add(String.valueOf(_lastUsed.get(emoji)) + "-" + emoji.name()); edit.putStringSet(LAST_USE_PREF, set); edit.apply(); } @@ -126,7 +126,7 @@ public class EmojiGridView extends GridView public void setEmoji(Emoji emoji) { - setText(emoji.getString()); + setText(emoji.kv().getString()); } } diff --git a/srcs/juloo.keyboard2/EmojiGroupButtonsBar.java b/srcs/juloo.keyboard2/EmojiGroupButtonsBar.java index a942447..f736ddf 100644 --- a/srcs/juloo.keyboard2/EmojiGroupButtonsBar.java +++ b/srcs/juloo.keyboard2/EmojiGroupButtonsBar.java @@ -15,7 +15,7 @@ public class EmojiGroupButtonsBar extends LinearLayout for (int i = 0; i < Emoji.num_groups; i++) { Emoji first = Emoji.getEmojisByGroup(i)[0]; - add_group(i, first.getString()); + add_group(i, first.kv().getString()); } } diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 53bac64..3db6222 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -4,7 +4,7 @@ import android.view.KeyCharacterMap; import android.view.KeyEvent; import java.util.HashMap; -class KeyValue +final class KeyValue { public static enum Event {