From 2c859f30a64606377c8b9ee5bb7eea3e8389b51f Mon Sep 17 00:00:00 2001 From: jaguillo Date: Mon, 26 Oct 2015 20:48:07 +0100 Subject: More emoji category + Fix last emoji used saving --- srcs/juloo.keyboard2/EmojiGridView.java | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'srcs/juloo.keyboard2/EmojiGridView.java') diff --git a/srcs/juloo.keyboard2/EmojiGridView.java b/srcs/juloo.keyboard2/EmojiGridView.java index ec02f58..deb726f 100644 --- a/srcs/juloo.keyboard2/EmojiGridView.java +++ b/srcs/juloo.keyboard2/EmojiGridView.java @@ -57,6 +57,7 @@ public class EmojiGridView extends GridView _lastUsed.put(_emojiArray[pos], (used == null) ? 1 : used.intValue() + 1); main.handleKeyUp(_emojiArray[pos], 0); + saveLastUsed(); // TODO: opti } @Override @@ -66,12 +67,6 @@ public class EmojiGridView extends GridView setNumColumns(getMeasuredWidth() / COLUMN_WIDTH); } - @Override - public void onDetachedFromWindow() - { - saveLastUsed(); - } - private Emoji[] getLastEmojis() { final HashMap map = _lastUsed; @@ -96,6 +91,7 @@ public class EmojiGridView extends GridView for (Emoji emoji : _lastUsed.keySet()) set.add(String.valueOf(_lastUsed.get(emoji)) + "-" + emoji.getName()); edit.putStringSet(LAST_USE_PREF, set); + edit.apply(); } private void loadLastUsed() @@ -107,14 +103,15 @@ public class EmojiGridView extends GridView if (lastUseSet != null) for (String emojiData : lastUseSet) { - String[] emoji = emojiData.split("-", 1); + String[] data = emojiData.split("-", 2); + Emoji emoji; - if (emoji.length != 2) - { - System.out.println("Warn: Bad emoji data: " + emojiData); + if (data.length != 2) + continue ; + emoji = Emoji.getEmojiByName(data[1]); + if (emoji == null) continue ; - } - _lastUsed.put((Emoji)KeyValue.getKeyByName(emoji[1]), Integer.getInteger(emoji[0])); + _lastUsed.put(emoji, Integer.getInteger(data[0])); } } -- cgit v1.2.3