diff options
| author | jaguillo | 2015-10-23 14:22:43 +0200 |
|---|---|---|
| committer | jaguillo | 2015-10-23 14:22:43 +0200 |
| commit | db20d528847fe6b451c19eb0b95eeb12954f98a4 (patch) | |
| tree | 5e55e710815e98b763e954fd283a154597c9b39f /srcs/juloo.keyboard2 | |
| parent | 7fb89b0c95e92f46266def50b827b2444d6216e1 (diff) | |
| download | unexpected-keyboard-db20d528847fe6b451c19eb0b95eeb12954f98a4.tar.gz unexpected-keyboard-db20d528847fe6b451c19eb0b95eeb12954f98a4.zip | |
Start with emojis
Diffstat (limited to 'srcs/juloo.keyboard2')
| -rw-r--r-- | srcs/juloo.keyboard2/Emoji.java | 906 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/EmojiGridView.java | 107 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/Keyboard2.java | 56 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/Keyboard2View.java | 2 |
4 files changed, 1050 insertions, 21 deletions
diff --git a/srcs/juloo.keyboard2/Emoji.java b/srcs/juloo.keyboard2/Emoji.java new file mode 100644 index 0000000..ed28603 --- /dev/null +++ b/srcs/juloo.keyboard2/Emoji.java @@ -0,0 +1,906 @@ +package juloo.keyboard2; + +import java.util.HashMap; + +public class Emoji +{ + public static final int TYPE_EMOTICONS = 1; + public static final int TYPE_DINGBATS = 2; + public static final int TYPE_TRANSPORT = 3; + public static final int TYPE_UNCATEGORIZED = 4; + public static final int TYPE_ENCLOSED_CHARACTERS = 5; + + private final String _name; + private final String _bytecode; + private final String _desc; + + private Emoji(String name, String bytecode, String desc) + { + _name = name; + _bytecode = bytecode; + _desc = desc; + } + + public String getName() + { + return (_name); + } + + public String getBytecode() + { + return (_bytecode); + } + + public String getDescription() + { + return (_desc); + } + + private static final HashMap<Integer, Emoji[]> emoji_type_map = new HashMap<Integer, Emoji[]>(); + + public static Emoji[] getEmojiByType(int type) + { + return (emoji_type_map.get(type)); + } + + static + { + emoji_type_map.put(TYPE_EMOTICONS, new Emoji[] + { + new Emoji(":grin:", "\uD83D\uDE01", "grinning face with smiling eyes"), + new Emoji(":joy:", "\uD83D\uDE02", "face with tears of joy"), + new Emoji(":smiley:", "\uD83D\uDE03", "smiling face with open mouth"), + new Emoji(":smile:", "\uD83D\uDE04", "smiling face with open mouth and smiling eyes"), + new Emoji(":sweat_smile:", "\uD83D\uDE05", "smiling face with open mouth and cold sweat"), + new Emoji(":satisfied:", "\uD83D\uDE06", "smiling face with open mouth and tightly-closed eyes"), + new Emoji(":wink:", "\uD83D\uDE09", "winking face"), + new Emoji(":blush:", "\uD83D\uDE0A", "smiling face with smiling eyes"), + new Emoji(":yum:", "\uD83D\uDE0B", "face savouring delicious food"), + new Emoji(":relieved:", "\uD83D\uDE0C", "relieved face"), + new Emoji(":heart_eyes:", "\uD83D\uDE0D", "smiling face with heart-shaped eyes"), + new Emoji(":smirk:", "\uD83D\uDE0F", "smirking face"), + new Emoji(":unamused:", "\uD83D\uDE12", "unamused face"), + new Emoji(":sweat:", "\uD83D\uDE13", "face with cold sweat"), + new Emoji(":pensive:", "\uD83D\uDE14", "pensive face"), + new Emoji(":confounded:", "\uD83D\uDE16", "confounded face"), + new Emoji(":kissing_heart:", "\uD83D\uDE18", "face throwing a kiss"), + new Emoji(":kissing_closed_eyes:", "\uD83D\uDE1A", "kissing face with closed eyes"), + new Emoji(":stuck_out_tongue_winking_eye:", "\uD83D\uDE1C", "face with stuck-out tongue and winking eye"), + new Emoji(":stuck_out_tongue_closed_eyes:", "\uD83D\uDE1D", "face with stuck-out tongue and tightly-closed eyes"), + new Emoji(":disappointed:", "\uD83D\uDE1E", "disappointed face"), + new Emoji(":angry:", "\uD83D\uDE20", "angry face"), + new Emoji(":rage:", "\uD83D\uDE21", "pouting face"), + new Emoji(":cry:", "\uD83D\uDE22", "crying face"), + new Emoji(":persevere:", "\uD83D\uDE23", "persevering face"), + new Emoji(":triumph:", "\uD83D\uDE24", "face with look of triumph"), + new Emoji(":disappointed_relieved:", "\uD83D\uDE25", "disappointed but relieved face"), + new Emoji(":fearful:", "\uD83D\uDE28", "fearful face"), + new Emoji(":weary:", "\uD83D\uDE29", "weary face"), + new Emoji(":sleepy:", "\uD83D\uDE2A", "sleepy face"), + new Emoji(":tired_face:", "\uD83D\uDE2B", "tired face"), + new Emoji(":sob:", "\uD83D\uDE2D", "loudly crying face"), + new Emoji(":cold_sweat:", "\uD83D\uDE30", "face with open mouth and cold sweat"), + new Emoji(":scream:", "\uD83D\uDE31", "face screaming in fear"), + new Emoji(":astonished:", "\uD83D\uDE32", "astonished face"), + new Emoji(":flushed:", "\uD83D\uDE33", "flushed face"), + new Emoji(":dizzy_face:", "\uD83D\uDE35", "dizzy face"), + new Emoji(":mask:", "\uD83D\uDE37", "face with medical mask"), + new Emoji(":smile_cat:", "\uD83D\uDE38", "grinning cat face with smiling eyes"), + new Emoji(":joy_cat:", "\uD83D\uDE39", "cat face with tears of joy"), + new Emoji(":smiley_cat:", "\uD83D\uDE3A", "smiling cat face with open mouth"), + new Emoji(":heart_eyes_cat:", "\uD83D\uDE3B", "smiling cat face with heart-shaped eyes"), + new Emoji(":smirk_cat:", "\uD83D\uDE3C", "cat face with wry smile"), + new Emoji(":kissing_cat:", "\uD83D\uDE3D", "kissing cat face with closed eyes"), + new Emoji(":pouting_cat:", "\uD83D\uDE3E", "pouting cat face"), + new Emoji(":crying_cat_face:", "\uD83D\uDE3F", "crying cat face"), + new Emoji(":scream_cat:", "\uD83D\uDE40", "weary cat face"), + new Emoji(":no_good:", "\uD83D\uDE45", "face with no good gesture"), + new Emoji(":ok_woman:", "\uD83D\uDE46", "face with ok gesture"), + new Emoji(":bow:", "\uD83D\uDE47", "person bowing deeply"), + new Emoji(":see_no_evil:", "\uD83D\uDE48", "see-no-evil monkey"), + new Emoji(":hear_no_evil:", "\uD83D\uDE49", "hear-no-evil monkey"), + new Emoji(":speak_no_evil:", "\uD83D\uDE4A", "speak-no-evil monkey"), + new Emoji(":raising_hand:", "\uD83D\uDE4B", "happy person raising one hand"), + new Emoji(":raised_hands:", "\uD83D\uDE4C", "person raising both hands in celebration"), + new Emoji(":person_frowning:", "\uD83D\uDE4D", "person frowning"), + new Emoji(":person_with_pouting_face:", "\uD83D\uDE4E", "person with pouting face"), + new Emoji(":pray:", "\uD83D\uDE4F", "person with folded hands"), + new Emoji(":grinning:", "\uD83D\uDE00", "grinning face"), + new Emoji(":innocent:", "\uD83D\uDE07", "smiling face with halo"), + new Emoji(":smiling_imp:", "\uD83D\uDE08", "smiling face with horns"), + new Emoji(":sunglasses:", "\uD83D\uDE0E", "smiling face with sunglasses"), + new Emoji(":neutral_face:", "\uD83D\uDE10", "neutral face"), + new Emoji(":expressionless:", "\uD83D\uDE11", "expressionless face"), + new Emoji(":confused:", "\uD83D\uDE15", "confused face"), + new Emoji(":kissing:", "\uD83D\uDE17", "kissing face"), + new Emoji(":kissing_smiling_eyes:", "\uD83D\uDE19", "kissing face with smiling eyes"), + new Emoji(":stuck_out_tongue:", "\uD83D\uDE1B", "face with stuck-out tongue"), + new Emoji(":worried:", "\uD83D\uDE1F", "worried face"), + new Emoji(":frowning:", "\uD83D\uDE26", "frowning face with open mouth"), + new Emoji(":anguished:", "\uD83D\uDE27", "anguished face"), + new Emoji(":grimacing:", "\uD83D\uDE2C", "grimacing face"), + new Emoji(":open_mouth:", "\uD83D\uDE2E", "face with open mouth"), + new Emoji(":hushed:", "\uD83D\uDE2F", "hushed face"), + new Emoji(":sleeping:", "\uD83D\uDE34", "sleeping face"), + new Emoji(":no_mouth:", "\uD83D\uDE36", "face without mouth"), + }); + emoji_type_map.put(TYPE_DINGBATS, new Emoji[] + { + new Emoji("", "\u2702", "black scissors"), + new Emoji("", "\u2705", "white heavy check mark"), + new Emoji("", "\u2708", "airplane"), + new Emoji("", "\u2709", "envelope"), + new Emoji("", "\u270A", "raised fist"), + new Emoji("", "\u270B", "raised hand"), + new Emoji("", "\u270C", "victory hand"), + new Emoji("", "\u270F", "pencil"), + new Emoji("", "\u2712", "black nib"), + new Emoji("", "\u2714", "heavy check mark"), + new Emoji("", "\u2716", "heavy multiplication x"), + new Emoji("", "\u2728", "sparkles"), + new Emoji("", "\u2733", "eight spoked asterisk"), + new Emoji("", "\u2734", "eight pointed black star"), + new Emoji("", "\u2744", "snowflake"), + new Emoji("", "\u2747", "sparkle"), + new Emoji("", "\u274C", "cross mark"), + new Emoji("", "\u274E", "negative squared cross mark"), + new Emoji("", "\u2753", "black question mark ornament"), + new Emoji("", "\u2754", "white question mark ornament"), + new Emoji("", "\u2755", "white exclamation mark ornament"), + new Emoji("", "\u2757", "heavy exclamation mark symbol"), + new Emoji("", "\u2764", "heavy black heart"), + new Emoji("", "\u2795", "heavy plus sign"), + new Emoji("", "\u2796", "heavy minus sign"), + new Emoji("", "\u2797", "heavy division sign"), + new Emoji("", "\u27A1", "black rightwards arrow"), + new Emoji("", "\u27B0", "curly loop"), + }); + emoji_type_map.put(TYPE_TRANSPORT, new Emoji[] + { + new Emoji(":rocket:", "\uD83D\uDE80", "rocket"), + new Emoji(":train:", "\uD83D\uDE83", "railway car"), + new Emoji(":bullettrain_side:", "\uD83D\uDE84", "high-speed train"), + new Emoji(":bullettrain_front:", "\uD83D\uDE85", "high-speed train with bullet nose"), + new Emoji(":metro:", "\uD83D\uDE87", "metro"), + new Emoji(":station:", "\uD83D\uDE89", "station"), + new Emoji(":bus:", "\uD83D\uDE8C", "bus"), + new Emoji(":busstop:", "\uD83D\uDE8F", "bus stop"), + new Emoji(":ambulance:", "\uD83D\uDE91", "ambulance"), + new Emoji(":fire_engine:", "\uD83D\uDE92", "fire engine"), + new Emoji(":police_car:", "\uD83D\uDE93", "police car"), + new Emoji(":taxi:", "\uD83D\uDE95", "taxi"), + new Emoji(":red_car:", "\uD83D\uDE97", "automobile"), + new Emoji(":blue_car:", "\uD83D\uDE99", "recreational vehicle"), + new Emoji(":truck:", "\uD83D\uDE9A", "delivery truck"), + new Emoji(":ship:", "\uD83D\uDEA2", "ship"), + new Emoji(":speedboat:", "\uD83D\uDEA4", "speedboat"), + new Emoji(":traffic_light:", "\uD83D\uDEA5", "horizontal traffic light"), + new Emoji(":construction:", "\uD83D\uDEA7", "construction sign"), + new Emoji(":rotating_light:", "\uD83D\uDEA8", "police cars revolving light"), + new Emoji(":triangular_flag_on_post:", "\uD83D\uDEA9", "triangular flag on post"), + new Emoji(":door:", "\uD83D\uDEAA", "door"), + new Emoji(":no_entry_sign:", "\uD83D\uDEAB", "no entry sign"), + new Emoji(":smoking:", "\uD83D\uDEAC", "smoking symbol"), + new Emoji(":no_smoking:", "\uD83D\uDEAD", "no smoking symbol"), + new Emoji(":bike:", "\uD83D\uDEB2", "bicycle"), + new Emoji(":walking:", "\uD83D\uDEB6", "pedestrian"), + new Emoji(":mens:", "\uD83D\uDEB9", "mens symbol"), + new Emoji(":womens:", "\uD83D\uDEBA", "womens symbol"), + new Emoji(":restroom:", "\uD83D\uDEBB", "restroom"), + new Emoji(":baby_symbol:", "\uD83D\uDEBC", "baby symbol"), + new Emoji(":toilet:", "\uD83D\uDEBD", "toilet"), + new Emoji(":wc:", "\uD83D\uDEBE", "water closet"), + new Emoji(":bath:", "\uD83D\uDEC0", "bath"), + new Emoji(":helicopter:", "\uD83D\uDE81", "helicopter"), + new Emoji(":steam_locomotive:", "\uD83D\uDE82", "steam locomotive"), + new Emoji(":train2:", "\uD83D\uDE86", "train"), + new Emoji(":light_rail:", "\uD83D\uDE88", "light rail"), + new Emoji(":tram:", "\uD83D\uDE8A", "tram"), + new Emoji(":oncoming_bus:", "\uD83D\uDE8D", "oncoming bus"), + new Emoji(":trolleybus:", "\uD83D\uDE8E", "trolleybus"), + new Emoji(":minibus:", "\uD83D\uDE90", "minibus"), + new Emoji(":oncoming_police_car:", "\uD83D\uDE94", "oncoming police car"), + new Emoji(":oncoming_taxi:", "\uD83D\uDE96", "oncoming taxi"), + new Emoji(":oncoming_automobile:", "\uD83D\uDE98", "oncoming automobile"), + new Emoji(":articulated_lorry:", "\uD83D\uDE9B", "articulated lorry"), + new Emoji(":tractor:", "\uD83D\uDE9C", "tractor"), + new Emoji(":monorail:", "\uD83D\uDE9D", "monorail"), + new Emoji(":mountain_railway:", "\uD83D\uDE9E", "mountain railway"), + new Emoji(":suspension_railway:", "\uD83D\uDE9F", "suspension railway"), + new Emoji(":mountain_cableway:", "\uD83D\uDEA0", "mountain cableway"), + new Emoji(":aerial_tramway:", "\uD83D\uDEA1", "aerial tramway"), + new Emoji(":rowboat:", "\uD83D\uDEA3", "rowboat"), + new Emoji(":vertical_traffic_light:", "\uD83D\uDEA6", "vertical traffic light"), + new Emoji(":put_litter_in_its_place:", "\uD83D\uDEAE", "put litter in its place symbol"), + new Emoji(":do_not_litter:", "\uD83D\uDEAF", "do not litter symbol"), + new Emoji(":potable_water:", "\uD83D\uDEB0", "potable water symbol"), + new Emoji(":non-potable_water:", "\uD83D\uDEB1", "non-potable water symbol"), + new Emoji(":no_bicycles:", "\uD83D\uDEB3", "no bicycles"), + new Emoji(":bicyclist:", "\uD83D\uDEB4", "bicyclist"), + new Emoji(":mountain_bicyclist:", "\uD83D\uDEB5", "mountain bicyclist"), + new Emoji(":no_pedestrians:", "\uD83D\uDEB7", "no pedestrians"), + new Emoji(":children_crossing:", "\uD83D\uDEB8", "children crossing"), + new Emoji(":shower:", "\uD83D\uDEBF", "shower"), + new Emoji(":bathtub:", "\uD83D\uDEC1", "bathtub"), + new Emoji(":passport_control:", "\uD83D\uDEC2", "passport control"), + new Emoji(":customs:", "\uD83D\uDEC3", "customs"), + new Emoji(":baggage_claim:", "\uD83D\uDEC4", "baggage claim"), + 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(":closed_umbrella:", "\uD83C\uDF02", "closed umbrella"), + new Emoji(":stars:", "\uD83C\uDF03", "night with stars"), + new Emoji(":sunrise_over_mountains:", "\uD83C\uDF04", "sunrise over mountains"), + new Emoji(":sunrise:", "\uD83C\uDF05", "sunrise"), + new Emoji(":city_sunset:", "\uD83C\uDF06", "cityscape at dusk"), + new Emoji(":city_sunrise:", "\uD83C\uDF07", "sunset over buildings"), + new Emoji(":rainbow:", "\uD83C\uDF08", "rainbow"), + new Emoji(":bridge_at_night:", "\uD83C\uDF09", "bridge at night"), + new Emoji(":ocean:", "\uD83C\uDF0A", "water wave"), + new Emoji(":volcano:", "\uD83C\uDF0B", "volcano"), + new Emoji(":milky_way:", "\uD83C\uDF0C", "milky way"), + new Emoji(":earth_asia:", "\uD83C\uDF0F", "earth globe asia-australia"), + new Emoji(":new_moon:", "\uD83C\uDF11", "new 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(":full_moon:", "\uD83C\uDF15", "full moon symbol"), + new Emoji(":crescent_moon:", "\uD83C\uDF19", "crescent moon"), + 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"), + new Emoji(":chestnut:", "\uD83C\uDF30", "chestnut"), + new Emoji(":seedling:", "\uD83C\uDF31", "seedling"), + new Emoji(":palm_tree:", "\uD83C\uDF34", "palm tree"), + new Emoji(":cactus:", "\uD83C\uDF35", "cactus"), + new Emoji(":tulip:", "\uD83C\uDF37", "tulip"), + new Emoji(":cherry_blossom:", "\uD83C\uDF38", "cherry blossom"), + new Emoji(":rose:", "\uD83C\uDF39", "rose"), + new Emoji(":hibiscus:", "\uD83C\uDF3A", "hibiscus"), + new Emoji(":sunflower:", "\uD83C\uDF3B", "sunflower"), + new Emoji(":blossom:", "\uD83C\uDF3C", "blossom"), + new Emoji(":corn:", "\uD83C\uDF3D", "ear of maize"), + new Emoji(":ear_of_rice:", "\uD83C\uDF3E", "ear of rice"), + new Emoji(":herb:", "\uD83C\uDF3F", "herb"), + new Emoji(":four_leaf_clover:", "\uD83C\uDF40", "four leaf clover"), + new Emoji(":maple_leaf:", "\uD83C\uDF41", "maple leaf"), + new Emoji(":fallen_leaf:", "\uD83C\uDF42", "fallen leaf"), + new Emoji(":leaves:", "\uD83C\uDF43", "leaf fluttering in wind"), + new Emoji(":mushroom:", "\uD83C\uDF44", "mushroom"), + new Emoji(":tomato:", "\uD83C\uDF45", "tomato"), + new Emoji(":eggplant:", "\uD83C\uDF46", "aubergine"), + new Emoji(":grapes:", "\uD83C\uDF47", "grapes"), + new Emoji(":melon:", "\uD83C\uDF48", "melon"), + new Emoji(":watermelon:", "\uD83C\uDF49", "watermelon"), + new Emoji(":tangerine:", "\uD83C\uDF4A", "tangerine"), + new Emoji(":banana:", "\uD83C\uDF4C", "banana"), + new Emoji(":pineapple:", "\uD83C\uDF4D", "pineapple"), + new Emoji(":apple:", "\uD83C\uDF4E", "red apple"), + new Emoji(":green_apple:", "\uD83C\uDF4F", "green apple"), + new Emoji(":peach:", "\uD83C\uDF51", "peach"), + new Emoji(":cherries:", "\uD83C\uDF52", "cherries"), + new Emoji(":strawberry:", "\uD83C\uDF53", "strawberry"), + new Emoji(":hamburger:", "\uD83C\uDF54", "hamburger"), + new Emoji(":pizza:", "\uD83C\uDF55", "slice of pizza"), + new Emoji(":meat_on_bone:", "\uD83C\uDF56", "meat on bone"), + new Emoji(":poultry_leg:", "\uD83C\uDF57", "poultry leg"), + new Emoji(":rice_cracker:", "\uD83C\uDF58", "rice cracker"), + new Emoji(":rice_ball:", "\uD83C\uDF59", "rice ball"), + new Emoji(":rice:", "\uD83C\uDF5A", "cooked rice"), + new Emoji(":curry:", "\uD83C\uDF5B", "curry and rice"), + new Emoji(":ramen:", "\uD83C\uDF5C", "steaming bowl"), + new Emoji(":spaghetti:", "\uD83C\uDF5D", "spaghetti"), + new Emoji(":bread:", "\uD83C\uDF5E", "bread"), + new Emoji(":fries:", "\uD83C\uDF5F", "french fries"), + new Emoji(":sweet_potato:", "\uD83C\uDF60", "roasted sweet potato"), + new Emoji(":dango:", "\uD83C\uDF61", "dango"), + new Emoji(":oden:", "\uD83C\uDF62", "oden"), + new Emoji(":sushi:", "\uD83C\uDF63", "sushi"), + new Emoji(":fried_shrimp:", "\uD83C\uDF64", "fried shrimp"), + new Emoji(":fish_cake:", "\uD83C\uDF65", "fish cake with swirl design"), + new Emoji(":icecream:", "\uD83C\uDF66", "soft ice cream"), + new Emoji(":shaved_ice:", "\uD83C\uDF67", "shaved ice"), + new Emoji(":ice_cream:", "\uD83C\uDF68", "ice cream"), + new Emoji(":doughnut:", "\uD83C\uDF69", "doughnut"), + new Emoji(":cookie:", "\uD83C\uDF6A", "cookie"), + new Emoji(":chocolate_bar:", "\uD83C\uDF6B", "chocolate bar"), + new Emoji(":candy:", "\uD83C\uDF6C", "candy"), + new Emoji(":lollipop:", "\uD83C\uDF6D", "lollipop"), + new Emoji(":custard:", "\uD83C\uDF6E", "custard"), + new Emoji(":honey_pot:", "\uD83C\uDF6F", "honey pot"), + new Emoji(":cake:", "\uD83C\uDF70", "shortcake"), + new Emoji(":bento:", "\uD83C\uDF71", "bento box"), + new Emoji(":stew:", "\uD83C\uDF72", "pot of food"), + new Emoji(":egg:", "\uD83C\uDF73", "cooking"), + new Emoji(":fork_and_knife:", "\uD83C\uDF74", "fork and knife"), + new Emoji(":tea:", "\uD83C\uDF75", "teacup without handle"), + new Emoji(":sake:", "\uD83C\uDF76", "sake bottle and cup"), + new Emoji(":wine_glass:", "\uD83C\uDF77", "wine glass"), + new Emoji(":cocktail:", "\uD83C\uDF78", "cocktail glass"), + new Emoji(":tropical_drink:", "\uD83C\uDF79", "tropical drink"), + new Emoji(":beer:", "\uD83C\uDF7A", "beer mug"), + new Emoji(":beers:", "\uD83C\uDF7B", "clinking beer mugs"), + new Emoji(":ribbon:", "\uD83C\uDF80", "ribbon"), + new Emoji(":gift:", "\uD83C\uDF81", "wrapped present"), + new Emoji(":birthday:", "\uD83C\uDF82", "birthday cake"), + new Emoji(":jack_o_lantern:", "\uD83C\uDF83", "jack-o-lantern"), + new Emoji(":christmas_tree:", "\uD83C\uDF84", "christmas tree"), + new Emoji(":santa:", "\uD83C\uDF85", "father christmas"), + new Emoji(":fireworks:", "\uD83C\uDF86", "fireworks"), + new Emoji(":sparkler:", "\uD83C\uDF87", "firework sparkler"), + new Emoji(":balloon:", "\uD83C\uDF88", "balloon"), + new Emoji(":tada:", "\uD83C\uDF89", "party popper"), + new Emoji(":confetti_ball:", "\uD83C\uDF8A", "confetti ball"), + new Emoji(":tanabata_tree:", "\uD83C\uDF8B", "tanabata tree"), + new Emoji(":crossed_flags:", "\uD83C\uDF8C", "crossed flags"), + new Emoji(":bamboo:", "\uD83C\uDF8D", "pine decoration"), + new Emoji(":dolls:", "\uD83C\uDF8E", "japanese dolls"), + new Emoji(":flags:", "\uD83C\uDF8F", "carp streamer"), + new Emoji(":wind_chime:", "\uD83C\uDF90", "wind chime"), + new Emoji(":rice_scene:", "\uD83C\uDF91", "moon viewing ceremony"), + new Emoji(":school_satchel:", "\uD83C\uDF92", "school satchel"), + new Emoji(":mortar_board:", "\uD83C\uDF93", "graduation cap"), + new Emoji(":carousel_horse:", "\uD83C\uDFA0", "carousel horse"), + new Emoji(":ferris_wheel:", "\uD83C\uDFA1", "ferris wheel"), + new Emoji(":roller_coaster:", "\uD83C\uDFA2", "roller coaster"), + new Emoji(":fishing_pole_and_fish:", "\uD83C\uDFA3", "fishing pole and fish"), + new Emoji(":microphone:", "\uD83C\uDFA4", "microphone"), + new Emoji(":movie_camera:", "\uD83C\uDFA5", "movie camera"), + new Emoji(":cinema:", "\uD83C\uDFA6", "cinema"), + new Emoji(":headphones:", "\uD83C\uDFA7", "headphone"), + new Emoji(":art:", "\uD83C\uDFA8", "artist palette"), + new Emoji(":tophat:", "\uD83C\uDFA9", "top hat"), + new Emoji(":circus_tent:", "\uD83C\uDFAA", "circus tent"), + new Emoji(":ticket:", "\uD83C\uDFAB", "ticket"), + new Emoji(":clapper:", "\uD83C\uDFAC", "clapper board"), + new Emoji(":performing_arts:", "\uD83C\uDFAD", "performing arts"), + new Emoji(":video_game:", "\uD83C\uDFAE", "video game"), + new Emoji(":dart:", "\uD83C\uDFAF", "direct hit"), + new Emoji(":slot_machine:", "\uD83C\uDFB0", "slot machine"), + new Emoji(":8ball:", "\uD83C\uDFB1", "billiards"), + new Emoji(":game_die:", "\uD83C\uDFB2", "game die"), + new Emoji(":bowling:", "\uD83C\uDFB3", "bowling"), + 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"), + 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"), + new Emoji(":running_shirt_with_sash:", "\uD83C\uDFBD", "running shirt with sash"), + new Emoji(":tennis:", "\uD83C\uDFBE", "tennis racquet and ball"), + new Emoji(":ski:", "\uD83C\uDFBF", "ski and ski boot"), + new Emoji(":basketball:", "\uD83C\uDFC0", "basketball and hoop"), + new Emoji(":checkered_flag:", "\uD83C\uDFC1", "chequered flag"), + new Emoji(":snowboarder:", "\uD83C\uDFC2", "snowboarder"), + new Emoji(":running:", "\uD83C\uDFC3", "runner"), + new Emoji(":surfer:", "\uD83C\uDFC4", "surfer"), + new Emoji(":trophy:", "\uD83C\uDFC6", "trophy"), + new Emoji(":football:", "\uD83C\uDFC8", "american football"), + new Emoji(":swimmer:", "\uD83C\uDFCA", "swimmer"), + 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(":snail:", "\uD83D\uDC0C", "snail"), + new Emoji(":snake:", "\uD83D\uDC0D", "snake"), + new Emoji(":racehorse:", "\uD83D\uDC0E", "horse"), + new Emoji(":sheep:", "\uD83D\uDC11", "sheep"), + new Emoji(":monkey:", "\uD83D\uDC12", "monkey"), + new Emoji(":chicken:", "\uD83D\uDC14", "chicken"), + new Emoji(":boar:", "\uD83D\uDC17", "boar"), + new Emoji(":elephant:", "\uD83D\uDC18", "elephant"), + new Emoji(":octopus:", "\uD83D\uDC19", "octopus"), + new Emoji(":shell:", "\uD83D\uDC1A", "spiral shell"), + new Emoji(":bug:", "\uD83D\uDC1B", "bug"), + new Emoji(":ant:", "\uD83D\uDC1C", "ant"), + new Emoji(":honeybee:", "\uD83D\uDC1D", "honeybee"), + new Emoji(":beetle:", "\uD83D\uDC1E", "lady beetle"), + new Emoji(":fish:", "\uD83D\uDC1F", "fish"), + new Emoji(":tropical_fish:", "\uD83D\uDC20", "tropical fish"), + new Emoji(":blowfish:", "\uD83D\uDC21", "blowfish"), + new Emoji(":turtle:", "\uD83D\uDC22", "turtle"), + new Emoji(":hatching_chick:", "\uD83D\uDC23", "hatching chick"), + new Emoji(":baby_chick:", "\uD83D\uDC24", "baby chick"), + new Emoji(":hatched_chick:", "\uD83D\uDC25", "front-facing baby chick"), + new Emoji(":bird:", "\uD83D\uDC26", "bird"), + new Emoji(":penguin:", "\uD83D\uDC27", "penguin"), + new Emoji(":koala:", "\uD83D\uDC28", "koala"), + new Emoji(":poodle:", "\uD83D\uDC29", "poodle"), + new Emoji(":camel:", "\uD83D\uDC2B", "bactrian camel"), + new Emoji(":flipper:", "\uD83D\uDC2C", "dolphin"), + new Emoji(":mouse:", "\uD83D\uDC2D", "mouse face"), + new Emoji(":cow:", "\uD83D\uDC2E", "cow face"), + new Emoji(":tiger:", "\uD83D\uDC2F", "tiger face"), + new Emoji(":rabbit:", "\uD83D\uDC30", "rabbit face"), + new Emoji(":cat:", "\uD83D\uDC31", "cat face"), + new Emoji(":dragon_face:", "\uD83D\uDC32", "dragon face"), + new Emoji(":whale:", "\uD83D\uDC33", "spouting whale"), + new Emoji(":horse:", "\uD83D\uDC34", "horse face"), + new Emoji(":monkey_face:", "\uD83D\uDC35", "monkey face"), + new Emoji(":dog:", "\uD83D\uDC36", "dog face"), + new Emoji(":pig:", "\uD83D\uDC37", "pig face"), + new Emoji(":frog:", "\uD83D\uDC38", "frog face"), + new Emoji(":hamster:", "\uD83D\uDC39", "hamster face"), + new Emoji(":wolf:", "\uD83D\uDC3A", "wolf face"), + new Emoji(":bear:", "\uD83D\uDC3B", "bear face"), + new Emoji(":panda_face:", "\uD83D\uDC3C", "panda face"), + new Emoji(":pig_nose:", "\uD83D\uDC3D", "pig nose"), + new Emoji(":paw_prints:", "\uD83D\uDC3E", "paw prints"), + 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(":crown:", "\uD83D\uDC51", "crown"), + new Emoji(":womans_hat:", "\uD83D\uDC52", "womans hat"), + new Emoji(":eyeglasses:", "\uD83D\uDC53", "eyeglasses"), + new Emoji(":necktie:", "\uD83D\uDC54", "necktie"), + new Emoji(":tshirt:", "\uD83D\uDC55", "t-shirt"), + new Emoji(":jeans:", "\uD83D\uDC56", "jeans"), + new Emoji(":dress:", "\uD83D\uDC57", "dress"), + new Emoji(":kimono:", "\uD83D\uDC58", "kimono"), + new Emoji(":bikini:", "\uD83D\uDC59", "bikini"), + new Emoji(":womans_clothes:", "\uD83D\uDC5A", "womans clothes"), + new Emoji(":purse:", "\uD83D\uDC5B", "purse"), + new Emoji(":handbag:", "\uD83D\uDC5C", "handbag"), + new Emoji(":pouch:", "\uD83D\uDC5D", "pouch"), + new Emoji(":shoe:", "\uD83D\uDC5E", "mans shoe"), + new Emoji(":athletic_shoe:", "\uD83D\uDC5F", "athletic shoe"), + new Emoji(":high_heel:", "\uD83D\uDC60", "high-heeled shoe"), + new Emoji(":sandal:", "\uD83D\uDC61", "womans sandal"), + new Emoji(":boot:", "\uD83D\uDC62", "womans boots"), + new Emoji(":footprints:", "\uD83D\uDC63", "footprints"), + new Emoji(":bust_in_silhouette:", "\uD83D\uDC64", "bust in silhouette"), + new Emoji(":boy:", "\uD83D\uDC66", "boy"), + new Emoji(":girl:", "\uD83D\uDC67", "girl"), + new Emoji(":man:", "\uD83D\uDC68", "man"), + new Emoji(":woman:", "\uD83D\uDC69", "woman"), + new Emoji(":family:", "\uD83D\uDC6A", "family"), + new Emoji(":couple:", "\uD83D\uDC6B", "man and woman holding hands"), + new Emoji(":cop:", "\uD83D\uDC6E", "police officer"), + new Emoji(":dancers:", "\uD83D\uDC6F", "woman with bunny ears"), + new Emoji(":bride_with_veil:", "\uD83D\uDC70", "bride with veil"), + new Emoji(":person_with_blond_hair:", "\uD83D\uDC71", "person with blond hair"), + new Emoji(":man_with_gua_pi_mao:", "\uD83D\uDC72", "man with gua pi mao"), + new Emoji(":man_with_turban:", "\uD83D\uDC73", "man with turban"), + new Emoji(":older_man:", "\uD83D\uDC74", "older man"), + new Emoji(":older_woman:", "\uD83D\uDC75", "older woman"), + new Emoji(":baby:", "\uD83D\uDC76", "baby"), + new Emoji(":construction_worker:", "\uD83D\uDC77", "construction worker"), + new Emoji(":princess:", "\uD83D\uDC78", "princess"), + new Emoji(":japanese_ogre:", "\uD83D\uDC79", "japanese ogre"), + new Emoji(":japanese_goblin:", "\uD83D\uDC7A", "japanese goblin"), + new Emoji(":ghost:", "\uD83D\uDC7B", "ghost"), + new Emoji(":angel:", "\uD83D\uDC7C", "baby angel"), + new Emoji(":alien:", "\uD83D\uDC7D", "extraterrestrial alien"), + new Emoji(":space_invader:", "\uD83D\uDC7E", "alien monster"), + new Emoji(":imp:", "\uD83D\uDC7F", "imp"), + new Emoji(":skull:", "\uD83D\uDC80", "skull"), + new Emoji(":information_desk_person:", "\uD83D\uDC81", "information desk person"), + new Emoji(":guardsman:", "\uD83D\uDC82", "guardsman"), + 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(":love_letter:", "\uD83D\uDC8C", "love letter"), + new Emoji(":ring:", "\uD83D\uDC8D", "ring"), + new Emoji(":gem:", "\uD83D\uDC8E", "gem stone"), + new Emoji(":couplekiss:", "\uD83D\uDC8F", "kiss"), + new Emoji(":bouquet:", "\uD83D\uDC90", "bouquet"), + new Emoji(":couple_with_heart:", "\uD83D\uDC91", "couple with heart"), + new Emoji(":wedding:", "\uD83D\uDC92", "wedding"), + new Emoji(":heartbeat:", "\uD83D\uDC93", "beating heart"), + new Emoji(":broken_heart:", "\uD83D\uDC94", "broken heart"), + new Emoji(":two_hearts:", "\uD83D\uDC95", "two hearts"), + new Emoji(":sparkling_heart:", "\uD83D\uDC96", "sparkling heart"), + new Emoji(":heartpulse:", "\uD83D\uDC97", "growing heart"), + new Emoji(":cupid:", "\uD83D\uDC98", "heart with arrow"), + new Emoji(":blue_heart:", "\uD83D\uDC99", "blue heart"), + new Emoji(":green_heart:", "\uD83D\uDC9A", "green heart"), + new Emoji(":yellow_heart:", "\uD83D\uDC9B", "yellow heart"), + new Emoji(":purple_heart:", "\uD83D\uDC9C", "purple heart"), + new Emoji(":gift_heart:", "\uD83D\uDC9D", "heart with ribbon"), + new Emoji(":revolving_hearts:", "\uD83D\uDC9E", "revolving hearts"), + new Emoji(":heart_decoration:", "\uD83D\uDC9F", "heart decoration"), + 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(":anger:", "\uD83D\uDCA2", "anger symbol"), + new Emoji(":bomb:", "\uD83D\uDCA3", "bomb"), + new Emoji(":zzz:", "\uD83D\uDCA4", "sleeping symbol"), + new Emoji(":collision:", "\uD83D\uDCA5", "collision symbol"), + new Emoji(":sweat_drops:", "\uD83D\uDCA6", "splashing sweat symbol"), + new Emoji(":droplet:", "\uD83D\uDCA7", "droplet"), + new Emoji(":dash:", "\uD83D\uDCA8", "dash symbol"), + new Emoji(":shit:", "\uD83D\uDCA9", "pile of poo"), + new Emoji(":muscle:", "\uD83D\uDCAA", "flexed biceps"), + new Emoji(":dizzy:", "\uD83D\uDCAB", "dizzy symbol"), + new Emoji(":speech_balloon:", "\uD83D\uDCAC", "speech balloon"), + new Emoji(":white_flower:", "\uD83D\uDCAE", "white flower"), + new Emoji(":100:", "\uD83D\uDCAF", "hundred points symbol"), + new Emoji(":moneybag:", "\uD83D\uDCB0", "money bag"), + new Emoji(":currency_exchange:", "\uD83D\uDCB1", "currency exchange"), + new Emoji(":heavy_dollar_sign:", "\uD83D\uDCB2", "heavy dollar sign"), + new Emoji(":credit_card:", "\uD83D\uDCB3", "credit card"), + new Emoji(":yen:", "\uD83D\uDCB4", "banknote with yen sign"), + new Emoji(":dollar:", "\uD83D\uDCB5", "banknote with dollar sign"), + new Emoji(":money_with_wings:", "\uD83D\uDCB8", "money with wings"), + new Emoji(":chart:", "\uD83D\uDCB9", "chart with upwards trend and yen sign"), + new Emoji(":seat:", "\uD83D\uDCBA", "seat"), + new Emoji(":computer:", "\uD83D\uDCBB", "personal computer"), + new Emoji(":briefcase:", "\uD83D\uDCBC", "briefcase"), + new Emoji(":minidisc:", "\uD83D\uDCBD", "minidisc"), + new Emoji(":floppy_disk:", "\uD83D\uDCBE", "floppy disk"), + new Emoji(":cd:", "\uD83D\uDCBF", "optical disc"), + new Emoji(":dvd:", "\uD83D\uDCC0", "dvd"), + new Emoji(":file_folder:", "\uD83D\uDCC1", "file folder"), + new Emoji(":open_file_folder:", "\uD83D\uDCC2", "open file folder"), + new Emoji(":page_with_curl:", "\uD83D\uDCC3", "page with curl"), + new Emoji(":page_facing_up:", "\uD83D\uDCC4", "page facing up"), + new Emoji(":date:", "\uD83D\uDCC5", "calendar"), + new Emoji(":calendar:", "\uD83D\uDCC6", "tear-off calendar"), + new Emoji(":card_index:", "\uD83D\uDCC7", "card index"), + new Emoji(":chart_with_upwards_trend:", "\uD83D\uDCC8", "chart with upwards trend"), + new Emoji(":chart_with_downwards_trend:", "\uD83D\uDCC9", "chart with downwards trend"), + new Emoji(":bar_chart:", "\uD83D\uDCCA", "bar chart"), + new Emoji(":clipboard:", "\uD83D\uDCCB", "clipboard"), + new Emoji(":pushpin:", "\uD83D\uDCCC", "pushpin"), + new Emoji(":round_pushpin:", "\uD83D\uDCCD", "round pushpin"), + new Emoji(":paperclip:", "\uD83D\uDCCE", "paperclip"), + new Emoji(":straight_ruler:", "\uD83D\uDCCF", "straight ruler"), + new Emoji(":triangular_ruler:", "\uD83D\uDCD0", "triangular ruler"), + new Emoji(":bookmark_tabs:", "\uD83D\uDCD1", "bookmark tabs"), + new Emoji(":ledger:", "\uD83D\uDCD2", "ledger"), + new Emoji(":notebook:", "\uD83D\uDCD3", "notebook"), + new Emoji(":notebook_with_decorative_cover:", "\uD83D\uDCD4", "notebook with decorative cover"), + new Emoji(":closed_book:", "\uD83D\uDCD5", "closed book"), + new Emoji(":open_book:", "\uD83D\uDCD6", "open book"), + new Emoji(":green_book:", "\uD83D\uDCD7", "green book"), + new Emoji(":blue_book:", "\uD83D\uDCD8", "blue book"), + new Emoji(":orange_book:", "\uD83D\uDCD9", "orange book"), + new Emoji(":books:", "\uD83D\uDCDA", "books"), + new Emoji(":name_badge:", "\uD83D\uDCDB", "name badge"), + new Emoji(":scroll:", "\uD83D\uDCDC", "scroll"), + new Emoji(":pencil:", "\uD83D\uDCDD", "memo"), + new Emoji(":telephone_receiver:", "\uD83D\uDCDE", "telephone receiver"), + new Emoji(":pager:", "\uD83D\uDCDF", "pager"), + new Emoji(":fax:", "\uD83D\uDCE0", "fax machine"), + new Emoji(":satellite:", "\uD83D\uDCE1", "satellite antenna"), + new Emoji(":loudspeaker:", "\uD83D\uDCE2", "public address loudspeaker"), + new Emoji(":mega:", "\uD83D\uDCE3", "cheering megaphone"), + new Emoji(":outbox_tray:", "\uD83D\uDCE4", "outbox tray"), + new Emoji(":inbox_tray:", "\uD83D\uDCE5", "inbox tray"), + new Emoji(":package:", "\uD83D\uDCE6", "package"), + new Emoji(":e-mail:", "\uD83D\uDCE7", "e-mail symbol"), + new Emoji(":incoming_envelope:", "\uD83D\uDCE8", "incoming envelope"), + new Emoji(":envelope_with_arrow:", "\uD83D\uDCE9", "envelope with downwards arrow above"), + new Emoji(":mailbox_closed:", "\uD83D\uDCEA", "closed mailbox with lowered flag"), + new Emoji(":mailbox:", "\uD83D\uDCEB", "closed mailbox with raised flag"), + new Emoji(":postbox:", "\uD83D\uDCEE", "postbox"), + new Emoji(":newspaper:", "\uD83D\uDCF0", "newspaper"), + new Emoji(":iphone:", "\uD83D\uDCF1", "mobile phone"), + new Emoji(":calling:", "\uD83D\uDCF2", "mobile phone with rightwards arrow at left"), + new Emoji(":vibration_mode:", "\uD83D\uDCF3", "vibration mode"), + new Emoji(":mobile_phone_off:", "\uD83D\uDCF4", "mobile phone off"), + new Emoji(":signal_strength:", "\uD83D\uDCF6", "antenna with bars"), + new Emoji(":camera:", "\uD83D\uDCF7", "camera"), + new Emoji(":video_camera:", "\uD83D\uDCF9", "video camera"), + new Emoji(":tv:", "\uD83D\uDCFA", "television"), + new Emoji(":radio:", "\uD83D\uDCFB", "radio"), + new Emoji(":vhs:", "\uD83D\uDCFC", "videocassette"), + new Emoji(":arrows_clockwise:", "\uD83D\uDD03", "clockwise downwards and upwards open circle arrows"), + new Emoji(":speaker:", "\uD83D\uDD0A", "speaker with three sound waves"), + new Emoji(":battery:", "\uD83D\uDD0B", "battery"), + new Emoji(":electric_plug:", "\uD83D\uDD0C", "electric plug"), + new Emoji(":mag:", "\uD83D\uDD0D", "left-pointing magnifying glass"), + new Emoji(":mag_right:", "\uD83D\uDD0E", "right-pointing magnifying glass"), + new Emoji(":lock_with_ink_pen:", "\uD83D\uDD0F", "lock with ink pen"), + new Emoji(":closed_lock_with_key:", "\uD83D\uDD10", "closed lock with key"), + new Emoji(":key:", "\uD83D\uDD11", "key"), + new Emoji(":lock:", "\uD83D\uDD12", "lock"), + new Emoji(":unlock:", "\uD83D\uDD13", "open lock"), + new Emoji(":bell:", "\uD83D\uDD14", "bell"), + new Emoji(":bookmark:", "\uD83D\uDD16", "bookmark"), + new Emoji(":link:", "\uD83D\uDD17", "link symbol"), + new Emoji(":radio_button:", "\uD83D\uDD18", "radio button"), + new Emoji(":back:", "\uD83D\uDD19", "back with leftwards arrow above"), + new Emoji(":end:", "\uD83D\uDD1A", "end with leftwards arrow above"), + new Emoji(":on:", "\uD83D\uDD1B", "on with exclamation mark with left right arrow above"), + new Emoji(":soon:", "\uD83D\uDD1C", "soon with rightwards arrow above"), + new Emoji(":top:", "\uD83D\uDD1D", "top with upwards arrow above"), + new Emoji(":underage:", "\uD83D\uDD1E", "no one under eighteen symbol"), + new Emoji(":keycap_ten:", "\uD83D\uDD1F", "keycap ten"), + new Emoji(":capital_abcd:", "\uD83D\uDD20", "input symbol for latin capital letters"), + new Emoji(":abcd:", "\uD83D\uDD21", "input symbol for latin small letters"), + new Emoji(":1234:", "\uD83D\uDD22", "input symbol for numbers"), + new Emoji(":symbols:", "\uD83D\uDD23", "input symbol for symbols"), + new Emoji(":abc:", "\uD83D\uDD24", "input symbol for latin letters"), + new Emoji(":fire:", "\uD83D\uDD25", "fire"), + new Emoji(":flashlight:", "\uD83D\uDD26", "electric torch"), + new Emoji(":wrench:", "\uD83D\uDD27", "wrench"), + new Emoji(":hammer:", "\uD83D\uDD28", "hammer"), + new Emoji(":nut_and_bolt:", "\uD83D\uDD29", "nut and bolt"), + new Emoji(":hocho:", "\uD83D\uDD2A", "hocho"), + new Emoji(":gun:", "\uD83D\uDD2B", "pistol"), + new Emoji(":crystal_ball:", "\uD83D\uDD2E", "crystal ball"), + new Emoji(":six_pointed_star:", "\uD83D\uDD2F", "six pointed star with middle dot"), + new Emoji(":beginner:", "\uD83D\uDD30", "japanese symbol for beginner"), + new Emoji(":trident:", "\uD83D\uDD31", "trident emblem"), + new Emoji(":black_square_button:", "\uD83D\uDD32", "black square button"), + new Emoji(":white_square_button:", "\uD83D\uDD33", "white square button"), + new Emoji(":red_circle:", "\uD83D\uDD34", "large red circle"), + new Emoji(":large_blue_circle:", "\uD83D\uDD35", "large blue circle"), + new Emoji(":large_orange_diamond:", "\uD83D\uDD36", "large orange diamond"), + new Emoji(":large_blue_diamond:", "\uD83D\uDD37", "large blue diamond"), + new Emoji(":small_orange_diamond:", "\uD83D\uDD38", "small orange diamond"), + new Emoji(":small_blue_diamond:", "\uD83D\uDD39", "small blue diamond"), + new Emoji(":small_red_triangle:", "\uD83D\uDD3A", "up-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_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(":waxing_crescent_moon:", "\uD83C\uDF12", "waxing crescent moon symbol"), + new Emoji(":waning_gibbous_moon:", "\uD83C\uDF16", "waning gibbous moon symbol"), + new Emoji(":last_quarter_moon:", "\uD83C\uDF17", "last quarter moon symbol"), + new Emoji(":waning_crescent_moon:", "\uD83C\uDF18", "waning crescent moon symbol"), + new Emoji(":new_moon_with_face:", "\uD83C\uDF1A", "new 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(":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(":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(":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(":two_men_holding_hands:", "\uD83D\uDC6C", "two men holding hands"), + new Emoji(":two_women_holding_hands:", "\uD83D\uDC6D", "two women holding hands"), + new Emoji(":thought_balloon:", "\uD83D\uDCAD", "thought balloon"), + new Emoji(":euro:", "\uD83D\uDCB6", "banknote with euro sign"), + new Emoji(":pound:", "\uD83D\uDCB7", "banknote with pound sign"), + new Emoji(":mailbox_with_mail:", "\uD83D\uDCEC", "open mailbox with raised flag"), + new Emoji(":mailbox_with_no_mail:", "\uD83D\uDCED", "open mailbox with lowered flag"), + new Emoji(":postal_horn:", "\uD83D\uDCEF", "postal horn"), + new Emoji(":no_mobile_phones:", "\uD83D\uDCF5", "no mobile phones"), + new Emoji(":twisted_rightwards_arrows:", "\uD83D\uDD00", "twisted rightwards arrows"), + new Emoji(":repeat:", "\uD83D\uDD01", "clockwise rightwards and leftwards open circle arrows"), + new Emoji(":repeat_one:", "\uD83D\uDD02", "clockwise rightwards and leftwards open circle arrows with circled one overlay"), + new Emoji(":arrows_counterclockwise:", "\uD83D\uDD04", "anticlockwise downwards and upwards open circle arrows"), + new Emoji(":low_brightness:", "\uD83D\uDD05", "low brightness symbol"), + new Emoji(":high_brightness:", "\uD83D\uDD06", "high brightness symbol"), + new Emoji(":mute:", "\uD83D\uDD07", "speaker with cancellation stroke"), + new Emoji(":sound:", "\uD83D\uDD09", "speaker with one sound wave"), + new Emoji(":no_bell:", "\uD83D\uDD15", "bell with cancellation stroke"), + new Emoji(":microscope:", "\uD83D\uDD2C", "microscope"), + new Emoji(":telescope:", "\uD83D\uDD2D", "telescope"), + new Emoji(":clock130:", "\uD83D\uDD5C", "clock face one-thirty"), + new Emoji(":clock230:", "\uD83D\uDD5D", "clock face two-thirty"), + new Emoji(":clock330:", "\uD83D\uDD5E", "clock face three-thirty"), + new Emoji(":clock430:", "\uD83D\uDD5F", "clock face four-thirty"), + new Emoji(":clock530:", "\uD83D\uDD60", "clock face five-thirty"), + new Emoji(":clock630:", "\uD83D\uDD61", "clock face six-thirty"), + new Emoji(":clock730:", "\uD83D\uDD62", "clock face seven-thirty"), + new Emoji(":clock830:", "\uD83D\uDD63", "clock face eight-thirty"), + new Emoji(":clock930:", "\uD83D\uDD64", "clock face nine-thirty"), + new Emoji(":clock1030:", "\uD83D\uDD65", "clock face ten-thirty"), + new Emoji(":clock1130:", "\uD83D\uDD66", "clock face eleven-thirty"), + new Emoji(":clock1230:", "\uD83D\uDD67", "clock face twelve-thirty"), + }); + } +} diff --git a/srcs/juloo.keyboard2/EmojiGridView.java b/srcs/juloo.keyboard2/EmojiGridView.java new file mode 100644 index 0000000..f4d2d54 --- /dev/null +++ b/srcs/juloo.keyboard2/EmojiGridView.java @@ -0,0 +1,107 @@ +package juloo.keyboard2; + +import android.graphics.Typeface; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.BaseAdapter; +import android.widget.GridView; +import android.widget.TextView; + +public class EmojiGridView extends GridView + implements GridView.OnItemClickListener +{ + public static final int COLUMN_WIDTH = 192; + public static final int EMOJI_PANE_HEIGHT = 720; + public static final int EMOJI_PANE_BG = 0xFF191919; + public static final float EMOJI_SIZE = 32.f; + + public EmojiGridView(Keyboard2 context) + { + super(context); + setOnItemClickListener(this); + EmojiViewAdpater adpater = new EmojiViewAdpater(context); + adpater.setEmojiSet(Emoji.getEmojiByType(Emoji.TYPE_EMOTICONS)); + setColumnWidth(COLUMN_WIDTH); + setBackgroundColor(EMOJI_PANE_BG); + setAdapter(adpater); + } + + public void onItemClick(AdapterView<?> parent, View v, int pos, long id) + { + System.out.println("Lol emoji: " + Emoji.getEmojiByType(Emoji.TYPE_EMOTICONS)[pos].getName()); + } + + @Override + public void onMeasure(int wSpec, int hSpec) + { + super.onMeasure(wSpec, hSpec); + setNumColumns(getMeasuredWidth() / COLUMN_WIDTH); + setMeasuredDimension(wSpec, EMOJI_PANE_HEIGHT); + } + + private static class EmojiView extends TextView + { + private static ViewGroup.LayoutParams _layoutParams = null; + + public EmojiView(Keyboard2 context) + { + super(context); + setTextSize(EMOJI_SIZE); + setGravity(Gravity.CENTER); + if (_layoutParams == null) + _layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); + setLayoutParams(_layoutParams); + } + + public void setEmoji(Emoji emoji) + { + setText(emoji.getBytecode()); + } + } + + private static class EmojiViewAdpater extends BaseAdapter + { + private Keyboard2 _main; + + private Emoji[] _emojiSet = null; + + public EmojiViewAdpater(Keyboard2 main) + { + _main = main; + } + + public void setEmojiSet(Emoji[] set) + { + _emojiSet = set; + } + + public int getCount() + { + if (_emojiSet == null) + return (0); + return (_emojiSet.length); + } + + public Object getItem(int pos) + { + return (_emojiSet[pos]); + } + + public long getItemId(int pos) + { + return (pos); + } + + public View getView(int pos, View convertView, ViewGroup parent) + { + EmojiView view = (EmojiView)convertView; + + if (view == null) + view = new EmojiView(_main); + view.setEmoji(_emojiSet[pos]); + return (view); + } + } +} diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java index ab3c7c0..f38d41d 100644 --- a/srcs/juloo.keyboard2/Keyboard2.java +++ b/srcs/juloo.keyboard2/Keyboard2.java @@ -12,10 +12,14 @@ import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; +/* +** TODO: move config values in a Config object +*/ public class Keyboard2 extends InputMethodService implements SharedPreferences.OnSharedPreferenceChangeListener { - private Keyboard2View _inputView = null; + private Keyboard2View _keyboardView; + private ViewGroup _emojiPane = null; private KeyboardData _textKeyboard = null; private KeyboardData _numericKeyboard = null; @@ -26,34 +30,43 @@ public class Keyboard2 extends InputMethodService PreferenceManager.setDefaultValues(this, R.xml.settings, false); PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this); updateConfig(); - _inputView = (Keyboard2View)getLayoutInflater().inflate(R.layout.input, null); - _inputView.reset_prefs(this); + _keyboardView = (Keyboard2View)getLayoutInflater().inflate(R.layout.keyboard, null); + _keyboardView.reset_prefs(this); + } + + private View getEmojiPane() + { + if (_emojiPane == null) + { + } + return (_emojiPane); } @Override public View onCreateInputView() { - ViewGroup parent = (ViewGroup)_inputView.getParent(); + // return (new EmojiGridView(this)); // TMP + ViewGroup parent = (ViewGroup)_keyboardView.getParent(); if (parent != null) - parent.removeView(_inputView); - return (_inputView); + parent.removeView(_keyboardView); + return (_keyboardView); } @Override public void onStartInputView(EditorInfo info, boolean restarting) { if ((info.inputType & InputType.TYPE_CLASS_NUMBER) != 0) - _inputView.setKeyboard(_numericKeyboard); + _keyboardView.setKeyboard(_numericKeyboard); else - _inputView.setKeyboard(_textKeyboard); + _keyboardView.setKeyboard(_textKeyboard); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { updateConfig(); - _inputView.reset_prefs(this); + _keyboardView.reset_prefs(this); } @Override @@ -64,7 +77,7 @@ public class Keyboard2 extends InputMethodService @Override public void onConfigurationChanged(Configuration newConfig) { - _inputView.reset(); + _keyboardView.reset(); } private void updateConfig() @@ -83,28 +96,31 @@ public class Keyboard2 extends InputMethodService public void handleKeyUp(KeyValue key, int flags) { + int eventCode = key.getEventCode(); + char keyChar = key.getChar(flags); + if (getCurrentInputConnection() == null) return ; - if (key.getEventCode() == KeyValue.EVENT_CONFIG) + if (eventCode == KeyValue.EVENT_CONFIG) { Intent intent = new Intent(this, SettingsActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } - else if (key.getEventCode() == KeyValue.EVENT_SWITCH_TEXT) - _inputView.setKeyboard(_textKeyboard); - else if (key.getEventCode() == KeyValue.EVENT_SWITCH_NUMERIC) - _inputView.setKeyboard(_numericKeyboard); + else if (eventCode == KeyValue.EVENT_SWITCH_TEXT) + _keyboardView.setKeyboard(_textKeyboard); + else if (eventCode == KeyValue.EVENT_SWITCH_NUMERIC) + _keyboardView.setKeyboard(_numericKeyboard); else if ((flags & (KeyValue.FLAG_CTRL | KeyValue.FLAG_ALT)) != 0) handleMetaKeyUp(key, flags); - // else if (key.getEventCode() == KeyEvent.KEYCODE_DEL) + // else if (eventCode == KeyEvent.KEYCODE_DEL) // handleDelKey(1, 0); - // else if (key.getEventCode() == KeyEvent.KEYCODE_FORWARD_DEL) + // else if (eventCode == KeyEvent.KEYCODE_FORWARD_DEL) // handleDelKey(0, 1); - else if (key.getChar(flags) == KeyValue.CHAR_NONE && key.getEventCode() != KeyValue.EVENT_NONE) + else if (keyChar == KeyValue.CHAR_NONE && eventCode != KeyValue.EVENT_NONE) handleMetaKeyUp(key, flags); - else if (key.getChar(flags) != KeyValue.CHAR_NONE) - sendKeyChar(key.getChar(flags)); + else if (keyChar != KeyValue.CHAR_NONE) + sendKeyChar(keyChar); } // private void handleDelKey(int before, int after) diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java index 4c7d131..9bb743a 100644 --- a/srcs/juloo.keyboard2/Keyboard2View.java +++ b/srcs/juloo.keyboard2/Keyboard2View.java @@ -412,7 +412,7 @@ public class Keyboard2View extends View canvas.drawText(k.getSymbol(_flags), x, y, right ? _keySubLabelRightPaint : _keySubLabelPaint); } - private class KeyDown + private static class KeyDown { public int pointerId; public KeyValue value; |
