From 8716801261b2f1f494b97fb33d17520bba97340d Mon Sep 17 00:00:00 2001 From: jaguillo Date: Tue, 27 Oct 2015 15:05:50 +0100 Subject: [PATCH] Improve init of emoji pane --- res/layout/emoji_pane.xml | 41 ++------------- res/values/styles.xml | 9 ++++ srcs/juloo.keyboard2/EmojiTypeButton.java | 64 ++++++++++++++--------- 3 files changed, 53 insertions(+), 61 deletions(-) diff --git a/res/layout/emoji_pane.xml b/res/layout/emoji_pane.xml index e7441f7..f1adade 100644 --- a/res/layout/emoji_pane.xml +++ b/res/layout/emoji_pane.xml @@ -9,53 +9,43 @@ > diff --git a/res/values/styles.xml b/res/values/styles.xml index 6b23f82..3566716 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -9,4 +9,13 @@ @color/emoji_key_text @dimen/label_text_size + diff --git a/srcs/juloo.keyboard2/EmojiTypeButton.java b/srcs/juloo.keyboard2/EmojiTypeButton.java index d88bff8..20cb994 100644 --- a/srcs/juloo.keyboard2/EmojiTypeButton.java +++ b/srcs/juloo.keyboard2/EmojiTypeButton.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.LinearLayout; +import java.util.HashMap; public class EmojiTypeButton extends Button implements View.OnTouchListener @@ -16,8 +17,11 @@ public class EmojiTypeButton extends Button public EmojiTypeButton(Context context, AttributeSet attrs) { super(context, attrs); + EmojiTypeDef def = _types.get(attrs.getAttributeValue(null, "emoji_type")); + + _emojiType = def.getTypeId(); + setText(def.getButtonText()); setOnTouchListener(this); - _emojiType = getTypeByString(attrs.getAttributeValue(null, "emoji_type")); } public boolean onTouch(View view, MotionEvent event) @@ -31,29 +35,41 @@ public class EmojiTypeButton extends Button return (true); } - public static int getTypeByString(String str) + private static HashMap _types = new HashMap(); + + static { - // caca - if (str.equals("LAST_USE")) - return (EmojiGridView.TYPE_LAST_USE); - if (str.equals("EMOTICONS")) - return (Emoji.TYPE_EMOTICONS); - if (str.equals("TRANSPORT")) - return (Emoji.TYPE_TRANSPORT); - if (str.equals("FOOD")) - return (Emoji.TYPE_FOOD); - if (str.equals("NATURE")) - return (Emoji.TYPE_NATURE); - if (str.equals("FEST")) - return (Emoji.TYPE_FEST); - if (str.equals("ANIMAL")) - return (Emoji.TYPE_ANIMAL); - if (str.equals("HUMAN")) - return (Emoji.TYPE_HUMAN); - if (str.equals("UNCATEGORIZED")) - return (Emoji.TYPE_UNCATEGORIZED); - if (str.equals("DINGBATS")) - return (Emoji.TYPE_DINGBATS); - return (-1); + _types.put("LAST_USE", new EmojiTypeDef(EmojiGridView.TYPE_LAST_USE, "\uD83D\uDD59")); + _types.put("EMOTICONS", new EmojiTypeDef(Emoji.TYPE_EMOTICONS, "\uD83D\uDE03")); + _types.put("TRANSPORT", new EmojiTypeDef(Emoji.TYPE_TRANSPORT, "\uD83D\uDE8C")); + _types.put("FOOD", new EmojiTypeDef(Emoji.TYPE_FOOD, "\uD83C\uDF55")); + _types.put("NATURE", new EmojiTypeDef(Emoji.TYPE_NATURE, "\uD83C\uDF37")); + _types.put("FEST", new EmojiTypeDef(Emoji.TYPE_FEST, "\uD83C\uDF88")); + _types.put("ANIMAL", new EmojiTypeDef(Emoji.TYPE_ANIMAL, "\uD83D\uDC31")); + _types.put("HUMAN", new EmojiTypeDef(Emoji.TYPE_HUMAN, "\uD83D\uDC9C")); + _types.put("UNCATEGORIZED", new EmojiTypeDef(Emoji.TYPE_UNCATEGORIZED, "\uD83D\uDCA5")); + _types.put("DINGBATS", new EmojiTypeDef(Emoji.TYPE_DINGBATS, "\u2705")); + } + + private static class EmojiTypeDef + { + private int _typeId; + private String _buttonText; + + public EmojiTypeDef(int typeId, String buttonText) + { + _typeId = typeId; + _buttonText = buttonText; + } + + public int getTypeId() + { + return (_typeId); + } + + public String getButtonText() + { + return (_buttonText); + } } }