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

@ -11,7 +11,6 @@
android:layout_width="0px" android:layout_width="0px"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:background="@color/emoji_button_bg"
android:padding="0px" android:padding="0px"
android:text="\uD83D\uDD59" android:text="\uD83D\uDD59"
emoji_type="LAST_USE" emoji_type="LAST_USE"
@ -20,7 +19,6 @@
android:layout_width="0px" android:layout_width="0px"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:background="@color/emoji_button_bg"
android:padding="0px" android:padding="0px"
android:text="\uD83D\uDE03" android:text="\uD83D\uDE03"
emoji_type="EMOTICONS" emoji_type="EMOTICONS"
@ -29,16 +27,6 @@
android:layout_width="0px" android:layout_width="0px"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:background="@color/emoji_button_bg"
android:padding="0px"
android:text="\u2708"
emoji_type="DINGBATS"
/>
<juloo.keyboard2.EmojiTypeButton
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/emoji_button_bg"
android:padding="0px" android:padding="0px"
android:text="\uD83D\uDE8C" android:text="\uD83D\uDE8C"
emoji_type="TRANSPORT" emoji_type="TRANSPORT"
@ -47,19 +35,57 @@
android:layout_width="0px" android:layout_width="0px"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:background="@color/emoji_button_bg"
android:padding="0px" android:padding="0px"
android:text="\uD83C\uDF4C" emoji_type="FOOD"
emoji_type="UNCATEGORIZED" android:text="\uD83C\uDF55"
/> />
<juloo.keyboard2.EmojiTypeButton <juloo.keyboard2.EmojiTypeButton
android:layout_width="0px" android:layout_width="0px"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:background="@color/emoji_button_bg"
android:padding="0px" android:padding="0px"
android:text="\uD83C\uDD92" emoji_type="NATURE"
emoji_type="ENCLOSED_CHARACTERS" android:text="\uD83C\uDF37"
/>
<juloo.keyboard2.EmojiTypeButton
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="0px"
emoji_type="FEST"
android:text="\uD83C\uDF88"
/>
<juloo.keyboard2.EmojiTypeButton
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="0px"
emoji_type="ANIMAL"
android:text="\uD83D\uDC31"
/>
<juloo.keyboard2.EmojiTypeButton
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="0px"
emoji_type="HUMAN"
android:text="\uD83D\uDC9C"
/>
<juloo.keyboard2.EmojiTypeButton
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="0px"
emoji_type="UNCATEGORIZED"
android:text="\uD83D\uDCA5"
/>
<juloo.keyboard2.EmojiTypeButton
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="0px"
emoji_type="DINGBATS"
android:text="\u2705"
/> />
</LinearLayout> </LinearLayout>
<juloo.keyboard2.EmojiGridView <juloo.keyboard2.EmojiGridView

View File

