More emoji category + Fix last emoji used saving

This commit is contained in:
jaguillo
2015-10-26 20:48:07 +01:00
parent e95ccbec00
commit 2c859f30a6
5 changed files with 391 additions and 319 deletions

View File

@ -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<Emoji, Integer> 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 ;
}
_lastUsed.put((Emoji)KeyValue.getKeyByName(emoji[1]), Integer.getInteger(emoji[0]));
emoji = Emoji.getEmojiByName(data[1]);
if (emoji == null)
continue ;
_lastUsed.put(emoji, Integer.getInteger(data[0]));
}
}