@ -5,26 +5,27 @@ import java.util.HashMap;
public class Emoji extends KeyValue public class Emoji extends KeyValue
{ {
public static final int TYPE_EMOTICONS = 1; public static final int TYPE_EMOTICONS = 1;
public static final int TYPE_DINGBATS = 2; public static final int TYPE_TRANSPORT = 2;
public static final int TYPE_TRANSPORT = 3; public static final int TYPE_FOOD = 3;
public static final int TYPE_UNCATEGORIZED = 4; public static final int TYPE_NATURE = 4;
public static final int TYPE_ENCLOSED_CHARACTERS = 5; public static final int TYPE_FEST = 5;
// public static final int TYPE_MUSIC = 6;
// public static final int TYPE_SPORT = 7;
// public static final int TYPE_BUILDING = 8;
public static final int TYPE_ANIMAL = 9;
// public static final int TYPE_CLOTHES = 10;
public static final int TYPE_HUMAN = 11;
public static final int TYPE_UNCATEGORIZED = 13;
public static final int TYPE_DINGBATS = 14;
private final String _emojiName;
private final String _desc; private final String _desc;
protected Emoji(String name, String bytecode, String desc) protected Emoji(String name, String bytecode, String desc)
{ {
super(bytecode, bytecode, CHAR_NONE, EVENT_NONE, 0); super(name, bytecode, CHAR_NONE, EVENT_NONE, 0);
_emojiName = name;
_desc = desc; _desc = desc;
} }
public String getEmojiName()
{
return (_emojiName);
}
public String getDescription() public String getDescription()
{ {
return (_desc); return (_desc);
@ -32,6 +33,11 @@ public class Emoji extends KeyValue
private static final HashMap<Integer, Emoji[]> emoji_type_map = new HashMap<Integer, Emoji[]>(); private static final HashMap<Integer, Emoji[]> emoji_type_map = new HashMap<Integer, Emoji[]>();
public static Emoji getEmojiByName(String name)
{
return ((Emoji)KeyValue.getKeyByName(name));
}
public static Emoji[] getEmojisByType(int type) public static Emoji[] getEmojisByType(int type)
{ {
return (emoji_type_map.get(type)); return (emoji_type_map.get(type));
@ -120,37 +126,126 @@ public class Emoji extends KeyValue
}); });
emoji_type_map.put(TYPE_DINGBATS, new Emoji[] emoji_type_map.put(TYPE_DINGBATS, new Emoji[]
{ {
new Emoji("", "\u2702", "black scissors"), new Emoji(":u2702:", "\u2702", "black scissors"),
new Emoji("", "\u2705", "white heavy check mark"), new Emoji(":u2705:", "\u2705", "white heavy check mark"),
new Emoji("", "\u2708", "airplane"), new Emoji(":u2708:", "\u2708", "airplane"),
new Emoji("", "\u2709", "envelope"), new Emoji(":u2709:", "\u2709", "envelope"),
new Emoji("", "\u270A", "raised fist"), new Emoji(":u270A:", "\u270A", "raised fist"),
new Emoji("", "\u270B", "raised hand"), new Emoji(":u270B:", "\u270B", "raised hand"),
new Emoji("", "\u270C", "victory hand"), new Emoji(":u270C:", "\u270C", "victory hand"),
new Emoji("", "\u270F", "pencil"), new Emoji(":u270F:", "\u270F", "pencil"),
new Emoji("", "\u2712", "black nib"), new Emoji(":u2712:", "\u2712", "black nib"),
new Emoji("", "\u2714", "heavy check mark"), new Emoji(":u2714:", "\u2714", "heavy check mark"),
new Emoji("", "\u2716", "heavy multiplication x"), new Emoji(":u2716:", "\u2716", "heavy multiplication x"),
new Emoji("", "\u2728", "sparkles"), new Emoji(":u2728:", "\u2728", "sparkles"),
new Emoji("", "\u2733", "eight spoked asterisk"), new Emoji(":u2733:", "\u2733", "eight spoked asterisk"),
new Emoji("", "\u2734", "eight pointed black star"), new Emoji(":u2734:", "\u2734", "eight pointed black star"),
new Emoji("", "\u2744", "snowflake"), new Emoji(":u2744:", "\u2744", "snowflake"),
new Emoji("", "\u2747", "sparkle"), new Emoji(":u2747:", "\u2747", "sparkle"),
new Emoji("", "\u274C", "cross mark"), new Emoji(":u274C:", "\u274C", "cross mark"),
new Emoji("", "\u274E", "negative squared cross mark"), new Emoji(":u274E:", "\u274E", "negative squared cross mark"),
new Emoji("", "\u2753", "black question mark ornament"), new Emoji(":u2753:", "\u2753", "black question mark ornament"),
new Emoji("", "\u2754", "white question mark ornament"), new Emoji(":u2754:", "\u2754", "white question mark ornament"),
new Emoji("", "\u2755", "white exclamation mark ornament"), new Emoji(":u2755:", "\u2755", "white exclamation mark ornament"),
new Emoji("", "\u2757", "heavy exclamation mark symbol"), new Emoji(":u2757:", "\u2757", "heavy exclamation mark symbol"),
new Emoji("", "\u2764", "heavy black heart"), new Emoji(":u2764:", "\u2764", "heavy black heart"),
new Emoji("", "\u2795", "heavy plus sign"), new Emoji(":u2795:", "\u2795", "heavy plus sign"),
new Emoji("", "\u2796", "heavy minus sign"), new Emoji(":u2796:", "\u2796", "heavy minus sign"),
new Emoji("", "\u2797", "heavy division sign"), new Emoji(":u2797:", "\u2797", "heavy division sign"),
new Emoji("", "\u27A1", "black rightwards arrow"), new Emoji(":u27A1:", "\u27A1", "black rightwards arrow"),
new Emoji("", "\u27B0", "curly loop"), new Emoji(":u27B0:", "\u27B0", "curly loop"),
new Emoji(":u24C2:", "\u24C2", "circled latin capital letter m"),
new Emoji(":a:", "\uD83C\uDD70", "negative squared latin capital letter a"),
new Emoji(":b:", "\uD83C\uDD71", "negative squared latin capital letter b"),
new Emoji(":o2:", "\uD83C\uDD7E", "negative squared latin capital letter o"),
new Emoji(":parking:", "\uD83C\uDD7F", "negative squared latin capital letter p"),
new Emoji(":ab:", "\uD83C\uDD8E", "negative squared ab"),
new Emoji(":cl:", "\uD83C\uDD91", "squared cl"),
new Emoji(":cool:", "\uD83C\uDD92", "squared cool"),
new Emoji(":free:", "\uD83C\uDD93", "squared free"),
new Emoji(":id:", "\uD83C\uDD94", "squared id"),
new Emoji(":new:", "\uD83C\uDD95", "squared new"),
new Emoji(":ng:", "\uD83C\uDD96", "squared ng"),
new Emoji(":ok:", "\uD83C\uDD97", "squared ok"),
new Emoji(":sos:", "\uD83C\uDD98", "squared sos"),
new Emoji(":up:", "\uD83C\uDD99", "squared up with exclamation mark"),
new Emoji(":vs:", "\uD83C\uDD9A", "squared vs"),
new Emoji(":uD83CuDDE9uD83CuDDEA:", "\uD83C\uDDE9\uD83C\uDDEA", "regional indicator symbol letter d + regional indicator symbol letter e"),
new Emoji(":uD83CuDDECuD83CuDDE7:", "\uD83C\uDDEC\uD83C\uDDE7", "regional indicator symbol letter g + regional indicator symbol letter b"),
new Emoji(":uD83CuDDE8uD83CuDDF3:", "\uD83C\uDDE8\uD83C\uDDF3", "regional indicator symbol letter c + regional indicator symbol letter n"),
new Emoji(":uD83CuDDEFuD83CuDDF5:", "\uD83C\uDDEF\uD83C\uDDF5", "regional indicator symbol letter j + regional indicator symbol letter p"),
new Emoji(":uD83CuDDF0uD83CuDDF7:", "\uD83C\uDDF0\uD83C\uDDF7", "regional indicator symbol letter k + regional indicator symbol letter r"),
new Emoji(":uD83CuDDEBuD83CuDDF7:", "\uD83C\uDDEB\uD83C\uDDF7", "regional indicator symbol letter f + regional indicator symbol letter r"),
new Emoji(":uD83CuDDEAuD83CuDDF8:", "\uD83C\uDDEA\uD83C\uDDF8", "regional indicator symbol letter e + regional indicator symbol letter s"),
new Emoji(":uD83CuDDEEuD83CuDDF9:", "\uD83C\uDDEE\uD83C\uDDF9", "regional indicator symbol letter i + regional indicator symbol letter t"),
new Emoji(":uD83CuDDFAuD83CuDDF8:", "\uD83C\uDDFA\uD83C\uDDF8", "regional indicator symbol letter u + regional indicator symbol letter s"),
new Emoji(":uD83CuDDF7uD83CuDDFA:", "\uD83C\uDDF7\uD83C\uDDFA", "regional indicator symbol letter r + regional indicator symbol letter u"),
new Emoji(":koko:", "\uD83C\uDE01", "squared katakana koko"),
new Emoji(":sa:", "\uD83C\uDE02", "squared katakana sa"),
new Emoji(":u7121:", "\uD83C\uDE1A", "squared cjk unified ideograph-7121"),
new Emoji(":u6307:", "\uD83C\uDE2F", "squared cjk unified ideograph-6307"),
new Emoji(":u7981:", "\uD83C\uDE32", "squared cjk unified ideograph-7981"),
new Emoji(":u7a7a:", "\uD83C\uDE33", "squared cjk unified ideograph-7a7a"),
new Emoji(":u5408:", "\uD83C\uDE34", "squared cjk unified ideograph-5408"),
new Emoji(":u6e80:", "\uD83C\uDE35", "squared cjk unified ideograph-6e80"),
new Emoji(":u6709:", "\uD83C\uDE36", "squared cjk unified ideograph-6709"),
new Emoji(":u6708:", "\uD83C\uDE37", "squared cjk unified ideograph-6708"),
new Emoji(":u7533:", "\uD83C\uDE38", "squared cjk unified ideograph-7533"),
new Emoji(":u5272:", "\uD83C\uDE39", "squared cjk unified ideograph-5272"),
new Emoji(":u55b6:", "\uD83C\uDE3A", "squared cjk unified ideograph-55b6"),
new Emoji(":ideograph_advantage:", "\uD83C\uDE50", "circled ideograph advantage"),
new Emoji(":accept:", "\uD83C\uDE51", "circled ideograph accept"),
new Emoji(":u00A9:", "\u00A9", "copyright sign"),
new Emoji(":u00AE:", "\u00AE", "registered sign"),
new Emoji(":u203C:", "\u203C", "double exclamation mark"),
new Emoji(":u2049:", "\u2049", "exclamation question mark"),
new Emoji(":u0038u20E3:", "\u0038\u20E3", "digit eight + combining enclosing keycap"),
new Emoji(":u0039u20E3:", "\u0039\u20E3", "digit nine + combining enclosing keycap"),
new Emoji(":u0037u20E3:", "\u0037\u20E3", "digit seven + combining enclosing keycap"),
new Emoji(":u0036u20E3:", "\u0036\u20E3", "digit six + combining enclosing keycap"),
new Emoji(":u0031u20E3:", "\u0031\u20E3", "digit one + combining enclosing keycap"),
new Emoji(":u0030u20E3:", "\u0030\u20E3", "digit zero + combining enclosing keycap"),
new Emoji(":u0032u20E3:", "\u0032\u20E3", "digit two + combining enclosing keycap"),
new Emoji(":u0033u20E3:", "\u0033\u20E3", "digit three + combining enclosing keycap"),
new Emoji(":u0035u20E3:", "\u0035\u20E3", "digit five + combining enclosing keycap"),
new Emoji(":u0034u20E3:", "\u0034\u20E3", "digit four + combining enclosing keycap"),
new Emoji(":u0023u20E3:", "\u0023\u20E3", "number sign + combining enclosing keycap"),
new Emoji(":u2122:", "\u2122", "trade mark sign"),
new Emoji(":u2139:", "\u2139", "information source"),
new Emoji(":u2194:", "\u2194", "left right arrow"),
new Emoji(":u2195:", "\u2195", "up down arrow"),
new Emoji(":u2196:", "\u2196", "north west arrow"),
new Emoji(":u2197:", "\u2197", "north east arrow"),
new Emoji(":u2198:", "\u2198", "south east arrow"),
new Emoji(":u2199:", "\u2199", "south west arrow"),
new Emoji(":u21A9:", "\u21A9", "leftwards arrow with hook"),
new Emoji(":u21AA:", "\u21AA", "rightwards arrow with hook"),
new Emoji(":u231A:", "\u231A", "watch"),
new Emoji(":u231B:", "\u231B", "hourglass"),
new Emoji(":u23E9:", "\u23E9", "black right-pointing double triangle"),
new Emoji(":u23EA:", "\u23EA", "black left-pointing double triangle"),
new Emoji(":u23EB:", "\u23EB", "black up-pointing double triangle"),
new Emoji(":u23EC:", "\u23EC", "black down-pointing double triangle"),
new Emoji(":u23F0:", "\u23F0", "alarm clock"),
new Emoji(":u23F3:", "\u23F3", "hourglass with flowing sand"),
new Emoji(":u25AA:", "\u25AA", "black small square"),
new Emoji(":u25AB:", "\u25AB", "white small square"),
new Emoji(":u25B6:", "\u25B6", "black right-pointing triangle"),
new Emoji(":u25C0:", "\u25C0", "black left-pointing triangle"),
new Emoji(":u25FB:", "\u25FB", "white medium square"),
new Emoji(":u25FC:", "\u25FC", "black medium square"),
new Emoji(":u25FD:", "\u25FD", "white medium small square"),
new Emoji(":u25FE:", "\u25FE", "black medium small square"),
new Emoji(":u2600:", "\u2600", "black sun with rays"),
new Emoji(":u2601:", "\u2601", "cloud"),
new Emoji(":u260E:", "\u260E", "black telephone"),
new Emoji(":u2611:", "\u2611", "ballot box with check"),
}); });
emoji_type_map.put(TYPE_TRANSPORT, new Emoji[] emoji_type_map.put(TYPE_TRANSPORT, new Emoji[]
{ {
new Emoji(":earth_asia:", "\uD83C\uDF0F", "earth globe asia-australia"),
new Emoji(":earth_africa:", "\uD83C\uDF0D", "earth globe europe-africa"),
new Emoji(":earth_americas:", "\uD83C\uDF0E", "earth globe americas"),
new Emoji(":rocket:", "\uD83D\uDE80", "rocket"), new Emoji(":rocket:", "\uD83D\uDE80", "rocket"),
new Emoji(":train:", "\uD83D\uDE83", "railway car"), new Emoji(":train:", "\uD83D\uDE83", "railway car"),
new Emoji(":bullettrain_side:", "\uD83D\uDE84", "high-speed train"), new Emoji(":bullettrain_side:", "\uD83D\uDE84", "high-speed train"),
@ -220,154 +315,6 @@ public class Emoji extends KeyValue
new Emoji(":customs:", "\uD83D\uDEC3", "customs"), new Emoji(":customs:", "\uD83D\uDEC3", "customs"),
new Emoji(":baggage_claim:", "\uD83D\uDEC4", "baggage claim"), new Emoji(":baggage_claim:", "\uD83D\uDEC4", "baggage claim"),
new Emoji(":left_luggage:", "\uD83D\uDEC5", "left luggage"), new Emoji(":left_luggage:", "\uD83D\uDEC5", "left luggage"),
});
emoji_type_map.put(TYPE_ENCLOSED_CHARACTERS, new Emoji[]
{
new Emoji("", "\u24C2", "circled latin capital letter m"),
new Emoji(":a:", "\uD83C\uDD70", "negative squared latin capital letter a"),
new Emoji(":b:", "\uD83C\uDD71", "negative squared latin capital letter b"),
new Emoji(":o2:", "\uD83C\uDD7E", "negative squared latin capital letter o"),
new Emoji(":parking:", "\uD83C\uDD7F", "negative squared latin capital letter p"),
new Emoji(":ab:", "\uD83C\uDD8E", "negative squared ab"),
new Emoji(":cl:", "\uD83C\uDD91", "squared cl"),
new Emoji(":cool:", "\uD83C\uDD92", "squared cool"),
new Emoji(":free:", "\uD83C\uDD93", "squared free"),
new Emoji(":id:", "\uD83C\uDD94", "squared id"),
new Emoji(":new:", "\uD83C\uDD95", "squared new"),
new Emoji(":ng:", "\uD83C\uDD96", "squared ng"),
new Emoji(":ok:", "\uD83C\uDD97", "squared ok"),
new Emoji(":sos:", "\uD83C\uDD98", "squared sos"),
new Emoji(":up:", "\uD83C\uDD99", "squared up with exclamation mark"),
new Emoji(":vs:", "\uD83C\uDD9A", "squared vs"),
new Emoji("", "\uD83C\uDDE9\uD83C\uDDEA", "regional indicator symbol letter d + regional indicator symbol letter e"),
new Emoji("", "\uD83C\uDDEC\uD83C\uDDE7", "regional indicator symbol letter g + regional indicator symbol letter b"),
new Emoji("", "\uD83C\uDDE8\uD83C\uDDF3", "regional indicator symbol letter c + regional indicator symbol letter n"),
new Emoji("", "\uD83C\uDDEF\uD83C\uDDF5", "regional indicator symbol letter j + regional indicator symbol letter p"),
new Emoji("", "\uD83C\uDDF0\uD83C\uDDF7", "regional indicator symbol letter k + regional indicator symbol letter r"),
new Emoji("", "\uD83C\uDDEB\uD83C\uDDF7", "regional indicator symbol letter f + regional indicator symbol letter r"),
new Emoji("", "\uD83C\uDDEA\uD83C\uDDF8", "regional indicator symbol letter e + regional indicator symbol letter s"),
new Emoji("", "\uD83C\uDDEE\uD83C\uDDF9", "regional indicator symbol letter i + regional indicator symbol letter t"),
new Emoji("", "\uD83C\uDDFA\uD83C\uDDF8", "regional indicator symbol letter u + regional indicator symbol letter s"),
new Emoji("", "\uD83C\uDDF7\uD83C\uDDFA", "regional indicator symbol letter r + regional indicator symbol letter u"),
new Emoji(":koko:", "\uD83C\uDE01", "squared katakana koko"),
new Emoji(":sa:", "\uD83C\uDE02", "squared katakana sa"),
new Emoji(":u7121:", "\uD83C\uDE1A", "squared cjk unified ideograph-7121"),
new Emoji(":u6307:", "\uD83C\uDE2F", "squared cjk unified ideograph-6307"),
new Emoji(":u7981:", "\uD83C\uDE32", "squared cjk unified ideograph-7981"),
new Emoji(":u7a7a:", "\uD83C\uDE33", "squared cjk unified ideograph-7a7a"),
new Emoji(":u5408:", "\uD83C\uDE34", "squared cjk unified ideograph-5408"),
new Emoji(":u6e80:", "\uD83C\uDE35", "squared cjk unified ideograph-6e80"),
new Emoji(":u6709:", "\uD83C\uDE36", "squared cjk unified ideograph-6709"),
new Emoji(":u6708:", "\uD83C\uDE37", "squared cjk unified ideograph-6708"),
new Emoji(":u7533:", "\uD83C\uDE38", "squared cjk unified ideograph-7533"),
new Emoji(":u5272:", "\uD83C\uDE39", "squared cjk unified ideograph-5272"),
new Emoji(":u55b6:", "\uD83C\uDE3A", "squared cjk unified ideograph-55b6"),
new Emoji(":ideograph_advantage:", "\uD83C\uDE50", "circled ideograph advantage"),
new Emoji(":accept:", "\uD83C\uDE51", "circled ideograph accept"),
});
emoji_type_map.put(TYPE_UNCATEGORIZED, new Emoji[]
{
new Emoji("", "\u00A9", "copyright sign"),
new Emoji("", "\u00AE", "registered sign"),
new Emoji("", "\u203C", "double exclamation mark"),
new Emoji("", "\u2049", "exclamation question mark"),
new Emoji("", "\u0038\u20E3", "digit eight + combining enclosing keycap"),
new Emoji("", "\u0039\u20E3", "digit nine + combining enclosing keycap"),
new Emoji("", "\u0037\u20E3", "digit seven + combining enclosing keycap"),
new Emoji("", "\u0036\u20E3", "digit six + combining enclosing keycap"),
new Emoji("", "\u0031\u20E3", "digit one + combining enclosing keycap"),
new Emoji("", "\u0030\u20E3", "digit zero + combining enclosing keycap"),
new Emoji("", "\u0032\u20E3", "digit two + combining enclosing keycap"),
new Emoji("", "\u0033\u20E3", "digit three + combining enclosing keycap"),
new Emoji("", "\u0035\u20E3", "digit five + combining enclosing keycap"),
new Emoji("", "\u0034\u20E3", "digit four + combining enclosing keycap"),
new Emoji("", "\u0023\u20E3", "number sign + combining enclosing keycap"),
new Emoji("", "\u2122", "trade mark sign"),
new Emoji("", "\u2139", "information source"),
new Emoji("", "\u2194", "left right arrow"),
new Emoji("", "\u2195", "up down arrow"),
new Emoji("", "\u2196", "north west arrow"),
new Emoji("", "\u2197", "north east arrow"),
new Emoji("", "\u2198", "south east arrow"),
new Emoji("", "\u2199", "south west arrow"),
new Emoji("", "\u21A9", "leftwards arrow with hook"),
new Emoji("", "\u21AA", "rightwards arrow with hook"),
new Emoji("", "\u231A", "watch"),
new Emoji("", "\u231B", "hourglass"),
new Emoji("", "\u23E9", "black right-pointing double triangle"),
new Emoji("", "\u23EA", "black left-pointing double triangle"),
new Emoji("", "\u23EB", "black up-pointing double triangle"),
new Emoji("", "\u23EC", "black down-pointing double triangle"),
new Emoji("", "\u23F0", "alarm clock"),
new Emoji("", "\u23F3", "hourglass with flowing sand"),
new Emoji("", "\u25AA", "black small square"),
new Emoji("", "\u25AB", "white small square"),
new Emoji("", "\u25B6", "black right-pointing triangle"),
new Emoji("", "\u25C0", "black left-pointing triangle"),
new Emoji("", "\u25FB", "white medium square"),
new Emoji("", "\u25FC", "black medium square"),
new Emoji("", "\u25FD", "white medium small square"),
new Emoji("", "\u25FE", "black medium small square"),
new Emoji("", "\u2600", "black sun with rays"),
new Emoji("", "\u2601", "cloud"),
new Emoji("", "\u260E", "black telephone"),
new Emoji("", "\u2611", "ballot box with check"),
new Emoji("", "\u2614", "umbrella with rain drops"),
new Emoji("", "\u2615", "hot beverage"),
new Emoji("", "\u261D", "white up pointing index"),
new Emoji("", "\u263A", "white smiling face"),
new Emoji("", "\u2648", "aries"),
new Emoji("", "\u2649", "taurus"),
new Emoji("", "\u264A", "gemini"),
new Emoji("", "\u264B", "cancer"),
new Emoji("", "\u264C", "leo"),
new Emoji("", "\u264D", "virgo"),
new Emoji("", "\u264E", "libra"),
new Emoji("", "\u264F", "scorpius"),
new Emoji("", "\u2650", "sagittarius"),
new Emoji("", "\u2651", "capricorn"),
new Emoji("", "\u2652", "aquarius"),
new Emoji("", "\u2653", "pisces"),
new Emoji("", "\u2660", "black spade suit"),
new Emoji("", "\u2663", "black club suit"),
new Emoji("", "\u2665", "black heart suit"),
new Emoji("", "\u2666", "black diamond suit"),
new Emoji("", "\u2668", "hot springs"),
new Emoji("", "\u267B", "black universal recycling symbol"),
new Emoji("", "\u267F", "wheelchair symbol"),
new Emoji("", "\u2693", "anchor"),
new Emoji("", "\u26A0", "warning sign"),
new Emoji("", "\u26A1", "high voltage sign"),
new Emoji("", "\u26AA", "medium white circle"),
new Emoji("", "\u26AB", "medium black circle"),
new Emoji("", "\u26BD", "soccer ball"),
new Emoji("", "\u26BE", "baseball"),
new Emoji("", "\u26C4", "snowman without snow"),
new Emoji("", "\u26C5", "sun behind cloud"),
new Emoji("", "\u26CE", "ophiuchus"),
new Emoji("", "\u26D4", "no entry"),
new Emoji("", "\u26EA", "church"),
new Emoji("", "\u26F2", "fountain"),
new Emoji("", "\u26F3", "flag in hole"),
new Emoji("", "\u26F5", "sailboat"),
new Emoji("", "\u26FA", "tent"),
new Emoji("", "\u26FD", "fuel pump"),
new Emoji("", "\u2934", "arrow pointing rightwards then curving upwards"),
new Emoji("", "\u2935", "arrow pointing rightwards then curving downwards"),
new Emoji("", "\u2B05", "leftwards black arrow"),
new Emoji("", "\u2B06", "upwards black arrow"),
new Emoji("", "\u2B07", "downwards black arrow"),
new Emoji("", "\u2B1B", "black large square"),
new Emoji("", "\u2B1C", "white large square"),
new Emoji("", "\u2B50", "white medium star"),
new Emoji("", "\u2B55", "heavy large circle"),
new Emoji("", "\u3030", "wavy dash"),
new Emoji("", "\u303D", "part alternation mark"),
new Emoji("", "\u3297", "circled ideograph congratulation"),
new Emoji("", "\u3299", "circled ideograph secret"),
new Emoji(":mahjong:", "\uD83C\uDC04", "mahjong tile red dragon"),
new Emoji(":black_joker:", "\uD83C\uDCCF", "playing card black joker"),
new Emoji(":cyclone:", "\uD83C\uDF00", "cyclone"),
new Emoji(":foggy:", "\uD83C\uDF01", "foggy"), new Emoji(":foggy:", "\uD83C\uDF01", "foggy"),
new Emoji(":closed_umbrella:", "\uD83C\uDF02", "closed umbrella"), new Emoji(":closed_umbrella:", "\uD83C\uDF02", "closed umbrella"),
new Emoji(":stars:", "\uD83C\uDF03", "night with stars"), new Emoji(":stars:", "\uD83C\uDF03", "night with stars"),
@ -380,15 +327,36 @@ public class Emoji extends KeyValue
new Emoji(":ocean:", "\uD83C\uDF0A", "water wave"), new Emoji(":ocean:", "\uD83C\uDF0A", "water wave"),
new Emoji(":volcano:", "\uD83C\uDF0B", "volcano"), new Emoji(":volcano:", "\uD83C\uDF0B", "volcano"),
new Emoji(":milky_way:", "\uD83C\uDF0C", "milky way"), new Emoji(":milky_way:", "\uD83C\uDF0C", "milky way"),
new Emoji(":earth_asia:", "\uD83C\uDF0F", "earth globe asia-australia"), new Emoji(":mount_fuji:", "\uD83D\uDDFB", "mount fuji"),
new Emoji(":tokyo_tower:", "\uD83D\uDDFC", "tokyo tower"),
new Emoji(":statue_of_liberty:", "\uD83D\uDDFD", "statue of liberty"),
new Emoji(":japan:", "\uD83D\uDDFE", "silhouette of japan"),
new Emoji(":moyai:", "\uD83D\uDDFF", "moyai"),
new Emoji(":house:", "\uD83C\uDFE0", "house building"),
new Emoji(":house_with_garden:", "\uD83C\uDFE1", "house with garden"),
new Emoji(":office:", "\uD83C\uDFE2", "office building"),
new Emoji(":post_office:", "\uD83C\uDFE3", "japanese post office"),
new Emoji(":hospital:", "\uD83C\uDFE5", "hospital"),
new Emoji(":bank:", "\uD83C\uDFE6", "bank"),
new Emoji(":atm:", "\uD83C\uDFE7", "automated teller machine"),
new Emoji(":hotel:", "\uD83C\uDFE8", "hotel"),
new Emoji(":love_hotel:", "\uD83C\uDFE9", "love hotel"),
new Emoji(":convenience_store:", "\uD83C\uDFEA", "convenience store"),
new Emoji(":school:", "\uD83C\uDFEB", "school"),
new Emoji(":department_store:", "\uD83C\uDFEC", "department store"),
new Emoji(":factory:", "\uD83C\uDFED", "factory"),
new Emoji(":lantern:", "\uD83C\uDFEE", "izakaya lantern"),
new Emoji(":japanese_castle:", "\uD83C\uDFEF", "japanese castle"),
new Emoji(":european_castle:", "\uD83C\uDFF0", "european castle"),
new Emoji(":new_moon:", "\uD83C\uDF11", "new moon symbol"), new Emoji(":new_moon:", "\uD83C\uDF11", "new moon symbol"),
new Emoji(":first_quarter_moon:", "\uD83C\uDF13", "first quarter moon symbol"), new Emoji(":first_quarter_moon:", "\uD83C\uDF13", "first quarter moon symbol"),
new Emoji(":waxing_gibbous_moon:", "\uD83C\uDF14", "waxing gibbous moon symbol"), new Emoji(":waxing_gibbous_moon:", "\uD83C\uDF14", "waxing gibbous moon symbol"),
new Emoji(":full_moon:", "\uD83C\uDF15", "full moon symbol"), new Emoji(":full_moon:", "\uD83C\uDF15", "full moon symbol"),
new Emoji(":crescent_moon:", "\uD83C\uDF19", "crescent moon"), new Emoji(":crescent_moon:", "\uD83C\uDF19", "crescent moon"),
new Emoji(":first_quarter_moon_with_face:", "\uD83C\uDF1B", "first quarter moon with face"), new Emoji(":first_quarter_moon_with_face:", "\uD83C\uDF1B", "first quarter moon with face"),
new Emoji(":star2:", "\uD83C\uDF1F", "glowing star"), });
new Emoji("", "\uD83C\uDF20", "shooting star"), emoji_type_map.put(TYPE_NATURE, new Emoji[]
{
new Emoji(":chestnut:", "\uD83C\uDF30", "chestnut"), new Emoji(":chestnut:", "\uD83C\uDF30", "chestnut"),
new Emoji(":seedling:", "\uD83C\uDF31", "seedling"), new Emoji(":seedling:", "\uD83C\uDF31", "seedling"),
new Emoji(":palm_tree:", "\uD83C\uDF34", "palm tree"), new Emoji(":palm_tree:", "\uD83C\uDF34", "palm tree"),
@ -420,6 +388,13 @@ public class Emoji extends KeyValue
new Emoji(":peach:", "\uD83C\uDF51", "peach"), new Emoji(":peach:", "\uD83C\uDF51", "peach"),
new Emoji(":cherries:", "\uD83C\uDF52", "cherries"), new Emoji(":cherries:", "\uD83C\uDF52", "cherries"),
new Emoji(":strawberry:", "\uD83C\uDF53", "strawberry"), new Emoji(":strawberry:", "\uD83C\uDF53", "strawberry"),
new Emoji(":evergreen_tree:", "\uD83C\uDF32", "evergreen tree"),
new Emoji(":deciduous_tree:", "\uD83C\uDF33", "deciduous tree"),
new Emoji(":lemon:", "\uD83C\uDF4B", "lemon"),
new Emoji(":pear:", "\uD83C\uDF50", "pear"),
});
emoji_type_map.put(TYPE_FOOD, new Emoji[]
{
new Emoji(":hamburger:", "\uD83C\uDF54", "hamburger"), new Emoji(":hamburger:", "\uD83C\uDF54", "hamburger"),
new Emoji(":pizza:", "\uD83C\uDF55", "slice of pizza"), new Emoji(":pizza:", "\uD83C\uDF55", "slice of pizza"),
new Emoji(":meat_on_bone:", "\uD83C\uDF56", "meat on bone"), new Emoji(":meat_on_bone:", "\uD83C\uDF56", "meat on bone"),
@ -463,6 +438,20 @@ public class Emoji extends KeyValue
new Emoji(":ribbon:", "\uD83C\uDF80", "ribbon"), new Emoji(":ribbon:", "\uD83C\uDF80", "ribbon"),
new Emoji(":gift:", "\uD83C\uDF81", "wrapped present"), new Emoji(":gift:", "\uD83C\uDF81", "wrapped present"),
new Emoji(":birthday:", "\uD83C\uDF82", "birthday cake"), new Emoji(":birthday:", "\uD83C\uDF82", "birthday cake"),
});
emoji_type_map.put(TYPE_FEST, new Emoji[]
{
// TYPE_MUSIC
new Emoji(":musical_note:", "\uD83C\uDFB5", "musical note"),
new Emoji(":notes:", "\uD83C\uDFB6", "multiple musical notes"),
new Emoji(":saxophone:", "\uD83C\uDFB7", "saxophone"),
new Emoji(":guitar:", "\uD83C\uDFB8", "guitar"),
new Emoji(":musical_keyboard:", "\uD83C\uDFB9", "musical keyboard"),
new Emoji(":trumpet:", "\uD83C\uDFBA", "trumpet"),
new Emoji(":violin:", "\uD83C\uDFBB", "violin"),
new Emoji(":musical_score:", "\uD83C\uDFBC", "musical score"),
// TYPE_FEST
new Emoji(":jack_o_lantern:", "\uD83C\uDF83", "jack-o-lantern"), new Emoji(":jack_o_lantern:", "\uD83C\uDF83", "jack-o-lantern"),
new Emoji(":christmas_tree:", "\uD83C\uDF84", "christmas tree"), new Emoji(":christmas_tree:", "\uD83C\uDF84", "christmas tree"),
new Emoji(":santa:", "\uD83C\uDF85", "father christmas"), new Emoji(":santa:", "\uD83C\uDF85", "father christmas"),
@ -501,14 +490,10 @@ public class Emoji extends KeyValue
new Emoji(":game_die:", "\uD83C\uDFB2", "game die"), new Emoji(":game_die:", "\uD83C\uDFB2", "game die"),
new Emoji(":bowling:", "\uD83C\uDFB3", "bowling"), new Emoji(":bowling:", "\uD83C\uDFB3", "bowling"),
new Emoji(":flower_playing_cards:", "\uD83C\uDFB4", "flower playing cards"), new Emoji(":flower_playing_cards:", "\uD83C\uDFB4", "flower playing cards"),
new Emoji(":musical_note:", "\uD83C\uDFB5", "musical note"),
new Emoji(":notes:", "\uD83C\uDFB6", "multiple musical notes"), // TYPE_SPORT
new Emoji(":saxophone:", "\uD83C\uDFB7", "saxophone"), new Emoji(":u26BD:", "\u26BD", "soccer ball"),
new Emoji(":guitar:", "\uD83C\uDFB8", "guitar"), new Emoji(":u26BE:", "\u26BE", "baseball"),
new Emoji(":musical_keyboard:", "\uD83C\uDFB9", "musical keyboard"),
new Emoji(":trumpet:", "\uD83C\uDFBA", "trumpet"),
new Emoji(":violin:", "\uD83C\uDFBB", "violin"),
new Emoji(":musical_score:", "\uD83C\uDFBC", "musical score"),
new Emoji(":running_shirt_with_sash:", "\uD83C\uDFBD", "running shirt with sash"), new Emoji(":running_shirt_with_sash:", "\uD83C\uDFBD", "running shirt with sash"),
new Emoji(":tennis:", "\uD83C\uDFBE", "tennis racquet and ball"), new Emoji(":tennis:", "\uD83C\uDFBE", "tennis racquet and ball"),
new Emoji(":ski:", "\uD83C\uDFBF", "ski and ski boot"), new Emoji(":ski:", "\uD83C\uDFBF", "ski and ski boot"),
@ -520,22 +505,11 @@ public class Emoji extends KeyValue
new Emoji(":trophy:", "\uD83C\uDFC6", "trophy"), new Emoji(":trophy:", "\uD83C\uDFC6", "trophy"),
new Emoji(":football:", "\uD83C\uDFC8", "american football"), new Emoji(":football:", "\uD83C\uDFC8", "american football"),
new Emoji(":swimmer:", "\uD83C\uDFCA", "swimmer"), new Emoji(":swimmer:", "\uD83C\uDFCA", "swimmer"),
new Emoji(":house:", "\uD83C\uDFE0", "house building"), new Emoji(":horse_racing:", "\uD83C\uDFC7", "horse racing"),
new Emoji(":house_with_garden:", "\uD83C\uDFE1", "house with garden"), new Emoji(":rugby_football:", "\uD83C\uDFC9", "rugby football"),
new Emoji(":office:", "\uD83C\uDFE2", "office building"), });
new Emoji(":post_office:", "\uD83C\uDFE3", "japanese post office"), emoji_type_map.put(TYPE_ANIMAL, new Emoji[]
new Emoji(":hospital:", "\uD83C\uDFE5", "hospital"), {
new Emoji(":bank:", "\uD83C\uDFE6", "bank"),
new Emoji(":atm:", "\uD83C\uDFE7", "automated teller machine"),
new Emoji(":hotel:", "\uD83C\uDFE8", "hotel"),
new Emoji(":love_hotel:", "\uD83C\uDFE9", "love hotel"),
new Emoji(":convenience_store:", "\uD83C\uDFEA", "convenience store"),
new Emoji(":school:", "\uD83C\uDFEB", "school"),
new Emoji(":department_store:", "\uD83C\uDFEC", "department store"),
new Emoji(":factory:", "\uD83C\uDFED", "factory"),
new Emoji(":lantern:", "\uD83C\uDFEE", "izakaya lantern"),
new Emoji(":japanese_castle:", "\uD83C\uDFEF", "japanese castle"),
new Emoji(":european_castle:", "\uD83C\uDFF0", "european castle"),
new Emoji(":snail:", "\uD83D\uDC0C", "snail"), new Emoji(":snail:", "\uD83D\uDC0C", "snail"),
new Emoji(":snake:", "\uD83D\uDC0D", "snake"), new Emoji(":snake:", "\uD83D\uDC0D", "snake"),
new Emoji(":racehorse:", "\uD83D\uDC0E", "horse"), new Emoji(":racehorse:", "\uD83D\uDC0E", "horse"),
@ -581,22 +555,28 @@ public class Emoji extends KeyValue
new Emoji(":panda_face:", "\uD83D\uDC3C", "panda face"), new Emoji(":panda_face:", "\uD83D\uDC3C", "panda face"),
new Emoji(":pig_nose:", "\uD83D\uDC3D", "pig nose"), new Emoji(":pig_nose:", "\uD83D\uDC3D", "pig nose"),
new Emoji(":paw_prints:", "\uD83D\uDC3E", "paw prints"), new Emoji(":paw_prints:", "\uD83D\uDC3E", "paw prints"),
new Emoji(":eyes:", "\uD83D\uDC40", "eyes"), new Emoji(":rat:", "\uD83D\uDC00", "rat"),
new Emoji(":ear:", "\uD83D\uDC42", "ear"), new Emoji(":mouse2:", "\uD83D\uDC01", "mouse"),
new Emoji(":nose:", "\uD83D\uDC43", "nose"), new Emoji(":ox:", "\uD83D\uDC02", "ox"),
new Emoji(":lips:", "\uD83D\uDC44", "mouth"), new Emoji(":water_buffalo:", "\uD83D\uDC03", "water buffalo"),
new Emoji(":tongue:", "\uD83D\uDC45", "tongue"), new Emoji(":cow2:", "\uD83D\uDC04", "cow"),
new Emoji(":point_up_2:", "\uD83D\uDC46", "white up pointing backhand index"), new Emoji(":tiger2:", "\uD83D\uDC05", "tiger"),
new Emoji(":point_down:", "\uD83D\uDC47", "white down pointing backhand index"), new Emoji(":leopard:", "\uD83D\uDC06", "leopard"),
new Emoji(":point_left:", "\uD83D\uDC48", "white left pointing backhand index"), new Emoji(":rabbit2:", "\uD83D\uDC07", "rabbit"),
new Emoji(":point_right:", "\uD83D\uDC49", "white right pointing backhand index"), new Emoji(":cat2:", "\uD83D\uDC08", "cat"),
new Emoji(":punch:", "\uD83D\uDC4A", "fisted hand sign"), new Emoji(":dragon:", "\uD83D\uDC09", "dragon"),
new Emoji(":wave:", "\uD83D\uDC4B", "waving hand sign"), new Emoji(":crocodile:", "\uD83D\uDC0A", "crocodile"),
new Emoji(":ok_hand:", "\uD83D\uDC4C", "ok hand sign"), new Emoji(":whale2:", "\uD83D\uDC0B", "whale"),
new Emoji(":thumbsup:", "\uD83D\uDC4D", "thumbs up sign"), new Emoji(":ram:", "\uD83D\uDC0F", "ram"),
new Emoji(":thumbsdown:", "\uD83D\uDC4E", "thumbs down sign"), new Emoji(":goat:", "\uD83D\uDC10", "goat"),
new Emoji(":clap:", "\uD83D\uDC4F", "clapping hands sign"), new Emoji(":rooster:", "\uD83D\uDC13", "rooster"),
new Emoji(":open_hands:", "\uD83D\uDC50", "open hands sign"), new Emoji(":dog2:", "\uD83D\uDC15", "dog"),
new Emoji(":pig2:", "\uD83D\uDC16", "pig"),
new Emoji(":dromedary_camel:", "\uD83D\uDC2A", "dromedary camel"),
});
emoji_type_map.put(TYPE_HUMAN, new Emoji[]
{
// TYPE_CLOTHES
new Emoji(":crown:", "\uD83D\uDC51", "crown"), new Emoji(":crown:", "\uD83D\uDC51", "crown"),
new Emoji(":womans_hat:", "\uD83D\uDC52", "womans hat"), new Emoji(":womans_hat:", "\uD83D\uDC52", "womans hat"),
new Emoji(":eyeglasses:", "\uD83D\uDC53", "eyeglasses"), new Emoji(":eyeglasses:", "\uD83D\uDC53", "eyeglasses"),
@ -615,8 +595,13 @@ public class Emoji extends KeyValue
new Emoji(":high_heel:", "\uD83D\uDC60", "high-heeled shoe"), new Emoji(":high_heel:", "\uD83D\uDC60", "high-heeled shoe"),
new Emoji(":sandal:", "\uD83D\uDC61", "womans sandal"), new Emoji(":sandal:", "\uD83D\uDC61", "womans sandal"),
new Emoji(":boot:", "\uD83D\uDC62", "womans boots"), new Emoji(":boot:", "\uD83D\uDC62", "womans boots"),
new Emoji(":footprints:", "\uD83D\uDC63", "footprints"), new Emoji(":lipstick:", "\uD83D\uDC84", "lipstick"),
new Emoji(":bust_in_silhouette:", "\uD83D\uDC64", "bust in silhouette"), new Emoji(":nail_care:", "\uD83D\uDC85", "nail polish"),
new Emoji(":massage:", "\uD83D\uDC86", "face massage"),
new Emoji(":haircut:", "\uD83D\uDC87", "haircut"),
new Emoji(":barber:", "\uD83D\uDC88", "barber pole"),
// TYPE_HUMAN
new Emoji(":boy:", "\uD83D\uDC66", "boy"), new Emoji(":boy:", "\uD83D\uDC66", "boy"),
new Emoji(":girl:", "\uD83D\uDC67", "girl"), new Emoji(":girl:", "\uD83D\uDC67", "girl"),
new Emoji(":man:", "\uD83D\uDC68", "man"), new Emoji(":man:", "\uD83D\uDC68", "man"),
@ -645,13 +630,6 @@ public class Emoji extends KeyValue
new Emoji(":information_desk_person:", "\uD83D\uDC81", "information desk person"), new Emoji(":information_desk_person:", "\uD83D\uDC81", "information desk person"),
new Emoji(":guardsman:", "\uD83D\uDC82", "guardsman"), new Emoji(":guardsman:", "\uD83D\uDC82", "guardsman"),
new Emoji(":dancer:", "\uD83D\uDC83", "dancer"), new Emoji(":dancer:", "\uD83D\uDC83", "dancer"),
new Emoji(":lipstick:", "\uD83D\uDC84", "lipstick"),
new Emoji(":nail_care:", "\uD83D\uDC85", "nail polish"),
new Emoji(":massage:", "\uD83D\uDC86", "face massage"),
new Emoji(":haircut:", "\uD83D\uDC87", "haircut"),
new Emoji(":barber:", "\uD83D\uDC88", "barber pole"),
new Emoji(":syringe:", "\uD83D\uDC89", "syringe"),
new Emoji(":pill:", "\uD83D\uDC8A", "pill"),
new Emoji(":kiss:", "\uD83D\uDC8B", "kiss mark"), new Emoji(":kiss:", "\uD83D\uDC8B", "kiss mark"),
new Emoji(":love_letter:", "\uD83D\uDC8C", "love letter"), new Emoji(":love_letter:", "\uD83D\uDC8C", "love letter"),
new Emoji(":ring:", "\uD83D\uDC8D", "ring"), new Emoji(":ring:", "\uD83D\uDC8D", "ring"),
@ -673,6 +651,89 @@ public class Emoji extends KeyValue
new Emoji(":gift_heart:", "\uD83D\uDC9D", "heart with ribbon"), new Emoji(":gift_heart:", "\uD83D\uDC9D", "heart with ribbon"),
new Emoji(":revolving_hearts:", "\uD83D\uDC9E", "revolving hearts"), new Emoji(":revolving_hearts:", "\uD83D\uDC9E", "revolving hearts"),
new Emoji(":heart_decoration:", "\uD83D\uDC9F", "heart decoration"), new Emoji(":heart_decoration:", "\uD83D\uDC9F", "heart decoration"),
});
emoji_type_map.put(TYPE_UNCATEGORIZED, new Emoji[]
{
new Emoji(":u2614:", "\u2614", "umbrella with rain drops"),
new Emoji(":u2615:", "\u2615", "hot beverage"),
new Emoji(":u261D:", "\u261D", "white up pointing index"),
new Emoji(":u263A:", "\u263A", "white smiling face"),
new Emoji(":u2648:", "\u2648", "aries"),
new Emoji(":u2649:", "\u2649", "taurus"),
new Emoji(":u264A:", "\u264A", "gemini"),
new Emoji(":u264B:", "\u264B", "cancer"),
new Emoji(":u264C:", "\u264C", "leo"),
new Emoji(":u264D:", "\u264D", "virgo"),
new Emoji(":u264E:", "\u264E", "libra"),
new Emoji(":u264F:", "\u264F", "scorpius"),
new Emoji(":u2650:", "\u2650", "sagittarius"),
new Emoji(":u2651:", "\u2651", "capricorn"),
new Emoji(":u2652:", "\u2652", "aquarius"),
new Emoji(":u2653:", "\u2653", "pisces"),
new Emoji(":u2660:", "\u2660", "black spade suit"),
new Emoji(":u2663:", "\u2663", "black club suit"),
new Emoji(":u2665:", "\u2665", "black heart suit"),
new Emoji(":u2666:", "\u2666", "black diamond suit"),
new Emoji(":u2668:", "\u2668", "hot springs"),
new Emoji(":u267B:", "\u267B", "black universal recycling symbol"),
new Emoji(":u267F:", "\u267F", "wheelchair symbol"),
new Emoji(":u2693:", "\u2693", "anchor"),
new Emoji(":u26A0:", "\u26A0", "warning sign"),
new Emoji(":u26A1:", "\u26A1", "high voltage sign"),
new Emoji(":u26AA:", "\u26AA", "medium white circle"),
new Emoji(":u26AB:", "\u26AB", "medium black circle"),
new Emoji(":u26C4:", "\u26C4", "snowman without snow"),
new Emoji(":u26C5:", "\u26C5", "sun behind cloud"),
new Emoji(":u26CE:", "\u26CE", "ophiuchus"),
new Emoji(":u26D4:", "\u26D4", "no entry"),
new Emoji(":u26EA:", "\u26EA", "church"),
new Emoji(":u26F2:", "\u26F2", "fountain"),
new Emoji(":u26F3:", "\u26F3", "flag in hole"),
new Emoji(":u26F5:", "\u26F5", "sailboat"),
new Emoji(":u26FA:", "\u26FA", "tent"),
new Emoji(":u26FD:", "\u26FD", "fuel pump"),
new Emoji(":u2934:", "\u2934", "arrow pointing rightwards then curving upwards"),
new Emoji(":u2935:", "\u2935", "arrow pointing rightwards then curving downwards"),
new Emoji(":u2B05:", "\u2B05", "leftwards black arrow"),
new Emoji(":u2B06:", "\u2B06", "upwards black arrow"),
new Emoji(":u2B07:", "\u2B07", "downwards black arrow"),
new Emoji(":u2B1B:", "\u2B1B", "black large square"),
new Emoji(":u2B1C:", "\u2B1C", "white large square"),
new Emoji(":u2B50:", "\u2B50", "white medium star"),
new Emoji(":u2B55:", "\u2B55", "heavy large circle"),
new Emoji(":u3030:", "\u3030", "wavy dash"),
new Emoji(":u303D:", "\u303D", "part alternation mark"),
new Emoji(":u3297:", "\u3297", "circled ideograph congratulation"),
new Emoji(":u3299:", "\u3299", "circled ideograph secret"),
new Emoji(":mahjong:", "\uD83C\uDC04", "mahjong tile red dragon"),
new Emoji(":black_joker:", "\uD83C\uDCCF", "playing card black joker"),
new Emoji(":cyclone:", "\uD83C\uDF00", "cyclone"),
new Emoji(":star2:", "\uD83C\uDF1F", "glowing star"),
new Emoji("", "\uD83C\uDF20", "shooting star"),
new Emoji(":eyes:", "\uD83D\uDC40", "eyes"),
new Emoji(":ear:", "\uD83D\uDC42", "ear"),
new Emoji(":nose:", "\uD83D\uDC43", "nose"),
new Emoji(":lips:", "\uD83D\uDC44", "mouth"),
new Emoji(":tongue:", "\uD83D\uDC45", "tongue"),
new Emoji(":point_up_2:", "\uD83D\uDC46", "white up pointing backhand index"),
new Emoji(":point_down:", "\uD83D\uDC47", "white down pointing backhand index"),
new Emoji(":point_left:", "\uD83D\uDC48", "white left pointing backhand index"),
new Emoji(":point_right:", "\uD83D\uDC49", "white right pointing backhand index"),
new Emoji(":punch:", "\uD83D\uDC4A", "fisted hand sign"),
new Emoji(":wave:", "\uD83D\uDC4B", "waving hand sign"),
new Emoji(":ok_hand:", "\uD83D\uDC4C", "ok hand sign"),
new Emoji(":thumbsup:", "\uD83D\uDC4D", "thumbs up sign"),
new Emoji(":thumbsdown:", "\uD83D\uDC4E", "thumbs down sign"),
new Emoji(":clap:", "\uD83D\uDC4F", "clapping hands sign"),
new Emoji(":open_hands:", "\uD83D\uDC50", "open hands sign"),
new Emoji(":footprints:", "\uD83D\uDC63", "footprints"),
new Emoji(":bust_in_silhouette:", "\uD83D\uDC64", "bust in silhouette"),
new Emoji(":syringe:", "\uD83D\uDC89", "syringe"),
new Emoji(":pill:", "\uD83D\uDC8A", "pill"),
new Emoji(":diamond_shape_with_a_dot_inside:", "\uD83D\uDCA0", "diamond shape with a dot inside"), new Emoji(":diamond_shape_with_a_dot_inside:", "\uD83D\uDCA0", "diamond shape with a dot inside"),
new Emoji(":bulb:", "\uD83D\uDCA1", "electric light bulb"), new Emoji(":bulb:", "\uD83D\uDCA1", "electric light bulb"),
new Emoji(":anger:", "\uD83D\uDCA2", "anger symbol"), new Emoji(":anger:", "\uD83D\uDCA2", "anger symbol"),
@ -808,25 +869,7 @@ public class Emoji extends KeyValue
new Emoji(":small_red_triangle_down:", "\uD83D\uDD3B", "down-pointing red triangle"), new Emoji(":small_red_triangle_down:", "\uD83D\uDD3B", "down-pointing red triangle"),
new Emoji(":arrow_up_small:", "\uD83D\uDD3C", "up-pointing small red triangle"), new Emoji(":arrow_up_small:", "\uD83D\uDD3C", "up-pointing small red triangle"),
new Emoji(":arrow_down_small:", "\uD83D\uDD3D", "down-pointing small red triangle"), new Emoji(":arrow_down_small:", "\uD83D\uDD3D", "down-pointing small red triangle"),
new Emoji(":clock1:", "\uD83D\uDD50", "clock face one oclock"),
new Emoji(":clock2:", "\uD83D\uDD51", "clock face two oclock"),
new Emoji(":clock3:", "\uD83D\uDD52", "clock face three oclock"),
new Emoji(":clock4:", "\uD83D\uDD53", "clock face four oclock"),
new Emoji(":clock5:", "\uD83D\uDD54", "clock face five oclock"),
new Emoji(":clock6:", "\uD83D\uDD55", "clock face six oclock"),
new Emoji(":clock7:", "\uD83D\uDD56", "clock face seven oclock"),
new Emoji(":clock8:", "\uD83D\uDD57", "clock face eight oclock"),
new Emoji(":clock9:", "\uD83D\uDD58", "clock face nine oclock"),
new Emoji(":clock10:", "\uD83D\uDD59", "clock face ten oclock"),
new Emoji(":clock11:", "\uD83D\uDD5A", "clock face eleven oclock"),
new Emoji(":clock12:", "\uD83D\uDD5B", "clock face twelve oclock"),
new Emoji(":mount_fuji:", "\uD83D\uDDFB", "mount fuji"),
new Emoji(":tokyo_tower:", "\uD83D\uDDFC", "tokyo tower"),
new Emoji(":statue_of_liberty:", "\uD83D\uDDFD", "statue of liberty"),
new Emoji(":japan:", "\uD83D\uDDFE", "silhouette of japan"),
new Emoji(":moyai:", "\uD83D\uDDFF", "moyai"),
new Emoji(":earth_africa:", "\uD83C\uDF0D", "earth globe europe-africa"),
new Emoji(":earth_americas:", "\uD83C\uDF0E", "earth globe americas"),
new Emoji(":globe_with_meridians:", "\uD83C\uDF10", "globe with meridians"), new Emoji(":globe_with_meridians:", "\uD83C\uDF10", "globe with meridians"),
new Emoji(":waxing_crescent_moon:", "\uD83C\uDF12", "waxing crescent moon symbol"), new Emoji(":waxing_crescent_moon:", "\uD83C\uDF12", "waxing crescent moon symbol"),
new Emoji(":waning_gibbous_moon:", "\uD83C\uDF16", "waning gibbous moon symbol"), new Emoji(":waning_gibbous_moon:", "\uD83C\uDF16", "waning gibbous moon symbol"),
@ -836,32 +879,11 @@ public class Emoji extends KeyValue
new Emoji(":last_quarter_moon_with_face:", "\uD83C\uDF1C", "last quarter moon with face"), new Emoji(":last_quarter_moon_with_face:", "\uD83C\uDF1C", "last quarter moon with face"),
new Emoji(":full_moon_with_face:", "\uD83C\uDF1D", "full moon with face"), new Emoji(":full_moon_with_face:", "\uD83C\uDF1D", "full moon with face"),
new Emoji(":sun_with_face:", "\uD83C\uDF1E", "sun with face"), new Emoji(":sun_with_face:", "\uD83C\uDF1E", "sun with face"),
new Emoji(":evergreen_tree:", "\uD83C\uDF32", "evergreen tree"),
new Emoji(":deciduous_tree:", "\uD83C\uDF33", "deciduous tree"),
new Emoji(":lemon:", "\uD83C\uDF4B", "lemon"),
new Emoji(":pear:", "\uD83C\uDF50", "pear"),
new Emoji(":baby_bottle:", "\uD83C\uDF7C", "baby bottle"), new Emoji(":baby_bottle:", "\uD83C\uDF7C", "baby bottle"),
new Emoji(":horse_racing:", "\uD83C\uDFC7", "horse racing"),
new Emoji(":rugby_football:", "\uD83C\uDFC9", "rugby football"),
new Emoji(":european_post_office:", "\uD83C\uDFE4", "european post office"), new Emoji(":european_post_office:", "\uD83C\uDFE4", "european post office"),
new Emoji(":rat:", "\uD83D\uDC00", "rat"),
new Emoji(":mouse2:", "\uD83D\uDC01", "mouse"),
new Emoji(":ox:", "\uD83D\uDC02", "ox"),
new Emoji(":water_buffalo:", "\uD83D\uDC03", "water buffalo"),
new Emoji(":cow2:", "\uD83D\uDC04", "cow"),
new Emoji(":tiger2:", "\uD83D\uDC05", "tiger"),
new Emoji(":leopard:", "\uD83D\uDC06", "leopard"),
new Emoji(":rabbit2:", "\uD83D\uDC07", "rabbit"),
new Emoji(":cat2:", "\uD83D\uDC08", "cat"),
new Emoji(":dragon:", "\uD83D\uDC09", "dragon"),
new Emoji(":crocodile:", "\uD83D\uDC0A", "crocodile"),
new Emoji(":whale2:", "\uD83D\uDC0B", "whale"),
new Emoji(":ram:", "\uD83D\uDC0F", "ram"),
new Emoji(":goat:", "\uD83D\uDC10", "goat"),
new Emoji(":rooster:", "\uD83D\uDC13", "rooster"),
new Emoji(":dog2:", "\uD83D\uDC15", "dog"),
new Emoji(":pig2:", "\uD83D\uDC16", "pig"),
new Emoji(":dromedary_camel:", "\uD83D\uDC2A", "dromedary camel"),
new Emoji(":busts_in_silhouette:", "\uD83D\uDC65", "busts in silhouette"), new Emoji(":busts_in_silhouette:", "\uD83D\uDC65", "busts in silhouette"),
new Emoji(":two_men_holding_hands:", "\uD83D\uDC6C", "two men holding hands"), new Emoji(":two_men_holding_hands:", "\uD83D\uDC6C", "two men holding hands"),
new Emoji(":two_women_holding_hands:", "\uD83D\uDC6D", "two women holding hands"), new Emoji(":two_women_holding_hands:", "\uD83D\uDC6D", "two women holding hands"),
@ -883,6 +905,18 @@ public class Emoji extends KeyValue
new Emoji(":no_bell:", "\uD83D\uDD15", "bell with cancellation stroke"), new Emoji(":no_bell:", "\uD83D\uDD15", "bell with cancellation stroke"),
new Emoji(":microscope:", "\uD83D\uDD2C", "microscope"), new Emoji(":microscope:", "\uD83D\uDD2C", "microscope"),
new Emoji(":telescope:", "\uD83D\uDD2D", "telescope"), new Emoji(":telescope:", "\uD83D\uDD2D", "telescope"),
new Emoji(":clock1:", "\uD83D\uDD50", "clock face one oclock"),
new Emoji(":clock2:", "\uD83D\uDD51", "clock face two oclock"),
new Emoji(":clock3:", "\uD83D\uDD52", "clock face three oclock"),
new Emoji(":clock4:", "\uD83D\uDD53", "clock face four oclock"),
new Emoji(":clock5:", "\uD83D\uDD54", "clock face five oclock"),
new Emoji(":clock6:", "\uD83D\uDD55", "clock face six oclock"),
new Emoji(":clock7:", "\uD83D\uDD56", "clock face seven oclock"),
new Emoji(":clock8:", "\uD83D\uDD57", "clock face eight oclock"),
new Emoji(":clock9:", "\uD83D\uDD58", "clock face nine oclock"),
new Emoji(":clock10:", "\uD83D\uDD59", "clock face ten oclock"),
new Emoji(":clock11:", "\uD83D\uDD5A", "clock face eleven oclock"),
new Emoji(":clock12:", "\uD83D\uDD5B", "clock face twelve oclock"),
new Emoji(":clock130:", "\uD83D\uDD5C", "clock face one-thirty"), new Emoji(":clock130:", "\uD83D\uDD5C", "clock face one-thirty"),
new Emoji(":clock230:", "\uD83D\uDD5D", "clock face two-thirty"), new Emoji(":clock230:", "\uD83D\uDD5D", "clock face two-thirty"),
new Emoji(":clock330:", "\uD83D\uDD5E", "clock face three-thirty"), new Emoji(":clock330:", "\uD83D\uDD5E", "clock face three-thirty"),

View File

@ -57,6 +57,7 @@ public class EmojiGridView extends GridView
_lastUsed.put(_emojiArray[pos], (used == null) ? 1 : used.intValue() + 1); _lastUsed.put(_emojiArray[pos], (used == null) ? 1 : used.intValue() + 1);
main.handleKeyUp(_emojiArray[pos], 0); main.handleKeyUp(_emojiArray[pos], 0);
saveLastUsed(); // TODO: opti
} }
@Override @Override
@ -66,12 +67,6 @@ public class EmojiGridView extends GridView
setNumColumns(getMeasuredWidth() / COLUMN_WIDTH); setNumColumns(getMeasuredWidth() / COLUMN_WIDTH);
} }
@Override
public void onDetachedFromWindow()
{
saveLastUsed();
}
private Emoji[] getLastEmojis() private Emoji[] getLastEmojis()
{ {
final HashMap<Emoji, Integer> map = _lastUsed; final HashMap<Emoji, Integer> map = _lastUsed;
@ -96,6 +91,7 @@ public class EmojiGridView extends GridView
for (Emoji emoji : _lastUsed.keySet()) for (Emoji emoji : _lastUsed.keySet())
set.add(String.valueOf(_lastUsed.get(emoji)) + "-" + emoji.getName()); set.add(String.valueOf(_lastUsed.get(emoji)) + "-" + emoji.getName());
edit.putStringSet(LAST_USE_PREF, set); edit.putStringSet(LAST_USE_PREF, set);
edit.apply();
} }
private void loadLastUsed() private void loadLastUsed()
@ -107,14 +103,15 @@ public class EmojiGridView extends GridView
if (lastUseSet != null) if (lastUseSet != null)
for (String emojiData : lastUseSet) for (String emojiData : lastUseSet)
{ {
String[] emoji = emojiData.split("-", 1); String[] data = emojiData.split("-", 2);
Emoji emoji;
if (emoji.length != 2) if (data.length != 2)
{
System.out.println("Warn: Bad emoji data: " + emojiData);
continue ; continue ;
} emoji = Emoji.getEmojiByName(data[1]);
_lastUsed.put((Emoji)KeyValue.getKeyByName(emoji[1]), Integer.getInteger(emoji[0])); if (emoji == null)
continue ;
_lastUsed.put(emoji, Integer.getInteger(data[0]));
} }
} }

View File

@ -6,6 +6,7 @@ import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.LinearLayout;
public class EmojiTypeButton extends Button public class EmojiTypeButton extends Button
implements View.OnTouchListener implements View.OnTouchListener
@ -14,9 +15,10 @@ public class EmojiTypeButton extends Button
public EmojiTypeButton(Context context, AttributeSet attrs) public EmojiTypeButton(Context context, AttributeSet attrs)
{ {
super(context, attrs); super(context);
_emojiType = getTypeByString(attrs.getAttributeValue(null, "emoji_type")); setBackgroundColor(getResources().getColor(R.color.emoji_button_bg));
setOnTouchListener(this); setOnTouchListener(this);
_emojiType = getTypeByString(attrs.getAttributeValue(null, "emoji_type"));
} }
public boolean onTouch(View view, MotionEvent event) public boolean onTouch(View view, MotionEvent event)
@ -37,14 +39,22 @@ public class EmojiTypeButton extends Button
return (EmojiGridView.TYPE_LAST_USE); return (EmojiGridView.TYPE_LAST_USE);
if (str.equals("EMOTICONS")) if (str.equals("EMOTICONS"))
return (Emoji.TYPE_EMOTICONS); return (Emoji.TYPE_EMOTICONS);
if (str.equals("DINGBATS"))
return (Emoji.TYPE_DINGBATS);
if (str.equals("TRANSPORT")) if (str.equals("TRANSPORT"))
return (Emoji.TYPE_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")) if (str.equals("UNCATEGORIZED"))
return (Emoji.TYPE_UNCATEGORIZED); return (Emoji.TYPE_UNCATEGORIZED);
if (str.equals("ENCLOSED_CHARACTERS")) if (str.equals("DINGBATS"))
return (Emoji.TYPE_ENCLOSED_CHARACTERS); return (Emoji.TYPE_DINGBATS);
return (-1); return (-1);
} }
} }

View File

@ -94,6 +94,11 @@ class KeyValue
return (_flags); return (_flags);
} }
public boolean equals(Object o)
{
return (o instanceof KeyValue && ((KeyValue)o).getName().equals(_name));
}
private static HashMap<String, KeyValue> keys = new HashMap<String, KeyValue>(); private static HashMap<String, KeyValue> keys = new HashMap<String, KeyValue>();
protected KeyValue(String name, String symbol, char c, int eventCode, int flags) protected KeyValue(String name, String symbol, char c, int eventCode, int flags)