From 9e785f265858b5e475bbb720ae8cb89b12675594 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 15 Aug 2015 23:21:31 +0200 Subject: first attempt for trying to change emojicon to https://github.com/rockerhieu/emojicon --- libs/emojicon/src/main/AndroidManifest.xml | 11 +- .../java/com/rockerhieu/emojicon/EmojiAdapter.java | 72 + .../com/rockerhieu/emojicon/EmojiconEditText.java | 84 ++ .../rockerhieu/emojicon/EmojiconGridFragment.java | 119 ++ .../com/rockerhieu/emojicon/EmojiconHandler.java | 1551 ++++++++++++++++++++ .../com/rockerhieu/emojicon/EmojiconRecents.java | 28 + .../emojicon/EmojiconRecentsGridFragment.java | 85 ++ .../emojicon/EmojiconRecentsManager.java | 141 ++ .../java/com/rockerhieu/emojicon/EmojiconSpan.java | 95 ++ .../com/rockerhieu/emojicon/EmojiconTextView.java | 93 ++ .../com/rockerhieu/emojicon/EmojiconsFragment.java | 291 ++++ .../com/rockerhieu/emojicon/EmojiconsPopup.java | 413 ++++++ .../com/rockerhieu/emojicon/emoji/Emojicon.java | 131 ++ .../java/com/rockerhieu/emojicon/emoji/Nature.java | 141 ++ .../com/rockerhieu/emojicon/emoji/Objects.java | 255 ++++ .../java/com/rockerhieu/emojicon/emoji/People.java | 214 +++ .../java/com/rockerhieu/emojicon/emoji/Places.java | 126 ++ .../com/rockerhieu/emojicon/emoji/Symbols.java | 237 +++ .../ankushsachdeva/emojicon/EmojiAdapter.java | 74 - .../ankushsachdeva/emojicon/EmojiconEditText.java | 67 - .../ankushsachdeva/emojicon/EmojiconGridView.java | 78 - .../ankushsachdeva/emojicon/EmojiconHandler.java | 1515 ------------------- .../ankushsachdeva/emojicon/EmojiconRecents.java | 28 - .../emojicon/EmojiconRecentsGridView.java | 62 - .../emojicon/EmojiconRecentsManager.java | 124 -- .../ankushsachdeva/emojicon/EmojiconSpan.java | 51 - .../ankushsachdeva/emojicon/EmojiconTextView.java | 76 - .../ankushsachdeva/emojicon/EmojiconsPopup.java | 408 ----- .../ankushsachdeva/emojicon/emoji/Emojicon.java | 74 - .../ankushsachdeva/emojicon/emoji/Nature.java | 141 -- .../ankushsachdeva/emojicon/emoji/Objects.java | 255 ---- .../ankushsachdeva/emojicon/emoji/People.java | 214 --- .../ankushsachdeva/emojicon/emoji/Places.java | 126 -- .../ankushsachdeva/emojicon/emoji/Symbols.java | 237 --- .../src/main/res/drawable-hdpi/ic_launcher.png | Bin 9397 -> 0 bytes .../drawable-hdpi/keyboard_background_holo.9.png | Bin 227 -> 248 bytes .../src/main/res/drawable-mdpi/ic_launcher.png | Bin 5237 -> 0 bytes .../drawable-mdpi/keyboard_background_holo.9.png | Bin 204 -> 242 bytes .../src/main/res/drawable-nodpi/emoji_1f4bd.png | Bin 5691 -> 4246 bytes .../src/main/res/drawable-nodpi/emoji_1f555.png | Bin 4486 -> 3744 bytes .../src/main/res/drawable-xhdpi/ic_launcher.png | Bin 14383 -> 0 bytes .../drawable-xhdpi/keyboard_background_holo.9.png | Bin 267 -> 268 bytes .../drawable-xhdpi/orca_attach_camera_normal.png | Bin 3384 -> 0 bytes .../drawable-xhdpi/orca_attach_camera_pressed.png | Bin 3390 -> 0 bytes .../drawable-xhdpi/orca_attach_location_normal.png | Bin 1882 -> 0 bytes .../orca_attach_location_pressed.png | Bin 3078 -> 0 bytes .../drawable-xhdpi/orca_attach_photo_normal.png | Bin 2956 -> 0 bytes .../drawable-xhdpi/orca_attach_photo_pressed.png | Bin 2947 -> 0 bytes .../res/drawable-xhdpi/orca_attachments_arrow.png | Bin 1126 -> 0 bytes .../orca_attachments_arrow_reversed.png | Bin 1076 -> 0 bytes .../orca_composer_divider_horizontal.9.png | Bin 95 -> 0 bytes .../orca_composer_divider_vertical.9.png | Bin 95 -> 0 bytes .../orca_composer_popup_active_normal.png | Bin 687 -> 0 bytes .../orca_composer_popup_active_pressed.png | Bin 1365 -> 0 bytes .../drawable-xhdpi/orca_composer_popup_normal.png | Bin 441 -> 0 bytes .../drawable-xhdpi/orca_composer_popup_pressed.png | Bin 1088 -> 0 bytes .../res/drawable-xhdpi/orca_composer_tab.9.png | Bin 106 -> 0 bytes .../drawable-xhdpi/orca_composer_tab_active.9.png | Bin 109 -> 0 bytes .../drawable-xhdpi/orca_composer_tab_dark.9.png | Bin 110 -> 0 bytes .../drawable-xhdpi/orca_composer_tab_pressed.9.png | Bin 116 -> 0 bytes .../drawable-xhdpi/orca_composer_top_divider.9.png | Bin 113 -> 0 bytes .../orca_emoji_backspace_back_normal.png | Bin 1659 -> 0 bytes .../orca_emoji_backspace_front_normal.png | Bin 1174 -> 0 bytes .../orca_emoji_backspace_front_pressed.png | Bin 2289 -> 0 bytes .../drawable-xhdpi/orca_emoji_category_cars.png | Bin 1806 -> 0 bytes .../drawable-xhdpi/orca_emoji_category_nature.png | Bin 2551 -> 0 bytes .../drawable-xhdpi/orca_emoji_category_objects.png | Bin 2023 -> 0 bytes .../drawable-xhdpi/orca_emoji_category_people.png | Bin 2011 -> 0 bytes .../orca_emoji_category_punctuation.png | Bin 1490 -> 0 bytes .../drawable-xhdpi/orca_emoji_more_back_normal.png | Bin 1383 -> 0 bytes .../orca_emoji_more_front_normal.png | Bin 1028 -> 0 bytes .../orca_emoji_more_front_pressed.png | Bin 1987 -> 0 bytes .../orca_composer_attach_camera_button.xml | 6 - .../orca_composer_attach_location_button.xml | 21 - .../drawable/orca_composer_attach_photo_button.xml | 6 - .../res/drawable/orca_composer_popup_button.xml | 6 - .../drawable/orca_composer_popup_button_active.xml | 6 - .../drawable/orca_emoji_backspace_front_button.xml | 5 - .../res/drawable/orca_emoji_more_front_button.xml | 5 - .../res/drawable/orca_emoji_tab_background.xml | 7 - .../drawable/orca_emoji_tab_dark_background.xml | 22 - .../emojicon/src/main/res/layout/emojicon_item.xml | 6 +- libs/emojicon/src/main/res/layout/emojicons.xml | 219 +-- libs/emojicon/src/main/res/values/attrs.xml | 30 +- libs/emojicon/src/main/res/values/colors.xml | 20 + .../conversations/ui/ConversationActivity.java | 2 +- .../conversations/ui/ConversationFragment.java | 18 +- .../eu/siacs/conversations/ui/EditMessage.java | 2 +- .../ui/adapter/ConversationAdapter.java | 2 +- .../conversations/ui/adapter/MessageAdapter.java | 2 +- src/main/res/layout/conversation_list_row.xml | 2 +- src/main/res/layout/message_received.xml | 2 +- src/main/res/layout/message_sent.xml | 2 +- 93 files changed, 4240 insertions(+), 3768 deletions(-) create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiAdapter.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconEditText.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconGridFragment.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconHandler.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecents.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsGridFragment.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsManager.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconSpan.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconTextView.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsFragment.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsPopup.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Emojicon.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Nature.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Objects.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/People.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Places.java create mode 100644 libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Symbols.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiAdapter.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconEditText.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconGridView.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconHandler.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecents.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsGridView.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconSpan.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconTextView.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Emojicon.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Nature.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Objects.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/People.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Places.java delete mode 100644 libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Symbols.java delete mode 100644 libs/emojicon/src/main/res/drawable-hdpi/ic_launcher.png delete mode 100644 libs/emojicon/src/main/res/drawable-mdpi/ic_launcher.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/ic_launcher.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow_reversed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_horizontal.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_vertical.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_active.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_dark.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_pressed.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_top_divider.9.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_back_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_cars.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_nature.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_objects.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_people.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_punctuation.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_back_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_normal.png delete mode 100644 libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_pressed.png delete mode 100644 libs/emojicon/src/main/res/drawable/orca_composer_attach_camera_button.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_composer_attach_location_button.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_composer_attach_photo_button.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_composer_popup_button.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_composer_popup_button_active.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_emoji_backspace_front_button.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_emoji_more_front_button.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_emoji_tab_background.xml delete mode 100644 libs/emojicon/src/main/res/drawable/orca_emoji_tab_dark_background.xml create mode 100644 libs/emojicon/src/main/res/values/colors.xml diff --git a/libs/emojicon/src/main/AndroidManifest.xml b/libs/emojicon/src/main/AndroidManifest.xml index a07b8e21..dbdb705b 100644 --- a/libs/emojicon/src/main/AndroidManifest.xml +++ b/libs/emojicon/src/main/AndroidManifest.xml @@ -1,12 +1,5 @@ - - - - - - + package="com.rockerhieu.emojicon"> + diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiAdapter.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiAdapter.java new file mode 100644 index 00000000..9c98aedf --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiAdapter.java @@ -0,0 +1,72 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import java.util.List; + +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import com.rockerhieu.emojicon.emoji.Emojicon; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +class EmojiAdapter extends ArrayAdapter { + private boolean mUseSystemDefault = false; + + public EmojiAdapter(Context context, List data) { + super(context, R.layout.emojicon_item, data); + mUseSystemDefault = false; + } + + public EmojiAdapter(Context context, List data, boolean useSystemDefault) { + super(context, R.layout.emojicon_item, data); + mUseSystemDefault = useSystemDefault; + } + + public EmojiAdapter(Context context, Emojicon[] data) { + super(context, R.layout.emojicon_item, data); + mUseSystemDefault = false; + } + + public EmojiAdapter(Context context, Emojicon[] data, boolean useSystemDefault) { + super(context, R.layout.emojicon_item, data); + mUseSystemDefault = useSystemDefault; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + View v = convertView; + if (v == null) { + v = View.inflate(getContext(), R.layout.emojicon_item, null); + ViewHolder holder = new ViewHolder(); + holder.icon = (EmojiconTextView) v.findViewById(R.id.emojicon_icon); + holder.icon.setUseSystemDefault(mUseSystemDefault); + v.setTag(holder); + } + Emojicon emoji = getItem(position); + ViewHolder holder = (ViewHolder) v.getTag(); + holder.icon.setText(emoji.getEmoji()); + return v; + } + + static class ViewHolder { + EmojiconTextView icon; + } +} \ No newline at end of file diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconEditText.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconEditText.java new file mode 100644 index 00000000..2d009ce5 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconEditText.java @@ -0,0 +1,84 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import android.content.Context; +import android.content.res.TypedArray; +import android.text.style.DynamicDrawableSpan; +import android.util.AttributeSet; +import android.widget.EditText; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com). + */ +public class EmojiconEditText extends EditText { + private int mEmojiconSize; + private int mEmojiconAlignment; + private int mEmojiconTextSize; + private boolean mUseSystemDefault = false; + + public EmojiconEditText(Context context) { + super(context); + mEmojiconSize = (int) getTextSize(); + mEmojiconTextSize = (int) getTextSize(); + } + + public EmojiconEditText(Context context, AttributeSet attrs) { + super(context, attrs); + init(attrs); + } + + public EmojiconEditText(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + init(attrs); + } + + private void init(AttributeSet attrs) { + TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.Emojicon); + mEmojiconSize = (int) a.getDimension(R.styleable.Emojicon_emojiconSize, getTextSize()); + mEmojiconAlignment = a.getInt(R.styleable.Emojicon_emojiconAlignment, DynamicDrawableSpan.ALIGN_BASELINE); + mUseSystemDefault = a.getBoolean(R.styleable.Emojicon_emojiconUseSystemDefault, false); + a.recycle(); + mEmojiconTextSize = (int) getTextSize(); + setText(getText()); + } + + @Override + protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) { + updateText(); + } + + /** + * Set the size of emojicon in pixels. + */ + public void setEmojiconSize(int pixels) { + mEmojiconSize = pixels; + + updateText(); + } + + private void updateText() { + EmojiconHandler.addEmojis(getContext(), getText(), mEmojiconSize, mEmojiconAlignment, mEmojiconTextSize, mUseSystemDefault); + } + + /** + * Set whether to use system default emojicon + */ + public void setUseSystemDefault(boolean useSystemDefault) { + mUseSystemDefault = useSystemDefault; + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconGridFragment.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconGridFragment.java new file mode 100644 index 00000000..0e13c4c3 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconGridFragment.java @@ -0,0 +1,119 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import com.rockerhieu.emojicon.emoji.Emojicon; +import com.rockerhieu.emojicon.emoji.People; + +import android.app.Activity; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.GridView; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class EmojiconGridFragment extends Fragment implements AdapterView.OnItemClickListener { + private OnEmojiconClickedListener mOnEmojiconClickedListener; + private EmojiconRecents mRecents; + private Emojicon[] mData; + private boolean mUseSystemDefault = false; + + private static final String USE_SYSTEM_DEFAULT_KEY = "useSystemDefaults"; + private static final String EMOJICONS_KEY = "emojicons"; + + protected static EmojiconGridFragment newInstance(Emojicon[] emojicons, EmojiconRecents recents) { + return newInstance(emojicons, recents, false); + } + + protected static EmojiconGridFragment newInstance(Emojicon[] emojicons, EmojiconRecents recents, boolean useSystemDefault) { + EmojiconGridFragment emojiGridFragment = new EmojiconGridFragment(); + Bundle args = new Bundle(); + args.putParcelableArray(EMOJICONS_KEY, emojicons); + args.putBoolean(USE_SYSTEM_DEFAULT_KEY, useSystemDefault); + emojiGridFragment.setArguments(args); + emojiGridFragment.setRecents(recents); + return emojiGridFragment; + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + return inflater.inflate(R.layout.emojicon_grid, container, false); + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + GridView gridView = (GridView) view.findViewById(R.id.Emoji_GridView); + Bundle bundle = getArguments(); + if (bundle == null) { + mData = People.DATA; + mUseSystemDefault = false; + } else { + mData = (Emojicon[]) getArguments().getParcelableArray(EMOJICONS_KEY); + mUseSystemDefault = bundle.getBoolean(USE_SYSTEM_DEFAULT_KEY); + } + gridView.setAdapter(new EmojiAdapter(view.getContext(), mData, mUseSystemDefault)); + gridView.setOnItemClickListener(this); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putParcelableArray(EMOJICONS_KEY, mData); + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + if (activity instanceof OnEmojiconClickedListener) { + mOnEmojiconClickedListener = (OnEmojiconClickedListener) activity; + } else if (getParentFragment() instanceof OnEmojiconClickedListener) { + mOnEmojiconClickedListener = (OnEmojiconClickedListener) getParentFragment(); + } else { + throw new IllegalArgumentException(activity + " must implement interface " + OnEmojiconClickedListener.class.getSimpleName()); + } + } + + @Override + public void onDetach() { + mOnEmojiconClickedListener = null; + super.onDetach(); + } + + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + if (mOnEmojiconClickedListener != null) { + mOnEmojiconClickedListener.onEmojiconClicked((Emojicon) parent.getItemAtPosition(position)); + } + if (mRecents != null) { + mRecents.addRecentEmoji(view.getContext(), ((Emojicon) parent + .getItemAtPosition(position))); + } + } + + private void setRecents(EmojiconRecents recents) { + mRecents = recents; + } + + public interface OnEmojiconClickedListener { + void onEmojiconClicked(Emojicon emojicon); + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconHandler.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconHandler.java new file mode 100644 index 00000000..2f819fd6 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconHandler.java @@ -0,0 +1,1551 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.rockerhieu.emojicon; + +import android.content.Context; +import android.text.Spannable; +import android.util.SparseIntArray; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public final class EmojiconHandler { + private EmojiconHandler() { + } + + private static final SparseIntArray sEmojisMap = new SparseIntArray(846); + private static final SparseIntArray sSoftbanksMap = new SparseIntArray(471); + + static { + // People + sEmojisMap.put(0x1f604, R.drawable.emoji_1f604); + sEmojisMap.put(0x1f603, R.drawable.emoji_1f603); + sEmojisMap.put(0x1f600, R.drawable.emoji_1f600); + sEmojisMap.put(0x1f60a, R.drawable.emoji_1f60a); + sEmojisMap.put(0x263a, R.drawable.emoji_263a); + sEmojisMap.put(0x1f609, R.drawable.emoji_1f609); + sEmojisMap.put(0x1f60d, R.drawable.emoji_1f60d); + sEmojisMap.put(0x1f618, R.drawable.emoji_1f618); + sEmojisMap.put(0x1f61a, R.drawable.emoji_1f61a); + sEmojisMap.put(0x1f617, R.drawable.emoji_1f617); + sEmojisMap.put(0x1f619, R.drawable.emoji_1f619); + sEmojisMap.put(0x1f61c, R.drawable.emoji_1f61c); + sEmojisMap.put(0x1f61d, R.drawable.emoji_1f61d); + sEmojisMap.put(0x1f61b, R.drawable.emoji_1f61b); + sEmojisMap.put(0x1f633, R.drawable.emoji_1f633); + sEmojisMap.put(0x1f601, R.drawable.emoji_1f601); + sEmojisMap.put(0x1f614, R.drawable.emoji_1f614); + sEmojisMap.put(0x1f60c, R.drawable.emoji_1f60c); + sEmojisMap.put(0x1f612, R.drawable.emoji_1f612); + sEmojisMap.put(0x1f61e, R.drawable.emoji_1f61e); + sEmojisMap.put(0x1f623, R.drawable.emoji_1f623); + sEmojisMap.put(0x1f622, R.drawable.emoji_1f622); + sEmojisMap.put(0x1f602, R.drawable.emoji_1f602); + sEmojisMap.put(0x1f62d, R.drawable.emoji_1f62d); + sEmojisMap.put(0x1f62a, R.drawable.emoji_1f62a); + sEmojisMap.put(0x1f625, R.drawable.emoji_1f625); + sEmojisMap.put(0x1f630, R.drawable.emoji_1f630); + sEmojisMap.put(0x1f605, R.drawable.emoji_1f605); + sEmojisMap.put(0x1f613, R.drawable.emoji_1f613); + sEmojisMap.put(0x1f629, R.drawable.emoji_1f629); + sEmojisMap.put(0x1f62b, R.drawable.emoji_1f62b); + sEmojisMap.put(0x1f628, R.drawable.emoji_1f628); + sEmojisMap.put(0x1f631, R.drawable.emoji_1f631); + sEmojisMap.put(0x1f620, R.drawable.emoji_1f620); + sEmojisMap.put(0x1f621, R.drawable.emoji_1f621); + sEmojisMap.put(0x1f624, R.drawable.emoji_1f624); + sEmojisMap.put(0x1f616, R.drawable.emoji_1f616); + sEmojisMap.put(0x1f606, R.drawable.emoji_1f606); + sEmojisMap.put(0x1f60b, R.drawable.emoji_1f60b); + sEmojisMap.put(0x1f637, R.drawable.emoji_1f637); + sEmojisMap.put(0x1f60e, R.drawable.emoji_1f60e); + sEmojisMap.put(0x1f634, R.drawable.emoji_1f634); + sEmojisMap.put(0x1f635, R.drawable.emoji_1f635); + sEmojisMap.put(0x1f632, R.drawable.emoji_1f632); + sEmojisMap.put(0x1f61f, R.drawable.emoji_1f61f); + sEmojisMap.put(0x1f626, R.drawable.emoji_1f626); + sEmojisMap.put(0x1f627, R.drawable.emoji_1f627); + sEmojisMap.put(0x1f608, R.drawable.emoji_1f608); + sEmojisMap.put(0x1f47f, R.drawable.emoji_1f47f); + sEmojisMap.put(0x1f62e, R.drawable.emoji_1f62e); + sEmojisMap.put(0x1f62c, R.drawable.emoji_1f62c); + sEmojisMap.put(0x1f610, R.drawable.emoji_1f610); + sEmojisMap.put(0x1f615, R.drawable.emoji_1f615); + sEmojisMap.put(0x1f62f, R.drawable.emoji_1f62f); + sEmojisMap.put(0x1f636, R.drawable.emoji_1f636); + sEmojisMap.put(0x1f607, R.drawable.emoji_1f607); + sEmojisMap.put(0x1f60f, R.drawable.emoji_1f60f); + sEmojisMap.put(0x1f611, R.drawable.emoji_1f611); + sEmojisMap.put(0x1f472, R.drawable.emoji_1f472); + sEmojisMap.put(0x1f473, R.drawable.emoji_1f473); + sEmojisMap.put(0x1f46e, R.drawable.emoji_1f46e); + sEmojisMap.put(0x1f477, R.drawable.emoji_1f477); + sEmojisMap.put(0x1f482, R.drawable.emoji_1f482); + sEmojisMap.put(0x1f476, R.drawable.emoji_1f476); + sEmojisMap.put(0x1f466, R.drawable.emoji_1f466); + sEmojisMap.put(0x1f467, R.drawable.emoji_1f467); + sEmojisMap.put(0x1f468, R.drawable.emoji_1f468); + sEmojisMap.put(0x1f469, R.drawable.emoji_1f469); + sEmojisMap.put(0x1f474, R.drawable.emoji_1f474); + sEmojisMap.put(0x1f475, R.drawable.emoji_1f475); + sEmojisMap.put(0x1f471, R.drawable.emoji_1f471); + sEmojisMap.put(0x1f47c, R.drawable.emoji_1f47c); + sEmojisMap.put(0x1f478, R.drawable.emoji_1f478); + sEmojisMap.put(0x1f63a, R.drawable.emoji_1f63a); + sEmojisMap.put(0x1f638, R.drawable.emoji_1f638); + sEmojisMap.put(0x1f63b, R.drawable.emoji_1f63b); + sEmojisMap.put(0x1f63d, R.drawable.emoji_1f63d); + sEmojisMap.put(0x1f63c, R.drawable.emoji_1f63c); + sEmojisMap.put(0x1f640, R.drawable.emoji_1f640); + sEmojisMap.put(0x1f63f, R.drawable.emoji_1f63f); + sEmojisMap.put(0x1f639, R.drawable.emoji_1f639); + sEmojisMap.put(0x1f63e, R.drawable.emoji_1f63e); + sEmojisMap.put(0x1f479, R.drawable.emoji_1f479); + sEmojisMap.put(0x1f47a, R.drawable.emoji_1f47a); + sEmojisMap.put(0x1f648, R.drawable.emoji_1f648); + sEmojisMap.put(0x1f649, R.drawable.emoji_1f649); + sEmojisMap.put(0x1f64a, R.drawable.emoji_1f64a); + sEmojisMap.put(0x1f480, R.drawable.emoji_1f480); + sEmojisMap.put(0x1f47d, R.drawable.emoji_1f47d); + sEmojisMap.put(0x1f4a9, R.drawable.emoji_1f4a9); + sEmojisMap.put(0x1f525, R.drawable.emoji_1f525); + sEmojisMap.put(0x2728, R.drawable.emoji_2728); + sEmojisMap.put(0x1f31f, R.drawable.emoji_1f31f); + sEmojisMap.put(0x1f4ab, R.drawable.emoji_1f4ab); + sEmojisMap.put(0x1f4a5, R.drawable.emoji_1f4a5); + sEmojisMap.put(0x1f4a2, R.drawable.emoji_1f4a2); + sEmojisMap.put(0x1f4a6, R.drawable.emoji_1f4a6); + sEmojisMap.put(0x1f4a7, R.drawable.emoji_1f4a7); + sEmojisMap.put(0x1f4a4, R.drawable.emoji_1f4a4); + sEmojisMap.put(0x1f4a8, R.drawable.emoji_1f4a8); + sEmojisMap.put(0x1f442, R.drawable.emoji_1f442); + sEmojisMap.put(0x1f440, R.drawable.emoji_1f440); + sEmojisMap.put(0x1f443, R.drawable.emoji_1f443); + sEmojisMap.put(0x1f445, R.drawable.emoji_1f445); + sEmojisMap.put(0x1f444, R.drawable.emoji_1f444); + sEmojisMap.put(0x1f44d, R.drawable.emoji_1f44d); + sEmojisMap.put(0x1f44e, R.drawable.emoji_1f44e); + sEmojisMap.put(0x1f44c, R.drawable.emoji_1f44c); + sEmojisMap.put(0x1f44a, R.drawable.emoji_1f44a); + sEmojisMap.put(0x270a, R.drawable.emoji_270a); + sEmojisMap.put(0x270c, R.drawable.emoji_270c); + sEmojisMap.put(0x1f44b, R.drawable.emoji_1f44b); + sEmojisMap.put(0x270b, R.drawable.emoji_270b); + sEmojisMap.put(0x1f450, R.drawable.emoji_1f450); + sEmojisMap.put(0x1f446, R.drawable.emoji_1f446); + sEmojisMap.put(0x1f447, R.drawable.emoji_1f447); + sEmojisMap.put(0x1f449, R.drawable.emoji_1f449); + sEmojisMap.put(0x1f448, R.drawable.emoji_1f448); + sEmojisMap.put(0x1f64c, R.drawable.emoji_1f64c); + sEmojisMap.put(0x1f64f, R.drawable.emoji_1f64f); + sEmojisMap.put(0x261d, R.drawable.emoji_261d); + sEmojisMap.put(0x1f44f, R.drawable.emoji_1f44f); + sEmojisMap.put(0x1f4aa, R.drawable.emoji_1f4aa); + sEmojisMap.put(0x1f6b6, R.drawable.emoji_1f6b6); + sEmojisMap.put(0x1f3c3, R.drawable.emoji_1f3c3); + sEmojisMap.put(0x1f483, R.drawable.emoji_1f483); + sEmojisMap.put(0x1f46b, R.drawable.emoji_1f46b); + sEmojisMap.put(0x1f46a, R.drawable.emoji_1f46a); + sEmojisMap.put(0x1f46c, R.drawable.emoji_1f46c); + sEmojisMap.put(0x1f46d, R.drawable.emoji_1f46d); + sEmojisMap.put(0x1f48f, R.drawable.emoji_1f48f); + sEmojisMap.put(0x1f491, R.drawable.emoji_1f491); + sEmojisMap.put(0x1f46f, R.drawable.emoji_1f46f); + sEmojisMap.put(0x1f646, R.drawable.emoji_1f646); + sEmojisMap.put(0x1f645, R.drawable.emoji_1f645); + sEmojisMap.put(0x1f481, R.drawable.emoji_1f481); + sEmojisMap.put(0x1f64b, R.drawable.emoji_1f64b); + sEmojisMap.put(0x1f486, R.drawable.emoji_1f486); + sEmojisMap.put(0x1f487, R.drawable.emoji_1f487); + sEmojisMap.put(0x1f485, R.drawable.emoji_1f485); + sEmojisMap.put(0x1f470, R.drawable.emoji_1f470); + sEmojisMap.put(0x1f64e, R.drawable.emoji_1f64e); + sEmojisMap.put(0x1f64d, R.drawable.emoji_1f64d); + sEmojisMap.put(0x1f647, R.drawable.emoji_1f647); + sEmojisMap.put(0x1f3a9, R.drawable.emoji_1f3a9); + sEmojisMap.put(0x1f451, R.drawable.emoji_1f451); + sEmojisMap.put(0x1f452, R.drawable.emoji_1f452); + sEmojisMap.put(0x1f45f, R.drawable.emoji_1f45f); + sEmojisMap.put(0x1f45e, R.drawable.emoji_1f45e); + sEmojisMap.put(0x1f461, R.drawable.emoji_1f461); + sEmojisMap.put(0x1f460, R.drawable.emoji_1f460); + sEmojisMap.put(0x1f462, R.drawable.emoji_1f462); + sEmojisMap.put(0x1f455, R.drawable.emoji_1f455); + sEmojisMap.put(0x1f454, R.drawable.emoji_1f454); + sEmojisMap.put(0x1f45a, R.drawable.emoji_1f45a); + sEmojisMap.put(0x1f457, R.drawable.emoji_1f457); + sEmojisMap.put(0x1f3bd, R.drawable.emoji_1f3bd); + sEmojisMap.put(0x1f456, R.drawable.emoji_1f456); + sEmojisMap.put(0x1f458, R.drawable.emoji_1f458); + sEmojisMap.put(0x1f459, R.drawable.emoji_1f459); + sEmojisMap.put(0x1f4bc, R.drawable.emoji_1f4bc); + sEmojisMap.put(0x1f45c, R.drawable.emoji_1f45c); + sEmojisMap.put(0x1f45d, R.drawable.emoji_1f45d); + sEmojisMap.put(0x1f45b, R.drawable.emoji_1f45b); + sEmojisMap.put(0x1f453, R.drawable.emoji_1f453); + sEmojisMap.put(0x1f380, R.drawable.emoji_1f380); + sEmojisMap.put(0x1f302, R.drawable.emoji_1f302); + sEmojisMap.put(0x1f484, R.drawable.emoji_1f484); + sEmojisMap.put(0x1f49b, R.drawable.emoji_1f49b); + sEmojisMap.put(0x1f499, R.drawable.emoji_1f499); + sEmojisMap.put(0x1f49c, R.drawable.emoji_1f49c); + sEmojisMap.put(0x1f49a, R.drawable.emoji_1f49a); + sEmojisMap.put(0x2764, R.drawable.emoji_2764); + sEmojisMap.put(0x1f494, R.drawable.emoji_1f494); + sEmojisMap.put(0x1f497, R.drawable.emoji_1f497); + sEmojisMap.put(0x1f493, R.drawable.emoji_1f493); + sEmojisMap.put(0x1f495, R.drawable.emoji_1f495); + sEmojisMap.put(0x1f496, R.drawable.emoji_1f496); + sEmojisMap.put(0x1f49e, R.drawable.emoji_1f49e); + sEmojisMap.put(0x1f498, R.drawable.emoji_1f498); + sEmojisMap.put(0x1f48c, R.drawable.emoji_1f48c); + sEmojisMap.put(0x1f48b, R.drawable.emoji_1f48b); + sEmojisMap.put(0x1f48d, R.drawable.emoji_1f48d); + sEmojisMap.put(0x1f48e, R.drawable.emoji_1f48e); + sEmojisMap.put(0x1f464, R.drawable.emoji_1f464); + sEmojisMap.put(0x1f465, R.drawable.emoji_1f465); + sEmojisMap.put(0x1f4ac, R.drawable.emoji_1f4ac); + sEmojisMap.put(0x1f463, R.drawable.emoji_1f463); + sEmojisMap.put(0x1f4ad, R.drawable.emoji_1f4ad); + + // Nature + sEmojisMap.put(0x1f436, R.drawable.emoji_1f436); + sEmojisMap.put(0x1f43a, R.drawable.emoji_1f43a); + sEmojisMap.put(0x1f431, R.drawable.emoji_1f431); + sEmojisMap.put(0x1f42d, R.drawable.emoji_1f42d); + sEmojisMap.put(0x1f439, R.drawable.emoji_1f439); + sEmojisMap.put(0x1f430, R.drawable.emoji_1f430); + sEmojisMap.put(0x1f438, R.drawable.emoji_1f438); + sEmojisMap.put(0x1f42f, R.drawable.emoji_1f42f); + sEmojisMap.put(0x1f428, R.drawable.emoji_1f428); + sEmojisMap.put(0x1f43b, R.drawable.emoji_1f43b); + sEmojisMap.put(0x1f437, R.drawable.emoji_1f437); + sEmojisMap.put(0x1f43d, R.drawable.emoji_1f43d); + sEmojisMap.put(0x1f42e, R.drawable.emoji_1f42e); + sEmojisMap.put(0x1f417, R.drawable.emoji_1f417); + sEmojisMap.put(0x1f435, R.drawable.emoji_1f435); + sEmojisMap.put(0x1f412, R.drawable.emoji_1f412); + sEmojisMap.put(0x1f434, R.drawable.emoji_1f434); + sEmojisMap.put(0x1f411, R.drawable.emoji_1f411); + sEmojisMap.put(0x1f418, R.drawable.emoji_1f418); + sEmojisMap.put(0x1f43c, R.drawable.emoji_1f43c); + sEmojisMap.put(0x1f427, R.drawable.emoji_1f427); + sEmojisMap.put(0x1f426, R.drawable.emoji_1f426); + sEmojisMap.put(0x1f424, R.drawable.emoji_1f424); + sEmojisMap.put(0x1f425, R.drawable.emoji_1f425); + sEmojisMap.put(0x1f423, R.drawable.emoji_1f423); + sEmojisMap.put(0x1f414, R.drawable.emoji_1f414); + sEmojisMap.put(0x1f40d, R.drawable.emoji_1f40d); + sEmojisMap.put(0x1f422, R.drawable.emoji_1f422); + sEmojisMap.put(0x1f41b, R.drawable.emoji_1f41b); + sEmojisMap.put(0x1f41d, R.drawable.emoji_1f41d); + sEmojisMap.put(0x1f41c, R.drawable.emoji_1f41c); + sEmojisMap.put(0x1f41e, R.drawable.emoji_1f41e); + sEmojisMap.put(0x1f40c, R.drawable.emoji_1f40c); + sEmojisMap.put(0x1f419, R.drawable.emoji_1f419); + sEmojisMap.put(0x1f41a, R.drawable.emoji_1f41a); + sEmojisMap.put(0x1f420, R.drawable.emoji_1f420); + sEmojisMap.put(0x1f41f, R.drawable.emoji_1f41f); + sEmojisMap.put(0x1f42c, R.drawable.emoji_1f42c); + sEmojisMap.put(0x1f433, R.drawable.emoji_1f433); + sEmojisMap.put(0x1f40b, R.drawable.emoji_1f40b); + sEmojisMap.put(0x1f404, R.drawable.emoji_1f404); + sEmojisMap.put(0x1f40f, R.drawable.emoji_1f40f); + sEmojisMap.put(0x1f400, R.drawable.emoji_1f400); + sEmojisMap.put(0x1f403, R.drawable.emoji_1f403); + sEmojisMap.put(0x1f405, R.drawable.emoji_1f405); + sEmojisMap.put(0x1f407, R.drawable.emoji_1f407); + sEmojisMap.put(0x1f409, R.drawable.emoji_1f409); + sEmojisMap.put(0x1f40e, R.drawable.emoji_1f40e); + sEmojisMap.put(0x1f410, R.drawable.emoji_1f410); + sEmojisMap.put(0x1f413, R.drawable.emoji_1f413); + sEmojisMap.put(0x1f415, R.drawable.emoji_1f415); + sEmojisMap.put(0x1f416, R.drawable.emoji_1f416); + sEmojisMap.put(0x1f401, R.drawable.emoji_1f401); + sEmojisMap.put(0x1f402, R.drawable.emoji_1f402); + sEmojisMap.put(0x1f432, R.drawable.emoji_1f432); + sEmojisMap.put(0x1f421, R.drawable.emoji_1f421); + sEmojisMap.put(0x1f40a, R.drawable.emoji_1f40a); + sEmojisMap.put(0x1f42b, R.drawable.emoji_1f42b); + sEmojisMap.put(0x1f42a, R.drawable.emoji_1f42a); + sEmojisMap.put(0x1f406, R.drawable.emoji_1f406); + sEmojisMap.put(0x1f408, R.drawable.emoji_1f408); + sEmojisMap.put(0x1f429, R.drawable.emoji_1f429); + sEmojisMap.put(0x1f43e, R.drawable.emoji_1f43e); + sEmojisMap.put(0x1f490, R.drawable.emoji_1f490); + sEmojisMap.put(0x1f338, R.drawable.emoji_1f338); + sEmojisMap.put(0x1f337, R.drawable.emoji_1f337); + sEmojisMap.put(0x1f340, R.drawable.emoji_1f340); + sEmojisMap.put(0x1f339, R.drawable.emoji_1f339); + sEmojisMap.put(0x1f33b, R.drawable.emoji_1f33b); + sEmojisMap.put(0x1f33a, R.drawable.emoji_1f33a); + sEmojisMap.put(0x1f341, R.drawable.emoji_1f341); + sEmojisMap.put(0x1f343, R.drawable.emoji_1f343); + sEmojisMap.put(0x1f342, R.drawable.emoji_1f342); + sEmojisMap.put(0x1f33f, R.drawable.emoji_1f33f); + sEmojisMap.put(0x1f33e, R.drawable.emoji_1f33e); + sEmojisMap.put(0x1f344, R.drawable.emoji_1f344); + sEmojisMap.put(0x1f335, R.drawable.emoji_1f335); + sEmojisMap.put(0x1f334, R.drawable.emoji_1f334); + sEmojisMap.put(0x1f332, R.drawable.emoji_1f332); + sEmojisMap.put(0x1f333, R.drawable.emoji_1f333); + sEmojisMap.put(0x1f330, R.drawable.emoji_1f330); + sEmojisMap.put(0x1f331, R.drawable.emoji_1f331); + sEmojisMap.put(0x1f33c, R.drawable.emoji_1f33c); + sEmojisMap.put(0x1f310, R.drawable.emoji_1f310); + sEmojisMap.put(0x1f31e, R.drawable.emoji_1f31e); + sEmojisMap.put(0x1f31d, R.drawable.emoji_1f31d); + sEmojisMap.put(0x1f31a, R.drawable.emoji_1f31a); + sEmojisMap.put(0x1f311, R.drawable.emoji_1f311); + sEmojisMap.put(0x1f312, R.drawable.emoji_1f312); + sEmojisMap.put(0x1f313, R.drawable.emoji_1f313); + sEmojisMap.put(0x1f314, R.drawable.emoji_1f314); + sEmojisMap.put(0x1f315, R.drawable.emoji_1f315); + sEmojisMap.put(0x1f316, R.drawable.emoji_1f316); + sEmojisMap.put(0x1f317, R.drawable.emoji_1f317); + sEmojisMap.put(0x1f318, R.drawable.emoji_1f318); + sEmojisMap.put(0x1f31c, R.drawable.emoji_1f31c); + sEmojisMap.put(0x1f31b, R.drawable.emoji_1f31b); + sEmojisMap.put(0x1f319, R.drawable.emoji_1f319); + sEmojisMap.put(0x1f30d, R.drawable.emoji_1f30d); + sEmojisMap.put(0x1f30e, R.drawable.emoji_1f30e); + sEmojisMap.put(0x1f30f, R.drawable.emoji_1f30f); + sEmojisMap.put(0x1f30b, R.drawable.emoji_1f30b); + sEmojisMap.put(0x1f30c, R.drawable.emoji_1f30c); + sEmojisMap.put(0x1f320, R.drawable.emoji_1f303); // TODO (rockerhieu) review this emoji + sEmojisMap.put(0x2b50, R.drawable.emoji_2b50); + sEmojisMap.put(0x2600, R.drawable.emoji_2600); + sEmojisMap.put(0x26c5, R.drawable.emoji_26c5); + sEmojisMap.put(0x2601, R.drawable.emoji_2601); + sEmojisMap.put(0x26a1, R.drawable.emoji_26a1); + sEmojisMap.put(0x2614, R.drawable.emoji_2614); + sEmojisMap.put(0x2744, R.drawable.emoji_2744); + sEmojisMap.put(0x26c4, R.drawable.emoji_26c4); + sEmojisMap.put(0x1f300, R.drawable.emoji_1f300); + sEmojisMap.put(0x1f301, R.drawable.emoji_1f301); + sEmojisMap.put(0x1f308, R.drawable.emoji_1f308); + sEmojisMap.put(0x1f30a, R.drawable.emoji_1f30a); + + // Objects + sEmojisMap.put(0x1f38d, R.drawable.emoji_1f38d); + sEmojisMap.put(0x1f49d, R.drawable.emoji_1f49d); + sEmojisMap.put(0x1f38e, R.drawable.emoji_1f38e); + sEmojisMap.put(0x1f392, R.drawable.emoji_1f392); + sEmojisMap.put(0x1f393, R.drawable.emoji_1f393); + sEmojisMap.put(0x1f38f, R.drawable.emoji_1f38f); + sEmojisMap.put(0x1f386, R.drawable.emoji_1f386); + sEmojisMap.put(0x1f387, R.drawable.emoji_1f387); + sEmojisMap.put(0x1f390, R.drawable.emoji_1f390); + sEmojisMap.put(0x1f391, R.drawable.emoji_1f391); + sEmojisMap.put(0x1f383, R.drawable.emoji_1f383); + sEmojisMap.put(0x1f47b, R.drawable.emoji_1f47b); + sEmojisMap.put(0x1f385, R.drawable.emoji_1f385); + sEmojisMap.put(0x1f384, R.drawable.emoji_1f384); + sEmojisMap.put(0x1f381, R.drawable.emoji_1f381); + sEmojisMap.put(0x1f38b, R.drawable.emoji_1f38b); + sEmojisMap.put(0x1f389, R.drawable.emoji_1f389); + sEmojisMap.put(0x1f38a, R.drawable.emoji_1f38a); + sEmojisMap.put(0x1f388, R.drawable.emoji_1f388); + sEmojisMap.put(0x1f38c, R.drawable.emoji_1f38c); + sEmojisMap.put(0x1f52e, R.drawable.emoji_1f52e); + sEmojisMap.put(0x1f3a5, R.drawable.emoji_1f3a5); + sEmojisMap.put(0x1f4f7, R.drawable.emoji_1f4f7); + sEmojisMap.put(0x1f4f9, R.drawable.emoji_1f4f9); + sEmojisMap.put(0x1f4fc, R.drawable.emoji_1f4fc); + sEmojisMap.put(0x1f4bf, R.drawable.emoji_1f4bf); + sEmojisMap.put(0x1f4c0, R.drawable.emoji_1f4c0); + sEmojisMap.put(0x1f4bd, R.drawable.emoji_1f4bd); + sEmojisMap.put(0x1f4be, R.drawable.emoji_1f4be); + sEmojisMap.put(0x1f4bb, R.drawable.emoji_1f4bb); + sEmojisMap.put(0x1f4f1, R.drawable.emoji_1f4f1); + sEmojisMap.put(0x260e, R.drawable.emoji_260e); + sEmojisMap.put(0x1f4de, R.drawable.emoji_1f4de); + sEmojisMap.put(0x1f4df, R.drawable.emoji_1f4df); + sEmojisMap.put(0x1f4e0, R.drawable.emoji_1f4e0); + sEmojisMap.put(0x1f4e1, R.drawable.emoji_1f4e1); + sEmojisMap.put(0x1f4fa, R.drawable.emoji_1f4fa); + sEmojisMap.put(0x1f4fb, R.drawable.emoji_1f4fb); + sEmojisMap.put(0x1f50a, R.drawable.emoji_1f50a); + sEmojisMap.put(0x1f509, R.drawable.emoji_1f509); + sEmojisMap.put(0x1f508, R.drawable.emoji_1f508); // TODO (rockerhieu): review this emoji + sEmojisMap.put(0x1f507, R.drawable.emoji_1f507); + sEmojisMap.put(0x1f514, R.drawable.emoji_1f514); + sEmojisMap.put(0x1f515, R.drawable.emoji_1f515); + sEmojisMap.put(0x1f4e2, R.drawable.emoji_1f4e2); + sEmojisMap.put(0x1f4e3, R.drawable.emoji_1f4e3); + sEmojisMap.put(0x23f3, R.drawable.emoji_23f3); + sEmojisMap.put(0x231b, R.drawable.emoji_231b); + sEmojisMap.put(0x23f0, R.drawable.emoji_23f0); + sEmojisMap.put(0x231a, R.drawable.emoji_231a); + sEmojisMap.put(0x1f513, R.drawable.emoji_1f513); + sEmojisMap.put(0x1f512, R.drawable.emoji_1f512); + sEmojisMap.put(0x1f50f, R.drawable.emoji_1f50f); + sEmojisMap.put(0x1f510, R.drawable.emoji_1f510); + sEmojisMap.put(0x1f511, R.drawable.emoji_1f511); + sEmojisMap.put(0x1f50e, R.drawable.emoji_1f50e); + sEmojisMap.put(0x1f4a1, R.drawable.emoji_1f4a1); + sEmojisMap.put(0x1f526, R.drawable.emoji_1f526); + sEmojisMap.put(0x1f506, R.drawable.emoji_1f506); + sEmojisMap.put(0x1f505, R.drawable.emoji_1f505); + sEmojisMap.put(0x1f50c, R.drawable.emoji_1f50c); + sEmojisMap.put(0x1f50b, R.drawable.emoji_1f50b); + sEmojisMap.put(0x1f50d, R.drawable.emoji_1f50d); + sEmojisMap.put(0x1f6c1, R.drawable.emoji_1f6c1); + sEmojisMap.put(0x1f6c0, R.drawable.emoji_1f6c0); + sEmojisMap.put(0x1f6bf, R.drawable.emoji_1f6bf); + sEmojisMap.put(0x1f6bd, R.drawable.emoji_1f6bd); + sEmojisMap.put(0x1f527, R.drawable.emoji_1f527); + sEmojisMap.put(0x1f529, R.drawable.emoji_1f529); + sEmojisMap.put(0x1f528, R.drawable.emoji_1f528); + sEmojisMap.put(0x1f6aa, R.drawable.emoji_1f6aa); + sEmojisMap.put(0x1f6ac, R.drawable.emoji_1f6ac); + sEmojisMap.put(0x1f4a3, R.drawable.emoji_1f4a3); + sEmojisMap.put(0x1f52b, R.drawable.emoji_1f52b); + sEmojisMap.put(0x1f52a, R.drawable.emoji_1f52a); + sEmojisMap.put(0x1f48a, R.drawable.emoji_1f48a); + sEmojisMap.put(0x1f489, R.drawable.emoji_1f489); + sEmojisMap.put(0x1f4b0, R.drawable.emoji_1f4b0); + sEmojisMap.put(0x1f4b4, R.drawable.emoji_1f4b4); + sEmojisMap.put(0x1f4b5, R.drawable.emoji_1f4b5); + sEmojisMap.put(0x1f4b7, R.drawable.emoji_1f4b7); + sEmojisMap.put(0x1f4b6, R.drawable.emoji_1f4b6); + sEmojisMap.put(0x1f4b3, R.drawable.emoji_1f4b3); + sEmojisMap.put(0x1f4b8, R.drawable.emoji_1f4b8); + sEmojisMap.put(0x1f4f2, R.drawable.emoji_1f4f2); + sEmojisMap.put(0x1f4e7, R.drawable.emoji_1f4e7); + sEmojisMap.put(0x1f4e5, R.drawable.emoji_1f4e5); + sEmojisMap.put(0x1f4e4, R.drawable.emoji_1f4e4); + sEmojisMap.put(0x2709, R.drawable.emoji_2709); + sEmojisMap.put(0x1f4e9, R.drawable.emoji_1f4e9); + sEmojisMap.put(0x1f4e8, R.drawable.emoji_1f4e8); + sEmojisMap.put(0x1f4ef, R.drawable.emoji_1f4ef); + sEmojisMap.put(0x1f4eb, R.drawable.emoji_1f4eb); + sEmojisMap.put(0x1f4ea, R.drawable.emoji_1f4ea); + sEmojisMap.put(0x1f4ec, R.drawable.emoji_1f4ec); + sEmojisMap.put(0x1f4ed, R.drawable.emoji_1f4ed); + sEmojisMap.put(0x1f4ee, R.drawable.emoji_1f4ee); + sEmojisMap.put(0x1f4e6, R.drawable.emoji_1f4e6); + sEmojisMap.put(0x1f4dd, R.drawable.emoji_1f4dd); + sEmojisMap.put(0x1f4c4, R.drawable.emoji_1f4c4); + sEmojisMap.put(0x1f4c3, R.drawable.emoji_1f4c3); + sEmojisMap.put(0x1f4d1, R.drawable.emoji_1f4d1); + sEmojisMap.put(0x1f4ca, R.drawable.emoji_1f4ca); + sEmojisMap.put(0x1f4c8, R.drawable.emoji_1f4c8); + sEmojisMap.put(0x1f4c9, R.drawable.emoji_1f4c9); + sEmojisMap.put(0x1f4dc, R.drawable.emoji_1f4dc); + sEmojisMap.put(0x1f4cb, R.drawable.emoji_1f4cb); + sEmojisMap.put(0x1f4c5, R.drawable.emoji_1f4c5); + sEmojisMap.put(0x1f4c6, R.drawable.emoji_1f4c6); + sEmojisMap.put(0x1f4c7, R.drawable.emoji_1f4c7); + sEmojisMap.put(0x1f4c1, R.drawable.emoji_1f4c1); + sEmojisMap.put(0x1f4c2, R.drawable.emoji_1f4c2); + sEmojisMap.put(0x2702, R.drawable.emoji_2702); + sEmojisMap.put(0x1f4cc, R.drawable.emoji_1f4cc); + sEmojisMap.put(0x1f4ce, R.drawable.emoji_1f4ce); + sEmojisMap.put(0x2712, R.drawable.emoji_2712); + sEmojisMap.put(0x270f, R.drawable.emoji_270f); + sEmojisMap.put(0x1f4cf, R.drawable.emoji_1f4cf); + sEmojisMap.put(0x1f4d0, R.drawable.emoji_1f4d0); + sEmojisMap.put(0x1f4d5, R.drawable.emoji_1f4d5); + sEmojisMap.put(0x1f4d7, R.drawable.emoji_1f4d7); + sEmojisMap.put(0x1f4d8, R.drawable.emoji_1f4d8); + sEmojisMap.put(0x1f4d9, R.drawable.emoji_1f4d9); + sEmojisMap.put(0x1f4d3, R.drawable.emoji_1f4d3); + sEmojisMap.put(0x1f4d4, R.drawable.emoji_1f4d4); + sEmojisMap.put(0x1f4d2, R.drawable.emoji_1f4d2); + sEmojisMap.put(0x1f4da, R.drawable.emoji_1f4da); + sEmojisMap.put(0x1f4d6, R.drawable.emoji_1f4d6); + sEmojisMap.put(0x1f516, R.drawable.emoji_1f516); + sEmojisMap.put(0x1f4db, R.drawable.emoji_1f4db); + sEmojisMap.put(0x1f52c, R.drawable.emoji_1f52c); + sEmojisMap.put(0x1f52d, R.drawable.emoji_1f52d); + sEmojisMap.put(0x1f4f0, R.drawable.emoji_1f4f0); + sEmojisMap.put(0x1f3a8, R.drawable.emoji_1f3a8); + sEmojisMap.put(0x1f3ac, R.drawable.emoji_1f3ac); + sEmojisMap.put(0x1f3a4, R.drawable.emoji_1f3a4); + sEmojisMap.put(0x1f3a7, R.drawable.emoji_1f3a7); + sEmojisMap.put(0x1f3bc, R.drawable.emoji_1f3bc); + sEmojisMap.put(0x1f3b5, R.drawable.emoji_1f3b5); + sEmojisMap.put(0x1f3b6, R.drawable.emoji_1f3b6); + sEmojisMap.put(0x1f3b9, R.drawable.emoji_1f3b9); + sEmojisMap.put(0x1f3bb, R.drawable.emoji_1f3bb); + sEmojisMap.put(0x1f3ba, R.drawable.emoji_1f3ba); + sEmojisMap.put(0x1f3b7, R.drawable.emoji_1f3b7); + sEmojisMap.put(0x1f3b8, R.drawable.emoji_1f3b8); + sEmojisMap.put(0x1f47e, R.drawable.emoji_1f47e); + sEmojisMap.put(0x1f3ae, R.drawable.emoji_1f3ae); + sEmojisMap.put(0x1f0cf, R.drawable.emoji_1f0cf); + sEmojisMap.put(0x1f3b4, R.drawable.emoji_1f3b4); + sEmojisMap.put(0x1f004, R.drawable.emoji_1f004); + sEmojisMap.put(0x1f3b2, R.drawable.emoji_1f3b2); + sEmojisMap.put(0x1f3af, R.drawable.emoji_1f3af); + sEmojisMap.put(0x1f3c8, R.drawable.emoji_1f3c8); + sEmojisMap.put(0x1f3c0, R.drawable.emoji_1f3c0); + sEmojisMap.put(0x26bd, R.drawable.emoji_26bd); + sEmojisMap.put(0x26be, R.drawable.emoji_26be); + sEmojisMap.put(0x1f3be, R.drawable.emoji_1f3be); + sEmojisMap.put(0x1f3b1, R.drawable.emoji_1f3b1); + sEmojisMap.put(0x1f3c9, R.drawable.emoji_1f3c9); + sEmojisMap.put(0x1f3b3, R.drawable.emoji_1f3b3); + sEmojisMap.put(0x26f3, R.drawable.emoji_26f3); + sEmojisMap.put(0x1f6b5, R.drawable.emoji_1f6b5); + sEmojisMap.put(0x1f6b4, R.drawable.emoji_1f6b4); + sEmojisMap.put(0x1f3c1, R.drawable.emoji_1f3c1); + sEmojisMap.put(0x1f3c7, R.drawable.emoji_1f3c7); + sEmojisMap.put(0x1f3c6, R.drawable.emoji_1f3c6); + sEmojisMap.put(0x1f3bf, R.drawable.emoji_1f3bf); + sEmojisMap.put(0x1f3c2, R.drawable.emoji_1f3c2); + sEmojisMap.put(0x1f3ca, R.drawable.emoji_1f3ca); + sEmojisMap.put(0x1f3c4, R.drawable.emoji_1f3c4); + sEmojisMap.put(0x1f3a3, R.drawable.emoji_1f3a3); + sEmojisMap.put(0x2615, R.drawable.emoji_2615); + sEmojisMap.put(0x1f375, R.drawable.emoji_1f375); + sEmojisMap.put(0x1f376, R.drawable.emoji_1f376); + sEmojisMap.put(0x1f37c, R.drawable.emoji_1f37c); + sEmojisMap.put(0x1f37a, R.drawable.emoji_1f37a); + sEmojisMap.put(0x1f37b, R.drawable.emoji_1f37b); + sEmojisMap.put(0x1f378, R.drawable.emoji_1f378); + sEmojisMap.put(0x1f379, R.drawable.emoji_1f379); + sEmojisMap.put(0x1f377, R.drawable.emoji_1f377); + sEmojisMap.put(0x1f374, R.drawable.emoji_1f374); + sEmojisMap.put(0x1f355, R.drawable.emoji_1f355); + sEmojisMap.put(0x1f354, R.drawable.emoji_1f354); + sEmojisMap.put(0x1f35f, R.drawable.emoji_1f35f); + sEmojisMap.put(0x1f357, R.drawable.emoji_1f357); + sEmojisMap.put(0x1f356, R.drawable.emoji_1f356); + sEmojisMap.put(0x1f35d, R.drawable.emoji_1f35d); + sEmojisMap.put(0x1f35b, R.drawable.emoji_1f35b); + sEmojisMap.put(0x1f364, R.drawable.emoji_1f364); + sEmojisMap.put(0x1f371, R.drawable.emoji_1f371); + sEmojisMap.put(0x1f363, R.drawable.emoji_1f363); + sEmojisMap.put(0x1f365, R.drawable.emoji_1f365); + sEmojisMap.put(0x1f359, R.drawable.emoji_1f359); + sEmojisMap.put(0x1f358, R.drawable.emoji_1f358); + sEmojisMap.put(0x1f35a, R.drawable.emoji_1f35a); + sEmojisMap.put(0x1f35c, R.drawable.emoji_1f35c); + sEmojisMap.put(0x1f372, R.drawable.emoji_1f372); + sEmojisMap.put(0x1f362, R.drawable.emoji_1f362); + sEmojisMap.put(0x1f361, R.drawable.emoji_1f361); + sEmojisMap.put(0x1f373, R.drawable.emoji_1f373); + sEmojisMap.put(0x1f35e, R.drawable.emoji_1f35e); + sEmojisMap.put(0x1f369, R.drawable.emoji_1f369); + sEmojisMap.put(0x1f36e, R.drawable.emoji_1f36e); + sEmojisMap.put(0x1f366, R.drawable.emoji_1f366); + sEmojisMap.put(0x1f368, R.drawable.emoji_1f368); + sEmojisMap.put(0x1f367, R.drawable.emoji_1f367); + sEmojisMap.put(0x1f382, R.drawable.emoji_1f382); + sEmojisMap.put(0x1f370, R.drawable.emoji_1f370); + sEmojisMap.put(0x1f36a, R.drawable.emoji_1f36a); + sEmojisMap.put(0x1f36b, R.drawable.emoji_1f36b); + sEmojisMap.put(0x1f36c, R.drawable.emoji_1f36c); + sEmojisMap.put(0x1f36d, R.drawable.emoji_1f36d); + sEmojisMap.put(0x1f36f, R.drawable.emoji_1f36f); + sEmojisMap.put(0x1f34e, R.drawable.emoji_1f34e); + sEmojisMap.put(0x1f34f, R.drawable.emoji_1f34f); + sEmojisMap.put(0x1f34a, R.drawable.emoji_1f34a); + sEmojisMap.put(0x1f34b, R.drawable.emoji_1f34b); + sEmojisMap.put(0x1f352, R.drawable.emoji_1f352); + sEmojisMap.put(0x1f347, R.drawable.emoji_1f347); + sEmojisMap.put(0x1f349, R.drawable.emoji_1f349); + sEmojisMap.put(0x1f353, R.drawable.emoji_1f353); + sEmojisMap.put(0x1f351, R.drawable.emoji_1f351); + sEmojisMap.put(0x1f348, R.drawable.emoji_1f348); + sEmojisMap.put(0x1f34c, R.drawable.emoji_1f34c); + sEmojisMap.put(0x1f350, R.drawable.emoji_1f350); + sEmojisMap.put(0x1f34d, R.drawable.emoji_1f34d); + sEmojisMap.put(0x1f360, R.drawable.emoji_1f360); + sEmojisMap.put(0x1f346, R.drawable.emoji_1f346); + sEmojisMap.put(0x1f345, R.drawable.emoji_1f345); + sEmojisMap.put(0x1f33d, R.drawable.emoji_1f33d); + + // Places + sEmojisMap.put(0x1f3e0, R.drawable.emoji_1f3e0); + sEmojisMap.put(0x1f3e1, R.drawable.emoji_1f3e1); + sEmojisMap.put(0x1f3eb, R.drawable.emoji_1f3eb); + sEmojisMap.put(0x1f3e2, R.drawable.emoji_1f3e2); + sEmojisMap.put(0x1f3e3, R.drawable.emoji_1f3e3); + sEmojisMap.put(0x1f3e5, R.drawable.emoji_1f3e5); + sEmojisMap.put(0x1f3e6, R.drawable.emoji_1f3e6); + sEmojisMap.put(0x1f3ea, R.drawable.emoji_1f3ea); + sEmojisMap.put(0x1f3e9, R.drawable.emoji_1f3e9); + sEmojisMap.put(0x1f3e8, R.drawable.emoji_1f3e8); + sEmojisMap.put(0x1f492, R.drawable.emoji_1f492); + sEmojisMap.put(0x26ea, R.drawable.emoji_26ea); + sEmojisMap.put(0x1f3ec, R.drawable.emoji_1f3ec); + sEmojisMap.put(0x1f3e4, R.drawable.emoji_1f3e4); + sEmojisMap.put(0x1f307, R.drawable.emoji_1f307); + sEmojisMap.put(0x1f306, R.drawable.emoji_1f306); + sEmojisMap.put(0x1f3ef, R.drawable.emoji_1f3ef); + sEmojisMap.put(0x1f3f0, R.drawable.emoji_1f3f0); + sEmojisMap.put(0x26fa, R.drawable.emoji_26fa); + sEmojisMap.put(0x1f3ed, R.drawable.emoji_1f3ed); + sEmojisMap.put(0x1f5fc, R.drawable.emoji_1f5fc); + sEmojisMap.put(0x1f5fe, R.drawable.emoji_1f5fe); + sEmojisMap.put(0x1f5fb, R.drawable.emoji_1f5fb); + sEmojisMap.put(0x1f304, R.drawable.emoji_1f304); + sEmojisMap.put(0x1f305, R.drawable.emoji_1f305); + sEmojisMap.put(0x1f303, R.drawable.emoji_1f303); + sEmojisMap.put(0x1f5fd, R.drawable.emoji_1f5fd); + sEmojisMap.put(0x1f309, R.drawable.emoji_1f309); + sEmojisMap.put(0x1f3a0, R.drawable.emoji_1f3a0); + sEmojisMap.put(0x1f3a1, R.drawable.emoji_1f3a1); + sEmojisMap.put(0x26f2, R.drawable.emoji_26f2); + sEmojisMap.put(0x1f3a2, R.drawable.emoji_1f3a2); + sEmojisMap.put(0x1f6a2, R.drawable.emoji_1f6a2); + sEmojisMap.put(0x26f5, R.drawable.emoji_26f5); + sEmojisMap.put(0x1f6a4, R.drawable.emoji_1f6a4); + sEmojisMap.put(0x1f6a3, R.drawable.emoji_1f6a3); + sEmojisMap.put(0x2693, R.drawable.emoji_2693); + sEmojisMap.put(0x1f680, R.drawable.emoji_1f680); + sEmojisMap.put(0x2708, R.drawable.emoji_2708); + sEmojisMap.put(0x1f4ba, R.drawable.emoji_1f4ba); + sEmojisMap.put(0x1f681, R.drawable.emoji_1f681); + sEmojisMap.put(0x1f682, R.drawable.emoji_1f682); + sEmojisMap.put(0x1f68a, R.drawable.emoji_1f68a); + sEmojisMap.put(0x1f689, R.drawable.emoji_1f689); + sEmojisMap.put(0x1f69e, R.drawable.emoji_1f69e); + sEmojisMap.put(0x1f686, R.drawable.emoji_1f686); + sEmojisMap.put(0x1f684, R.drawable.emoji_1f684); + sEmojisMap.put(0x1f685, R.drawable.emoji_1f685); + sEmojisMap.put(0x1f688, R.drawable.emoji_1f688); + sEmojisMap.put(0x1f687, R.drawable.emoji_1f687); + sEmojisMap.put(0x1f69d, R.drawable.emoji_1f69d); + sEmojisMap.put(0x1f68b, R.drawable.emoji_1f68b); // TODO (rockerhieu) review this emoji + sEmojisMap.put(0x1f683, R.drawable.emoji_1f683); + sEmojisMap.put(0x1f68e, R.drawable.emoji_1f68e); + sEmojisMap.put(0x1f68c, R.drawable.emoji_1f68c); + sEmojisMap.put(0x1f68d, R.drawable.emoji_1f68d); + sEmojisMap.put(0x1f699, R.drawable.emoji_1f699); + sEmojisMap.put(0x1f698, R.drawable.emoji_1f698); + sEmojisMap.put(0x1f697, R.drawable.emoji_1f697); + sEmojisMap.put(0x1f695, R.drawable.emoji_1f695); + sEmojisMap.put(0x1f696, R.drawable.emoji_1f696); + sEmojisMap.put(0x1f69b, R.drawable.emoji_1f69b); + sEmojisMap.put(0x1f69a, R.drawable.emoji_1f69a); + sEmojisMap.put(0x1f6a8, R.drawable.emoji_1f6a8); + sEmojisMap.put(0x1f693, R.drawable.emoji_1f693); + sEmojisMap.put(0x1f694, R.drawable.emoji_1f694); + sEmojisMap.put(0x1f692, R.drawable.emoji_1f692); + sEmojisMap.put(0x1f691, R.drawable.emoji_1f691); + sEmojisMap.put(0x1f690, R.drawable.emoji_1f690); + sEmojisMap.put(0x1f6b2, R.drawable.emoji_1f6b2); + sEmojisMap.put(0x1f6a1, R.drawable.emoji_1f6a1); + sEmojisMap.put(0x1f69f, R.drawable.emoji_1f69f); + sEmojisMap.put(0x1f6a0, R.drawable.emoji_1f6a0); + sEmojisMap.put(0x1f69c, R.drawable.emoji_1f69c); + sEmojisMap.put(0x1f488, R.drawable.emoji_1f488); + sEmojisMap.put(0x1f68f, R.drawable.emoji_1f68f); + sEmojisMap.put(0x1f3ab, R.drawable.emoji_1f3ab); + sEmojisMap.put(0x1f6a6, R.drawable.emoji_1f6a6); + sEmojisMap.put(0x1f6a5, R.drawable.emoji_1f6a5); + sEmojisMap.put(0x26a0, R.drawable.emoji_26a0); + sEmojisMap.put(0x1f6a7, R.drawable.emoji_1f6a7); + sEmojisMap.put(0x1f530, R.drawable.emoji_1f530); + sEmojisMap.put(0x26fd, R.drawable.emoji_26fd); + sEmojisMap.put(0x1f3ee, R.drawable.emoji_1f3ee); + sEmojisMap.put(0x1f3b0, R.drawable.emoji_1f3b0); + sEmojisMap.put(0x2668, R.drawable.emoji_2668); + sEmojisMap.put(0x1f5ff, R.drawable.emoji_1f5ff); + sEmojisMap.put(0x1f3aa, R.drawable.emoji_1f3aa); + sEmojisMap.put(0x1f3ad, R.drawable.emoji_1f3ad); + sEmojisMap.put(0x1f4cd, R.drawable.emoji_1f4cd); + sEmojisMap.put(0x1f6a9, R.drawable.emoji_1f6a9); +// Emoji.fromChars("\ud83c\uddef\ud83c\uddf5"); +// Emoji.fromChars("\ud83c\uddf0\ud83c\uddf7"); +// Emoji.fromChars("\ud83c\udde9\ud83c\uddea"); +// Emoji.fromChars("\ud83c\udde8\ud83c\uddf3"); +// Emoji.fromChars("\ud83c\uddfa\ud83c\uddf8"); +// Emoji.fromChars("\ud83c\uddeb\ud83c\uddf7"); +// Emoji.fromChars("\ud83c\uddea\ud83c\uddf8"); +// Emoji.fromChars("\ud83c\uddee\ud83c\uddf9"); +// Emoji.fromChars("\ud83c\uddf7\ud83c\uddfa"); +// Emoji.fromChars("\ud83c\uddec\ud83c\udde7"); + + // Symbols +// Emoji.fromChars("\u0031\u20e3"), +// Emoji.fromChars("\u0032\u20e3"), +// Emoji.fromChars("\u0033\u20e3"), +// Emoji.fromChars("\u0034\u20e3"), +// Emoji.fromChars("\u0035\u20e3"), +// Emoji.fromChars("\u0036\u20e3"), +// Emoji.fromChars("\u0037\u20e3"), +// Emoji.fromChars("\u0038\u20e3"), +// Emoji.fromChars("\u0039\u20e3"), +// Emoji.fromChars("\u0030\u20e3"), + sEmojisMap.put(0x1f51f, R.drawable.emoji_1f51f); + sEmojisMap.put(0x1f522, R.drawable.emoji_1f522); +// Emoji.fromChars("\u0023\u20e3"), + sEmojisMap.put(0x1f523, R.drawable.emoji_1f523); + sEmojisMap.put(0x2b06, R.drawable.emoji_2b06); + sEmojisMap.put(0x2b07, R.drawable.emoji_2b07); + sEmojisMap.put(0x2b05, R.drawable.emoji_2b05); + sEmojisMap.put(0x27a1, R.drawable.emoji_27a1); + sEmojisMap.put(0x1f520, R.drawable.emoji_1f520); + sEmojisMap.put(0x1f521, R.drawable.emoji_1f521); + sEmojisMap.put(0x1f524, R.drawable.emoji_1f524); + sEmojisMap.put(0x2197, R.drawable.emoji_2197); + sEmojisMap.put(0x2196, R.drawable.emoji_2196); + sEmojisMap.put(0x2198, R.drawable.emoji_2198); + sEmojisMap.put(0x2199, R.drawable.emoji_2199); + sEmojisMap.put(0x2194, R.drawable.emoji_2194); + sEmojisMap.put(0x2195, R.drawable.emoji_2195); + sEmojisMap.put(0x1f504, R.drawable.emoji_1f504); + sEmojisMap.put(0x25c0, R.drawable.emoji_25c0); + sEmojisMap.put(0x25b6, R.drawable.emoji_25b6); + sEmojisMap.put(0x1f53c, R.drawable.emoji_1f53c); + sEmojisMap.put(0x1f53d, R.drawable.emoji_1f53d); + sEmojisMap.put(0x21a9, R.drawable.emoji_21a9); + sEmojisMap.put(0x21aa, R.drawable.emoji_21aa); + sEmojisMap.put(0x2139, R.drawable.emoji_2139); + sEmojisMap.put(0x23ea, R.drawable.emoji_23ea); + sEmojisMap.put(0x23e9, R.drawable.emoji_23e9); + sEmojisMap.put(0x23eb, R.drawable.emoji_23eb); + sEmojisMap.put(0x23ec, R.drawable.emoji_23ec); + sEmojisMap.put(0x2935, R.drawable.emoji_2935); + sEmojisMap.put(0x2934, R.drawable.emoji_2934); + sEmojisMap.put(0x1f197, R.drawable.emoji_1f197); + sEmojisMap.put(0x1f500, R.drawable.emoji_1f500); + sEmojisMap.put(0x1f501, R.drawable.emoji_1f501); + sEmojisMap.put(0x1f502, R.drawable.emoji_1f502); + sEmojisMap.put(0x1f195, R.drawable.emoji_1f195); + sEmojisMap.put(0x1f199, R.drawable.emoji_1f199); + sEmojisMap.put(0x1f192, R.drawable.emoji_1f192); + sEmojisMap.put(0x1f193, R.drawable.emoji_1f193); + sEmojisMap.put(0x1f196, R.drawable.emoji_1f196); + sEmojisMap.put(0x1f4f6, R.drawable.emoji_1f4f6); + sEmojisMap.put(0x1f3a6, R.drawable.emoji_1f3a6); + sEmojisMap.put(0x1f201, R.drawable.emoji_1f201); + sEmojisMap.put(0x1f22f, R.drawable.emoji_1f22f); + sEmojisMap.put(0x1f233, R.drawable.emoji_1f233); + sEmojisMap.put(0x1f235, R.drawable.emoji_1f235); + sEmojisMap.put(0x1f234, R.drawable.emoji_1f234); + sEmojisMap.put(0x1f232, R.drawable.emoji_1f232); + sEmojisMap.put(0x1f250, R.drawable.emoji_1f250); + sEmojisMap.put(0x1f239, R.drawable.emoji_1f239); + sEmojisMap.put(0x1f23a, R.drawable.emoji_1f23a); + sEmojisMap.put(0x1f236, R.drawable.emoji_1f236); + sEmojisMap.put(0x1f21a, R.drawable.emoji_1f21a); + sEmojisMap.put(0x1f6bb, R.drawable.emoji_1f6bb); + sEmojisMap.put(0x1f6b9, R.drawable.emoji_1f6b9); + sEmojisMap.put(0x1f6ba, R.drawable.emoji_1f6ba); + sEmojisMap.put(0x1f6bc, R.drawable.emoji_1f6bc); + sEmojisMap.put(0x1f6be, R.drawable.emoji_1f6be); + sEmojisMap.put(0x1f6b0, R.drawable.emoji_1f6b0); + sEmojisMap.put(0x1f6ae, R.drawable.emoji_1f6ae); + sEmojisMap.put(0x1f17f, R.drawable.emoji_1f17f); + sEmojisMap.put(0x267f, R.drawable.emoji_267f); + sEmojisMap.put(0x1f6ad, R.drawable.emoji_1f6ad); + sEmojisMap.put(0x1f237, R.drawable.emoji_1f237); + sEmojisMap.put(0x1f238, R.drawable.emoji_1f238); + sEmojisMap.put(0x1f202, R.drawable.emoji_1f202); + sEmojisMap.put(0x24c2, R.drawable.emoji_24c2); + sEmojisMap.put(0x1f6c2, R.drawable.emoji_1f6c2); + sEmojisMap.put(0x1f6c4, R.drawable.emoji_1f6c4); + sEmojisMap.put(0x1f6c5, R.drawable.emoji_1f6c5); + sEmojisMap.put(0x1f6c3, R.drawable.emoji_1f6c3); + sEmojisMap.put(0x1f251, R.drawable.emoji_1f251); + sEmojisMap.put(0x3299, R.drawable.emoji_3299); + sEmojisMap.put(0x3297, R.drawable.emoji_3297); + sEmojisMap.put(0x1f191, R.drawable.emoji_1f191); + sEmojisMap.put(0x1f198, R.drawable.emoji_1f198); + sEmojisMap.put(0x1f194, R.drawable.emoji_1f194); + sEmojisMap.put(0x1f6ab, R.drawable.emoji_1f6ab); + sEmojisMap.put(0x1f51e, R.drawable.emoji_1f51e); + sEmojisMap.put(0x1f4f5, R.drawable.emoji_1f4f5); + sEmojisMap.put(0x1f6af, R.drawable.emoji_1f6af); + sEmojisMap.put(0x1f6b1, R.drawable.emoji_1f6b1); + sEmojisMap.put(0x1f6b3, R.drawable.emoji_1f6b3); + sEmojisMap.put(0x1f6b7, R.drawable.emoji_1f6b7); + sEmojisMap.put(0x1f6b8, R.drawable.emoji_1f6b8); + sEmojisMap.put(0x26d4, R.drawable.emoji_26d4); + sEmojisMap.put(0x2733, R.drawable.emoji_2733); + sEmojisMap.put(0x2747, R.drawable.emoji_2747); + sEmojisMap.put(0x274e, R.drawable.emoji_274e); + sEmojisMap.put(0x2705, R.drawable.emoji_2705); + sEmojisMap.put(0x2734, R.drawable.emoji_2734); + sEmojisMap.put(0x1f49f, R.drawable.emoji_1f49f); + sEmojisMap.put(0x1f19a, R.drawable.emoji_1f19a); + sEmojisMap.put(0x1f4f3, R.drawable.emoji_1f4f3); + sEmojisMap.put(0x1f4f4, R.drawable.emoji_1f4f4); + sEmojisMap.put(0x1f170, R.drawable.emoji_1f170); + sEmojisMap.put(0x1f171, R.drawable.emoji_1f171); + sEmojisMap.put(0x1f18e, R.drawable.emoji_1f18e); + sEmojisMap.put(0x1f17e, R.drawable.emoji_1f17e); + sEmojisMap.put(0x1f4a0, R.drawable.emoji_1f4a0); + sEmojisMap.put(0x27bf, R.drawable.emoji_27bf); + sEmojisMap.put(0x267b, R.drawable.emoji_267b); + sEmojisMap.put(0x2648, R.drawable.emoji_2648); + sEmojisMap.put(0x2649, R.drawable.emoji_2649); + sEmojisMap.put(0x264a, R.drawable.emoji_264a); + sEmojisMap.put(0x264b, R.drawable.emoji_264b); + sEmojisMap.put(0x264c, R.drawable.emoji_264c); + sEmojisMap.put(0x264d, R.drawable.emoji_264d); + sEmojisMap.put(0x264e, R.drawable.emoji_264e); + sEmojisMap.put(0x264f, R.drawable.emoji_264f); + sEmojisMap.put(0x2650, R.drawable.emoji_2650); + sEmojisMap.put(0x2651, R.drawable.emoji_2651); + sEmojisMap.put(0x2652, R.drawable.emoji_2652); + sEmojisMap.put(0x2653, R.drawable.emoji_2653); + sEmojisMap.put(0x26ce, R.drawable.emoji_26ce); + sEmojisMap.put(0x1f52f, R.drawable.emoji_1f52f); + sEmojisMap.put(0x1f3e7, R.drawable.emoji_1f3e7); + sEmojisMap.put(0x1f4b9, R.drawable.emoji_1f4b9); + sEmojisMap.put(0x1f4b2, R.drawable.emoji_1f4b2); + sEmojisMap.put(0x1f4b1, R.drawable.emoji_1f4b1); + sEmojisMap.put(0x00a9, R.drawable.emoji_00a9); + sEmojisMap.put(0x00ae, R.drawable.emoji_00ae); + sEmojisMap.put(0x2122, R.drawable.emoji_2122); + sEmojisMap.put(0x274c, R.drawable.emoji_274c); + sEmojisMap.put(0x203c, R.drawable.emoji_203c); + sEmojisMap.put(0x2049, R.drawable.emoji_2049); + sEmojisMap.put(0x2757, R.drawable.emoji_2757); + sEmojisMap.put(0x2753, R.drawable.emoji_2753); + sEmojisMap.put(0x2755, R.drawable.emoji_2755); + sEmojisMap.put(0x2754, R.drawable.emoji_2754); + sEmojisMap.put(0x2b55, R.drawable.emoji_2b55); + sEmojisMap.put(0x1f51d, R.drawable.emoji_1f51d); + sEmojisMap.put(0x1f51a, R.drawable.emoji_1f51a); + sEmojisMap.put(0x1f519, R.drawable.emoji_1f519); + sEmojisMap.put(0x1f51b, R.drawable.emoji_1f51b); + sEmojisMap.put(0x1f51c, R.drawable.emoji_1f51c); + sEmojisMap.put(0x1f503, R.drawable.emoji_1f503); + sEmojisMap.put(0x1f55b, R.drawable.emoji_1f55b); + sEmojisMap.put(0x1f567, R.drawable.emoji_1f567); + sEmojisMap.put(0x1f550, R.drawable.emoji_1f550); + sEmojisMap.put(0x1f55c, R.drawable.emoji_1f55c); + sEmojisMap.put(0x1f551, R.drawable.emoji_1f551); + sEmojisMap.put(0x1f55d, R.drawable.emoji_1f55d); + sEmojisMap.put(0x1f552, R.drawable.emoji_1f552); + sEmojisMap.put(0x1f55e, R.drawable.emoji_1f55e); + sEmojisMap.put(0x1f553, R.drawable.emoji_1f553); + sEmojisMap.put(0x1f55f, R.drawable.emoji_1f55f); + sEmojisMap.put(0x1f554, R.drawable.emoji_1f554); + sEmojisMap.put(0x1f560, R.drawable.emoji_1f560); + sEmojisMap.put(0x1f555, R.drawable.emoji_1f555); + sEmojisMap.put(0x1f556, R.drawable.emoji_1f556); + sEmojisMap.put(0x1f557, R.drawable.emoji_1f557); + sEmojisMap.put(0x1f558, R.drawable.emoji_1f558); + sEmojisMap.put(0x1f559, R.drawable.emoji_1f559); + sEmojisMap.put(0x1f55a, R.drawable.emoji_1f55a); + sEmojisMap.put(0x1f561, R.drawable.emoji_1f561); + sEmojisMap.put(0x1f562, R.drawable.emoji_1f562); + sEmojisMap.put(0x1f563, R.drawable.emoji_1f563); + sEmojisMap.put(0x1f564, R.drawable.emoji_1f564); + sEmojisMap.put(0x1f565, R.drawable.emoji_1f565); + sEmojisMap.put(0x1f566, R.drawable.emoji_1f566); + sEmojisMap.put(0x2716, R.drawable.emoji_2716); + sEmojisMap.put(0x2795, R.drawable.emoji_2795); + sEmojisMap.put(0x2796, R.drawable.emoji_2796); + sEmojisMap.put(0x2797, R.drawable.emoji_2797); + sEmojisMap.put(0x2660, R.drawable.emoji_2660); + sEmojisMap.put(0x2665, R.drawable.emoji_2665); + sEmojisMap.put(0x2663, R.drawable.emoji_2663); + sEmojisMap.put(0x2666, R.drawable.emoji_2666); + sEmojisMap.put(0x1f4ae, R.drawable.emoji_1f4ae); + sEmojisMap.put(0x1f4af, R.drawable.emoji_1f4af); + sEmojisMap.put(0x2714, R.drawable.emoji_2714); + sEmojisMap.put(0x2611, R.drawable.emoji_2611); + sEmojisMap.put(0x1f518, R.drawable.emoji_1f518); + sEmojisMap.put(0x1f517, R.drawable.emoji_1f517); + sEmojisMap.put(0x27b0, R.drawable.emoji_27b0); + sEmojisMap.put(0x3030, R.drawable.emoji_3030); + sEmojisMap.put(0x303d, R.drawable.emoji_303d); + sEmojisMap.put(0x1f531, R.drawable.emoji_1f531); + sEmojisMap.put(0x25fc, R.drawable.emoji_25fc); + sEmojisMap.put(0x25fb, R.drawable.emoji_25fb); + sEmojisMap.put(0x25fe, R.drawable.emoji_25fe); + sEmojisMap.put(0x25fd, R.drawable.emoji_25fd); + sEmojisMap.put(0x25aa, R.drawable.emoji_25aa); + sEmojisMap.put(0x25ab, R.drawable.emoji_25ab); + sEmojisMap.put(0x1f53a, R.drawable.emoji_1f53a); + sEmojisMap.put(0x1f532, R.drawable.emoji_1f532); + sEmojisMap.put(0x1f533, R.drawable.emoji_1f533); + sEmojisMap.put(0x26ab, R.drawable.emoji_26ab); + sEmojisMap.put(0x26aa, R.drawable.emoji_26aa); + sEmojisMap.put(0x1f534, R.drawable.emoji_1f534); + sEmojisMap.put(0x1f535, R.drawable.emoji_1f535); + sEmojisMap.put(0x1f53b, R.drawable.emoji_1f53b); + sEmojisMap.put(0x2b1c, R.drawable.emoji_2b1c); + sEmojisMap.put(0x2b1b, R.drawable.emoji_2b1b); + sEmojisMap.put(0x1f536, R.drawable.emoji_1f536); + sEmojisMap.put(0x1f537, R.drawable.emoji_1f537); + sEmojisMap.put(0x1f538, R.drawable.emoji_1f538); + sEmojisMap.put(0x1f539, R.drawable.emoji_1f539); + + + sSoftbanksMap.put(0xe001, R.drawable.emoji_1f466); + sSoftbanksMap.put(0xe002, R.drawable.emoji_1f467); + sSoftbanksMap.put(0xe003, R.drawable.emoji_1f48b); + sSoftbanksMap.put(0xe004, R.drawable.emoji_1f468); + sSoftbanksMap.put(0xe005, R.drawable.emoji_1f469); + sSoftbanksMap.put(0xe006, R.drawable.emoji_1f455); + sSoftbanksMap.put(0xe007, R.drawable.emoji_1f45e); + sSoftbanksMap.put(0xe008, R.drawable.emoji_1f4f7); + sSoftbanksMap.put(0xe009, R.drawable.emoji_1f4de); + sSoftbanksMap.put(0xe00a, R.drawable.emoji_1f4f1); + sSoftbanksMap.put(0xe00b, R.drawable.emoji_1f4e0); + sSoftbanksMap.put(0xe00c, R.drawable.emoji_1f4bb); + sSoftbanksMap.put(0xe00d, R.drawable.emoji_1f44a); + sSoftbanksMap.put(0xe00e, R.drawable.emoji_1f44d); + sSoftbanksMap.put(0xe00f, R.drawable.emoji_261d); + sSoftbanksMap.put(0xe010, R.drawable.emoji_270a); + sSoftbanksMap.put(0xe011, R.drawable.emoji_270c); + sSoftbanksMap.put(0xe012, R.drawable.emoji_1f64b); + sSoftbanksMap.put(0xe013, R.drawable.emoji_1f3bf); + sSoftbanksMap.put(0xe014, R.drawable.emoji_26f3); + sSoftbanksMap.put(0xe015, R.drawable.emoji_1f3be); + sSoftbanksMap.put(0xe016, R.drawable.emoji_26be); + sSoftbanksMap.put(0xe017, R.drawable.emoji_1f3c4); + sSoftbanksMap.put(0xe018, R.drawable.emoji_26bd); + sSoftbanksMap.put(0xe019, R.drawable.emoji_1f3a3); + sSoftbanksMap.put(0xe01a, R.drawable.emoji_1f434); + sSoftbanksMap.put(0xe01b, R.drawable.emoji_1f697); + sSoftbanksMap.put(0xe01c, R.drawable.emoji_26f5); + sSoftbanksMap.put(0xe01d, R.drawable.emoji_2708); + sSoftbanksMap.put(0xe01e, R.drawable.emoji_1f683); + sSoftbanksMap.put(0xe01f, R.drawable.emoji_1f685); + sSoftbanksMap.put(0xe020, R.drawable.emoji_2753); + sSoftbanksMap.put(0xe021, R.drawable.emoji_2757); + sSoftbanksMap.put(0xe022, R.drawable.emoji_2764); + sSoftbanksMap.put(0xe023, R.drawable.emoji_1f494); + sSoftbanksMap.put(0xe024, R.drawable.emoji_1f550); + sSoftbanksMap.put(0xe025, R.drawable.emoji_1f551); + sSoftbanksMap.put(0xe026, R.drawable.emoji_1f552); + sSoftbanksMap.put(0xe027, R.drawable.emoji_1f553); + sSoftbanksMap.put(0xe028, R.drawable.emoji_1f554); + sSoftbanksMap.put(0xe029, R.drawable.emoji_1f555); + sSoftbanksMap.put(0xe02a, R.drawable.emoji_1f556); + sSoftbanksMap.put(0xe02b, R.drawable.emoji_1f557); + sSoftbanksMap.put(0xe02c, R.drawable.emoji_1f558); + sSoftbanksMap.put(0xe02d, R.drawable.emoji_1f559); + sSoftbanksMap.put(0xe02e, R.drawable.emoji_1f55a); + sSoftbanksMap.put(0xe02f, R.drawable.emoji_1f55b); + sSoftbanksMap.put(0xe030, R.drawable.emoji_1f338); + sSoftbanksMap.put(0xe031, R.drawable.emoji_1f531); + sSoftbanksMap.put(0xe032, R.drawable.emoji_1f339); + sSoftbanksMap.put(0xe033, R.drawable.emoji_1f384); + sSoftbanksMap.put(0xe034, R.drawable.emoji_1f48d); + sSoftbanksMap.put(0xe035, R.drawable.emoji_1f48e); + sSoftbanksMap.put(0xe036, R.drawable.emoji_1f3e0); + sSoftbanksMap.put(0xe037, R.drawable.emoji_26ea); + sSoftbanksMap.put(0xe038, R.drawable.emoji_1f3e2); + sSoftbanksMap.put(0xe039, R.drawable.emoji_1f689); + sSoftbanksMap.put(0xe03a, R.drawable.emoji_26fd); + sSoftbanksMap.put(0xe03b, R.drawable.emoji_1f5fb); + sSoftbanksMap.put(0xe03c, R.drawable.emoji_1f3a4); + sSoftbanksMap.put(0xe03d, R.drawable.emoji_1f3a5); + sSoftbanksMap.put(0xe03e, R.drawable.emoji_1f3b5); + sSoftbanksMap.put(0xe03f, R.drawable.emoji_1f511); + sSoftbanksMap.put(0xe040, R.drawable.emoji_1f3b7); + sSoftbanksMap.put(0xe041, R.drawable.emoji_1f3b8); + sSoftbanksMap.put(0xe042, R.drawable.emoji_1f3ba); + sSoftbanksMap.put(0xe043, R.drawable.emoji_1f374); + sSoftbanksMap.put(0xe044, R.drawable.emoji_1f377); + sSoftbanksMap.put(0xe045, R.drawable.emoji_2615); + sSoftbanksMap.put(0xe046, R.drawable.emoji_1f370); + sSoftbanksMap.put(0xe047, R.drawable.emoji_1f37a); + sSoftbanksMap.put(0xe048, R.drawable.emoji_26c4); + sSoftbanksMap.put(0xe049, R.drawable.emoji_2601); + sSoftbanksMap.put(0xe04a, R.drawable.emoji_2600); + sSoftbanksMap.put(0xe04b, R.drawable.emoji_2614); + sSoftbanksMap.put(0xe04c, R.drawable.emoji_1f313); + sSoftbanksMap.put(0xe04d, R.drawable.emoji_1f304); + sSoftbanksMap.put(0xe04e, R.drawable.emoji_1f47c); + sSoftbanksMap.put(0xe04f, R.drawable.emoji_1f431); + sSoftbanksMap.put(0xe050, R.drawable.emoji_1f42f); + sSoftbanksMap.put(0xe051, R.drawable.emoji_1f43b); + sSoftbanksMap.put(0xe052, R.drawable.emoji_1f429); + sSoftbanksMap.put(0xe053, R.drawable.emoji_1f42d); + sSoftbanksMap.put(0xe054, R.drawable.emoji_1f433); + sSoftbanksMap.put(0xe055, R.drawable.emoji_1f427); + sSoftbanksMap.put(0xe056, R.drawable.emoji_1f60a); + sSoftbanksMap.put(0xe057, R.drawable.emoji_1f603); + sSoftbanksMap.put(0xe058, R.drawable.emoji_1f61e); + sSoftbanksMap.put(0xe059, R.drawable.emoji_1f620); + sSoftbanksMap.put(0xe05a, R.drawable.emoji_1f4a9); + sSoftbanksMap.put(0xe101, R.drawable.emoji_1f4ea); + sSoftbanksMap.put(0xe102, R.drawable.emoji_1f4ee); + sSoftbanksMap.put(0xe103, R.drawable.emoji_1f4e7); + sSoftbanksMap.put(0xe104, R.drawable.emoji_1f4f2); + sSoftbanksMap.put(0xe105, R.drawable.emoji_1f61c); + sSoftbanksMap.put(0xe106, R.drawable.emoji_1f60d); + sSoftbanksMap.put(0xe107, R.drawable.emoji_1f631); + sSoftbanksMap.put(0xe108, R.drawable.emoji_1f613); + sSoftbanksMap.put(0xe109, R.drawable.emoji_1f435); + sSoftbanksMap.put(0xe10a, R.drawable.emoji_1f419); + sSoftbanksMap.put(0xe10b, R.drawable.emoji_1f437); + sSoftbanksMap.put(0xe10c, R.drawable.emoji_1f47d); + sSoftbanksMap.put(0xe10d, R.drawable.emoji_1f680); + sSoftbanksMap.put(0xe10e, R.drawable.emoji_1f451); + sSoftbanksMap.put(0xe10f, R.drawable.emoji_1f4a1); + sSoftbanksMap.put(0xe110, R.drawable.emoji_1f331); + sSoftbanksMap.put(0xe111, R.drawable.emoji_1f48f); + sSoftbanksMap.put(0xe112, R.drawable.emoji_1f381); + sSoftbanksMap.put(0xe113, R.drawable.emoji_1f52b); + sSoftbanksMap.put(0xe114, R.drawable.emoji_1f50d); + sSoftbanksMap.put(0xe115, R.drawable.emoji_1f3c3); + sSoftbanksMap.put(0xe116, R.drawable.emoji_1f528); + sSoftbanksMap.put(0xe117, R.drawable.emoji_1f386); + sSoftbanksMap.put(0xe118, R.drawable.emoji_1f341); + sSoftbanksMap.put(0xe119, R.drawable.emoji_1f342); + sSoftbanksMap.put(0xe11a, R.drawable.emoji_1f47f); + sSoftbanksMap.put(0xe11b, R.drawable.emoji_1f47b); + sSoftbanksMap.put(0xe11c, R.drawable.emoji_1f480); + sSoftbanksMap.put(0xe11d, R.drawable.emoji_1f525); + sSoftbanksMap.put(0xe11e, R.drawable.emoji_1f4bc); + sSoftbanksMap.put(0xe11f, R.drawable.emoji_1f4ba); + sSoftbanksMap.put(0xe120, R.drawable.emoji_1f354); + sSoftbanksMap.put(0xe121, R.drawable.emoji_26f2); + sSoftbanksMap.put(0xe122, R.drawable.emoji_26fa); + sSoftbanksMap.put(0xe123, R.drawable.emoji_2668); + sSoftbanksMap.put(0xe124, R.drawable.emoji_1f3a1); + sSoftbanksMap.put(0xe125, R.drawable.emoji_1f3ab); + sSoftbanksMap.put(0xe126, R.drawable.emoji_1f4bf); + sSoftbanksMap.put(0xe127, R.drawable.emoji_1f4c0); + sSoftbanksMap.put(0xe128, R.drawable.emoji_1f4fb); + sSoftbanksMap.put(0xe129, R.drawable.emoji_1f4fc); + sSoftbanksMap.put(0xe12a, R.drawable.emoji_1f4fa); + sSoftbanksMap.put(0xe12b, R.drawable.emoji_1f47e); + sSoftbanksMap.put(0xe12c, R.drawable.emoji_303d); + sSoftbanksMap.put(0xe12d, R.drawable.emoji_1f004); + sSoftbanksMap.put(0xe12e, R.drawable.emoji_1f19a); + sSoftbanksMap.put(0xe12f, R.drawable.emoji_1f4b0); + sSoftbanksMap.put(0xe130, R.drawable.emoji_1f3af); + sSoftbanksMap.put(0xe131, R.drawable.emoji_1f3c6); + sSoftbanksMap.put(0xe132, R.drawable.emoji_1f3c1); + sSoftbanksMap.put(0xe133, R.drawable.emoji_1f3b0); + sSoftbanksMap.put(0xe134, R.drawable.emoji_1f40e); + sSoftbanksMap.put(0xe135, R.drawable.emoji_1f6a4); + sSoftbanksMap.put(0xe136, R.drawable.emoji_1f6b2); + sSoftbanksMap.put(0xe137, R.drawable.emoji_1f6a7); + sSoftbanksMap.put(0xe138, R.drawable.emoji_1f6b9); + sSoftbanksMap.put(0xe139, R.drawable.emoji_1f6ba); + sSoftbanksMap.put(0xe13a, R.drawable.emoji_1f6bc); + sSoftbanksMap.put(0xe13b, R.drawable.emoji_1f489); + sSoftbanksMap.put(0xe13c, R.drawable.emoji_1f4a4); + sSoftbanksMap.put(0xe13d, R.drawable.emoji_26a1); + sSoftbanksMap.put(0xe13e, R.drawable.emoji_1f460); + sSoftbanksMap.put(0xe13f, R.drawable.emoji_1f6c0); + sSoftbanksMap.put(0xe140, R.drawable.emoji_1f6bd); + sSoftbanksMap.put(0xe141, R.drawable.emoji_1f50a); + sSoftbanksMap.put(0xe142, R.drawable.emoji_1f4e2); + sSoftbanksMap.put(0xe143, R.drawable.emoji_1f38c); + sSoftbanksMap.put(0xe144, R.drawable.emoji_1f50f); + sSoftbanksMap.put(0xe145, R.drawable.emoji_1f513); + sSoftbanksMap.put(0xe146, R.drawable.emoji_1f306); + sSoftbanksMap.put(0xe147, R.drawable.emoji_1f373); + sSoftbanksMap.put(0xe148, R.drawable.emoji_1f4c7); + sSoftbanksMap.put(0xe149, R.drawable.emoji_1f4b1); + sSoftbanksMap.put(0xe14a, R.drawable.emoji_1f4b9); + sSoftbanksMap.put(0xe14b, R.drawable.emoji_1f4e1); + sSoftbanksMap.put(0xe14c, R.drawable.emoji_1f4aa); + sSoftbanksMap.put(0xe14d, R.drawable.emoji_1f3e6); + sSoftbanksMap.put(0xe14e, R.drawable.emoji_1f6a5); + sSoftbanksMap.put(0xe14f, R.drawable.emoji_1f17f); + sSoftbanksMap.put(0xe150, R.drawable.emoji_1f68f); + sSoftbanksMap.put(0xe151, R.drawable.emoji_1f6bb); + sSoftbanksMap.put(0xe152, R.drawable.emoji_1f46e); + sSoftbanksMap.put(0xe153, R.drawable.emoji_1f3e3); + sSoftbanksMap.put(0xe154, R.drawable.emoji_1f3e7); + sSoftbanksMap.put(0xe155, R.drawable.emoji_1f3e5); + sSoftbanksMap.put(0xe156, R.drawable.emoji_1f3ea); + sSoftbanksMap.put(0xe157, R.drawable.emoji_1f3eb); + sSoftbanksMap.put(0xe158, R.drawable.emoji_1f3e8); + sSoftbanksMap.put(0xe159, R.drawable.emoji_1f68c); + sSoftbanksMap.put(0xe15a, R.drawable.emoji_1f695); + sSoftbanksMap.put(0xe201, R.drawable.emoji_1f6b6); + sSoftbanksMap.put(0xe202, R.drawable.emoji_1f6a2); + sSoftbanksMap.put(0xe203, R.drawable.emoji_1f201); + sSoftbanksMap.put(0xe204, R.drawable.emoji_1f49f); + sSoftbanksMap.put(0xe205, R.drawable.emoji_2734); + sSoftbanksMap.put(0xe206, R.drawable.emoji_2733); + sSoftbanksMap.put(0xe207, R.drawable.emoji_1f51e); + sSoftbanksMap.put(0xe208, R.drawable.emoji_1f6ad); + sSoftbanksMap.put(0xe209, R.drawable.emoji_1f530); + sSoftbanksMap.put(0xe20a, R.drawable.emoji_267f); + sSoftbanksMap.put(0xe20b, R.drawable.emoji_1f4f6); + sSoftbanksMap.put(0xe20c, R.drawable.emoji_2665); + sSoftbanksMap.put(0xe20d, R.drawable.emoji_2666); + sSoftbanksMap.put(0xe20e, R.drawable.emoji_2660); + sSoftbanksMap.put(0xe20f, R.drawable.emoji_2663); + sSoftbanksMap.put(0xe210, R.drawable.emoji_0023); + sSoftbanksMap.put(0xe211, R.drawable.emoji_27bf); + sSoftbanksMap.put(0xe212, R.drawable.emoji_1f195); + sSoftbanksMap.put(0xe213, R.drawable.emoji_1f199); + sSoftbanksMap.put(0xe214, R.drawable.emoji_1f192); + sSoftbanksMap.put(0xe215, R.drawable.emoji_1f236); + sSoftbanksMap.put(0xe216, R.drawable.emoji_1f21a); + sSoftbanksMap.put(0xe217, R.drawable.emoji_1f237); + sSoftbanksMap.put(0xe218, R.drawable.emoji_1f238); + sSoftbanksMap.put(0xe219, R.drawable.emoji_1f534); + sSoftbanksMap.put(0xe21a, R.drawable.emoji_1f532); + sSoftbanksMap.put(0xe21b, R.drawable.emoji_1f533); + sSoftbanksMap.put(0xe21c, R.drawable.emoji_0031); + sSoftbanksMap.put(0xe21d, R.drawable.emoji_0032); + sSoftbanksMap.put(0xe21e, R.drawable.emoji_0033); + sSoftbanksMap.put(0xe21f, R.drawable.emoji_0034); + sSoftbanksMap.put(0xe220, R.drawable.emoji_0035); + sSoftbanksMap.put(0xe221, R.drawable.emoji_0036); + sSoftbanksMap.put(0xe222, R.drawable.emoji_0037); + sSoftbanksMap.put(0xe223, R.drawable.emoji_0038); + sSoftbanksMap.put(0xe224, R.drawable.emoji_0039); + sSoftbanksMap.put(0xe225, R.drawable.emoji_0030); + sSoftbanksMap.put(0xe226, R.drawable.emoji_1f250); + sSoftbanksMap.put(0xe227, R.drawable.emoji_1f239); + sSoftbanksMap.put(0xe228, R.drawable.emoji_1f202); + sSoftbanksMap.put(0xe229, R.drawable.emoji_1f194); + sSoftbanksMap.put(0xe22a, R.drawable.emoji_1f235); + sSoftbanksMap.put(0xe22b, R.drawable.emoji_1f233); + sSoftbanksMap.put(0xe22c, R.drawable.emoji_1f22f); + sSoftbanksMap.put(0xe22d, R.drawable.emoji_1f23a); + sSoftbanksMap.put(0xe22e, R.drawable.emoji_1f446); + sSoftbanksMap.put(0xe22f, R.drawable.emoji_1f447); + sSoftbanksMap.put(0xe230, R.drawable.emoji_1f448); + sSoftbanksMap.put(0xe231, R.drawable.emoji_1f449); + sSoftbanksMap.put(0xe232, R.drawable.emoji_2b06); + sSoftbanksMap.put(0xe233, R.drawable.emoji_2b07); + sSoftbanksMap.put(0xe234, R.drawable.emoji_27a1); + sSoftbanksMap.put(0xe235, R.drawable.emoji_1f519); + sSoftbanksMap.put(0xe236, R.drawable.emoji_2197); + sSoftbanksMap.put(0xe237, R.drawable.emoji_2196); + sSoftbanksMap.put(0xe238, R.drawable.emoji_2198); + sSoftbanksMap.put(0xe239, R.drawable.emoji_2199); + sSoftbanksMap.put(0xe23a, R.drawable.emoji_25b6); + sSoftbanksMap.put(0xe23b, R.drawable.emoji_25c0); + sSoftbanksMap.put(0xe23c, R.drawable.emoji_23e9); + sSoftbanksMap.put(0xe23d, R.drawable.emoji_23ea); + sSoftbanksMap.put(0xe23e, R.drawable.emoji_1f52e); + sSoftbanksMap.put(0xe23f, R.drawable.emoji_2648); + sSoftbanksMap.put(0xe240, R.drawable.emoji_2649); + sSoftbanksMap.put(0xe241, R.drawable.emoji_264a); + sSoftbanksMap.put(0xe242, R.drawable.emoji_264b); + sSoftbanksMap.put(0xe243, R.drawable.emoji_264c); + sSoftbanksMap.put(0xe244, R.drawable.emoji_264d); + sSoftbanksMap.put(0xe245, R.drawable.emoji_264e); + sSoftbanksMap.put(0xe246, R.drawable.emoji_264f); + sSoftbanksMap.put(0xe247, R.drawable.emoji_2650); + sSoftbanksMap.put(0xe248, R.drawable.emoji_2651); + sSoftbanksMap.put(0xe249, R.drawable.emoji_2652); + sSoftbanksMap.put(0xe24a, R.drawable.emoji_2653); + sSoftbanksMap.put(0xe24b, R.drawable.emoji_26ce); + sSoftbanksMap.put(0xe24c, R.drawable.emoji_1f51d); + sSoftbanksMap.put(0xe24d, R.drawable.emoji_1f197); + sSoftbanksMap.put(0xe24e, R.drawable.emoji_00a9); + sSoftbanksMap.put(0xe24f, R.drawable.emoji_00ae); + sSoftbanksMap.put(0xe250, R.drawable.emoji_1f4f3); + sSoftbanksMap.put(0xe251, R.drawable.emoji_1f4f4); + sSoftbanksMap.put(0xe252, R.drawable.emoji_26a0); + sSoftbanksMap.put(0xe253, R.drawable.emoji_1f481); + sSoftbanksMap.put(0xe301, R.drawable.emoji_1f4c3); + sSoftbanksMap.put(0xe302, R.drawable.emoji_1f454); + sSoftbanksMap.put(0xe303, R.drawable.emoji_1f33a); + sSoftbanksMap.put(0xe304, R.drawable.emoji_1f337); + sSoftbanksMap.put(0xe305, R.drawable.emoji_1f33b); + sSoftbanksMap.put(0xe306, R.drawable.emoji_1f490); + sSoftbanksMap.put(0xe307, R.drawable.emoji_1f334); + sSoftbanksMap.put(0xe308, R.drawable.emoji_1f335); + sSoftbanksMap.put(0xe309, R.drawable.emoji_1f6be); + sSoftbanksMap.put(0xe30a, R.drawable.emoji_1f3a7); + sSoftbanksMap.put(0xe30b, R.drawable.emoji_1f376); + sSoftbanksMap.put(0xe30c, R.drawable.emoji_1f37b); + sSoftbanksMap.put(0xe30d, R.drawable.emoji_3297); + sSoftbanksMap.put(0xe30e, R.drawable.emoji_1f6ac); + sSoftbanksMap.put(0xe30f, R.drawable.emoji_1f48a); + sSoftbanksMap.put(0xe310, R.drawable.emoji_1f388); + sSoftbanksMap.put(0xe311, R.drawable.emoji_1f4a3); + sSoftbanksMap.put(0xe312, R.drawable.emoji_1f389); + sSoftbanksMap.put(0xe313, R.drawable.emoji_2702); + sSoftbanksMap.put(0xe314, R.drawable.emoji_1f380); + sSoftbanksMap.put(0xe315, R.drawable.emoji_3299); + sSoftbanksMap.put(0xe316, R.drawable.emoji_1f4bd); + sSoftbanksMap.put(0xe317, R.drawable.emoji_1f4e3); + sSoftbanksMap.put(0xe318, R.drawable.emoji_1f452); + sSoftbanksMap.put(0xe319, R.drawable.emoji_1f457); + sSoftbanksMap.put(0xe31a, R.drawable.emoji_1f461); + sSoftbanksMap.put(0xe31b, R.drawable.emoji_1f462); + sSoftbanksMap.put(0xe31c, R.drawable.emoji_1f484); + sSoftbanksMap.put(0xe31d, R.drawable.emoji_1f485); + sSoftbanksMap.put(0xe31e, R.drawable.emoji_1f486); + sSoftbanksMap.put(0xe31f, R.drawable.emoji_1f487); + sSoftbanksMap.put(0xe320, R.drawable.emoji_1f488); + sSoftbanksMap.put(0xe321, R.drawable.emoji_1f458); + sSoftbanksMap.put(0xe322, R.drawable.emoji_1f459); + sSoftbanksMap.put(0xe323, R.drawable.emoji_1f45c); + sSoftbanksMap.put(0xe324, R.drawable.emoji_1f3ac); + sSoftbanksMap.put(0xe325, R.drawable.emoji_1f514); + sSoftbanksMap.put(0xe326, R.drawable.emoji_1f3b6); + sSoftbanksMap.put(0xe327, R.drawable.emoji_1f493); + sSoftbanksMap.put(0xe328, R.drawable.emoji_1f48c); + sSoftbanksMap.put(0xe329, R.drawable.emoji_1f498); + sSoftbanksMap.put(0xe32a, R.drawable.emoji_1f499); + sSoftbanksMap.put(0xe32b, R.drawable.emoji_1f49a); + sSoftbanksMap.put(0xe32c, R.drawable.emoji_1f49b); + sSoftbanksMap.put(0xe32d, R.drawable.emoji_1f49c); + sSoftbanksMap.put(0xe32e, R.drawable.emoji_2728); + sSoftbanksMap.put(0xe32f, R.drawable.emoji_2b50); + sSoftbanksMap.put(0xe330, R.drawable.emoji_1f4a8); + sSoftbanksMap.put(0xe331, R.drawable.emoji_1f4a6); + sSoftbanksMap.put(0xe332, R.drawable.emoji_2b55); + sSoftbanksMap.put(0xe333, R.drawable.emoji_2716); + sSoftbanksMap.put(0xe334, R.drawable.emoji_1f4a2); + sSoftbanksMap.put(0xe335, R.drawable.emoji_1f31f); + sSoftbanksMap.put(0xe336, R.drawable.emoji_2754); + sSoftbanksMap.put(0xe337, R.drawable.emoji_2755); + sSoftbanksMap.put(0xe338, R.drawable.emoji_1f375); + sSoftbanksMap.put(0xe339, R.drawable.emoji_1f35e); + sSoftbanksMap.put(0xe33a, R.drawable.emoji_1f366); + sSoftbanksMap.put(0xe33b, R.drawable.emoji_1f35f); + sSoftbanksMap.put(0xe33c, R.drawable.emoji_1f361); + sSoftbanksMap.put(0xe33d, R.drawable.emoji_1f358); + sSoftbanksMap.put(0xe33e, R.drawable.emoji_1f35a); + sSoftbanksMap.put(0xe33f, R.drawable.emoji_1f35d); + sSoftbanksMap.put(0xe340, R.drawable.emoji_1f35c); + sSoftbanksMap.put(0xe341, R.drawable.emoji_1f35b); + sSoftbanksMap.put(0xe342, R.drawable.emoji_1f359); + sSoftbanksMap.put(0xe343, R.drawable.emoji_1f362); + sSoftbanksMap.put(0xe344, R.drawable.emoji_1f363); + sSoftbanksMap.put(0xe345, R.drawable.emoji_1f34e); + sSoftbanksMap.put(0xe346, R.drawable.emoji_1f34a); + sSoftbanksMap.put(0xe347, R.drawable.emoji_1f353); + sSoftbanksMap.put(0xe348, R.drawable.emoji_1f349); + sSoftbanksMap.put(0xe349, R.drawable.emoji_1f345); + sSoftbanksMap.put(0xe34a, R.drawable.emoji_1f346); + sSoftbanksMap.put(0xe34b, R.drawable.emoji_1f382); + sSoftbanksMap.put(0xe34c, R.drawable.emoji_1f371); + sSoftbanksMap.put(0xe34d, R.drawable.emoji_1f372); + sSoftbanksMap.put(0xe401, R.drawable.emoji_1f625); + sSoftbanksMap.put(0xe402, R.drawable.emoji_1f60f); + sSoftbanksMap.put(0xe403, R.drawable.emoji_1f614); + sSoftbanksMap.put(0xe404, R.drawable.emoji_1f601); + sSoftbanksMap.put(0xe405, R.drawable.emoji_1f609); + sSoftbanksMap.put(0xe406, R.drawable.emoji_1f623); + sSoftbanksMap.put(0xe407, R.drawable.emoji_1f616); + sSoftbanksMap.put(0xe408, R.drawable.emoji_1f62a); + sSoftbanksMap.put(0xe409, R.drawable.emoji_1f445); + sSoftbanksMap.put(0xe40a, R.drawable.emoji_1f606); + sSoftbanksMap.put(0xe40b, R.drawable.emoji_1f628); + sSoftbanksMap.put(0xe40c, R.drawable.emoji_1f637); + sSoftbanksMap.put(0xe40d, R.drawable.emoji_1f633); + sSoftbanksMap.put(0xe40e, R.drawable.emoji_1f612); + sSoftbanksMap.put(0xe40f, R.drawable.emoji_1f630); + sSoftbanksMap.put(0xe410, R.drawable.emoji_1f632); + sSoftbanksMap.put(0xe411, R.drawable.emoji_1f62d); + sSoftbanksMap.put(0xe412, R.drawable.emoji_1f602); + sSoftbanksMap.put(0xe413, R.drawable.emoji_1f622); + sSoftbanksMap.put(0xe414, R.drawable.emoji_263a); + sSoftbanksMap.put(0xe415, R.drawable.emoji_1f605); + sSoftbanksMap.put(0xe416, R.drawable.emoji_1f621); + sSoftbanksMap.put(0xe417, R.drawable.emoji_1f61a); + sSoftbanksMap.put(0xe418, R.drawable.emoji_1f618); + sSoftbanksMap.put(0xe419, R.drawable.emoji_1f440); + sSoftbanksMap.put(0xe41a, R.drawable.emoji_1f443); + sSoftbanksMap.put(0xe41b, R.drawable.emoji_1f442); + sSoftbanksMap.put(0xe41c, R.drawable.emoji_1f444); + sSoftbanksMap.put(0xe41d, R.drawable.emoji_1f64f); + sSoftbanksMap.put(0xe41e, R.drawable.emoji_1f44b); + sSoftbanksMap.put(0xe41f, R.drawable.emoji_1f44f); + sSoftbanksMap.put(0xe420, R.drawable.emoji_1f44c); + sSoftbanksMap.put(0xe421, R.drawable.emoji_1f44e); + sSoftbanksMap.put(0xe422, R.drawable.emoji_1f450); + sSoftbanksMap.put(0xe423, R.drawable.emoji_1f645); + sSoftbanksMap.put(0xe424, R.drawable.emoji_1f646); + sSoftbanksMap.put(0xe425, R.drawable.emoji_1f491); + sSoftbanksMap.put(0xe426, R.drawable.emoji_1f647); + sSoftbanksMap.put(0xe427, R.drawable.emoji_1f64c); + sSoftbanksMap.put(0xe428, R.drawable.emoji_1f46b); + sSoftbanksMap.put(0xe429, R.drawable.emoji_1f46f); + sSoftbanksMap.put(0xe42a, R.drawable.emoji_1f3c0); + sSoftbanksMap.put(0xe42b, R.drawable.emoji_1f3c8); + sSoftbanksMap.put(0xe42c, R.drawable.emoji_1f3b1); + sSoftbanksMap.put(0xe42d, R.drawable.emoji_1f3ca); + sSoftbanksMap.put(0xe42e, R.drawable.emoji_1f699); + sSoftbanksMap.put(0xe42f, R.drawable.emoji_1f69a); + sSoftbanksMap.put(0xe430, R.drawable.emoji_1f692); + sSoftbanksMap.put(0xe431, R.drawable.emoji_1f691); + sSoftbanksMap.put(0xe432, R.drawable.emoji_1f693); + sSoftbanksMap.put(0xe433, R.drawable.emoji_1f3a2); + sSoftbanksMap.put(0xe434, R.drawable.emoji_1f687); + sSoftbanksMap.put(0xe435, R.drawable.emoji_1f684); + sSoftbanksMap.put(0xe436, R.drawable.emoji_1f38d); + sSoftbanksMap.put(0xe437, R.drawable.emoji_1f49d); + sSoftbanksMap.put(0xe438, R.drawable.emoji_1f38e); + sSoftbanksMap.put(0xe439, R.drawable.emoji_1f393); + sSoftbanksMap.put(0xe43a, R.drawable.emoji_1f392); + sSoftbanksMap.put(0xe43b, R.drawable.emoji_1f38f); + sSoftbanksMap.put(0xe43c, R.drawable.emoji_1f302); + sSoftbanksMap.put(0xe43d, R.drawable.emoji_1f492); + sSoftbanksMap.put(0xe43e, R.drawable.emoji_1f30a); + sSoftbanksMap.put(0xe43f, R.drawable.emoji_1f367); + sSoftbanksMap.put(0xe440, R.drawable.emoji_1f387); + sSoftbanksMap.put(0xe441, R.drawable.emoji_1f41a); + sSoftbanksMap.put(0xe442, R.drawable.emoji_1f390); + sSoftbanksMap.put(0xe443, R.drawable.emoji_1f300); + sSoftbanksMap.put(0xe444, R.drawable.emoji_1f33e); + sSoftbanksMap.put(0xe445, R.drawable.emoji_1f383); + sSoftbanksMap.put(0xe446, R.drawable.emoji_1f391); + sSoftbanksMap.put(0xe447, R.drawable.emoji_1f343); + sSoftbanksMap.put(0xe448, R.drawable.emoji_1f385); + sSoftbanksMap.put(0xe449, R.drawable.emoji_1f305); + sSoftbanksMap.put(0xe44a, R.drawable.emoji_1f307); + sSoftbanksMap.put(0xe44b, R.drawable.emoji_1f303); + sSoftbanksMap.put(0xe44b, R.drawable.emoji_1f30c); + sSoftbanksMap.put(0xe44c, R.drawable.emoji_1f308); + sSoftbanksMap.put(0xe501, R.drawable.emoji_1f3e9); + sSoftbanksMap.put(0xe502, R.drawable.emoji_1f3a8); + sSoftbanksMap.put(0xe503, R.drawable.emoji_1f3a9); + sSoftbanksMap.put(0xe504, R.drawable.emoji_1f3ec); + sSoftbanksMap.put(0xe505, R.drawable.emoji_1f3ef); + sSoftbanksMap.put(0xe506, R.drawable.emoji_1f3f0); + sSoftbanksMap.put(0xe507, R.drawable.emoji_1f3a6); + sSoftbanksMap.put(0xe508, R.drawable.emoji_1f3ed); + sSoftbanksMap.put(0xe509, R.drawable.emoji_1f5fc); + sSoftbanksMap.put(0xe50b, R.drawable.emoji_1f1ef_1f1f5); + sSoftbanksMap.put(0xe50c, R.drawable.emoji_1f1fa_1f1f8); + sSoftbanksMap.put(0xe50d, R.drawable.emoji_1f1eb_1f1f7); + sSoftbanksMap.put(0xe50e, R.drawable.emoji_1f1e9_1f1ea); + sSoftbanksMap.put(0xe50f, R.drawable.emoji_1f1ee_1f1f9); + sSoftbanksMap.put(0xe510, R.drawable.emoji_1f1ec_1f1e7); + sSoftbanksMap.put(0xe511, R.drawable.emoji_1f1ea_1f1f8); + sSoftbanksMap.put(0xe512, R.drawable.emoji_1f1f7_1f1fa); + sSoftbanksMap.put(0xe513, R.drawable.emoji_1f1e8_1f1f3); + sSoftbanksMap.put(0xe514, R.drawable.emoji_1f1f0_1f1f7); + sSoftbanksMap.put(0xe515, R.drawable.emoji_1f471); + sSoftbanksMap.put(0xe516, R.drawable.emoji_1f472); + sSoftbanksMap.put(0xe517, R.drawable.emoji_1f473); + sSoftbanksMap.put(0xe518, R.drawable.emoji_1f474); + sSoftbanksMap.put(0xe519, R.drawable.emoji_1f475); + sSoftbanksMap.put(0xe51a, R.drawable.emoji_1f476); + sSoftbanksMap.put(0xe51b, R.drawable.emoji_1f477); + sSoftbanksMap.put(0xe51c, R.drawable.emoji_1f478); + sSoftbanksMap.put(0xe51d, R.drawable.emoji_1f5fd); + sSoftbanksMap.put(0xe51e, R.drawable.emoji_1f482); + sSoftbanksMap.put(0xe51f, R.drawable.emoji_1f483); + sSoftbanksMap.put(0xe520, R.drawable.emoji_1f42c); + sSoftbanksMap.put(0xe521, R.drawable.emoji_1f426); + sSoftbanksMap.put(0xe522, R.drawable.emoji_1f420); + sSoftbanksMap.put(0xe523, R.drawable.emoji_1f423); + sSoftbanksMap.put(0xe524, R.drawable.emoji_1f439); + sSoftbanksMap.put(0xe525, R.drawable.emoji_1f41b); + sSoftbanksMap.put(0xe526, R.drawable.emoji_1f418); + sSoftbanksMap.put(0xe527, R.drawable.emoji_1f428); + sSoftbanksMap.put(0xe528, R.drawable.emoji_1f412); + sSoftbanksMap.put(0xe529, R.drawable.emoji_1f411); + sSoftbanksMap.put(0xe52a, R.drawable.emoji_1f43a); + sSoftbanksMap.put(0xe52b, R.drawable.emoji_1f42e); + sSoftbanksMap.put(0xe52c, R.drawable.emoji_1f430); + sSoftbanksMap.put(0xe52d, R.drawable.emoji_1f40d); + sSoftbanksMap.put(0xe52e, R.drawable.emoji_1f414); + sSoftbanksMap.put(0xe52f, R.drawable.emoji_1f417); + sSoftbanksMap.put(0xe530, R.drawable.emoji_1f42b); + sSoftbanksMap.put(0xe531, R.drawable.emoji_1f438); + sSoftbanksMap.put(0xe532, R.drawable.emoji_1f170); + sSoftbanksMap.put(0xe533, R.drawable.emoji_1f171); + sSoftbanksMap.put(0xe534, R.drawable.emoji_1f18e); + sSoftbanksMap.put(0xe535, R.drawable.emoji_1f17e); + sSoftbanksMap.put(0xe536, R.drawable.emoji_1f43e); + sSoftbanksMap.put(0xe537, R.drawable.emoji_2122); + } + + private static boolean isSoftBankEmoji(char c) { + return ((c >> 12) == 0xe); + } + + private static int getEmojiResource(Context context, int codePoint) { + return sEmojisMap.get(codePoint); + } + + private static int getSoftbankEmojiResource(char c) { + return sSoftbanksMap.get(c); + } + + /** + * Convert emoji characters of the given Spannable to the according emojicon. + * + * @param context + * @param text + * @param emojiSize + * @param emojiAlignment + * @param textSize + */ + public static void addEmojis(Context context, Spannable text, int emojiSize, int emojiAlignment, int textSize) { + addEmojis(context, text, emojiSize, emojiAlignment, textSize, 0, -1, false); + } + + /** + * Convert emoji characters of the given Spannable to the according emojicon. + * + * @param context + * @param text + * @param emojiSize + * @param emojiAlignment + * @param textSize + * @param index + * @param length + */ + public static void addEmojis(Context context, Spannable text, int emojiSize, int emojiAlignment, int textSize, int index, int length) { + addEmojis(context, text, emojiSize, emojiAlignment, textSize, index, length, false); + } + + /** + * Convert emoji characters of the given Spannable to the according emojicon. + * + * @param context + * @param text + * @param emojiSize + * @param emojiAlignment + * @param textSize + * @param useSystemDefault + */ + public static void addEmojis(Context context, Spannable text, int emojiSize, int emojiAlignment, int textSize, boolean useSystemDefault) { + addEmojis(context, text, emojiSize, emojiAlignment, textSize, 0, -1, useSystemDefault); + } + + /** + * Convert emoji characters of the given Spannable to the according emojicon. + * + * @param context + * @param text + * @param emojiSize + * @param emojiAlignment + * @param textSize + * @param index + * @param length + * @param useSystemDefault + */ + public static void addEmojis(Context context, Spannable text, int emojiSize, int emojiAlignment, int textSize, int index, int length, boolean useSystemDefault) { + if (useSystemDefault) { + return; + } + + int textLength = text.length(); + int textLengthToProcessMax = textLength - index; + int textLengthToProcess = length < 0 || length >= textLengthToProcessMax ? textLength : (length+index); + + // remove spans throughout all text + EmojiconSpan[] oldSpans = text.getSpans(0, textLength, EmojiconSpan.class); + for (int i = 0; i < oldSpans.length; i++) { + text.removeSpan(oldSpans[i]); + } + + int skip; + for (int i = index; i < textLengthToProcess; i += skip) { + skip = 0; + int icon = 0; + char c = text.charAt(i); + if (isSoftBankEmoji(c)) { + icon = getSoftbankEmojiResource(c); + skip = icon == 0 ? 0 : 1; + } + + if (icon == 0) { + int unicode = Character.codePointAt(text, i); + skip = Character.charCount(unicode); + + if (unicode > 0xff) { + icon = getEmojiResource(context, unicode); + } + + if (icon == 0 && i + skip < textLengthToProcess) { + int followUnicode = Character.codePointAt(text, i + skip); + if (followUnicode == 0x20e3) { + int followSkip = Character.charCount(followUnicode); + switch (unicode) { + case 0x0031: + icon = R.drawable.emoji_0031; + break; + case 0x0032: + icon = R.drawable.emoji_0032; + break; + case 0x0033: + icon = R.drawable.emoji_0033; + break; + case 0x0034: + icon = R.drawable.emoji_0034; + break; + case 0x0035: + icon = R.drawable.emoji_0035; + break; + case 0x0036: + icon = R.drawable.emoji_0036; + break; + case 0x0037: + icon = R.drawable.emoji_0037; + break; + case 0x0038: + icon = R.drawable.emoji_0038; + break; + case 0x0039: + icon = R.drawable.emoji_0039; + break; + case 0x0030: + icon = R.drawable.emoji_0030; + break; + case 0x0023: + icon = R.drawable.emoji_0023; + break; + default: + followSkip = 0; + break; + } + skip += followSkip; + } else { + int followSkip = Character.charCount(followUnicode); + switch (unicode) { + case 0x1f1ef: + icon = (followUnicode == 0x1f1f5) ? R.drawable.emoji_1f1ef_1f1f5 : 0; + break; + case 0x1f1fa: + icon = (followUnicode == 0x1f1f8) ? R.drawable.emoji_1f1fa_1f1f8 : 0; + break; + case 0x1f1eb: + icon = (followUnicode == 0x1f1f7) ? R.drawable.emoji_1f1eb_1f1f7 : 0; + break; + case 0x1f1e9: + icon = (followUnicode == 0x1f1ea) ? R.drawable.emoji_1f1e9_1f1ea : 0; + break; + case 0x1f1ee: + icon = (followUnicode == 0x1f1f9) ? R.drawable.emoji_1f1ee_1f1f9 : 0; + break; + case 0x1f1ec: + icon = (followUnicode == 0x1f1e7) ? R.drawable.emoji_1f1ec_1f1e7 : 0; + break; + case 0x1f1ea: + icon = (followUnicode == 0x1f1f8) ? R.drawable.emoji_1f1ea_1f1f8 : 0; + break; + case 0x1f1f7: + icon = (followUnicode == 0x1f1fa) ? R.drawable.emoji_1f1f7_1f1fa : 0; + break; + case 0x1f1e8: + icon = (followUnicode == 0x1f1f3) ? R.drawable.emoji_1f1e8_1f1f3 : 0; + break; + case 0x1f1f0: + icon = (followUnicode == 0x1f1f7) ? R.drawable.emoji_1f1f0_1f1f7 : 0; + break; + default: + followSkip = 0; + break; + } + skip += followSkip; + } + } + } + + if (icon > 0) { + text.setSpan(new EmojiconSpan(context, icon, emojiSize, emojiAlignment, textSize), i, i + skip, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecents.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecents.java new file mode 100644 index 00000000..8adfe5e3 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecents.java @@ -0,0 +1,28 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import com.rockerhieu.emojicon.emoji.Emojicon; + +import android.content.Context; + +/** +* @author Daniele Ricci +*/ +public interface EmojiconRecents { + public void addRecentEmoji(Context context, Emojicon emojicon); +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsGridFragment.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsGridFragment.java new file mode 100644 index 00000000..620c192a --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsGridFragment.java @@ -0,0 +1,85 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import com.rockerhieu.emojicon.emoji.Emojicon; + +import android.content.Context; +import android.os.Bundle; +import android.view.View; +import android.widget.GridView; + +/** + * @author Daniele Ricci + */ +public class EmojiconRecentsGridFragment extends EmojiconGridFragment implements EmojiconRecents { + private EmojiAdapter mAdapter; + private boolean mUseSystemDefault = false; + + private static final String USE_SYSTEM_DEFAULT_KEY = "useSystemDefaults"; + + protected static EmojiconRecentsGridFragment newInstance() { + return newInstance(false); + } + + protected static EmojiconRecentsGridFragment newInstance(boolean useSystemDefault) { + EmojiconRecentsGridFragment fragment = new EmojiconRecentsGridFragment(); + Bundle bundle = new Bundle(); + bundle.putBoolean(USE_SYSTEM_DEFAULT_KEY, useSystemDefault); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mUseSystemDefault = getArguments().getBoolean(USE_SYSTEM_DEFAULT_KEY); + } else { + mUseSystemDefault = false; + } + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + EmojiconRecentsManager recents = EmojiconRecentsManager + .getInstance(view.getContext()); + + mAdapter = new EmojiAdapter(view.getContext(), recents, mUseSystemDefault); + GridView gridView = (GridView) view.findViewById(R.id.Emoji_GridView); + gridView.setAdapter(mAdapter); + gridView.setOnItemClickListener(this); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + mAdapter = null; + } + + @Override + public void addRecentEmoji(Context context, Emojicon emojicon) { + EmojiconRecentsManager recents = EmojiconRecentsManager + .getInstance(context); + recents.push(emojicon); + + // notify dataset changed + if (mAdapter != null) + mAdapter.notifyDataSetChanged(); + } + +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsManager.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsManager.java new file mode 100644 index 00000000..2c56ce3d --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconRecentsManager.java @@ -0,0 +1,141 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import java.util.ArrayList; +import java.util.StringTokenizer; + +import com.rockerhieu.emojicon.emoji.Emojicon; + +import android.content.Context; +import android.content.SharedPreferences; + +/** +* @author Daniele Ricci +*/ +public class EmojiconRecentsManager extends ArrayList { + private static final String DELIMITER = ","; + private static final String PREFERENCE_NAME = "emojicon"; + private static final String PREF_RECENTS = "recent_emojis"; + private static final String PREF_PAGE = "recent_page"; + + private static final Object LOCK = new Object(); + private static EmojiconRecentsManager sInstance; + private static int maximumSize = 40; + + private Context mContext; + + private EmojiconRecentsManager(Context context) { + mContext = context.getApplicationContext(); + loadRecents(); + } + + public static EmojiconRecentsManager getInstance(Context context) { + if (sInstance == null) { + synchronized (LOCK) { + if (sInstance == null) { + sInstance = new EmojiconRecentsManager(context); + } + } + } + return sInstance; + } + + public int getRecentPage() { + return getPreferences().getInt(PREF_PAGE, 0); + } + + public void setRecentPage(int page) { + getPreferences().edit().putInt(PREF_PAGE, page).commit(); + } + + public void push(Emojicon object) { + // FIXME totally inefficient way of adding the emoji to the adapter + // TODO this should be probably replaced by a deque + if (contains(object)) { + super.remove(object); + } + add(0, object); + } + + @Override + public boolean add(Emojicon object) { + boolean ret = super.add(object); + + while (this.size() > EmojiconRecentsManager.maximumSize) { + super.remove(0); + } + + saveRecents(); + return ret; + } + + @Override + public void add(int index, Emojicon object) { + super.add(index, object); + + if (index == 0) { + while (this.size() > EmojiconRecentsManager.maximumSize) { + super.remove(EmojiconRecentsManager.maximumSize); + } + } else { + while (this.size() > EmojiconRecentsManager.maximumSize) { + super.remove(0); + } + } + + saveRecents(); + } + + @Override + public boolean remove(Object object) { + boolean ret = super.remove(object); + saveRecents(); + return ret; + } + + private SharedPreferences getPreferences() { + return mContext.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + } + + private void loadRecents() { + SharedPreferences prefs = getPreferences(); + String str = prefs.getString(PREF_RECENTS, ""); + StringTokenizer tokenizer = new StringTokenizer(str, EmojiconRecentsManager.DELIMITER); + while (tokenizer.hasMoreTokens()) { + add(Emojicon.fromChars(tokenizer.nextToken())); + } + } + + public void saveRecents() { + StringBuilder str = new StringBuilder(); + int c = size(); + for (int i = 0; i < c; i++) { + Emojicon e = get(i); + str.append(e.getEmoji()); + if (i < (c - 1)) { + str.append(EmojiconRecentsManager.DELIMITER); + } + } + SharedPreferences prefs = getPreferences(); + prefs.edit().putString(PREF_RECENTS, str.toString()).commit(); + } + + public static void setMaximumSize(int maximumSize) { + EmojiconRecentsManager.maximumSize = maximumSize; + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconSpan.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconSpan.java new file mode 100644 index 00000000..94ebdc0d --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconSpan.java @@ -0,0 +1,95 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.drawable.Drawable; +import android.text.style.DynamicDrawableSpan; + +import java.lang.ref.WeakReference; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +class EmojiconSpan extends DynamicDrawableSpan { + + private final Context mContext; + + private final int mResourceId; + + private final int mSize; + + private final int mTextSize; + + private int mHeight; + + private int mWidth; + + private int mTop; + + private Drawable mDrawable; + + private WeakReference mDrawableRef; + + public EmojiconSpan(Context context, int resourceId, int size, int alignment, int textSize) { + super(alignment); + mContext = context; + mResourceId = resourceId; + mWidth = mHeight = mSize = size; + mTextSize = textSize; + } + + public Drawable getDrawable() { + if (mDrawable == null) { + try { + mDrawable = mContext.getResources().getDrawable(mResourceId); + mHeight = mSize; + mWidth = mHeight * mDrawable.getIntrinsicWidth() / mDrawable.getIntrinsicHeight(); + mTop = (mTextSize - mHeight) / 2; + mDrawable.setBounds(0, mTop, mWidth, mTop + mHeight); + } catch (Exception e) { + // swallow + } + } + return mDrawable; + } + + @Override + public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, Paint paint) { + //super.draw(canvas, text, start, end, x, top, y, bottom, paint); + Drawable b = getCachedDrawable(); + canvas.save(); + + int transY = bottom - b.getBounds().bottom; + if (mVerticalAlignment == ALIGN_BASELINE) { + transY = top + ((bottom - top) / 2) - ((b.getBounds().bottom - b.getBounds().top) / 2) - mTop; + } + + canvas.translate(x, transY); + b.draw(canvas); + canvas.restore(); + } + + private Drawable getCachedDrawable() { + if (mDrawableRef == null || mDrawableRef.get() == null) { + mDrawableRef = new WeakReference(getDrawable()); + } + return mDrawableRef.get(); + } +} \ No newline at end of file diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconTextView.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconTextView.java new file mode 100644 index 00000000..3e502aef --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconTextView.java @@ -0,0 +1,93 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import android.content.Context; +import android.content.res.TypedArray; +import android.text.SpannableStringBuilder; +import android.text.TextUtils; +import android.text.style.DynamicDrawableSpan; +import android.util.AttributeSet; +import android.widget.TextView; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com). + */ +public class EmojiconTextView extends TextView { + private int mEmojiconSize; + private int mEmojiconAlignment; + private int mEmojiconTextSize; + private int mTextStart = 0; + private int mTextLength = -1; + private boolean mUseSystemDefault = false; + + public EmojiconTextView(Context context) { + super(context); + init(null); + } + + public EmojiconTextView(Context context, AttributeSet attrs) { + super(context, attrs); + init(attrs); + } + + public EmojiconTextView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + init(attrs); + } + + private void init(AttributeSet attrs) { + mEmojiconTextSize = (int) getTextSize(); + if (attrs == null) { + mEmojiconSize = (int) getTextSize(); + } else { + TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.Emojicon); + mEmojiconSize = (int) a.getDimension(R.styleable.Emojicon_emojiconSize, getTextSize()); + mEmojiconAlignment = a.getInt(R.styleable.Emojicon_emojiconAlignment, DynamicDrawableSpan.ALIGN_BASELINE); + mTextStart = a.getInteger(R.styleable.Emojicon_emojiconTextStart, 0); + mTextLength = a.getInteger(R.styleable.Emojicon_emojiconTextLength, -1); + mUseSystemDefault = a.getBoolean(R.styleable.Emojicon_emojiconUseSystemDefault, false); + a.recycle(); + } + setText(getText()); + } + + @Override + public void setText(CharSequence text, BufferType type) { + if (!TextUtils.isEmpty(text)) { + SpannableStringBuilder builder = new SpannableStringBuilder(text); + EmojiconHandler.addEmojis(getContext(), builder, mEmojiconSize, mEmojiconAlignment, mEmojiconTextSize, mTextStart, mTextLength, mUseSystemDefault); + text = builder; + } + super.setText(text, type); + } + + /** + * Set the size of emojicon in pixels. + */ + public void setEmojiconSize(int pixels) { + mEmojiconSize = pixels; + super.setText(getText()); + } + + /** + * Set whether to use system default emojicon + */ + public void setUseSystemDefault(boolean useSystemDefault) { + mUseSystemDefault = useSystemDefault; + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsFragment.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsFragment.java new file mode 100644 index 00000000..88a2dc4f --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsFragment.java @@ -0,0 +1,291 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import android.app.Activity; +import android.content.Context; +import android.os.Bundle; +import android.os.Handler; +import android.os.SystemClock; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentStatePagerAdapter; +import android.support.v4.view.PagerAdapter; +import android.support.v4.view.ViewPager; +import android.view.*; +import android.widget.EditText; +import com.rockerhieu.emojicon.emoji.*; + +import java.util.Arrays; +import java.util.List; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com). + */ +public class EmojiconsFragment extends Fragment implements ViewPager.OnPageChangeListener, EmojiconRecents { + private OnEmojiconBackspaceClickedListener mOnEmojiconBackspaceClickedListener; + private int mEmojiTabLastSelectedIndex = -1; + private View[] mEmojiTabs; + private PagerAdapter mEmojisAdapter; + private EmojiconRecentsManager mRecentsManager; + private boolean mUseSystemDefault = false; + + private static final String USE_SYSTEM_DEFAULT_KEY = "useSystemDefaults"; + + public static EmojiconsFragment newInstance(boolean useSystemDefault) { + EmojiconsFragment fragment = new EmojiconsFragment(); + Bundle bundle = new Bundle(); + bundle.putBoolean(USE_SYSTEM_DEFAULT_KEY, useSystemDefault); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.emojicons, container, false); + final ViewPager emojisPager = (ViewPager) view.findViewById(R.id.emojis_pager); + emojisPager.setOnPageChangeListener(this); + // we handle recents + EmojiconRecents recents = this; + mEmojisAdapter = new EmojisPagerAdapter(getFragmentManager(), Arrays.asList( + EmojiconRecentsGridFragment.newInstance(mUseSystemDefault), + EmojiconGridFragment.newInstance(People.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Nature.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Objects.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Places.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Symbols.DATA, recents, mUseSystemDefault) + )); + emojisPager.setAdapter(mEmojisAdapter); + + mEmojiTabs = new View[6]; + mEmojiTabs[0] = view.findViewById(R.id.emojis_tab_0_recents); + mEmojiTabs[1] = view.findViewById(R.id.emojis_tab_1_people); + mEmojiTabs[2] = view.findViewById(R.id.emojis_tab_2_nature); + mEmojiTabs[3] = view.findViewById(R.id.emojis_tab_3_objects); + mEmojiTabs[4] = view.findViewById(R.id.emojis_tab_4_cars); + mEmojiTabs[5] = view.findViewById(R.id.emojis_tab_5_punctuation); + for (int i = 0; i < mEmojiTabs.length; i++) { + final int position = i; + mEmojiTabs[i].setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + emojisPager.setCurrentItem(position); + } + }); + } + view.findViewById(R.id.emojis_backspace).setOnTouchListener(new RepeatListener(1000, 50, new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mOnEmojiconBackspaceClickedListener != null) { + mOnEmojiconBackspaceClickedListener.onEmojiconBackspaceClicked(v); + } + } + })); + + // get last selected page + mRecentsManager = EmojiconRecentsManager.getInstance(view.getContext()); + int page = mRecentsManager.getRecentPage(); + // last page was recents, check if there are recents to use + // if none was found, go to page 1 + if (page == 0 && mRecentsManager.size() == 0) { + page = 1; + } + + if (page == 0) { + onPageSelected(page); + } + else { + emojisPager.setCurrentItem(page, false); + } + return view; + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + if (getActivity() instanceof OnEmojiconBackspaceClickedListener) { + mOnEmojiconBackspaceClickedListener = (OnEmojiconBackspaceClickedListener) getActivity(); + } else if(getParentFragment() instanceof OnEmojiconBackspaceClickedListener) { + mOnEmojiconBackspaceClickedListener = (OnEmojiconBackspaceClickedListener) getParentFragment(); + } else { + throw new IllegalArgumentException(activity + " must implement interface " + OnEmojiconBackspaceClickedListener.class.getSimpleName()); + } + } + + @Override + public void onDetach() { + mOnEmojiconBackspaceClickedListener = null; + super.onDetach(); + } + + public static void input(EditText editText, Emojicon emojicon) { + if (editText == null || emojicon == null) { + return; + } + + int start = editText.getSelectionStart(); + int end = editText.getSelectionEnd(); + if (start < 0) { + editText.append(emojicon.getEmoji()); + } else { + editText.getText().replace(Math.min(start, end), Math.max(start, end), emojicon.getEmoji(), 0, emojicon.getEmoji().length()); + } + } + + @Override + public void addRecentEmoji(Context context, Emojicon emojicon) { + final ViewPager emojisPager = (ViewPager) getView().findViewById(R.id.emojis_pager); + EmojiconRecentsGridFragment fragment = (EmojiconRecentsGridFragment) mEmojisAdapter.instantiateItem(emojisPager, 0); + fragment.addRecentEmoji(context, emojicon); + } + + public static void backspace(EditText editText) { + KeyEvent event = new KeyEvent(0, 0, 0, KeyEvent.KEYCODE_DEL, 0, 0, 0, 0, KeyEvent.KEYCODE_ENDCALL); + editText.dispatchKeyEvent(event); + } + + @Override + public void onPageScrolled(int i, float v, int i2) { + } + + @Override + public void onPageSelected(int i) { + if (mEmojiTabLastSelectedIndex == i) { + return; + } + switch (i) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + if (mEmojiTabLastSelectedIndex >= 0 && mEmojiTabLastSelectedIndex < mEmojiTabs.length) { + mEmojiTabs[mEmojiTabLastSelectedIndex].setSelected(false); + } + mEmojiTabs[i].setSelected(true); + mEmojiTabLastSelectedIndex = i; + mRecentsManager.setRecentPage(i); + break; + } + } + + @Override + public void onPageScrollStateChanged(int i) { + } + + private static class EmojisPagerAdapter extends FragmentStatePagerAdapter { + private List fragments; + + public EmojisPagerAdapter(FragmentManager fm, List fragments) { + super(fm); + this.fragments = fragments; + } + + @Override + public Fragment getItem(int i) { + return fragments.get(i); + } + + @Override + public int getCount() { + return fragments.size(); + } + } + + /** + * A class, that can be used as a TouchListener on any view (e.g. a Button). + * It cyclically runs a clickListener, emulating keyboard-like behaviour. First + * click is fired immediately, next before initialInterval, and subsequent before + * normalInterval. + *

+ *

Interval is scheduled before the onClick completes, so it has to run fast. + * If it runs slow, it does not generate skipped onClicks. + */ + public static class RepeatListener implements View.OnTouchListener { + + private Handler handler = new Handler(); + + private int initialInterval; + private final int normalInterval; + private final View.OnClickListener clickListener; + + private Runnable handlerRunnable = new Runnable() { + @Override + public void run() { + if (downView == null) { + return; + } + handler.removeCallbacksAndMessages(downView); + handler.postAtTime(this, downView, SystemClock.uptimeMillis() + normalInterval); + clickListener.onClick(downView); + } + }; + + private View downView; + + /** + * @param initialInterval The interval before first click event + * @param normalInterval The interval before second and subsequent click + * events + * @param clickListener The OnClickListener, that will be called + * periodically + */ + public RepeatListener(int initialInterval, int normalInterval, View.OnClickListener clickListener) { + if (clickListener == null) + throw new IllegalArgumentException("null runnable"); + if (initialInterval < 0 || normalInterval < 0) + throw new IllegalArgumentException("negative interval"); + + this.initialInterval = initialInterval; + this.normalInterval = normalInterval; + this.clickListener = clickListener; + } + + public boolean onTouch(View view, MotionEvent motionEvent) { + switch (motionEvent.getAction()) { + case MotionEvent.ACTION_DOWN: + downView = view; + handler.removeCallbacks(handlerRunnable); + handler.postAtTime(handlerRunnable, downView, SystemClock.uptimeMillis() + initialInterval); + clickListener.onClick(view); + return true; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_OUTSIDE: + handler.removeCallbacksAndMessages(downView); + downView = null; + return true; + } + return false; + } + } + + public interface OnEmojiconBackspaceClickedListener { + void onEmojiconBackspaceClicked(View v); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mUseSystemDefault = getArguments().getBoolean(USE_SYSTEM_DEFAULT_KEY); + } else { + mUseSystemDefault = false; + } + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsPopup.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsPopup.java new file mode 100644 index 00000000..9a8d8769 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/EmojiconsPopup.java @@ -0,0 +1,413 @@ +/* + * Copyright 2014 Ankush Sachdeva + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon; + +import com.rockerhieu.emojicon.emoji.Emojicon; +import com.rockerhieu.emojicon.emoji.Nature; +import com.rockerhieu.emojicon.emoji.Objects; +import com.rockerhieu.emojicon.emoji.People; +import com.rockerhieu.emojicon.emoji.Places; +import com.rockerhieu.emojicon.emoji.Symbols; + +import java.util.Arrays; +import java.util.List; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Rect; +import android.os.Handler; +import android.os.SystemClock; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentActivity; +import android.support.v4.app.FragmentStatePagerAdapter; +import android.support.v4.app.FragmentManager; +import android.support.v4.view.PagerAdapter; +import android.support.v4.view.ViewPager; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; +import android.view.WindowManager.LayoutParams; +import android.widget.PopupWindow; +import com.rockerhieu.emojicon.EmojiconGridFragment.OnEmojiconClickedListener; + + +/** + * @author Ankush Sachdeva (sankush@yahoo.co.in). + */ + +public class EmojiconsPopup extends PopupWindow implements ViewPager.OnPageChangeListener, EmojiconRecents { + private int mEmojiTabLastSelectedIndex = -1; + private View[] mEmojiTabs; + private PagerAdapter mEmojisAdapter; + private EmojiconRecentsManager mRecentsManager; + private int keyBoardHeight = 0; + private Boolean pendingOpen = false; + private Boolean isOpened = false; + OnEmojiconClickedListener onEmojiconClickedListener; + OnEmojiconBackspaceClickedListener onEmojiconBackspaceClickedListener; + OnSoftKeyboardOpenCloseListener onSoftKeyboardOpenCloseListener; + View rootView; + Context mContext; + private boolean mUseSystemDefault = false; + + private ViewPager emojisPager; + /** + * Constructor + * @param rootView The top most layout in your view hierarchy. The difference of this view and the screen height will be used to calculate the keyboard height. + * @param mContext The context of current activity. + */ + public EmojiconsPopup(View rootView, Context mContext){ + super(mContext); + this.mContext = mContext; + this.rootView = rootView; + View customView = createCustomView(); + setContentView(customView); + setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); + //default size + setSize((int) mContext.getResources().getDimension(R.dimen.keyboard_height), LayoutParams.MATCH_PARENT); + } + /** + * Set the listener for the event of keyboard opening or closing. + */ + public void setOnSoftKeyboardOpenCloseListener(OnSoftKeyboardOpenCloseListener listener){ + this.onSoftKeyboardOpenCloseListener = listener; + } + + /** + * Set the listener for the event when any of the emojicon is clicked + */ + public void setOnEmojiconClickedListener(OnEmojiconClickedListener listener){ + this.onEmojiconClickedListener = listener; + } + + + /** + * Set the listener for the event when backspace on emojicon popup is clicked + */ + public void setOnEmojiconBackspaceClickedListener(OnEmojiconBackspaceClickedListener listener){ + this.onEmojiconBackspaceClickedListener = listener; + } + + /** + * Use this function to show the emoji popup. + * NOTE: Since, the soft keyboard sizes are variable on different android devices, the + * library needs you to open the soft keyboard atleast once before calling this function. + * If that is not possible see showAtBottomPending() function. + * + */ + public void showAtBottom(){ + showAtLocation(rootView, Gravity.BOTTOM, 0, 0); + } + /** + * Use this function when the soft keyboard has not been opened yet. This + * will show the emoji popup after the keyboard is up next time. + * Generally, you will be calling InputMethodManager.showSoftInput function after + * calling this function. + */ + public void showAtBottomPending(){ + if(isKeyBoardOpen()) + showAtBottom(); + else + pendingOpen = true; + } + + /** + * + * @return Returns true if the soft keyboard is open, false otherwise. + */ + public Boolean isKeyBoardOpen(){ + return isOpened; + } + + /** + * Dismiss the popup + */ + @Override + public void dismiss() { + super.dismiss(); + EmojiconRecentsManager + .getInstance(mContext).saveRecents(); + } + + /** + * Call this function to resize the emoji popup according to your soft keyboard size + */ + public void setSizeForSoftKeyboard(){ + rootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + Rect r = new Rect(); + rootView.getWindowVisibleDisplayFrame(r); + + int screenHeight = rootView.getRootView() + .getHeight(); + int heightDifference = screenHeight + - (r.bottom - r.top); + int resourceId = mContext.getResources() + .getIdentifier("status_bar_height", + "dimen", "android"); + if (resourceId > 0) { + heightDifference -= mContext.getResources() + .getDimensionPixelSize(resourceId); + } + if (heightDifference > 100) { + keyBoardHeight = heightDifference; + setSize(LayoutParams.MATCH_PARENT, keyBoardHeight); + if(isOpened == false){ + if(onSoftKeyboardOpenCloseListener!=null) + onSoftKeyboardOpenCloseListener.onKeyboardOpen(keyBoardHeight); + } + isOpened = true; + if(pendingOpen){ + showAtBottom(); + pendingOpen = false; + } + } + else{ + isOpened = false; + if(onSoftKeyboardOpenCloseListener!=null) + onSoftKeyboardOpenCloseListener.onKeyboardClose(); + } + } + }); + } + + /** + * Manually set the popup window size + * @param width Width of the popup + * @param height Height of the popup + */ + public void setSize(int width, int height){ + setWidth(width); + setHeight(height); + } + + private View createCustomView() { + LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); + View view = inflater.inflate(R.layout.emojicons, null, false); + emojisPager = (ViewPager) view.findViewById(R.id.emojis_pager); + emojisPager.setOnPageChangeListener(this); + EmojiconRecents recents = this; + mEmojisAdapter = new EmojisPagerAdapter(Arrays.asList( + EmojiconRecentsGridFragment.newInstance(mUseSystemDefault), + EmojiconGridFragment.newInstance(People.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Nature.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Objects.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Places.DATA, recents, mUseSystemDefault), + EmojiconGridFragment.newInstance(Symbols.DATA, recents, mUseSystemDefault) + )); + emojisPager.setAdapter(mEmojisAdapter); + mEmojiTabs = new View[6]; + mEmojiTabs[0] = view.findViewById(R.id.emojis_tab_0_recents); + mEmojiTabs[1] = view.findViewById(R.id.emojis_tab_1_people); + mEmojiTabs[2] = view.findViewById(R.id.emojis_tab_2_nature); + mEmojiTabs[3] = view.findViewById(R.id.emojis_tab_3_objects); + mEmojiTabs[4] = view.findViewById(R.id.emojis_tab_4_cars); + mEmojiTabs[5] = view.findViewById(R.id.emojis_tab_5_punctuation); + for (int i = 0; i < mEmojiTabs.length; i++) { + final int position = i; + mEmojiTabs[i].setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + emojisPager.setCurrentItem(position); + } + }); + } + view.findViewById(R.id.emojis_backspace).setOnTouchListener(new RepeatListener(1000, 50, new OnClickListener() { + + @Override + public void onClick(View v) { + if(onEmojiconBackspaceClickedListener != null) + onEmojiconBackspaceClickedListener.onEmojiconBackspaceClicked(v); + } + })); + + // get last selected page + mRecentsManager = EmojiconRecentsManager.getInstance(view.getContext()); + int page = mRecentsManager.getRecentPage(); + // last page was recents, check if there are recents to use + // if none was found, go to page 1 + if (page == 0 && mRecentsManager.size() == 0) { + page = 1; + } + + if (page == 0) { + onPageSelected(page); + } + else { + emojisPager.setCurrentItem(page, false); + } + return view; + } + + @Override + public void addRecentEmoji(Context context, Emojicon emojicon) { + EmojiconRecentsGridFragment fragment = ((EmojisPagerAdapter)emojisPager.getAdapter()).getRecentFragment(); + fragment.addRecentEmoji(context, emojicon); + } + + + @Override + public void onPageScrolled(int i, float v, int i2) { + } + + @Override + public void onPageSelected(int i) { + if (mEmojiTabLastSelectedIndex == i) { + return; + } + switch (i) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + if (mEmojiTabLastSelectedIndex >= 0 && mEmojiTabLastSelectedIndex < mEmojiTabs.length) { + mEmojiTabs[mEmojiTabLastSelectedIndex].setSelected(false); + } + mEmojiTabs[i].setSelected(true); + mEmojiTabLastSelectedIndex = i; + mRecentsManager.setRecentPage(i); + break; + } + } + + @Override + public void onPageScrollStateChanged(int i) { + } + + private static class EmojisPagerAdapter extends PagerAdapter { + private List fragments; + + public EmojiconRecentsGridFragment getRecentFragment(){ + for (EmojiconGridFragment it : fragments) { + if(it instanceof EmojiconRecentsGridFragment) + return (EmojiconRecentsGridFragment)it; + } + return null; + } + + public EmojisPagerAdapter(List fragments) { + super(); + this.fragments = fragments; + } + + @Override + public int getCount() { + return fragments.size(); + } + + @Override + public Object instantiateItem(ViewGroup container, int position) { + View v = fragments.get(position).getView(); + ((ViewPager)container).addView(v, 0); + return v; + } + + @Override + public void destroyItem(ViewGroup container, int position, Object view) { + ((ViewPager)container).removeView((View)view); + } + + @Override + public boolean isViewFromObject(View view, Object key) { + return key == view; + } + } + + /** + * A class, that can be used as a TouchListener on any view (e.g. a Button). + * It cyclically runs a clickListener, emulating keyboard-like behaviour. First + * click is fired immediately, next before initialInterval, and subsequent before + * normalInterval. + *

+ *

Interval is scheduled before the onClick completes, so it has to run fast. + * If it runs slow, it does not generate skipped onClicks. + */ + public static class RepeatListener implements View.OnTouchListener { + + private Handler handler = new Handler(); + + private int initialInterval; + private final int normalInterval; + private final View.OnClickListener clickListener; + + private Runnable handlerRunnable = new Runnable() { + @Override + public void run() { + if (downView == null) { + return; + } + handler.removeCallbacksAndMessages(downView); + handler.postAtTime(this, downView, SystemClock.uptimeMillis() + normalInterval); + clickListener.onClick(downView); + } + }; + + private View downView; + + /** + * @param initialInterval The interval before first click event + * @param normalInterval The interval before second and subsequent click + * events + * @param clickListener The OnClickListener, that will be called + * periodically + */ + public RepeatListener(int initialInterval, int normalInterval, View.OnClickListener clickListener) { + if (clickListener == null) + throw new IllegalArgumentException("null runnable"); + if (initialInterval < 0 || normalInterval < 0) + throw new IllegalArgumentException("negative interval"); + + this.initialInterval = initialInterval; + this.normalInterval = normalInterval; + this.clickListener = clickListener; + } + + public boolean onTouch(View view, MotionEvent motionEvent) { + switch (motionEvent.getAction()) { + case MotionEvent.ACTION_DOWN: + downView = view; + handler.removeCallbacks(handlerRunnable); + handler.postAtTime(handlerRunnable, downView, SystemClock.uptimeMillis() + initialInterval); + clickListener.onClick(view); + return true; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + case MotionEvent.ACTION_OUTSIDE: + handler.removeCallbacksAndMessages(downView); + downView = null; + return true; + } + return false; + } + } + + public interface OnEmojiconBackspaceClickedListener { + void onEmojiconBackspaceClicked(View v); + } + + public interface OnSoftKeyboardOpenCloseListener{ + void onKeyboardOpen(int keyBoardHeight); + void onKeyboardClose(); + } +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Emojicon.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Emojicon.java new file mode 100644 index 00000000..db4088cf --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Emojicon.java @@ -0,0 +1,131 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon.emoji; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class Emojicon implements Parcelable { + + public static final Creator CREATOR = new Creator() { + @Override + public Emojicon createFromParcel(Parcel in) { + return new Emojicon(in); + } + + @Override + public Emojicon[] newArray(int size) { + return new Emojicon[size]; + } + }; + + private int icon; + + private char value; + + private String emoji; + + public Emojicon(int icon, char value, String emoji) { + this.icon = icon; + this.value = value; + this.emoji = emoji; + } + + public Emojicon(Parcel in) { + this.icon = in.readInt(); + this.value = (char) in.readInt(); + this.emoji = in.readString(); + } + + private Emojicon() { + } + + public Emojicon(String emoji) { + this.emoji = emoji; + } + + public static Emojicon fromResource(int icon, int value) { + Emojicon emoji = new Emojicon(); + emoji.icon = icon; + emoji.value = (char) value; + return emoji; + } + + public static Emojicon fromCodePoint(int codePoint) { + Emojicon emoji = new Emojicon(); + emoji.emoji = newString(codePoint); + return emoji; + } + + public static Emojicon fromChar(char ch) { + Emojicon emoji = new Emojicon(); + emoji.emoji = Character.toString(ch); + return emoji; + } + + public static Emojicon fromChars(String chars) { + Emojicon emoji = new Emojicon(); + emoji.emoji = chars; + return emoji; + } + + public static final String newString(int codePoint) { + if (Character.charCount(codePoint) == 1) { + return String.valueOf(codePoint); + } else { + return new String(Character.toChars(codePoint)); + } + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(icon); + dest.writeInt(value); + dest.writeString(emoji); + } + + public char getValue() { + return value; + } + + public int getIcon() { + return icon; + } + + public String getEmoji() { + return emoji; + } + + @Override + public boolean equals(Object o) { + return o instanceof Emojicon && emoji.equals(((Emojicon) o).emoji); + } + + @Override + public int hashCode() { + return emoji.hashCode(); + } + +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Nature.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Nature.java new file mode 100644 index 00000000..7d43906b --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Nature.java @@ -0,0 +1,141 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon.emoji; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class Nature { + public static final Emojicon[] DATA = new Emojicon[]{ + Emojicon.fromCodePoint(0x1f436), + Emojicon.fromCodePoint(0x1f43a), + Emojicon.fromCodePoint(0x1f431), + Emojicon.fromCodePoint(0x1f42d), + Emojicon.fromCodePoint(0x1f439), + Emojicon.fromCodePoint(0x1f430), + Emojicon.fromCodePoint(0x1f438), + Emojicon.fromCodePoint(0x1f42f), + Emojicon.fromCodePoint(0x1f428), + Emojicon.fromCodePoint(0x1f43b), + Emojicon.fromCodePoint(0x1f437), + Emojicon.fromCodePoint(0x1f43d), + Emojicon.fromCodePoint(0x1f42e), + Emojicon.fromCodePoint(0x1f417), + Emojicon.fromCodePoint(0x1f435), + Emojicon.fromCodePoint(0x1f412), + Emojicon.fromCodePoint(0x1f434), + Emojicon.fromCodePoint(0x1f411), + Emojicon.fromCodePoint(0x1f418), + Emojicon.fromCodePoint(0x1f43c), + Emojicon.fromCodePoint(0x1f427), + Emojicon.fromCodePoint(0x1f426), + Emojicon.fromCodePoint(0x1f424), + Emojicon.fromCodePoint(0x1f425), + Emojicon.fromCodePoint(0x1f423), + Emojicon.fromCodePoint(0x1f414), + Emojicon.fromCodePoint(0x1f40d), + Emojicon.fromCodePoint(0x1f422), + Emojicon.fromCodePoint(0x1f41b), + Emojicon.fromCodePoint(0x1f41d), + Emojicon.fromCodePoint(0x1f41c), + Emojicon.fromCodePoint(0x1f41e), + Emojicon.fromCodePoint(0x1f40c), + Emojicon.fromCodePoint(0x1f419), + Emojicon.fromCodePoint(0x1f41a), + Emojicon.fromCodePoint(0x1f420), + Emojicon.fromCodePoint(0x1f41f), + Emojicon.fromCodePoint(0x1f42c), + Emojicon.fromCodePoint(0x1f433), + Emojicon.fromCodePoint(0x1f40b), + Emojicon.fromCodePoint(0x1f404), + Emojicon.fromCodePoint(0x1f40f), + Emojicon.fromCodePoint(0x1f400), + Emojicon.fromCodePoint(0x1f403), + Emojicon.fromCodePoint(0x1f405), + Emojicon.fromCodePoint(0x1f407), + Emojicon.fromCodePoint(0x1f409), + Emojicon.fromCodePoint(0x1f40e), + Emojicon.fromCodePoint(0x1f410), + Emojicon.fromCodePoint(0x1f413), + Emojicon.fromCodePoint(0x1f415), + Emojicon.fromCodePoint(0x1f416), + Emojicon.fromCodePoint(0x1f401), + Emojicon.fromCodePoint(0x1f402), + Emojicon.fromCodePoint(0x1f432), + Emojicon.fromCodePoint(0x1f421), + Emojicon.fromCodePoint(0x1f40a), + Emojicon.fromCodePoint(0x1f42b), + Emojicon.fromCodePoint(0x1f42a), + Emojicon.fromCodePoint(0x1f406), + Emojicon.fromCodePoint(0x1f408), + Emojicon.fromCodePoint(0x1f429), + Emojicon.fromCodePoint(0x1f43e), + Emojicon.fromCodePoint(0x1f490), + Emojicon.fromCodePoint(0x1f338), + Emojicon.fromCodePoint(0x1f337), + Emojicon.fromCodePoint(0x1f340), + Emojicon.fromCodePoint(0x1f339), + Emojicon.fromCodePoint(0x1f33b), + Emojicon.fromCodePoint(0x1f33a), + Emojicon.fromCodePoint(0x1f341), + Emojicon.fromCodePoint(0x1f343), + Emojicon.fromCodePoint(0x1f342), + Emojicon.fromCodePoint(0x1f33f), + Emojicon.fromCodePoint(0x1f33e), + Emojicon.fromCodePoint(0x1f344), + Emojicon.fromCodePoint(0x1f335), + Emojicon.fromCodePoint(0x1f334), + Emojicon.fromCodePoint(0x1f332), + Emojicon.fromCodePoint(0x1f333), + Emojicon.fromCodePoint(0x1f330), + Emojicon.fromCodePoint(0x1f331), + Emojicon.fromCodePoint(0x1f33c), + Emojicon.fromCodePoint(0x1f310), + Emojicon.fromCodePoint(0x1f31e), + Emojicon.fromCodePoint(0x1f31d), + Emojicon.fromCodePoint(0x1f31a), + Emojicon.fromCodePoint(0x1f311), + Emojicon.fromCodePoint(0x1f312), + Emojicon.fromCodePoint(0x1f313), + Emojicon.fromCodePoint(0x1f314), + Emojicon.fromCodePoint(0x1f315), + Emojicon.fromCodePoint(0x1f316), + Emojicon.fromCodePoint(0x1f317), + Emojicon.fromCodePoint(0x1f318), + Emojicon.fromCodePoint(0x1f31c), + Emojicon.fromCodePoint(0x1f31b), + Emojicon.fromCodePoint(0x1f319), + Emojicon.fromCodePoint(0x1f30d), + Emojicon.fromCodePoint(0x1f30e), + Emojicon.fromCodePoint(0x1f30f), + Emojicon.fromCodePoint(0x1f30b), + Emojicon.fromCodePoint(0x1f30c), + Emojicon.fromCodePoint(0x1f320), + Emojicon.fromChar((char) 0x2b50), + Emojicon.fromChar((char) 0x2600), + Emojicon.fromChar((char) 0x26c5), + Emojicon.fromChar((char) 0x2601), + Emojicon.fromChar((char) 0x26a1), + Emojicon.fromChar((char) 0x2614), + Emojicon.fromChar((char) 0x2744), + Emojicon.fromChar((char) 0x26c4), + Emojicon.fromCodePoint(0x1f300), + Emojicon.fromCodePoint(0x1f301), + Emojicon.fromCodePoint(0x1f308), + Emojicon.fromCodePoint(0x1f30a), + }; +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Objects.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Objects.java new file mode 100644 index 00000000..354dccc6 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Objects.java @@ -0,0 +1,255 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon.emoji; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class Objects { + public static final Emojicon[] DATA = new Emojicon[]{ + Emojicon.fromCodePoint(0x1f38d), + Emojicon.fromCodePoint(0x1f49d), + Emojicon.fromCodePoint(0x1f38e), + Emojicon.fromCodePoint(0x1f392), + Emojicon.fromCodePoint(0x1f393), + Emojicon.fromCodePoint(0x1f38f), + Emojicon.fromCodePoint(0x1f386), + Emojicon.fromCodePoint(0x1f387), + Emojicon.fromCodePoint(0x1f390), + Emojicon.fromCodePoint(0x1f391), + Emojicon.fromCodePoint(0x1f383), + Emojicon.fromCodePoint(0x1f47b), + Emojicon.fromCodePoint(0x1f385), + Emojicon.fromCodePoint(0x1f384), + Emojicon.fromCodePoint(0x1f381), + Emojicon.fromCodePoint(0x1f38b), + Emojicon.fromCodePoint(0x1f389), + Emojicon.fromCodePoint(0x1f38a), + Emojicon.fromCodePoint(0x1f388), + Emojicon.fromCodePoint(0x1f38c), + Emojicon.fromCodePoint(0x1f52e), + Emojicon.fromCodePoint(0x1f3a5), + Emojicon.fromCodePoint(0x1f4f7), + Emojicon.fromCodePoint(0x1f4f9), + Emojicon.fromCodePoint(0x1f4fc), + Emojicon.fromCodePoint(0x1f4bf), + Emojicon.fromCodePoint(0x1f4c0), + Emojicon.fromCodePoint(0x1f4bd), + Emojicon.fromCodePoint(0x1f4be), + Emojicon.fromCodePoint(0x1f4bb), + Emojicon.fromCodePoint(0x1f4f1), + Emojicon.fromChar((char) 0x260e), + Emojicon.fromCodePoint(0x1f4de), + Emojicon.fromCodePoint(0x1f4df), + Emojicon.fromCodePoint(0x1f4e0), + Emojicon.fromCodePoint(0x1f4e1), + Emojicon.fromCodePoint(0x1f4fa), + Emojicon.fromCodePoint(0x1f4fb), + Emojicon.fromCodePoint(0x1f508), + Emojicon.fromCodePoint(0x1f509), + Emojicon.fromCodePoint(0x1f50a), + Emojicon.fromCodePoint(0x1f507), + Emojicon.fromCodePoint(0x1f514), + Emojicon.fromCodePoint(0x1f515), + Emojicon.fromCodePoint(0x1f4e2), + Emojicon.fromCodePoint(0x1f4e3), + Emojicon.fromChar((char) 0x23f3), + Emojicon.fromChar((char) 0x231b), + Emojicon.fromChar((char) 0x23f0), + Emojicon.fromChar((char) 0x231a), + Emojicon.fromCodePoint(0x1f513), + Emojicon.fromCodePoint(0x1f512), + Emojicon.fromCodePoint(0x1f50f), + Emojicon.fromCodePoint(0x1f510), + Emojicon.fromCodePoint(0x1f511), + Emojicon.fromCodePoint(0x1f50e), + Emojicon.fromCodePoint(0x1f4a1), + Emojicon.fromCodePoint(0x1f526), + Emojicon.fromCodePoint(0x1f506), + Emojicon.fromCodePoint(0x1f505), + Emojicon.fromCodePoint(0x1f50c), + Emojicon.fromCodePoint(0x1f50b), + Emojicon.fromCodePoint(0x1f50d), + Emojicon.fromCodePoint(0x1f6c1), + Emojicon.fromCodePoint(0x1f6c0), + Emojicon.fromCodePoint(0x1f6bf), + Emojicon.fromCodePoint(0x1f6bd), + Emojicon.fromCodePoint(0x1f527), + Emojicon.fromCodePoint(0x1f529), + Emojicon.fromCodePoint(0x1f528), + Emojicon.fromCodePoint(0x1f6aa), + Emojicon.fromCodePoint(0x1f6ac), + Emojicon.fromCodePoint(0x1f4a3), + Emojicon.fromCodePoint(0x1f52b), + Emojicon.fromCodePoint(0x1f52a), + Emojicon.fromCodePoint(0x1f48a), + Emojicon.fromCodePoint(0x1f489), + Emojicon.fromCodePoint(0x1f4b0), + Emojicon.fromCodePoint(0x1f4b4), + Emojicon.fromCodePoint(0x1f4b5), + Emojicon.fromCodePoint(0x1f4b7), + Emojicon.fromCodePoint(0x1f4b6), + Emojicon.fromCodePoint(0x1f4b3), + Emojicon.fromCodePoint(0x1f4b8), + Emojicon.fromCodePoint(0x1f4f2), + Emojicon.fromCodePoint(0x1f4e7), + Emojicon.fromCodePoint(0x1f4e5), + Emojicon.fromCodePoint(0x1f4e4), + Emojicon.fromChar((char) 0x2709), + Emojicon.fromCodePoint(0x1f4e9), + Emojicon.fromCodePoint(0x1f4e8), + Emojicon.fromCodePoint(0x1f4ef), + Emojicon.fromCodePoint(0x1f4eb), + Emojicon.fromCodePoint(0x1f4ea), + Emojicon.fromCodePoint(0x1f4ec), + Emojicon.fromCodePoint(0x1f4ed), + Emojicon.fromCodePoint(0x1f4ee), + Emojicon.fromCodePoint(0x1f4e6), + Emojicon.fromCodePoint(0x1f4dd), + Emojicon.fromCodePoint(0x1f4c4), + Emojicon.fromCodePoint(0x1f4c3), + Emojicon.fromCodePoint(0x1f4d1), + Emojicon.fromCodePoint(0x1f4ca), + Emojicon.fromCodePoint(0x1f4c8), + Emojicon.fromCodePoint(0x1f4c9), + Emojicon.fromCodePoint(0x1f4dc), + Emojicon.fromCodePoint(0x1f4cb), + Emojicon.fromCodePoint(0x1f4c5), + Emojicon.fromCodePoint(0x1f4c6), + Emojicon.fromCodePoint(0x1f4c7), + Emojicon.fromCodePoint(0x1f4c1), + Emojicon.fromCodePoint(0x1f4c2), + Emojicon.fromChar((char) 0x2702), + Emojicon.fromCodePoint(0x1f4cc), + Emojicon.fromCodePoint(0x1f4ce), + Emojicon.fromChar((char) 0x2712), + Emojicon.fromChar((char) 0x270f), + Emojicon.fromCodePoint(0x1f4cf), + Emojicon.fromCodePoint(0x1f4d0), + Emojicon.fromCodePoint(0x1f4d5), + Emojicon.fromCodePoint(0x1f4d7), + Emojicon.fromCodePoint(0x1f4d8), + Emojicon.fromCodePoint(0x1f4d9), + Emojicon.fromCodePoint(0x1f4d3), + Emojicon.fromCodePoint(0x1f4d4), + Emojicon.fromCodePoint(0x1f4d2), + Emojicon.fromCodePoint(0x1f4da), + Emojicon.fromCodePoint(0x1f4d6), + Emojicon.fromCodePoint(0x1f516), + Emojicon.fromCodePoint(0x1f4db), + Emojicon.fromCodePoint(0x1f52c), + Emojicon.fromCodePoint(0x1f52d), + Emojicon.fromCodePoint(0x1f4f0), + Emojicon.fromCodePoint(0x1f3a8), + Emojicon.fromCodePoint(0x1f3ac), + Emojicon.fromCodePoint(0x1f3a4), + Emojicon.fromCodePoint(0x1f3a7), + Emojicon.fromCodePoint(0x1f3bc), + Emojicon.fromCodePoint(0x1f3b5), + Emojicon.fromCodePoint(0x1f3b6), + Emojicon.fromCodePoint(0x1f3b9), + Emojicon.fromCodePoint(0x1f3bb), + Emojicon.fromCodePoint(0x1f3ba), + Emojicon.fromCodePoint(0x1f3b7), + Emojicon.fromCodePoint(0x1f3b8), + Emojicon.fromCodePoint(0x1f47e), + Emojicon.fromCodePoint(0x1f3ae), + Emojicon.fromCodePoint(0x1f0cf), + Emojicon.fromCodePoint(0x1f3b4), + Emojicon.fromCodePoint(0x1f004), + Emojicon.fromCodePoint(0x1f3b2), + Emojicon.fromCodePoint(0x1f3af), + Emojicon.fromCodePoint(0x1f3c8), + Emojicon.fromCodePoint(0x1f3c0), + Emojicon.fromChar((char) 0x26bd), + Emojicon.fromChar((char) 0x26be), + Emojicon.fromCodePoint(0x1f3be), + Emojicon.fromCodePoint(0x1f3b1), + Emojicon.fromCodePoint(0x1f3c9), + Emojicon.fromCodePoint(0x1f3b3), + Emojicon.fromChar((char) 0x26f3), + Emojicon.fromCodePoint(0x1f6b5), + Emojicon.fromCodePoint(0x1f6b4), + Emojicon.fromCodePoint(0x1f3c1), + Emojicon.fromCodePoint(0x1f3c7), + Emojicon.fromCodePoint(0x1f3c6), + Emojicon.fromCodePoint(0x1f3bf), + Emojicon.fromCodePoint(0x1f3c2), + Emojicon.fromCodePoint(0x1f3ca), + Emojicon.fromCodePoint(0x1f3c4), + Emojicon.fromCodePoint(0x1f3a3), + Emojicon.fromChar((char) 0x2615), + Emojicon.fromCodePoint(0x1f375), + Emojicon.fromCodePoint(0x1f376), + Emojicon.fromCodePoint(0x1f37c), + Emojicon.fromCodePoint(0x1f37a), + Emojicon.fromCodePoint(0x1f37b), + Emojicon.fromCodePoint(0x1f378), + Emojicon.fromCodePoint(0x1f379), + Emojicon.fromCodePoint(0x1f377), + Emojicon.fromCodePoint(0x1f374), + Emojicon.fromCodePoint(0x1f355), + Emojicon.fromCodePoint(0x1f354), + Emojicon.fromCodePoint(0x1f35f), + Emojicon.fromCodePoint(0x1f357), + Emojicon.fromCodePoint(0x1f356), + Emojicon.fromCodePoint(0x1f35d), + Emojicon.fromCodePoint(0x1f35b), + Emojicon.fromCodePoint(0x1f364), + Emojicon.fromCodePoint(0x1f371), + Emojicon.fromCodePoint(0x1f363), + Emojicon.fromCodePoint(0x1f365), + Emojicon.fromCodePoint(0x1f359), + Emojicon.fromCodePoint(0x1f358), + Emojicon.fromCodePoint(0x1f35a), + Emojicon.fromCodePoint(0x1f35c), + Emojicon.fromCodePoint(0x1f372), + Emojicon.fromCodePoint(0x1f362), + Emojicon.fromCodePoint(0x1f361), + Emojicon.fromCodePoint(0x1f373), + Emojicon.fromCodePoint(0x1f35e), + Emojicon.fromCodePoint(0x1f369), + Emojicon.fromCodePoint(0x1f36e), + Emojicon.fromCodePoint(0x1f366), + Emojicon.fromCodePoint(0x1f368), + Emojicon.fromCodePoint(0x1f367), + Emojicon.fromCodePoint(0x1f382), + Emojicon.fromCodePoint(0x1f370), + Emojicon.fromCodePoint(0x1f36a), + Emojicon.fromCodePoint(0x1f36b), + Emojicon.fromCodePoint(0x1f36c), + Emojicon.fromCodePoint(0x1f36d), + Emojicon.fromCodePoint(0x1f36f), + Emojicon.fromCodePoint(0x1f34e), + Emojicon.fromCodePoint(0x1f34f), + Emojicon.fromCodePoint(0x1f34a), + Emojicon.fromCodePoint(0x1f34b), + Emojicon.fromCodePoint(0x1f352), + Emojicon.fromCodePoint(0x1f347), + Emojicon.fromCodePoint(0x1f349), + Emojicon.fromCodePoint(0x1f353), + Emojicon.fromCodePoint(0x1f351), + Emojicon.fromCodePoint(0x1f348), + Emojicon.fromCodePoint(0x1f34c), + Emojicon.fromCodePoint(0x1f350), + Emojicon.fromCodePoint(0x1f34d), + Emojicon.fromCodePoint(0x1f360), + Emojicon.fromCodePoint(0x1f346), + Emojicon.fromCodePoint(0x1f345), + Emojicon.fromCodePoint(0x1f33d), + }; +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/People.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/People.java new file mode 100644 index 00000000..c64da08e --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/People.java @@ -0,0 +1,214 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon.emoji; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class People { + public static final Emojicon[] DATA = new Emojicon[]{ + Emojicon.fromCodePoint(0x1f604), + Emojicon.fromCodePoint(0x1f603), + Emojicon.fromCodePoint(0x1f600), + Emojicon.fromCodePoint(0x1f60a), + Emojicon.fromChar((char) 0x263a), + Emojicon.fromCodePoint(0x1f609), + Emojicon.fromCodePoint(0x1f60d), + Emojicon.fromCodePoint(0x1f618), + Emojicon.fromCodePoint(0x1f61a), + Emojicon.fromCodePoint(0x1f617), + Emojicon.fromCodePoint(0x1f619), + Emojicon.fromCodePoint(0x1f61c), + Emojicon.fromCodePoint(0x1f61d), + Emojicon.fromCodePoint(0x1f61b), + Emojicon.fromCodePoint(0x1f633), + Emojicon.fromCodePoint(0x1f601), + Emojicon.fromCodePoint(0x1f614), + Emojicon.fromCodePoint(0x1f60c), + Emojicon.fromCodePoint(0x1f612), + Emojicon.fromCodePoint(0x1f61e), + Emojicon.fromCodePoint(0x1f623), + Emojicon.fromCodePoint(0x1f622), + Emojicon.fromCodePoint(0x1f602), + Emojicon.fromCodePoint(0x1f62d), + Emojicon.fromCodePoint(0x1f62a), + Emojicon.fromCodePoint(0x1f625), + Emojicon.fromCodePoint(0x1f630), + Emojicon.fromCodePoint(0x1f605), + Emojicon.fromCodePoint(0x1f613), + Emojicon.fromCodePoint(0x1f629), + Emojicon.fromCodePoint(0x1f62b), + Emojicon.fromCodePoint(0x1f628), + Emojicon.fromCodePoint(0x1f631), + Emojicon.fromCodePoint(0x1f620), + Emojicon.fromCodePoint(0x1f621), + Emojicon.fromCodePoint(0x1f624), + Emojicon.fromCodePoint(0x1f616), + Emojicon.fromCodePoint(0x1f606), + Emojicon.fromCodePoint(0x1f60b), + Emojicon.fromCodePoint(0x1f637), + Emojicon.fromCodePoint(0x1f60e), + Emojicon.fromCodePoint(0x1f634), + Emojicon.fromCodePoint(0x1f635), + Emojicon.fromCodePoint(0x1f632), + Emojicon.fromCodePoint(0x1f61f), + Emojicon.fromCodePoint(0x1f626), + Emojicon.fromCodePoint(0x1f627), + Emojicon.fromCodePoint(0x1f608), + Emojicon.fromCodePoint(0x1f47f), + Emojicon.fromCodePoint(0x1f62e), + Emojicon.fromCodePoint(0x1f62c), + Emojicon.fromCodePoint(0x1f610), + Emojicon.fromCodePoint(0x1f615), + Emojicon.fromCodePoint(0x1f62f), + Emojicon.fromCodePoint(0x1f636), + Emojicon.fromCodePoint(0x1f607), + Emojicon.fromCodePoint(0x1f60f), + Emojicon.fromCodePoint(0x1f611), + Emojicon.fromCodePoint(0x1f472), + Emojicon.fromCodePoint(0x1f473), + Emojicon.fromCodePoint(0x1f46e), + Emojicon.fromCodePoint(0x1f477), + Emojicon.fromCodePoint(0x1f482), + Emojicon.fromCodePoint(0x1f476), + Emojicon.fromCodePoint(0x1f466), + Emojicon.fromCodePoint(0x1f467), + Emojicon.fromCodePoint(0x1f468), + Emojicon.fromCodePoint(0x1f469), + Emojicon.fromCodePoint(0x1f474), + Emojicon.fromCodePoint(0x1f475), + Emojicon.fromCodePoint(0x1f471), + Emojicon.fromCodePoint(0x1f47c), + Emojicon.fromCodePoint(0x1f478), + Emojicon.fromCodePoint(0x1f63a), + Emojicon.fromCodePoint(0x1f638), + Emojicon.fromCodePoint(0x1f63b), + Emojicon.fromCodePoint(0x1f63d), + Emojicon.fromCodePoint(0x1f63c), + Emojicon.fromCodePoint(0x1f640), + Emojicon.fromCodePoint(0x1f63f), + Emojicon.fromCodePoint(0x1f639), + Emojicon.fromCodePoint(0x1f63e), + Emojicon.fromCodePoint(0x1f479), + Emojicon.fromCodePoint(0x1f47a), + Emojicon.fromCodePoint(0x1f648), + Emojicon.fromCodePoint(0x1f649), + Emojicon.fromCodePoint(0x1f64a), + Emojicon.fromCodePoint(0x1f480), + Emojicon.fromCodePoint(0x1f47d), + Emojicon.fromCodePoint(0x1f4a9), + Emojicon.fromCodePoint(0x1f525), + Emojicon.fromChar((char) 0x2728), + Emojicon.fromCodePoint(0x1f31f), + Emojicon.fromCodePoint(0x1f4ab), + Emojicon.fromCodePoint(0x1f4a5), + Emojicon.fromCodePoint(0x1f4a2), + Emojicon.fromCodePoint(0x1f4a6), + Emojicon.fromCodePoint(0x1f4a7), + Emojicon.fromCodePoint(0x1f4a4), + Emojicon.fromCodePoint(0x1f4a8), + Emojicon.fromCodePoint(0x1f442), + Emojicon.fromCodePoint(0x1f440), + Emojicon.fromCodePoint(0x1f443), + Emojicon.fromCodePoint(0x1f445), + Emojicon.fromCodePoint(0x1f444), + Emojicon.fromCodePoint(0x1f44d), + Emojicon.fromCodePoint(0x1f44e), + Emojicon.fromCodePoint(0x1f44c), + Emojicon.fromCodePoint(0x1f44a), + Emojicon.fromChar((char) 0x270a), + Emojicon.fromChar((char) 0x270c), + Emojicon.fromCodePoint(0x1f44b), + Emojicon.fromChar((char) 0x270b), + Emojicon.fromCodePoint(0x1f450), + Emojicon.fromCodePoint(0x1f446), + Emojicon.fromCodePoint(0x1f447), + Emojicon.fromCodePoint(0x1f449), + Emojicon.fromCodePoint(0x1f448), + Emojicon.fromCodePoint(0x1f64c), + Emojicon.fromCodePoint(0x1f64f), + Emojicon.fromChar((char) 0x261d), + Emojicon.fromCodePoint(0x1f44f), + Emojicon.fromCodePoint(0x1f4aa), + Emojicon.fromCodePoint(0x1f6b6), + Emojicon.fromCodePoint(0x1f3c3), + Emojicon.fromCodePoint(0x1f483), + Emojicon.fromCodePoint(0x1f46b), + Emojicon.fromCodePoint(0x1f46a), + Emojicon.fromCodePoint(0x1f46c), + Emojicon.fromCodePoint(0x1f46d), + Emojicon.fromCodePoint(0x1f48f), + Emojicon.fromCodePoint(0x1f491), + Emojicon.fromCodePoint(0x1f46f), + Emojicon.fromCodePoint(0x1f646), + Emojicon.fromCodePoint(0x1f645), + Emojicon.fromCodePoint(0x1f481), + Emojicon.fromCodePoint(0x1f64b), + Emojicon.fromCodePoint(0x1f486), + Emojicon.fromCodePoint(0x1f487), + Emojicon.fromCodePoint(0x1f485), + Emojicon.fromCodePoint(0x1f470), + Emojicon.fromCodePoint(0x1f64e), + Emojicon.fromCodePoint(0x1f64d), + Emojicon.fromCodePoint(0x1f647), + Emojicon.fromCodePoint(0x1f3a9), + Emojicon.fromCodePoint(0x1f451), + Emojicon.fromCodePoint(0x1f452), + Emojicon.fromCodePoint(0x1f45f), + Emojicon.fromCodePoint(0x1f45e), + Emojicon.fromCodePoint(0x1f461), + Emojicon.fromCodePoint(0x1f460), + Emojicon.fromCodePoint(0x1f462), + Emojicon.fromCodePoint(0x1f455), + Emojicon.fromCodePoint(0x1f454), + Emojicon.fromCodePoint(0x1f45a), + Emojicon.fromCodePoint(0x1f457), + Emojicon.fromCodePoint(0x1f3bd), + Emojicon.fromCodePoint(0x1f456), + Emojicon.fromCodePoint(0x1f458), + Emojicon.fromCodePoint(0x1f459), + Emojicon.fromCodePoint(0x1f4bc), + Emojicon.fromCodePoint(0x1f45c), + Emojicon.fromCodePoint(0x1f45d), + Emojicon.fromCodePoint(0x1f45b), + Emojicon.fromCodePoint(0x1f453), + Emojicon.fromCodePoint(0x1f380), + Emojicon.fromCodePoint(0x1f302), + Emojicon.fromCodePoint(0x1f484), + Emojicon.fromCodePoint(0x1f49b), + Emojicon.fromCodePoint(0x1f499), + Emojicon.fromCodePoint(0x1f49c), + Emojicon.fromCodePoint(0x1f49a), + Emojicon.fromChar((char) 0x2764), + Emojicon.fromCodePoint(0x1f494), + Emojicon.fromCodePoint(0x1f497), + Emojicon.fromCodePoint(0x1f493), + Emojicon.fromCodePoint(0x1f495), + Emojicon.fromCodePoint(0x1f496), + Emojicon.fromCodePoint(0x1f49e), + Emojicon.fromCodePoint(0x1f498), + Emojicon.fromCodePoint(0x1f48c), + Emojicon.fromCodePoint(0x1f48b), + Emojicon.fromCodePoint(0x1f48d), + Emojicon.fromCodePoint(0x1f48e), + Emojicon.fromCodePoint(0x1f464), + Emojicon.fromCodePoint(0x1f465), + Emojicon.fromCodePoint(0x1f4ac), + Emojicon.fromCodePoint(0x1f463), + Emojicon.fromCodePoint(0x1f4ad), + }; +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Places.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Places.java new file mode 100644 index 00000000..617cf61e --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Places.java @@ -0,0 +1,126 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon.emoji; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class Places { + public static final Emojicon[] DATA = new Emojicon[]{ + Emojicon.fromCodePoint(0x1f3e0), + Emojicon.fromCodePoint(0x1f3e1), + Emojicon.fromCodePoint(0x1f3eb), + Emojicon.fromCodePoint(0x1f3e2), + Emojicon.fromCodePoint(0x1f3e3), + Emojicon.fromCodePoint(0x1f3e5), + Emojicon.fromCodePoint(0x1f3e6), + Emojicon.fromCodePoint(0x1f3ea), + Emojicon.fromCodePoint(0x1f3e9), + Emojicon.fromCodePoint(0x1f3e8), + Emojicon.fromCodePoint(0x1f492), + Emojicon.fromChar((char) 0x26ea), + Emojicon.fromCodePoint(0x1f3ec), + Emojicon.fromCodePoint(0x1f3e4), + Emojicon.fromCodePoint(0x1f307), + Emojicon.fromCodePoint(0x1f306), + Emojicon.fromCodePoint(0x1f3ef), + Emojicon.fromCodePoint(0x1f3f0), + Emojicon.fromChar((char) 0x26fa), + Emojicon.fromCodePoint(0x1f3ed), + Emojicon.fromCodePoint(0x1f5fc), + Emojicon.fromCodePoint(0x1f5fe), + Emojicon.fromCodePoint(0x1f5fb), + Emojicon.fromCodePoint(0x1f304), + Emojicon.fromCodePoint(0x1f305), + Emojicon.fromCodePoint(0x1f303), + Emojicon.fromCodePoint(0x1f5fd), + Emojicon.fromCodePoint(0x1f309), + Emojicon.fromCodePoint(0x1f3a0), + Emojicon.fromCodePoint(0x1f3a1), + Emojicon.fromChar((char) 0x26f2), + Emojicon.fromCodePoint(0x1f3a2), + Emojicon.fromCodePoint(0x1f6a2), + Emojicon.fromChar((char) 0x26f5), + Emojicon.fromCodePoint(0x1f6a4), + Emojicon.fromCodePoint(0x1f6a3), + Emojicon.fromChar((char) 0x2693), + Emojicon.fromCodePoint(0x1f680), + Emojicon.fromChar((char) 0x2708), + Emojicon.fromCodePoint(0x1f4ba), + Emojicon.fromCodePoint(0x1f681), + Emojicon.fromCodePoint(0x1f682), + Emojicon.fromCodePoint(0x1f68a), + Emojicon.fromCodePoint(0x1f689), + Emojicon.fromCodePoint(0x1f69e), + Emojicon.fromCodePoint(0x1f686), + Emojicon.fromCodePoint(0x1f684), + Emojicon.fromCodePoint(0x1f685), + Emojicon.fromCodePoint(0x1f688), + Emojicon.fromCodePoint(0x1f687), + Emojicon.fromCodePoint(0x1f69d), + Emojicon.fromCodePoint(0x1f68b), + Emojicon.fromCodePoint(0x1f683), + Emojicon.fromCodePoint(0x1f68e), + Emojicon.fromCodePoint(0x1f68c), + Emojicon.fromCodePoint(0x1f68d), + Emojicon.fromCodePoint(0x1f699), + Emojicon.fromCodePoint(0x1f698), + Emojicon.fromCodePoint(0x1f697), + Emojicon.fromCodePoint(0x1f695), + Emojicon.fromCodePoint(0x1f696), + Emojicon.fromCodePoint(0x1f69b), + Emojicon.fromCodePoint(0x1f69a), + Emojicon.fromCodePoint(0x1f6a8), + Emojicon.fromCodePoint(0x1f693), + Emojicon.fromCodePoint(0x1f694), + Emojicon.fromCodePoint(0x1f692), + Emojicon.fromCodePoint(0x1f691), + Emojicon.fromCodePoint(0x1f690), + Emojicon.fromCodePoint(0x1f6b2), + Emojicon.fromCodePoint(0x1f6a1), + Emojicon.fromCodePoint(0x1f69f), + Emojicon.fromCodePoint(0x1f6a0), + Emojicon.fromCodePoint(0x1f69c), + Emojicon.fromCodePoint(0x1f488), + Emojicon.fromCodePoint(0x1f68f), + Emojicon.fromCodePoint(0x1f3ab), + Emojicon.fromCodePoint(0x1f6a6), + Emojicon.fromCodePoint(0x1f6a5), + Emojicon.fromChar((char) 0x26a0), + Emojicon.fromCodePoint(0x1f6a7), + Emojicon.fromCodePoint(0x1f530), + Emojicon.fromChar((char) 0x26fd), + Emojicon.fromCodePoint(0x1f3ee), + Emojicon.fromCodePoint(0x1f3b0), + Emojicon.fromChar((char) 0x2668), + Emojicon.fromCodePoint(0x1f5ff), + Emojicon.fromCodePoint(0x1f3aa), + Emojicon.fromCodePoint(0x1f3ad), + Emojicon.fromCodePoint(0x1f4cd), + Emojicon.fromCodePoint(0x1f6a9), + Emojicon.fromChars("\ud83c\uddef\ud83c\uddf5"), + Emojicon.fromChars("\ud83c\uddf0\ud83c\uddf7"), + Emojicon.fromChars("\ud83c\udde9\ud83c\uddea"), + Emojicon.fromChars("\ud83c\udde8\ud83c\uddf3"), + Emojicon.fromChars("\ud83c\uddfa\ud83c\uddf8"), + Emojicon.fromChars("\ud83c\uddeb\ud83c\uddf7"), + Emojicon.fromChars("\ud83c\uddea\ud83c\uddf8"), + Emojicon.fromChars("\ud83c\uddee\ud83c\uddf9"), + Emojicon.fromChars("\ud83c\uddf7\ud83c\uddfa"), + Emojicon.fromChars("\ud83c\uddec\ud83c\udde7"), + }; +} diff --git a/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Symbols.java b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Symbols.java new file mode 100644 index 00000000..82655946 --- /dev/null +++ b/libs/emojicon/src/main/java/com/rockerhieu/emojicon/emoji/Symbols.java @@ -0,0 +1,237 @@ +/* + * Copyright 2014 Hieu Rocker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.rockerhieu.emojicon.emoji; + +/** + * @author Hieu Rocker (rockerhieu@gmail.com) + */ +public class Symbols { + public static final Emojicon[] DATA = new Emojicon[]{ + Emojicon.fromChars("\u0031\u20e3"), + Emojicon.fromChars("\u0032\u20e3"), + Emojicon.fromChars("\u0033\u20e3"), + Emojicon.fromChars("\u0034\u20e3"), + Emojicon.fromChars("\u0035\u20e3"), + Emojicon.fromChars("\u0036\u20e3"), + Emojicon.fromChars("\u0037\u20e3"), + Emojicon.fromChars("\u0038\u20e3"), + Emojicon.fromChars("\u0039\u20e3"), + Emojicon.fromChars("\u0030\u20e3"), + Emojicon.fromCodePoint(0x1f51f), + Emojicon.fromCodePoint(0x1f522), + Emojicon.fromChars("\u0023\u20e3"), + Emojicon.fromCodePoint(0x1f523), + Emojicon.fromChar((char) 0x2b06), + Emojicon.fromChar((char) 0x2b07), + Emojicon.fromChar((char) 0x2b05), + Emojicon.fromChar((char) 0x27a1), + Emojicon.fromCodePoint(0x1f520), + Emojicon.fromCodePoint(0x1f521), + Emojicon.fromCodePoint(0x1f524), + Emojicon.fromChar((char) 0x2197), + Emojicon.fromChar((char) 0x2196), + Emojicon.fromChar((char) 0x2198), + Emojicon.fromChar((char) 0x2199), + Emojicon.fromChar((char) 0x2194), + Emojicon.fromChar((char) 0x2195), + Emojicon.fromCodePoint(0x1f504), + Emojicon.fromChar((char) 0x25c0), + Emojicon.fromChar((char) 0x25b6), + Emojicon.fromCodePoint(0x1f53c), + Emojicon.fromCodePoint(0x1f53d), + Emojicon.fromChar((char) 0x21a9), + Emojicon.fromChar((char) 0x21aa), + Emojicon.fromChar((char) 0x2139), + Emojicon.fromChar((char) 0x23ea), + Emojicon.fromChar((char) 0x23e9), + Emojicon.fromChar((char) 0x23eb), + Emojicon.fromChar((char) 0x23ec), + Emojicon.fromChar((char) 0x2935), + Emojicon.fromChar((char) 0x2934), + Emojicon.fromCodePoint(0x1f197), + Emojicon.fromCodePoint(0x1f500), + Emojicon.fromCodePoint(0x1f501), + Emojicon.fromCodePoint(0x1f502), + Emojicon.fromCodePoint(0x1f195), + Emojicon.fromCodePoint(0x1f199), + Emojicon.fromCodePoint(0x1f192), + Emojicon.fromCodePoint(0x1f193), + Emojicon.fromCodePoint(0x1f196), + Emojicon.fromCodePoint(0x1f4f6), + Emojicon.fromCodePoint(0x1f3a6), + Emojicon.fromCodePoint(0x1f201), + Emojicon.fromCodePoint(0x1f22f), + Emojicon.fromCodePoint(0x1f233), + Emojicon.fromCodePoint(0x1f235), + Emojicon.fromCodePoint(0x1f234), + Emojicon.fromCodePoint(0x1f232), + Emojicon.fromCodePoint(0x1f250), + Emojicon.fromCodePoint(0x1f239), + Emojicon.fromCodePoint(0x1f23a), + Emojicon.fromCodePoint(0x1f236), + Emojicon.fromCodePoint(0x1f21a), + Emojicon.fromCodePoint(0x1f6bb), + Emojicon.fromCodePoint(0x1f6b9), + Emojicon.fromCodePoint(0x1f6ba), + Emojicon.fromCodePoint(0x1f6bc), + Emojicon.fromCodePoint(0x1f6be), + Emojicon.fromCodePoint(0x1f6b0), + Emojicon.fromCodePoint(0x1f6ae), + Emojicon.fromCodePoint(0x1f17f), + Emojicon.fromChar((char) 0x267f), + Emojicon.fromCodePoint(0x1f6ad), + Emojicon.fromCodePoint(0x1f237), + Emojicon.fromCodePoint(0x1f238), + Emojicon.fromCodePoint(0x1f202), + Emojicon.fromChar((char) 0x24c2), + Emojicon.fromCodePoint(0x1f6c2), + Emojicon.fromCodePoint(0x1f6c4), + Emojicon.fromCodePoint(0x1f6c5), + Emojicon.fromCodePoint(0x1f6c3), + Emojicon.fromCodePoint(0x1f251), + Emojicon.fromChar((char) 0x3299), + Emojicon.fromChar((char) 0x3297), + Emojicon.fromCodePoint(0x1f191), + Emojicon.fromCodePoint(0x1f198), + Emojicon.fromCodePoint(0x1f194), + Emojicon.fromCodePoint(0x1f6ab), + Emojicon.fromCodePoint(0x1f51e), + Emojicon.fromCodePoint(0x1f4f5), + Emojicon.fromCodePoint(0x1f6af), + Emojicon.fromCodePoint(0x1f6b1), + Emojicon.fromCodePoint(0x1f6b3), + Emojicon.fromCodePoint(0x1f6b7), + Emojicon.fromCodePoint(0x1f6b8), + Emojicon.fromChar((char) 0x26d4), + Emojicon.fromChar((char) 0x2733), + Emojicon.fromChar((char) 0x2747), + Emojicon.fromChar((char) 0x274e), + Emojicon.fromChar((char) 0x2705), + Emojicon.fromChar((char) 0x2734), + Emojicon.fromCodePoint(0x1f49f), + Emojicon.fromCodePoint(0x1f19a), + Emojicon.fromCodePoint(0x1f4f3), + Emojicon.fromCodePoint(0x1f4f4), + Emojicon.fromCodePoint(0x1f170), + Emojicon.fromCodePoint(0x1f171), + Emojicon.fromCodePoint(0x1f18e), + Emojicon.fromCodePoint(0x1f17e), + Emojicon.fromCodePoint(0x1f4a0), + Emojicon.fromChar((char) 0x27bf), + Emojicon.fromChar((char) 0x267b), + Emojicon.fromChar((char) 0x2648), + Emojicon.fromChar((char) 0x2649), + Emojicon.fromChar((char) 0x264a), + Emojicon.fromChar((char) 0x264b), + Emojicon.fromChar((char) 0x264c), + Emojicon.fromChar((char) 0x264d), + Emojicon.fromChar((char) 0x264e), + Emojicon.fromChar((char) 0x264f), + Emojicon.fromChar((char) 0x2650), + Emojicon.fromChar((char) 0x2651), + Emojicon.fromChar((char) 0x2652), + Emojicon.fromChar((char) 0x2653), + Emojicon.fromChar((char) 0x26ce), + Emojicon.fromCodePoint(0x1f52f), + Emojicon.fromCodePoint(0x1f3e7), + Emojicon.fromCodePoint(0x1f4b9), + Emojicon.fromCodePoint(0x1f4b2), + Emojicon.fromCodePoint(0x1f4b1), +// Emoji.fromChar((char)0x00a9), +// Emoji.fromChar((char)0x00ae), + Emojicon.fromChar((char) 0xe24e), + Emojicon.fromChar((char) 0xe24f), + + Emojicon.fromChar((char) 0x2122), + Emojicon.fromChar((char) 0x274c), + Emojicon.fromChar((char) 0x203c), + Emojicon.fromChar((char) 0x2049), + Emojicon.fromChar((char) 0x2757), + Emojicon.fromChar((char) 0x2753), + Emojicon.fromChar((char) 0x2755), + Emojicon.fromChar((char) 0x2754), + Emojicon.fromChar((char) 0x2b55), + Emojicon.fromCodePoint(0x1f51d), + Emojicon.fromCodePoint(0x1f51a), + Emojicon.fromCodePoint(0x1f519), + Emojicon.fromCodePoint(0x1f51b), + Emojicon.fromCodePoint(0x1f51c), + Emojicon.fromCodePoint(0x1f503), + Emojicon.fromCodePoint(0x1f55b), + Emojicon.fromCodePoint(0x1f567), + Emojicon.fromCodePoint(0x1f550), + Emojicon.fromCodePoint(0x1f55c), + Emojicon.fromCodePoint(0x1f551), + Emojicon.fromCodePoint(0x1f55d), + Emojicon.fromCodePoint(0x1f552), + Emojicon.fromCodePoint(0x1f55e), + Emojicon.fromCodePoint(0x1f553), + Emojicon.fromCodePoint(0x1f55f), + Emojicon.fromCodePoint(0x1f554), + Emojicon.fromCodePoint(0x1f560), + Emojicon.fromCodePoint(0x1f555), + Emojicon.fromCodePoint(0x1f556), + Emojicon.fromCodePoint(0x1f557), + Emojicon.fromCodePoint(0x1f558), + Emojicon.fromCodePoint(0x1f559), + Emojicon.fromCodePoint(0x1f55a), + Emojicon.fromCodePoint(0x1f561), + Emojicon.fromCodePoint(0x1f562), + Emojicon.fromCodePoint(0x1f563), + Emojicon.fromCodePoint(0x1f564), + Emojicon.fromCodePoint(0x1f565), + Emojicon.fromCodePoint(0x1f566), + Emojicon.fromChar((char) 0x2716), + Emojicon.fromChar((char) 0x2795), + Emojicon.fromChar((char) 0x2796), + Emojicon.fromChar((char) 0x2797), + Emojicon.fromChar((char) 0x2660), + Emojicon.fromChar((char) 0x2665), + Emojicon.fromChar((char) 0x2663), + Emojicon.fromChar((char) 0x2666), + Emojicon.fromCodePoint(0x1f4ae), + Emojicon.fromCodePoint(0x1f4af), + Emojicon.fromChar((char) 0x2714), + Emojicon.fromChar((char) 0x2611), + Emojicon.fromCodePoint(0x1f518), + Emojicon.fromCodePoint(0x1f517), + Emojicon.fromChar((char) 0x27b0), + Emojicon.fromChar((char) 0x3030), + Emojicon.fromChar((char) 0x303d), + Emojicon.fromCodePoint(0x1f531), + Emojicon.fromChar((char) 0x25fc), + Emojicon.fromChar((char) 0x25fb), + Emojicon.fromChar((char) 0x25fe), + Emojicon.fromChar((char) 0x25fd), + Emojicon.fromChar((char) 0x25aa), + Emojicon.fromChar((char) 0x25ab), + Emojicon.fromCodePoint(0x1f53a), + Emojicon.fromCodePoint(0x1f532), + Emojicon.fromCodePoint(0x1f533), + Emojicon.fromChar((char) 0x26ab), + Emojicon.fromChar((char) 0x26aa), + Emojicon.fromCodePoint(0x1f534), + Emojicon.fromCodePoint(0x1f535), + Emojicon.fromCodePoint(0x1f53b), + Emojicon.fromChar((char) 0x2b1c), + Emojicon.fromChar((char) 0x2b1b), + Emojicon.fromCodePoint(0x1f536), + Emojicon.fromCodePoint(0x1f537), + Emojicon.fromCodePoint(0x1f538), + Emojicon.fromCodePoint(0x1f539), + }; +} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiAdapter.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiAdapter.java deleted file mode 100644 index e3dc221d..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiAdapter.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.EmojiconGridView.OnEmojiconClickedListener; -import github.ankushsachdeva.emojicon.emoji.Emojicon; - -import java.util.List; - -import android.content.Context; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.TextView; - -import github.ankushsachdeva.emojicon.R; - -/** - * @author Ankush Sachdeva (sankush@yahoo.co.in) - */ -class EmojiAdapter extends ArrayAdapter { - OnEmojiconClickedListener emojiClickListener; - public EmojiAdapter(Context context, List data) { - super(context, R.layout.emojicon_item, data); - } - - public EmojiAdapter(Context context, Emojicon[] data) { - super(context, R.layout.emojicon_item, data); - } - - public void setEmojiClickListener(OnEmojiconClickedListener listener){ - this.emojiClickListener = listener; - } - - @Override - public View getView(final int position, View convertView, ViewGroup parent) { - View v = convertView; - if (v == null) { - v = View.inflate(getContext(), R.layout.emojicon_item, null); - ViewHolder holder = new ViewHolder(); - holder.icon = (TextView) v.findViewById(R.id.emojicon_icon); - v.setTag(holder); - } - Emojicon emoji = getItem(position); - ViewHolder holder = (ViewHolder) v.getTag(); - holder.icon.setText(emoji.getEmoji()); - holder.icon.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - emojiClickListener.onEmojiconClicked(getItem(position)); - } - }); - return v; - } - - class ViewHolder { - TextView icon; - } -} \ No newline at end of file diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconEditText.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconEditText.java deleted file mode 100644 index 8301dd14..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconEditText.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.R; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; -import android.widget.EditText; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com). - */ -public class EmojiconEditText extends EditText { - private int mEmojiconSize; - - public EmojiconEditText(Context context) { - super(context); - mEmojiconSize = (int) getTextSize(); - - } - - public EmojiconEditText(Context context, AttributeSet attrs) { - super(context, attrs); - init(attrs); - } - - public EmojiconEditText(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - init(attrs); - } - - private void init(AttributeSet attrs) { - TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.Emojicon); - mEmojiconSize = (int) a.getDimension(R.styleable.Emojicon_emojiconSize, getTextSize()); - a.recycle(); - setText(getText()); - } - - @Override - protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) { - super.onTextChanged(text,start,lengthBefore,lengthAfter); - EmojiconHandler.addEmojis(getContext(), getText(), mEmojiconSize); - } - - /** - * Set the size of emojicon in pixels. - */ - public void setEmojiconSize(int pixels) { - mEmojiconSize = pixels; - } -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconGridView.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconGridView.java deleted file mode 100644 index 38df8b13..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconGridView.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.emoji.Emojicon; -import github.ankushsachdeva.emojicon.emoji.People; - -import java.util.Arrays; - -import android.app.Activity; -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.GridView; - -import github.ankushsachdeva.emojicon.R; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - * @author Ankush Sachdeva (sankush@yahoo.co.in) - */ -public class EmojiconGridView{ - public View rootView; - EmojiconsPopup mEmojiconPopup; - EmojiconRecents mRecents; - Emojicon[] mData; - - public EmojiconGridView(Context context, Emojicon[] emojicons, EmojiconRecents recents, EmojiconsPopup emojiconPopup) { - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); - mEmojiconPopup = emojiconPopup; - rootView = inflater.inflate(R.layout.emojicon_grid, null); - setRecents(recents); - GridView gridView = (GridView) rootView.findViewById(R.id.Emoji_GridView); - if (emojicons== null) { - mData = People.DATA; - } else { - Object[] o = (Object[]) emojicons; - mData = Arrays.asList(o).toArray(new Emojicon[o.length]); - } - EmojiAdapter mAdapter = new EmojiAdapter(rootView.getContext(), mData); - mAdapter.setEmojiClickListener(new OnEmojiconClickedListener() { - - @Override - public void onEmojiconClicked(Emojicon emojicon) { - if (mEmojiconPopup.onEmojiconClickedListener != null) { - mEmojiconPopup.onEmojiconClickedListener.onEmojiconClicked(emojicon); - } - if (mRecents != null) { - mRecents.addRecentEmoji(rootView.getContext(), emojicon); - } - } - }); - gridView.setAdapter(mAdapter); - } - - private void setRecents(EmojiconRecents recents) { - mRecents = recents; - } - - public interface OnEmojiconClickedListener { - void onEmojiconClicked(Emojicon emojicon); - } - -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconHandler.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconHandler.java deleted file mode 100644 index c84bebb8..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconHandler.java +++ /dev/null @@ -1,1515 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.R; - -import android.content.Context; -import android.text.Spannable; -import android.util.SparseIntArray; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public final class EmojiconHandler { - private EmojiconHandler() { - } - - private static final SparseIntArray sEmojisMap = new SparseIntArray(846); - private static final SparseIntArray sSoftbanksMap = new SparseIntArray(471); - - static { - // People - sEmojisMap.put(0x1f604, R.drawable.emoji_1f604); - sEmojisMap.put(0x1f603, R.drawable.emoji_1f603); - sEmojisMap.put(0x1f600, R.drawable.emoji_1f600); - sEmojisMap.put(0x1f60a, R.drawable.emoji_1f60a); - sEmojisMap.put(0x263a, R.drawable.emoji_263a); - sEmojisMap.put(0x1f609, R.drawable.emoji_1f609); - sEmojisMap.put(0x1f60d, R.drawable.emoji_1f60d); - sEmojisMap.put(0x1f618, R.drawable.emoji_1f618); - sEmojisMap.put(0x1f61a, R.drawable.emoji_1f61a); - sEmojisMap.put(0x1f617, R.drawable.emoji_1f617); - sEmojisMap.put(0x1f619, R.drawable.emoji_1f619); - sEmojisMap.put(0x1f61c, R.drawable.emoji_1f61c); - sEmojisMap.put(0x1f61d, R.drawable.emoji_1f61d); - sEmojisMap.put(0x1f61b, R.drawable.emoji_1f61b); - sEmojisMap.put(0x1f633, R.drawable.emoji_1f633); - sEmojisMap.put(0x1f601, R.drawable.emoji_1f601); - sEmojisMap.put(0x1f614, R.drawable.emoji_1f614); - sEmojisMap.put(0x1f60c, R.drawable.emoji_1f60c); - sEmojisMap.put(0x1f612, R.drawable.emoji_1f612); - sEmojisMap.put(0x1f61e, R.drawable.emoji_1f61e); - sEmojisMap.put(0x1f623, R.drawable.emoji_1f623); - sEmojisMap.put(0x1f622, R.drawable.emoji_1f622); - sEmojisMap.put(0x1f602, R.drawable.emoji_1f602); - sEmojisMap.put(0x1f62d, R.drawable.emoji_1f62d); - sEmojisMap.put(0x1f62a, R.drawable.emoji_1f62a); - sEmojisMap.put(0x1f625, R.drawable.emoji_1f625); - sEmojisMap.put(0x1f630, R.drawable.emoji_1f630); - sEmojisMap.put(0x1f605, R.drawable.emoji_1f605); - sEmojisMap.put(0x1f613, R.drawable.emoji_1f613); - sEmojisMap.put(0x1f629, R.drawable.emoji_1f629); - sEmojisMap.put(0x1f62b, R.drawable.emoji_1f62b); - sEmojisMap.put(0x1f628, R.drawable.emoji_1f628); - sEmojisMap.put(0x1f631, R.drawable.emoji_1f631); - sEmojisMap.put(0x1f620, R.drawable.emoji_1f620); - sEmojisMap.put(0x1f621, R.drawable.emoji_1f621); - sEmojisMap.put(0x1f624, R.drawable.emoji_1f624); - sEmojisMap.put(0x1f616, R.drawable.emoji_1f616); - sEmojisMap.put(0x1f606, R.drawable.emoji_1f606); - sEmojisMap.put(0x1f60b, R.drawable.emoji_1f60b); - sEmojisMap.put(0x1f637, R.drawable.emoji_1f637); - sEmojisMap.put(0x1f60e, R.drawable.emoji_1f60e); - sEmojisMap.put(0x1f634, R.drawable.emoji_1f634); - sEmojisMap.put(0x1f635, R.drawable.emoji_1f635); - sEmojisMap.put(0x1f632, R.drawable.emoji_1f632); - sEmojisMap.put(0x1f61f, R.drawable.emoji_1f61f); - sEmojisMap.put(0x1f626, R.drawable.emoji_1f626); - sEmojisMap.put(0x1f627, R.drawable.emoji_1f627); - sEmojisMap.put(0x1f608, R.drawable.emoji_1f608); - sEmojisMap.put(0x1f47f, R.drawable.emoji_1f47f); - sEmojisMap.put(0x1f62e, R.drawable.emoji_1f62e); - sEmojisMap.put(0x1f62c, R.drawable.emoji_1f62c); - sEmojisMap.put(0x1f610, R.drawable.emoji_1f610); - sEmojisMap.put(0x1f615, R.drawable.emoji_1f615); - sEmojisMap.put(0x1f62f, R.drawable.emoji_1f62f); - sEmojisMap.put(0x1f636, R.drawable.emoji_1f636); - sEmojisMap.put(0x1f607, R.drawable.emoji_1f607); - sEmojisMap.put(0x1f60f, R.drawable.emoji_1f60f); - sEmojisMap.put(0x1f611, R.drawable.emoji_1f611); - sEmojisMap.put(0x1f472, R.drawable.emoji_1f472); - sEmojisMap.put(0x1f473, R.drawable.emoji_1f473); - sEmojisMap.put(0x1f46e, R.drawable.emoji_1f46e); - sEmojisMap.put(0x1f477, R.drawable.emoji_1f477); - sEmojisMap.put(0x1f482, R.drawable.emoji_1f482); - sEmojisMap.put(0x1f476, R.drawable.emoji_1f476); - sEmojisMap.put(0x1f466, R.drawable.emoji_1f466); - sEmojisMap.put(0x1f467, R.drawable.emoji_1f467); - sEmojisMap.put(0x1f468, R.drawable.emoji_1f468); - sEmojisMap.put(0x1f469, R.drawable.emoji_1f469); - sEmojisMap.put(0x1f474, R.drawable.emoji_1f474); - sEmojisMap.put(0x1f475, R.drawable.emoji_1f475); - sEmojisMap.put(0x1f471, R.drawable.emoji_1f471); - sEmojisMap.put(0x1f47c, R.drawable.emoji_1f47c); - sEmojisMap.put(0x1f478, R.drawable.emoji_1f478); - sEmojisMap.put(0x1f63a, R.drawable.emoji_1f63a); - sEmojisMap.put(0x1f638, R.drawable.emoji_1f638); - sEmojisMap.put(0x1f63b, R.drawable.emoji_1f63b); - sEmojisMap.put(0x1f63d, R.drawable.emoji_1f63d); - sEmojisMap.put(0x1f63c, R.drawable.emoji_1f63c); - sEmojisMap.put(0x1f640, R.drawable.emoji_1f640); - sEmojisMap.put(0x1f63f, R.drawable.emoji_1f63f); - sEmojisMap.put(0x1f639, R.drawable.emoji_1f639); - sEmojisMap.put(0x1f63e, R.drawable.emoji_1f63e); - sEmojisMap.put(0x1f479, R.drawable.emoji_1f479); - sEmojisMap.put(0x1f47a, R.drawable.emoji_1f47a); - sEmojisMap.put(0x1f648, R.drawable.emoji_1f648); - sEmojisMap.put(0x1f649, R.drawable.emoji_1f649); - sEmojisMap.put(0x1f64a, R.drawable.emoji_1f64a); - sEmojisMap.put(0x1f480, R.drawable.emoji_1f480); - sEmojisMap.put(0x1f47d, R.drawable.emoji_1f47d); - sEmojisMap.put(0x1f4a9, R.drawable.emoji_1f4a9); - sEmojisMap.put(0x1f525, R.drawable.emoji_1f525); - sEmojisMap.put(0x2728, R.drawable.emoji_2728); - sEmojisMap.put(0x1f31f, R.drawable.emoji_1f31f); - sEmojisMap.put(0x1f4ab, R.drawable.emoji_1f4ab); - sEmojisMap.put(0x1f4a5, R.drawable.emoji_1f4a5); - sEmojisMap.put(0x1f4a2, R.drawable.emoji_1f4a2); - sEmojisMap.put(0x1f4a6, R.drawable.emoji_1f4a6); - sEmojisMap.put(0x1f4a7, R.drawable.emoji_1f4a7); - sEmojisMap.put(0x1f4a4, R.drawable.emoji_1f4a4); - sEmojisMap.put(0x1f4a8, R.drawable.emoji_1f4a8); - sEmojisMap.put(0x1f442, R.drawable.emoji_1f442); - sEmojisMap.put(0x1f440, R.drawable.emoji_1f440); - sEmojisMap.put(0x1f443, R.drawable.emoji_1f443); - sEmojisMap.put(0x1f445, R.drawable.emoji_1f445); - sEmojisMap.put(0x1f444, R.drawable.emoji_1f444); - sEmojisMap.put(0x1f44d, R.drawable.emoji_1f44d); - sEmojisMap.put(0x1f44e, R.drawable.emoji_1f44e); - sEmojisMap.put(0x1f44c, R.drawable.emoji_1f44c); - sEmojisMap.put(0x1f44a, R.drawable.emoji_1f44a); - sEmojisMap.put(0x270a, R.drawable.emoji_270a); - sEmojisMap.put(0x270c, R.drawable.emoji_270c); - sEmojisMap.put(0x1f44b, R.drawable.emoji_1f44b); - sEmojisMap.put(0x270b, R.drawable.emoji_270b); - sEmojisMap.put(0x1f450, R.drawable.emoji_1f450); - sEmojisMap.put(0x1f446, R.drawable.emoji_1f446); - sEmojisMap.put(0x1f447, R.drawable.emoji_1f447); - sEmojisMap.put(0x1f449, R.drawable.emoji_1f449); - sEmojisMap.put(0x1f448, R.drawable.emoji_1f448); - sEmojisMap.put(0x1f64c, R.drawable.emoji_1f64c); - sEmojisMap.put(0x1f64f, R.drawable.emoji_1f64f); - sEmojisMap.put(0x261d, R.drawable.emoji_261d); - sEmojisMap.put(0x1f44f, R.drawable.emoji_1f44f); - sEmojisMap.put(0x1f4aa, R.drawable.emoji_1f4aa); - sEmojisMap.put(0x1f6b6, R.drawable.emoji_1f6b6); - sEmojisMap.put(0x1f3c3, R.drawable.emoji_1f3c3); - sEmojisMap.put(0x1f483, R.drawable.emoji_1f483); - sEmojisMap.put(0x1f46b, R.drawable.emoji_1f46b); - sEmojisMap.put(0x1f46a, R.drawable.emoji_1f46a); - sEmojisMap.put(0x1f46c, R.drawable.emoji_1f46c); - sEmojisMap.put(0x1f46d, R.drawable.emoji_1f46d); - sEmojisMap.put(0x1f48f, R.drawable.emoji_1f48f); - sEmojisMap.put(0x1f491, R.drawable.emoji_1f491); - sEmojisMap.put(0x1f46f, R.drawable.emoji_1f46f); - sEmojisMap.put(0x1f646, R.drawable.emoji_1f646); - sEmojisMap.put(0x1f645, R.drawable.emoji_1f645); - sEmojisMap.put(0x1f481, R.drawable.emoji_1f481); - sEmojisMap.put(0x1f64b, R.drawable.emoji_1f64b); - sEmojisMap.put(0x1f486, R.drawable.emoji_1f486); - sEmojisMap.put(0x1f487, R.drawable.emoji_1f487); - sEmojisMap.put(0x1f485, R.drawable.emoji_1f485); - sEmojisMap.put(0x1f470, R.drawable.emoji_1f470); - sEmojisMap.put(0x1f64e, R.drawable.emoji_1f64e); - sEmojisMap.put(0x1f64d, R.drawable.emoji_1f64d); - sEmojisMap.put(0x1f647, R.drawable.emoji_1f647); - sEmojisMap.put(0x1f3a9, R.drawable.emoji_1f3a9); - sEmojisMap.put(0x1f451, R.drawable.emoji_1f451); - sEmojisMap.put(0x1f452, R.drawable.emoji_1f452); - sEmojisMap.put(0x1f45f, R.drawable.emoji_1f45f); - sEmojisMap.put(0x1f45e, R.drawable.emoji_1f45e); - sEmojisMap.put(0x1f461, R.drawable.emoji_1f461); - sEmojisMap.put(0x1f460, R.drawable.emoji_1f460); - sEmojisMap.put(0x1f462, R.drawable.emoji_1f462); - sEmojisMap.put(0x1f455, R.drawable.emoji_1f455); - sEmojisMap.put(0x1f454, R.drawable.emoji_1f454); - sEmojisMap.put(0x1f45a, R.drawable.emoji_1f45a); - sEmojisMap.put(0x1f457, R.drawable.emoji_1f457); - sEmojisMap.put(0x1f3bd, R.drawable.emoji_1f3bd); - sEmojisMap.put(0x1f456, R.drawable.emoji_1f456); - sEmojisMap.put(0x1f458, R.drawable.emoji_1f458); - sEmojisMap.put(0x1f459, R.drawable.emoji_1f459); - sEmojisMap.put(0x1f4bc, R.drawable.emoji_1f4bc); - sEmojisMap.put(0x1f45c, R.drawable.emoji_1f45c); - sEmojisMap.put(0x1f45d, R.drawable.emoji_1f45d); - sEmojisMap.put(0x1f45b, R.drawable.emoji_1f45b); - sEmojisMap.put(0x1f453, R.drawable.emoji_1f453); - sEmojisMap.put(0x1f380, R.drawable.emoji_1f380); - sEmojisMap.put(0x1f302, R.drawable.emoji_1f302); - sEmojisMap.put(0x1f484, R.drawable.emoji_1f484); - sEmojisMap.put(0x1f49b, R.drawable.emoji_1f49b); - sEmojisMap.put(0x1f499, R.drawable.emoji_1f499); - sEmojisMap.put(0x1f49c, R.drawable.emoji_1f49c); - sEmojisMap.put(0x1f49a, R.drawable.emoji_1f49a); - sEmojisMap.put(0x2764, R.drawable.emoji_2764); - sEmojisMap.put(0x1f494, R.drawable.emoji_1f494); - sEmojisMap.put(0x1f497, R.drawable.emoji_1f497); - sEmojisMap.put(0x1f493, R.drawable.emoji_1f493); - sEmojisMap.put(0x1f495, R.drawable.emoji_1f495); - sEmojisMap.put(0x1f496, R.drawable.emoji_1f496); - sEmojisMap.put(0x1f49e, R.drawable.emoji_1f49e); - sEmojisMap.put(0x1f498, R.drawable.emoji_1f498); - sEmojisMap.put(0x1f48c, R.drawable.emoji_1f48c); - sEmojisMap.put(0x1f48b, R.drawable.emoji_1f48b); - sEmojisMap.put(0x1f48d, R.drawable.emoji_1f48d); - sEmojisMap.put(0x1f48e, R.drawable.emoji_1f48e); - sEmojisMap.put(0x1f464, R.drawable.emoji_1f464); - sEmojisMap.put(0x1f465, R.drawable.emoji_1f465); - sEmojisMap.put(0x1f4ac, R.drawable.emoji_1f4ac); - sEmojisMap.put(0x1f463, R.drawable.emoji_1f463); - sEmojisMap.put(0x1f4ad, R.drawable.emoji_1f4ad); - - // Nature - sEmojisMap.put(0x1f436, R.drawable.emoji_1f436); - sEmojisMap.put(0x1f43a, R.drawable.emoji_1f43a); - sEmojisMap.put(0x1f431, R.drawable.emoji_1f431); - sEmojisMap.put(0x1f42d, R.drawable.emoji_1f42d); - sEmojisMap.put(0x1f439, R.drawable.emoji_1f439); - sEmojisMap.put(0x1f430, R.drawable.emoji_1f430); - sEmojisMap.put(0x1f438, R.drawable.emoji_1f438); - sEmojisMap.put(0x1f42f, R.drawable.emoji_1f42f); - sEmojisMap.put(0x1f428, R.drawable.emoji_1f428); - sEmojisMap.put(0x1f43b, R.drawable.emoji_1f43b); - sEmojisMap.put(0x1f437, R.drawable.emoji_1f437); - sEmojisMap.put(0x1f43d, R.drawable.emoji_1f43d); - sEmojisMap.put(0x1f42e, R.drawable.emoji_1f42e); - sEmojisMap.put(0x1f417, R.drawable.emoji_1f417); - sEmojisMap.put(0x1f435, R.drawable.emoji_1f435); - sEmojisMap.put(0x1f412, R.drawable.emoji_1f412); - sEmojisMap.put(0x1f434, R.drawable.emoji_1f434); - sEmojisMap.put(0x1f411, R.drawable.emoji_1f411); - sEmojisMap.put(0x1f418, R.drawable.emoji_1f418); - sEmojisMap.put(0x1f43c, R.drawable.emoji_1f43c); - sEmojisMap.put(0x1f427, R.drawable.emoji_1f427); - sEmojisMap.put(0x1f426, R.drawable.emoji_1f426); - sEmojisMap.put(0x1f424, R.drawable.emoji_1f424); - sEmojisMap.put(0x1f425, R.drawable.emoji_1f425); - sEmojisMap.put(0x1f423, R.drawable.emoji_1f423); - sEmojisMap.put(0x1f414, R.drawable.emoji_1f414); - sEmojisMap.put(0x1f40d, R.drawable.emoji_1f40d); - sEmojisMap.put(0x1f422, R.drawable.emoji_1f422); - sEmojisMap.put(0x1f41b, R.drawable.emoji_1f41b); - sEmojisMap.put(0x1f41d, R.drawable.emoji_1f41d); - sEmojisMap.put(0x1f41c, R.drawable.emoji_1f41c); - sEmojisMap.put(0x1f41e, R.drawable.emoji_1f41e); - sEmojisMap.put(0x1f40c, R.drawable.emoji_1f40c); - sEmojisMap.put(0x1f419, R.drawable.emoji_1f419); - sEmojisMap.put(0x1f41a, R.drawable.emoji_1f41a); - sEmojisMap.put(0x1f420, R.drawable.emoji_1f420); - sEmojisMap.put(0x1f41f, R.drawable.emoji_1f41f); - sEmojisMap.put(0x1f42c, R.drawable.emoji_1f42c); - sEmojisMap.put(0x1f433, R.drawable.emoji_1f433); - sEmojisMap.put(0x1f40b, R.drawable.emoji_1f40b); - sEmojisMap.put(0x1f404, R.drawable.emoji_1f404); - sEmojisMap.put(0x1f40f, R.drawable.emoji_1f40f); - sEmojisMap.put(0x1f400, R.drawable.emoji_1f400); - sEmojisMap.put(0x1f403, R.drawable.emoji_1f403); - sEmojisMap.put(0x1f405, R.drawable.emoji_1f405); - sEmojisMap.put(0x1f407, R.drawable.emoji_1f407); - sEmojisMap.put(0x1f409, R.drawable.emoji_1f409); - sEmojisMap.put(0x1f40e, R.drawable.emoji_1f40e); - sEmojisMap.put(0x1f410, R.drawable.emoji_1f410); - sEmojisMap.put(0x1f413, R.drawable.emoji_1f413); - sEmojisMap.put(0x1f415, R.drawable.emoji_1f415); - sEmojisMap.put(0x1f416, R.drawable.emoji_1f416); - sEmojisMap.put(0x1f401, R.drawable.emoji_1f401); - sEmojisMap.put(0x1f402, R.drawable.emoji_1f402); - sEmojisMap.put(0x1f432, R.drawable.emoji_1f432); - sEmojisMap.put(0x1f421, R.drawable.emoji_1f421); - sEmojisMap.put(0x1f40a, R.drawable.emoji_1f40a); - sEmojisMap.put(0x1f42b, R.drawable.emoji_1f42b); - sEmojisMap.put(0x1f42a, R.drawable.emoji_1f42a); - sEmojisMap.put(0x1f406, R.drawable.emoji_1f406); - sEmojisMap.put(0x1f408, R.drawable.emoji_1f408); - sEmojisMap.put(0x1f429, R.drawable.emoji_1f429); - sEmojisMap.put(0x1f43e, R.drawable.emoji_1f43e); - sEmojisMap.put(0x1f490, R.drawable.emoji_1f490); - sEmojisMap.put(0x1f338, R.drawable.emoji_1f338); - sEmojisMap.put(0x1f337, R.drawable.emoji_1f337); - sEmojisMap.put(0x1f340, R.drawable.emoji_1f340); - sEmojisMap.put(0x1f339, R.drawable.emoji_1f339); - sEmojisMap.put(0x1f33b, R.drawable.emoji_1f33b); - sEmojisMap.put(0x1f33a, R.drawable.emoji_1f33a); - sEmojisMap.put(0x1f341, R.drawable.emoji_1f341); - sEmojisMap.put(0x1f343, R.drawable.emoji_1f343); - sEmojisMap.put(0x1f342, R.drawable.emoji_1f342); - sEmojisMap.put(0x1f33f, R.drawable.emoji_1f33f); - sEmojisMap.put(0x1f33e, R.drawable.emoji_1f33e); - sEmojisMap.put(0x1f344, R.drawable.emoji_1f344); - sEmojisMap.put(0x1f335, R.drawable.emoji_1f335); - sEmojisMap.put(0x1f334, R.drawable.emoji_1f334); - sEmojisMap.put(0x1f332, R.drawable.emoji_1f332); - sEmojisMap.put(0x1f333, R.drawable.emoji_1f333); - sEmojisMap.put(0x1f330, R.drawable.emoji_1f330); - sEmojisMap.put(0x1f331, R.drawable.emoji_1f331); - sEmojisMap.put(0x1f33c, R.drawable.emoji_1f33c); - sEmojisMap.put(0x1f310, R.drawable.emoji_1f310); - sEmojisMap.put(0x1f31e, R.drawable.emoji_1f31e); - sEmojisMap.put(0x1f31d, R.drawable.emoji_1f31d); - sEmojisMap.put(0x1f31a, R.drawable.emoji_1f31a); - sEmojisMap.put(0x1f311, R.drawable.emoji_1f311); - sEmojisMap.put(0x1f312, R.drawable.emoji_1f312); - sEmojisMap.put(0x1f313, R.drawable.emoji_1f313); - sEmojisMap.put(0x1f314, R.drawable.emoji_1f314); - sEmojisMap.put(0x1f315, R.drawable.emoji_1f315); - sEmojisMap.put(0x1f316, R.drawable.emoji_1f316); - sEmojisMap.put(0x1f317, R.drawable.emoji_1f317); - sEmojisMap.put(0x1f318, R.drawable.emoji_1f318); - sEmojisMap.put(0x1f31c, R.drawable.emoji_1f31c); - sEmojisMap.put(0x1f31b, R.drawable.emoji_1f31b); - sEmojisMap.put(0x1f319, R.drawable.emoji_1f319); - sEmojisMap.put(0x1f30d, R.drawable.emoji_1f30d); - sEmojisMap.put(0x1f30e, R.drawable.emoji_1f30e); - sEmojisMap.put(0x1f30f, R.drawable.emoji_1f30f); - sEmojisMap.put(0x1f30b, R.drawable.emoji_1f30b); - sEmojisMap.put(0x1f30c, R.drawable.emoji_1f30c); - sEmojisMap.put(0x1f320, R.drawable.emoji_1f303); // TODO (rockerhieu) review this emoji - sEmojisMap.put(0x2b50, R.drawable.emoji_2b50); - sEmojisMap.put(0x2600, R.drawable.emoji_2600); - sEmojisMap.put(0x26c5, R.drawable.emoji_26c5); - sEmojisMap.put(0x2601, R.drawable.emoji_2601); - sEmojisMap.put(0x26a1, R.drawable.emoji_26a1); - sEmojisMap.put(0x2614, R.drawable.emoji_2614); - sEmojisMap.put(0x2744, R.drawable.emoji_2744); - sEmojisMap.put(0x26c4, R.drawable.emoji_26c4); - sEmojisMap.put(0x1f300, R.drawable.emoji_1f300); - sEmojisMap.put(0x1f301, R.drawable.emoji_1f301); - sEmojisMap.put(0x1f308, R.drawable.emoji_1f308); - sEmojisMap.put(0x1f30a, R.drawable.emoji_1f30a); - - // Objects - sEmojisMap.put(0x1f38d, R.drawable.emoji_1f38d); - sEmojisMap.put(0x1f49d, R.drawable.emoji_1f49d); - sEmojisMap.put(0x1f38e, R.drawable.emoji_1f38e); - sEmojisMap.put(0x1f392, R.drawable.emoji_1f392); - sEmojisMap.put(0x1f393, R.drawable.emoji_1f393); - sEmojisMap.put(0x1f38f, R.drawable.emoji_1f38f); - sEmojisMap.put(0x1f386, R.drawable.emoji_1f386); - sEmojisMap.put(0x1f387, R.drawable.emoji_1f387); - sEmojisMap.put(0x1f390, R.drawable.emoji_1f390); - sEmojisMap.put(0x1f391, R.drawable.emoji_1f391); - sEmojisMap.put(0x1f383, R.drawable.emoji_1f383); - sEmojisMap.put(0x1f47b, R.drawable.emoji_1f47b); - sEmojisMap.put(0x1f385, R.drawable.emoji_1f385); - sEmojisMap.put(0x1f384, R.drawable.emoji_1f384); - sEmojisMap.put(0x1f381, R.drawable.emoji_1f381); - sEmojisMap.put(0x1f38b, R.drawable.emoji_1f38b); - sEmojisMap.put(0x1f389, R.drawable.emoji_1f389); - sEmojisMap.put(0x1f38a, R.drawable.emoji_1f38a); - sEmojisMap.put(0x1f388, R.drawable.emoji_1f388); - sEmojisMap.put(0x1f38c, R.drawable.emoji_1f38c); - sEmojisMap.put(0x1f52e, R.drawable.emoji_1f52e); - sEmojisMap.put(0x1f3a5, R.drawable.emoji_1f3a5); - sEmojisMap.put(0x1f4f7, R.drawable.emoji_1f4f7); - sEmojisMap.put(0x1f4f9, R.drawable.emoji_1f4f9); - sEmojisMap.put(0x1f4fc, R.drawable.emoji_1f4fc); - sEmojisMap.put(0x1f4bf, R.drawable.emoji_1f4bf); - sEmojisMap.put(0x1f4c0, R.drawable.emoji_1f4c0); - sEmojisMap.put(0x1f4bd, R.drawable.emoji_1f4bd); - sEmojisMap.put(0x1f4be, R.drawable.emoji_1f4be); - sEmojisMap.put(0x1f4bb, R.drawable.emoji_1f4bb); - sEmojisMap.put(0x1f4f1, R.drawable.emoji_1f4f1); - sEmojisMap.put(0x260e, R.drawable.emoji_260e); - sEmojisMap.put(0x1f4de, R.drawable.emoji_1f4de); - sEmojisMap.put(0x1f4df, R.drawable.emoji_1f4df); - sEmojisMap.put(0x1f4e0, R.drawable.emoji_1f4e0); - sEmojisMap.put(0x1f4e1, R.drawable.emoji_1f4e1); - sEmojisMap.put(0x1f4fa, R.drawable.emoji_1f4fa); - sEmojisMap.put(0x1f4fb, R.drawable.emoji_1f4fb); - sEmojisMap.put(0x1f50a, R.drawable.emoji_1f50a); - sEmojisMap.put(0x1f509, R.drawable.emoji_1f509); - sEmojisMap.put(0x1f508, R.drawable.emoji_1f508); // TODO (rockerhieu): review this emoji - sEmojisMap.put(0x1f507, R.drawable.emoji_1f507); - sEmojisMap.put(0x1f514, R.drawable.emoji_1f514); - sEmojisMap.put(0x1f515, R.drawable.emoji_1f515); - sEmojisMap.put(0x1f4e2, R.drawable.emoji_1f4e2); - sEmojisMap.put(0x1f4e3, R.drawable.emoji_1f4e3); - sEmojisMap.put(0x23f3, R.drawable.emoji_23f3); - sEmojisMap.put(0x231b, R.drawable.emoji_231b); - sEmojisMap.put(0x23f0, R.drawable.emoji_23f0); - sEmojisMap.put(0x231a, R.drawable.emoji_231a); - sEmojisMap.put(0x1f513, R.drawable.emoji_1f513); - sEmojisMap.put(0x1f512, R.drawable.emoji_1f512); - sEmojisMap.put(0x1f50f, R.drawable.emoji_1f50f); - sEmojisMap.put(0x1f510, R.drawable.emoji_1f510); - sEmojisMap.put(0x1f511, R.drawable.emoji_1f511); - sEmojisMap.put(0x1f50e, R.drawable.emoji_1f50e); - sEmojisMap.put(0x1f4a1, R.drawable.emoji_1f4a1); - sEmojisMap.put(0x1f526, R.drawable.emoji_1f526); - sEmojisMap.put(0x1f506, R.drawable.emoji_1f506); - sEmojisMap.put(0x1f505, R.drawable.emoji_1f505); - sEmojisMap.put(0x1f50c, R.drawable.emoji_1f50c); - sEmojisMap.put(0x1f50b, R.drawable.emoji_1f50b); - sEmojisMap.put(0x1f50d, R.drawable.emoji_1f50d); - sEmojisMap.put(0x1f6c1, R.drawable.emoji_1f6c1); - sEmojisMap.put(0x1f6c0, R.drawable.emoji_1f6c0); - sEmojisMap.put(0x1f6bf, R.drawable.emoji_1f6bf); - sEmojisMap.put(0x1f6bd, R.drawable.emoji_1f6bd); - sEmojisMap.put(0x1f527, R.drawable.emoji_1f527); - sEmojisMap.put(0x1f529, R.drawable.emoji_1f529); - sEmojisMap.put(0x1f528, R.drawable.emoji_1f528); - sEmojisMap.put(0x1f6aa, R.drawable.emoji_1f6aa); - sEmojisMap.put(0x1f6ac, R.drawable.emoji_1f6ac); - sEmojisMap.put(0x1f4a3, R.drawable.emoji_1f4a3); - sEmojisMap.put(0x1f52b, R.drawable.emoji_1f52b); - sEmojisMap.put(0x1f52a, R.drawable.emoji_1f52a); - sEmojisMap.put(0x1f48a, R.drawable.emoji_1f48a); - sEmojisMap.put(0x1f489, R.drawable.emoji_1f489); - sEmojisMap.put(0x1f4b0, R.drawable.emoji_1f4b0); - sEmojisMap.put(0x1f4b4, R.drawable.emoji_1f4b4); - sEmojisMap.put(0x1f4b5, R.drawable.emoji_1f4b5); - sEmojisMap.put(0x1f4b7, R.drawable.emoji_1f4b7); - sEmojisMap.put(0x1f4b6, R.drawable.emoji_1f4b6); - sEmojisMap.put(0x1f4b3, R.drawable.emoji_1f4b3); - sEmojisMap.put(0x1f4b8, R.drawable.emoji_1f4b8); - sEmojisMap.put(0x1f4f2, R.drawable.emoji_1f4f2); - sEmojisMap.put(0x1f4e7, R.drawable.emoji_1f4e7); - sEmojisMap.put(0x1f4e5, R.drawable.emoji_1f4e5); - sEmojisMap.put(0x1f4e4, R.drawable.emoji_1f4e4); - sEmojisMap.put(0x2709, R.drawable.emoji_2709); - sEmojisMap.put(0x1f4e9, R.drawable.emoji_1f4e9); - sEmojisMap.put(0x1f4e8, R.drawable.emoji_1f4e8); - sEmojisMap.put(0x1f4ef, R.drawable.emoji_1f4ef); - sEmojisMap.put(0x1f4eb, R.drawable.emoji_1f4eb); - sEmojisMap.put(0x1f4ea, R.drawable.emoji_1f4ea); - sEmojisMap.put(0x1f4ec, R.drawable.emoji_1f4ec); - sEmojisMap.put(0x1f4ed, R.drawable.emoji_1f4ed); - sEmojisMap.put(0x1f4ee, R.drawable.emoji_1f4ee); - sEmojisMap.put(0x1f4e6, R.drawable.emoji_1f4e6); - sEmojisMap.put(0x1f4dd, R.drawable.emoji_1f4dd); - sEmojisMap.put(0x1f4c4, R.drawable.emoji_1f4c4); - sEmojisMap.put(0x1f4c3, R.drawable.emoji_1f4c3); - sEmojisMap.put(0x1f4d1, R.drawable.emoji_1f4d1); - sEmojisMap.put(0x1f4ca, R.drawable.emoji_1f4ca); - sEmojisMap.put(0x1f4c8, R.drawable.emoji_1f4c8); - sEmojisMap.put(0x1f4c9, R.drawable.emoji_1f4c9); - sEmojisMap.put(0x1f4dc, R.drawable.emoji_1f4dc); - sEmojisMap.put(0x1f4cb, R.drawable.emoji_1f4cb); - sEmojisMap.put(0x1f4c5, R.drawable.emoji_1f4c5); - sEmojisMap.put(0x1f4c6, R.drawable.emoji_1f4c6); - sEmojisMap.put(0x1f4c7, R.drawable.emoji_1f4c7); - sEmojisMap.put(0x1f4c1, R.drawable.emoji_1f4c1); - sEmojisMap.put(0x1f4c2, R.drawable.emoji_1f4c2); - sEmojisMap.put(0x2702, R.drawable.emoji_2702); - sEmojisMap.put(0x1f4cc, R.drawable.emoji_1f4cc); - sEmojisMap.put(0x1f4ce, R.drawable.emoji_1f4ce); - sEmojisMap.put(0x2712, R.drawable.emoji_2712); - sEmojisMap.put(0x270f, R.drawable.emoji_270f); - sEmojisMap.put(0x1f4cf, R.drawable.emoji_1f4cf); - sEmojisMap.put(0x1f4d0, R.drawable.emoji_1f4d0); - sEmojisMap.put(0x1f4d5, R.drawable.emoji_1f4d5); - sEmojisMap.put(0x1f4d7, R.drawable.emoji_1f4d7); - sEmojisMap.put(0x1f4d8, R.drawable.emoji_1f4d8); - sEmojisMap.put(0x1f4d9, R.drawable.emoji_1f4d9); - sEmojisMap.put(0x1f4d3, R.drawable.emoji_1f4d3); - sEmojisMap.put(0x1f4d4, R.drawable.emoji_1f4d4); - sEmojisMap.put(0x1f4d2, R.drawable.emoji_1f4d2); - sEmojisMap.put(0x1f4da, R.drawable.emoji_1f4da); - sEmojisMap.put(0x1f4d6, R.drawable.emoji_1f4d6); - sEmojisMap.put(0x1f516, R.drawable.emoji_1f516); - sEmojisMap.put(0x1f4db, R.drawable.emoji_1f4db); - sEmojisMap.put(0x1f52c, R.drawable.emoji_1f52c); - sEmojisMap.put(0x1f52d, R.drawable.emoji_1f52d); - sEmojisMap.put(0x1f4f0, R.drawable.emoji_1f4f0); - sEmojisMap.put(0x1f3a8, R.drawable.emoji_1f3a8); - sEmojisMap.put(0x1f3ac, R.drawable.emoji_1f3ac); - sEmojisMap.put(0x1f3a4, R.drawable.emoji_1f3a4); - sEmojisMap.put(0x1f3a7, R.drawable.emoji_1f3a7); - sEmojisMap.put(0x1f3bc, R.drawable.emoji_1f3bc); - sEmojisMap.put(0x1f3b5, R.drawable.emoji_1f3b5); - sEmojisMap.put(0x1f3b6, R.drawable.emoji_1f3b6); - sEmojisMap.put(0x1f3b9, R.drawable.emoji_1f3b9); - sEmojisMap.put(0x1f3bb, R.drawable.emoji_1f3bb); - sEmojisMap.put(0x1f3ba, R.drawable.emoji_1f3ba); - sEmojisMap.put(0x1f3b7, R.drawable.emoji_1f3b7); - sEmojisMap.put(0x1f3b8, R.drawable.emoji_1f3b8); - sEmojisMap.put(0x1f47e, R.drawable.emoji_1f47e); - sEmojisMap.put(0x1f3ae, R.drawable.emoji_1f3ae); - sEmojisMap.put(0x1f0cf, R.drawable.emoji_1f0cf); - sEmojisMap.put(0x1f3b4, R.drawable.emoji_1f3b4); - sEmojisMap.put(0x1f004, R.drawable.emoji_1f004); - sEmojisMap.put(0x1f3b2, R.drawable.emoji_1f3b2); - sEmojisMap.put(0x1f3af, R.drawable.emoji_1f3af); - sEmojisMap.put(0x1f3c8, R.drawable.emoji_1f3c8); - sEmojisMap.put(0x1f3c0, R.drawable.emoji_1f3c0); - sEmojisMap.put(0x26bd, R.drawable.emoji_26bd); - sEmojisMap.put(0x26be, R.drawable.emoji_26be); - sEmojisMap.put(0x1f3be, R.drawable.emoji_1f3be); - sEmojisMap.put(0x1f3b1, R.drawable.emoji_1f3b1); - sEmojisMap.put(0x1f3c9, R.drawable.emoji_1f3c9); - sEmojisMap.put(0x1f3b3, R.drawable.emoji_1f3b3); - sEmojisMap.put(0x26f3, R.drawable.emoji_26f3); - sEmojisMap.put(0x1f6b5, R.drawable.emoji_1f6b5); - sEmojisMap.put(0x1f6b4, R.drawable.emoji_1f6b4); - sEmojisMap.put(0x1f3c1, R.drawable.emoji_1f3c1); - sEmojisMap.put(0x1f3c7, R.drawable.emoji_1f3c7); - sEmojisMap.put(0x1f3c6, R.drawable.emoji_1f3c6); - sEmojisMap.put(0x1f3bf, R.drawable.emoji_1f3bf); - sEmojisMap.put(0x1f3c2, R.drawable.emoji_1f3c2); - sEmojisMap.put(0x1f3ca, R.drawable.emoji_1f3ca); - sEmojisMap.put(0x1f3c4, R.drawable.emoji_1f3c4); - sEmojisMap.put(0x1f3a3, R.drawable.emoji_1f3a3); - sEmojisMap.put(0x2615, R.drawable.emoji_2615); - sEmojisMap.put(0x1f375, R.drawable.emoji_1f375); - sEmojisMap.put(0x1f376, R.drawable.emoji_1f376); - sEmojisMap.put(0x1f37c, R.drawable.emoji_1f37c); - sEmojisMap.put(0x1f37a, R.drawable.emoji_1f37a); - sEmojisMap.put(0x1f37b, R.drawable.emoji_1f37b); - sEmojisMap.put(0x1f378, R.drawable.emoji_1f378); - sEmojisMap.put(0x1f379, R.drawable.emoji_1f379); - sEmojisMap.put(0x1f377, R.drawable.emoji_1f377); - sEmojisMap.put(0x1f374, R.drawable.emoji_1f374); - sEmojisMap.put(0x1f355, R.drawable.emoji_1f355); - sEmojisMap.put(0x1f354, R.drawable.emoji_1f354); - sEmojisMap.put(0x1f35f, R.drawable.emoji_1f35f); - sEmojisMap.put(0x1f357, R.drawable.emoji_1f357); - sEmojisMap.put(0x1f356, R.drawable.emoji_1f356); - sEmojisMap.put(0x1f35d, R.drawable.emoji_1f35d); - sEmojisMap.put(0x1f35b, R.drawable.emoji_1f35b); - sEmojisMap.put(0x1f364, R.drawable.emoji_1f364); - sEmojisMap.put(0x1f371, R.drawable.emoji_1f371); - sEmojisMap.put(0x1f363, R.drawable.emoji_1f363); - sEmojisMap.put(0x1f365, R.drawable.emoji_1f365); - sEmojisMap.put(0x1f359, R.drawable.emoji_1f359); - sEmojisMap.put(0x1f358, R.drawable.emoji_1f358); - sEmojisMap.put(0x1f35a, R.drawable.emoji_1f35a); - sEmojisMap.put(0x1f35c, R.drawable.emoji_1f35c); - sEmojisMap.put(0x1f372, R.drawable.emoji_1f372); - sEmojisMap.put(0x1f362, R.drawable.emoji_1f362); - sEmojisMap.put(0x1f361, R.drawable.emoji_1f361); - sEmojisMap.put(0x1f373, R.drawable.emoji_1f373); - sEmojisMap.put(0x1f35e, R.drawable.emoji_1f35e); - sEmojisMap.put(0x1f369, R.drawable.emoji_1f369); - sEmojisMap.put(0x1f36e, R.drawable.emoji_1f36e); - sEmojisMap.put(0x1f366, R.drawable.emoji_1f366); - sEmojisMap.put(0x1f368, R.drawable.emoji_1f368); - sEmojisMap.put(0x1f367, R.drawable.emoji_1f367); - sEmojisMap.put(0x1f382, R.drawable.emoji_1f382); - sEmojisMap.put(0x1f370, R.drawable.emoji_1f370); - sEmojisMap.put(0x1f36a, R.drawable.emoji_1f36a); - sEmojisMap.put(0x1f36b, R.drawable.emoji_1f36b); - sEmojisMap.put(0x1f36c, R.drawable.emoji_1f36c); - sEmojisMap.put(0x1f36d, R.drawable.emoji_1f36d); - sEmojisMap.put(0x1f36f, R.drawable.emoji_1f36f); - sEmojisMap.put(0x1f34e, R.drawable.emoji_1f34e); - sEmojisMap.put(0x1f34f, R.drawable.emoji_1f34f); - sEmojisMap.put(0x1f34a, R.drawable.emoji_1f34a); - sEmojisMap.put(0x1f34b, R.drawable.emoji_1f34b); - sEmojisMap.put(0x1f352, R.drawable.emoji_1f352); - sEmojisMap.put(0x1f347, R.drawable.emoji_1f347); - sEmojisMap.put(0x1f349, R.drawable.emoji_1f349); - sEmojisMap.put(0x1f353, R.drawable.emoji_1f353); - sEmojisMap.put(0x1f351, R.drawable.emoji_1f351); - sEmojisMap.put(0x1f348, R.drawable.emoji_1f348); - sEmojisMap.put(0x1f34c, R.drawable.emoji_1f34c); - sEmojisMap.put(0x1f350, R.drawable.emoji_1f350); - sEmojisMap.put(0x1f34d, R.drawable.emoji_1f34d); - sEmojisMap.put(0x1f360, R.drawable.emoji_1f360); - sEmojisMap.put(0x1f346, R.drawable.emoji_1f346); - sEmojisMap.put(0x1f345, R.drawable.emoji_1f345); - sEmojisMap.put(0x1f33d, R.drawable.emoji_1f33d); - - // Places - sEmojisMap.put(0x1f3e0, R.drawable.emoji_1f3e0); - sEmojisMap.put(0x1f3e1, R.drawable.emoji_1f3e1); - sEmojisMap.put(0x1f3eb, R.drawable.emoji_1f3eb); - sEmojisMap.put(0x1f3e2, R.drawable.emoji_1f3e2); - sEmojisMap.put(0x1f3e3, R.drawable.emoji_1f3e3); - sEmojisMap.put(0x1f3e5, R.drawable.emoji_1f3e5); - sEmojisMap.put(0x1f3e6, R.drawable.emoji_1f3e6); - sEmojisMap.put(0x1f3ea, R.drawable.emoji_1f3ea); - sEmojisMap.put(0x1f3e9, R.drawable.emoji_1f3e9); - sEmojisMap.put(0x1f3e8, R.drawable.emoji_1f3e8); - sEmojisMap.put(0x1f492, R.drawable.emoji_1f492); - sEmojisMap.put(0x26ea, R.drawable.emoji_26ea); - sEmojisMap.put(0x1f3ec, R.drawable.emoji_1f3ec); - sEmojisMap.put(0x1f3e4, R.drawable.emoji_1f3e4); - sEmojisMap.put(0x1f307, R.drawable.emoji_1f307); - sEmojisMap.put(0x1f306, R.drawable.emoji_1f306); - sEmojisMap.put(0x1f3ef, R.drawable.emoji_1f3ef); - sEmojisMap.put(0x1f3f0, R.drawable.emoji_1f3f0); - sEmojisMap.put(0x26fa, R.drawable.emoji_26fa); - sEmojisMap.put(0x1f3ed, R.drawable.emoji_1f3ed); - sEmojisMap.put(0x1f5fc, R.drawable.emoji_1f5fc); - sEmojisMap.put(0x1f5fe, R.drawable.emoji_1f5fe); - sEmojisMap.put(0x1f5fb, R.drawable.emoji_1f5fb); - sEmojisMap.put(0x1f304, R.drawable.emoji_1f304); - sEmojisMap.put(0x1f305, R.drawable.emoji_1f305); - sEmojisMap.put(0x1f303, R.drawable.emoji_1f303); - sEmojisMap.put(0x1f5fd, R.drawable.emoji_1f5fd); - sEmojisMap.put(0x1f309, R.drawable.emoji_1f309); - sEmojisMap.put(0x1f3a0, R.drawable.emoji_1f3a0); - sEmojisMap.put(0x1f3a1, R.drawable.emoji_1f3a1); - sEmojisMap.put(0x26f2, R.drawable.emoji_26f2); - sEmojisMap.put(0x1f3a2, R.drawable.emoji_1f3a2); - sEmojisMap.put(0x1f6a2, R.drawable.emoji_1f6a2); - sEmojisMap.put(0x26f5, R.drawable.emoji_26f5); - sEmojisMap.put(0x1f6a4, R.drawable.emoji_1f6a4); - sEmojisMap.put(0x1f6a3, R.drawable.emoji_1f6a3); - sEmojisMap.put(0x2693, R.drawable.emoji_2693); - sEmojisMap.put(0x1f680, R.drawable.emoji_1f680); - sEmojisMap.put(0x2708, R.drawable.emoji_2708); - sEmojisMap.put(0x1f4ba, R.drawable.emoji_1f4ba); - sEmojisMap.put(0x1f681, R.drawable.emoji_1f681); - sEmojisMap.put(0x1f682, R.drawable.emoji_1f682); - sEmojisMap.put(0x1f68a, R.drawable.emoji_1f68a); - sEmojisMap.put(0x1f689, R.drawable.emoji_1f689); - sEmojisMap.put(0x1f69e, R.drawable.emoji_1f69e); - sEmojisMap.put(0x1f686, R.drawable.emoji_1f686); - sEmojisMap.put(0x1f684, R.drawable.emoji_1f684); - sEmojisMap.put(0x1f685, R.drawable.emoji_1f685); - sEmojisMap.put(0x1f688, R.drawable.emoji_1f688); - sEmojisMap.put(0x1f687, R.drawable.emoji_1f687); - sEmojisMap.put(0x1f69d, R.drawable.emoji_1f69d); - sEmojisMap.put(0x1f68b, R.drawable.emoji_1f68b); // TODO (rockerhieu) review this emoji - sEmojisMap.put(0x1f683, R.drawable.emoji_1f683); - sEmojisMap.put(0x1f68e, R.drawable.emoji_1f68e); - sEmojisMap.put(0x1f68c, R.drawable.emoji_1f68c); - sEmojisMap.put(0x1f68d, R.drawable.emoji_1f68d); - sEmojisMap.put(0x1f699, R.drawable.emoji_1f699); - sEmojisMap.put(0x1f698, R.drawable.emoji_1f698); - sEmojisMap.put(0x1f697, R.drawable.emoji_1f697); - sEmojisMap.put(0x1f695, R.drawable.emoji_1f695); - sEmojisMap.put(0x1f696, R.drawable.emoji_1f696); - sEmojisMap.put(0x1f69b, R.drawable.emoji_1f69b); - sEmojisMap.put(0x1f69a, R.drawable.emoji_1f69a); - sEmojisMap.put(0x1f6a8, R.drawable.emoji_1f6a8); - sEmojisMap.put(0x1f693, R.drawable.emoji_1f693); - sEmojisMap.put(0x1f694, R.drawable.emoji_1f694); - sEmojisMap.put(0x1f692, R.drawable.emoji_1f692); - sEmojisMap.put(0x1f691, R.drawable.emoji_1f691); - sEmojisMap.put(0x1f690, R.drawable.emoji_1f690); - sEmojisMap.put(0x1f6b2, R.drawable.emoji_1f6b2); - sEmojisMap.put(0x1f6a1, R.drawable.emoji_1f6a1); - sEmojisMap.put(0x1f69f, R.drawable.emoji_1f69f); - sEmojisMap.put(0x1f6a0, R.drawable.emoji_1f6a0); - sEmojisMap.put(0x1f69c, R.drawable.emoji_1f69c); - sEmojisMap.put(0x1f488, R.drawable.emoji_1f488); - sEmojisMap.put(0x1f68f, R.drawable.emoji_1f68f); - sEmojisMap.put(0x1f3ab, R.drawable.emoji_1f3ab); - sEmojisMap.put(0x1f6a6, R.drawable.emoji_1f6a6); - sEmojisMap.put(0x1f6a5, R.drawable.emoji_1f6a5); - sEmojisMap.put(0x26a0, R.drawable.emoji_26a0); - sEmojisMap.put(0x1f6a7, R.drawable.emoji_1f6a7); - sEmojisMap.put(0x1f530, R.drawable.emoji_1f530); - sEmojisMap.put(0x26fd, R.drawable.emoji_26fd); - sEmojisMap.put(0x1f3ee, R.drawable.emoji_1f3ee); - sEmojisMap.put(0x1f3b0, R.drawable.emoji_1f3b0); - sEmojisMap.put(0x2668, R.drawable.emoji_2668); - sEmojisMap.put(0x1f5ff, R.drawable.emoji_1f5ff); - sEmojisMap.put(0x1f3aa, R.drawable.emoji_1f3aa); - sEmojisMap.put(0x1f3ad, R.drawable.emoji_1f3ad); - sEmojisMap.put(0x1f4cd, R.drawable.emoji_1f4cd); - sEmojisMap.put(0x1f6a9, R.drawable.emoji_1f6a9); -// Emoji.fromChars("\ud83c\uddef\ud83c\uddf5"); -// Emoji.fromChars("\ud83c\uddf0\ud83c\uddf7"); -// Emoji.fromChars("\ud83c\udde9\ud83c\uddea"); -// Emoji.fromChars("\ud83c\udde8\ud83c\uddf3"); -// Emoji.fromChars("\ud83c\uddfa\ud83c\uddf8"); -// Emoji.fromChars("\ud83c\uddeb\ud83c\uddf7"); -// Emoji.fromChars("\ud83c\uddea\ud83c\uddf8"); -// Emoji.fromChars("\ud83c\uddee\ud83c\uddf9"); -// Emoji.fromChars("\ud83c\uddf7\ud83c\uddfa"); -// Emoji.fromChars("\ud83c\uddec\ud83c\udde7"); - - // Symbols -// Emoji.fromChars("\u0031\u20e3"), -// Emoji.fromChars("\u0032\u20e3"), -// Emoji.fromChars("\u0033\u20e3"), -// Emoji.fromChars("\u0034\u20e3"), -// Emoji.fromChars("\u0035\u20e3"), -// Emoji.fromChars("\u0036\u20e3"), -// Emoji.fromChars("\u0037\u20e3"), -// Emoji.fromChars("\u0038\u20e3"), -// Emoji.fromChars("\u0039\u20e3"), -// Emoji.fromChars("\u0030\u20e3"), - sEmojisMap.put(0x1f51f, R.drawable.emoji_1f51f); - sEmojisMap.put(0x1f522, R.drawable.emoji_1f522); -// Emoji.fromChars("\u0023\u20e3"), - sEmojisMap.put(0x1f523, R.drawable.emoji_1f523); - sEmojisMap.put(0x2b06, R.drawable.emoji_2b06); - sEmojisMap.put(0x2b07, R.drawable.emoji_2b07); - sEmojisMap.put(0x2b05, R.drawable.emoji_2b05); - sEmojisMap.put(0x27a1, R.drawable.emoji_27a1); - sEmojisMap.put(0x1f520, R.drawable.emoji_1f520); - sEmojisMap.put(0x1f521, R.drawable.emoji_1f521); - sEmojisMap.put(0x1f524, R.drawable.emoji_1f524); - sEmojisMap.put(0x2197, R.drawable.emoji_2197); - sEmojisMap.put(0x2196, R.drawable.emoji_2196); - sEmojisMap.put(0x2198, R.drawable.emoji_2198); - sEmojisMap.put(0x2199, R.drawable.emoji_2199); - sEmojisMap.put(0x2194, R.drawable.emoji_2194); - sEmojisMap.put(0x2195, R.drawable.emoji_2195); - sEmojisMap.put(0x1f504, R.drawable.emoji_1f504); - sEmojisMap.put(0x25c0, R.drawable.emoji_25c0); - sEmojisMap.put(0x25b6, R.drawable.emoji_25b6); - sEmojisMap.put(0x1f53c, R.drawable.emoji_1f53c); - sEmojisMap.put(0x1f53d, R.drawable.emoji_1f53d); - sEmojisMap.put(0x21a9, R.drawable.emoji_21a9); - sEmojisMap.put(0x21aa, R.drawable.emoji_21aa); - sEmojisMap.put(0x2139, R.drawable.emoji_2139); - sEmojisMap.put(0x23ea, R.drawable.emoji_23ea); - sEmojisMap.put(0x23e9, R.drawable.emoji_23e9); - sEmojisMap.put(0x23eb, R.drawable.emoji_23eb); - sEmojisMap.put(0x23ec, R.drawable.emoji_23ec); - sEmojisMap.put(0x2935, R.drawable.emoji_2935); - sEmojisMap.put(0x2934, R.drawable.emoji_2934); - sEmojisMap.put(0x1f197, R.drawable.emoji_1f197); - sEmojisMap.put(0x1f500, R.drawable.emoji_1f500); - sEmojisMap.put(0x1f501, R.drawable.emoji_1f501); - sEmojisMap.put(0x1f502, R.drawable.emoji_1f502); - sEmojisMap.put(0x1f195, R.drawable.emoji_1f195); - sEmojisMap.put(0x1f199, R.drawable.emoji_1f199); - sEmojisMap.put(0x1f192, R.drawable.emoji_1f192); - sEmojisMap.put(0x1f193, R.drawable.emoji_1f193); - sEmojisMap.put(0x1f196, R.drawable.emoji_1f196); - sEmojisMap.put(0x1f4f6, R.drawable.emoji_1f4f6); - sEmojisMap.put(0x1f3a6, R.drawable.emoji_1f3a6); - sEmojisMap.put(0x1f201, R.drawable.emoji_1f201); - sEmojisMap.put(0x1f22f, R.drawable.emoji_1f22f); - sEmojisMap.put(0x1f233, R.drawable.emoji_1f233); - sEmojisMap.put(0x1f235, R.drawable.emoji_1f235); - sEmojisMap.put(0x1f234, R.drawable.emoji_1f234); - sEmojisMap.put(0x1f232, R.drawable.emoji_1f232); - sEmojisMap.put(0x1f250, R.drawable.emoji_1f250); - sEmojisMap.put(0x1f239, R.drawable.emoji_1f239); - sEmojisMap.put(0x1f23a, R.drawable.emoji_1f23a); - sEmojisMap.put(0x1f236, R.drawable.emoji_1f236); - sEmojisMap.put(0x1f21a, R.drawable.emoji_1f21a); - sEmojisMap.put(0x1f6bb, R.drawable.emoji_1f6bb); - sEmojisMap.put(0x1f6b9, R.drawable.emoji_1f6b9); - sEmojisMap.put(0x1f6ba, R.drawable.emoji_1f6ba); - sEmojisMap.put(0x1f6bc, R.drawable.emoji_1f6bc); - sEmojisMap.put(0x1f6be, R.drawable.emoji_1f6be); - sEmojisMap.put(0x1f6b0, R.drawable.emoji_1f6b0); - sEmojisMap.put(0x1f6ae, R.drawable.emoji_1f6ae); - sEmojisMap.put(0x1f17f, R.drawable.emoji_1f17f); - sEmojisMap.put(0x267f, R.drawable.emoji_267f); - sEmojisMap.put(0x1f6ad, R.drawable.emoji_1f6ad); - sEmojisMap.put(0x1f237, R.drawable.emoji_1f237); - sEmojisMap.put(0x1f238, R.drawable.emoji_1f238); - sEmojisMap.put(0x1f202, R.drawable.emoji_1f202); - sEmojisMap.put(0x24c2, R.drawable.emoji_24c2); - sEmojisMap.put(0x1f6c2, R.drawable.emoji_1f6c2); - sEmojisMap.put(0x1f6c4, R.drawable.emoji_1f6c4); - sEmojisMap.put(0x1f6c5, R.drawable.emoji_1f6c5); - sEmojisMap.put(0x1f6c3, R.drawable.emoji_1f6c3); - sEmojisMap.put(0x1f251, R.drawable.emoji_1f251); - sEmojisMap.put(0x3299, R.drawable.emoji_3299); - sEmojisMap.put(0x3297, R.drawable.emoji_3297); - sEmojisMap.put(0x1f191, R.drawable.emoji_1f191); - sEmojisMap.put(0x1f198, R.drawable.emoji_1f198); - sEmojisMap.put(0x1f194, R.drawable.emoji_1f194); - sEmojisMap.put(0x1f6ab, R.drawable.emoji_1f6ab); - sEmojisMap.put(0x1f51e, R.drawable.emoji_1f51e); - sEmojisMap.put(0x1f4f5, R.drawable.emoji_1f4f5); - sEmojisMap.put(0x1f6af, R.drawable.emoji_1f6af); - sEmojisMap.put(0x1f6b1, R.drawable.emoji_1f6b1); - sEmojisMap.put(0x1f6b3, R.drawable.emoji_1f6b3); - sEmojisMap.put(0x1f6b7, R.drawable.emoji_1f6b7); - sEmojisMap.put(0x1f6b8, R.drawable.emoji_1f6b8); - sEmojisMap.put(0x26d4, R.drawable.emoji_26d4); - sEmojisMap.put(0x2733, R.drawable.emoji_2733); - sEmojisMap.put(0x2747, R.drawable.emoji_2747); - sEmojisMap.put(0x274e, R.drawable.emoji_274e); - sEmojisMap.put(0x2705, R.drawable.emoji_2705); - sEmojisMap.put(0x2734, R.drawable.emoji_2734); - sEmojisMap.put(0x1f49f, R.drawable.emoji_1f49f); - sEmojisMap.put(0x1f19a, R.drawable.emoji_1f19a); - sEmojisMap.put(0x1f4f3, R.drawable.emoji_1f4f3); - sEmojisMap.put(0x1f4f4, R.drawable.emoji_1f4f4); - sEmojisMap.put(0x1f170, R.drawable.emoji_1f170); - sEmojisMap.put(0x1f171, R.drawable.emoji_1f171); - sEmojisMap.put(0x1f18e, R.drawable.emoji_1f18e); - sEmojisMap.put(0x1f17e, R.drawable.emoji_1f17e); - sEmojisMap.put(0x1f4a0, R.drawable.emoji_1f4a0); - sEmojisMap.put(0x27bf, R.drawable.emoji_27bf); - sEmojisMap.put(0x267b, R.drawable.emoji_267b); - sEmojisMap.put(0x2648, R.drawable.emoji_2648); - sEmojisMap.put(0x2649, R.drawable.emoji_2649); - sEmojisMap.put(0x264a, R.drawable.emoji_264a); - sEmojisMap.put(0x264b, R.drawable.emoji_264b); - sEmojisMap.put(0x264c, R.drawable.emoji_264c); - sEmojisMap.put(0x264d, R.drawable.emoji_264d); - sEmojisMap.put(0x264e, R.drawable.emoji_264e); - sEmojisMap.put(0x264f, R.drawable.emoji_264f); - sEmojisMap.put(0x2650, R.drawable.emoji_2650); - sEmojisMap.put(0x2651, R.drawable.emoji_2651); - sEmojisMap.put(0x2652, R.drawable.emoji_2652); - sEmojisMap.put(0x2653, R.drawable.emoji_2653); - sEmojisMap.put(0x26ce, R.drawable.emoji_26ce); - sEmojisMap.put(0x1f52f, R.drawable.emoji_1f52f); - sEmojisMap.put(0x1f3e7, R.drawable.emoji_1f3e7); - sEmojisMap.put(0x1f4b9, R.drawable.emoji_1f4b9); - sEmojisMap.put(0x1f4b2, R.drawable.emoji_1f4b2); - sEmojisMap.put(0x1f4b1, R.drawable.emoji_1f4b1); - sEmojisMap.put(0x00a9, R.drawable.emoji_00a9); - sEmojisMap.put(0x00ae, R.drawable.emoji_00ae); - sEmojisMap.put(0x2122, R.drawable.emoji_2122); - sEmojisMap.put(0x274c, R.drawable.emoji_274c); - sEmojisMap.put(0x203c, R.drawable.emoji_203c); - sEmojisMap.put(0x2049, R.drawable.emoji_2049); - sEmojisMap.put(0x2757, R.drawable.emoji_2757); - sEmojisMap.put(0x2753, R.drawable.emoji_2753); - sEmojisMap.put(0x2755, R.drawable.emoji_2755); - sEmojisMap.put(0x2754, R.drawable.emoji_2754); - sEmojisMap.put(0x2b55, R.drawable.emoji_2b55); - sEmojisMap.put(0x1f51d, R.drawable.emoji_1f51d); - sEmojisMap.put(0x1f51a, R.drawable.emoji_1f51a); - sEmojisMap.put(0x1f519, R.drawable.emoji_1f519); - sEmojisMap.put(0x1f51b, R.drawable.emoji_1f51b); - sEmojisMap.put(0x1f51c, R.drawable.emoji_1f51c); - sEmojisMap.put(0x1f503, R.drawable.emoji_1f503); - sEmojisMap.put(0x1f55b, R.drawable.emoji_1f55b); - sEmojisMap.put(0x1f567, R.drawable.emoji_1f567); - sEmojisMap.put(0x1f550, R.drawable.emoji_1f550); - sEmojisMap.put(0x1f55c, R.drawable.emoji_1f55c); - sEmojisMap.put(0x1f551, R.drawable.emoji_1f551); - sEmojisMap.put(0x1f55d, R.drawable.emoji_1f55d); - sEmojisMap.put(0x1f552, R.drawable.emoji_1f552); - sEmojisMap.put(0x1f55e, R.drawable.emoji_1f55e); - sEmojisMap.put(0x1f553, R.drawable.emoji_1f553); - sEmojisMap.put(0x1f55f, R.drawable.emoji_1f55f); - sEmojisMap.put(0x1f554, R.drawable.emoji_1f554); - sEmojisMap.put(0x1f560, R.drawable.emoji_1f560); - sEmojisMap.put(0x1f555, R.drawable.emoji_1f555); - sEmojisMap.put(0x1f556, R.drawable.emoji_1f556); - sEmojisMap.put(0x1f557, R.drawable.emoji_1f557); - sEmojisMap.put(0x1f558, R.drawable.emoji_1f558); - sEmojisMap.put(0x1f559, R.drawable.emoji_1f559); - sEmojisMap.put(0x1f55a, R.drawable.emoji_1f55a); - sEmojisMap.put(0x1f561, R.drawable.emoji_1f561); - sEmojisMap.put(0x1f562, R.drawable.emoji_1f562); - sEmojisMap.put(0x1f563, R.drawable.emoji_1f563); - sEmojisMap.put(0x1f564, R.drawable.emoji_1f564); - sEmojisMap.put(0x1f565, R.drawable.emoji_1f565); - sEmojisMap.put(0x1f566, R.drawable.emoji_1f566); - sEmojisMap.put(0x2716, R.drawable.emoji_2716); - sEmojisMap.put(0x2795, R.drawable.emoji_2795); - sEmojisMap.put(0x2796, R.drawable.emoji_2796); - sEmojisMap.put(0x2797, R.drawable.emoji_2797); - sEmojisMap.put(0x2660, R.drawable.emoji_2660); - sEmojisMap.put(0x2665, R.drawable.emoji_2665); - sEmojisMap.put(0x2663, R.drawable.emoji_2663); - sEmojisMap.put(0x2666, R.drawable.emoji_2666); - sEmojisMap.put(0x1f4ae, R.drawable.emoji_1f4ae); - sEmojisMap.put(0x1f4af, R.drawable.emoji_1f4af); - sEmojisMap.put(0x2714, R.drawable.emoji_2714); - sEmojisMap.put(0x2611, R.drawable.emoji_2611); - sEmojisMap.put(0x1f518, R.drawable.emoji_1f518); - sEmojisMap.put(0x1f517, R.drawable.emoji_1f517); - sEmojisMap.put(0x27b0, R.drawable.emoji_27b0); - sEmojisMap.put(0x3030, R.drawable.emoji_3030); - sEmojisMap.put(0x303d, R.drawable.emoji_303d); - sEmojisMap.put(0x1f531, R.drawable.emoji_1f531); - sEmojisMap.put(0x25fc, R.drawable.emoji_25fc); - sEmojisMap.put(0x25fb, R.drawable.emoji_25fb); - sEmojisMap.put(0x25fe, R.drawable.emoji_25fe); - sEmojisMap.put(0x25fd, R.drawable.emoji_25fd); - sEmojisMap.put(0x25aa, R.drawable.emoji_25aa); - sEmojisMap.put(0x25ab, R.drawable.emoji_25ab); - sEmojisMap.put(0x1f53a, R.drawable.emoji_1f53a); - sEmojisMap.put(0x1f532, R.drawable.emoji_1f532); - sEmojisMap.put(0x1f533, R.drawable.emoji_1f533); - sEmojisMap.put(0x26ab, R.drawable.emoji_26ab); - sEmojisMap.put(0x26aa, R.drawable.emoji_26aa); - sEmojisMap.put(0x1f534, R.drawable.emoji_1f534); - sEmojisMap.put(0x1f535, R.drawable.emoji_1f535); - sEmojisMap.put(0x1f53b, R.drawable.emoji_1f53b); - sEmojisMap.put(0x2b1c, R.drawable.emoji_2b1c); - sEmojisMap.put(0x2b1b, R.drawable.emoji_2b1b); - sEmojisMap.put(0x1f536, R.drawable.emoji_1f536); - sEmojisMap.put(0x1f537, R.drawable.emoji_1f537); - sEmojisMap.put(0x1f538, R.drawable.emoji_1f538); - sEmojisMap.put(0x1f539, R.drawable.emoji_1f539); - - - sSoftbanksMap.put(0xe001, R.drawable.emoji_1f466); - sSoftbanksMap.put(0xe002, R.drawable.emoji_1f467); - sSoftbanksMap.put(0xe003, R.drawable.emoji_1f48b); - sSoftbanksMap.put(0xe004, R.drawable.emoji_1f468); - sSoftbanksMap.put(0xe005, R.drawable.emoji_1f469); - sSoftbanksMap.put(0xe006, R.drawable.emoji_1f455); - sSoftbanksMap.put(0xe007, R.drawable.emoji_1f45e); - sSoftbanksMap.put(0xe008, R.drawable.emoji_1f4f7); - sSoftbanksMap.put(0xe009, R.drawable.emoji_1f4de); - sSoftbanksMap.put(0xe00a, R.drawable.emoji_1f4f1); - sSoftbanksMap.put(0xe00b, R.drawable.emoji_1f4e0); - sSoftbanksMap.put(0xe00c, R.drawable.emoji_1f4bb); - sSoftbanksMap.put(0xe00d, R.drawable.emoji_1f44a); - sSoftbanksMap.put(0xe00e, R.drawable.emoji_1f44d); - sSoftbanksMap.put(0xe00f, R.drawable.emoji_261d); - sSoftbanksMap.put(0xe010, R.drawable.emoji_270a); - sSoftbanksMap.put(0xe011, R.drawable.emoji_270c); - sSoftbanksMap.put(0xe012, R.drawable.emoji_1f64b); - sSoftbanksMap.put(0xe013, R.drawable.emoji_1f3bf); - sSoftbanksMap.put(0xe014, R.drawable.emoji_26f3); - sSoftbanksMap.put(0xe015, R.drawable.emoji_1f3be); - sSoftbanksMap.put(0xe016, R.drawable.emoji_26be); - sSoftbanksMap.put(0xe017, R.drawable.emoji_1f3c4); - sSoftbanksMap.put(0xe018, R.drawable.emoji_26bd); - sSoftbanksMap.put(0xe019, R.drawable.emoji_1f3a3); - sSoftbanksMap.put(0xe01a, R.drawable.emoji_1f434); - sSoftbanksMap.put(0xe01b, R.drawable.emoji_1f697); - sSoftbanksMap.put(0xe01c, R.drawable.emoji_26f5); - sSoftbanksMap.put(0xe01d, R.drawable.emoji_2708); - sSoftbanksMap.put(0xe01e, R.drawable.emoji_1f683); - sSoftbanksMap.put(0xe01f, R.drawable.emoji_1f685); - sSoftbanksMap.put(0xe020, R.drawable.emoji_2753); - sSoftbanksMap.put(0xe021, R.drawable.emoji_2757); - sSoftbanksMap.put(0xe022, R.drawable.emoji_2764); - sSoftbanksMap.put(0xe023, R.drawable.emoji_1f494); - sSoftbanksMap.put(0xe024, R.drawable.emoji_1f550); - sSoftbanksMap.put(0xe025, R.drawable.emoji_1f551); - sSoftbanksMap.put(0xe026, R.drawable.emoji_1f552); - sSoftbanksMap.put(0xe027, R.drawable.emoji_1f553); - sSoftbanksMap.put(0xe028, R.drawable.emoji_1f554); - sSoftbanksMap.put(0xe029, R.drawable.emoji_1f555); - sSoftbanksMap.put(0xe02a, R.drawable.emoji_1f556); - sSoftbanksMap.put(0xe02b, R.drawable.emoji_1f557); - sSoftbanksMap.put(0xe02c, R.drawable.emoji_1f558); - sSoftbanksMap.put(0xe02d, R.drawable.emoji_1f559); - sSoftbanksMap.put(0xe02e, R.drawable.emoji_1f55a); - sSoftbanksMap.put(0xe02f, R.drawable.emoji_1f55b); - sSoftbanksMap.put(0xe030, R.drawable.emoji_1f338); - sSoftbanksMap.put(0xe031, R.drawable.emoji_1f531); - sSoftbanksMap.put(0xe032, R.drawable.emoji_1f339); - sSoftbanksMap.put(0xe033, R.drawable.emoji_1f384); - sSoftbanksMap.put(0xe034, R.drawable.emoji_1f48d); - sSoftbanksMap.put(0xe035, R.drawable.emoji_1f48e); - sSoftbanksMap.put(0xe036, R.drawable.emoji_1f3e0); - sSoftbanksMap.put(0xe037, R.drawable.emoji_26ea); - sSoftbanksMap.put(0xe038, R.drawable.emoji_1f3e2); - sSoftbanksMap.put(0xe039, R.drawable.emoji_1f689); - sSoftbanksMap.put(0xe03a, R.drawable.emoji_26fd); - sSoftbanksMap.put(0xe03b, R.drawable.emoji_1f5fb); - sSoftbanksMap.put(0xe03c, R.drawable.emoji_1f3a4); - sSoftbanksMap.put(0xe03d, R.drawable.emoji_1f3a5); - sSoftbanksMap.put(0xe03e, R.drawable.emoji_1f3b5); - sSoftbanksMap.put(0xe03f, R.drawable.emoji_1f511); - sSoftbanksMap.put(0xe040, R.drawable.emoji_1f3b7); - sSoftbanksMap.put(0xe041, R.drawable.emoji_1f3b8); - sSoftbanksMap.put(0xe042, R.drawable.emoji_1f3ba); - sSoftbanksMap.put(0xe043, R.drawable.emoji_1f374); - sSoftbanksMap.put(0xe044, R.drawable.emoji_1f377); - sSoftbanksMap.put(0xe045, R.drawable.emoji_2615); - sSoftbanksMap.put(0xe046, R.drawable.emoji_1f370); - sSoftbanksMap.put(0xe047, R.drawable.emoji_1f37a); - sSoftbanksMap.put(0xe048, R.drawable.emoji_26c4); - sSoftbanksMap.put(0xe049, R.drawable.emoji_2601); - sSoftbanksMap.put(0xe04a, R.drawable.emoji_2600); - sSoftbanksMap.put(0xe04b, R.drawable.emoji_2614); - sSoftbanksMap.put(0xe04c, R.drawable.emoji_1f313); - sSoftbanksMap.put(0xe04d, R.drawable.emoji_1f304); - sSoftbanksMap.put(0xe04e, R.drawable.emoji_1f47c); - sSoftbanksMap.put(0xe04f, R.drawable.emoji_1f431); - sSoftbanksMap.put(0xe050, R.drawable.emoji_1f42f); - sSoftbanksMap.put(0xe051, R.drawable.emoji_1f43b); - sSoftbanksMap.put(0xe052, R.drawable.emoji_1f429); - sSoftbanksMap.put(0xe053, R.drawable.emoji_1f42d); - sSoftbanksMap.put(0xe054, R.drawable.emoji_1f433); - sSoftbanksMap.put(0xe055, R.drawable.emoji_1f427); - sSoftbanksMap.put(0xe056, R.drawable.emoji_1f60a); - sSoftbanksMap.put(0xe057, R.drawable.emoji_1f603); - sSoftbanksMap.put(0xe058, R.drawable.emoji_1f61e); - sSoftbanksMap.put(0xe059, R.drawable.emoji_1f620); - sSoftbanksMap.put(0xe05a, R.drawable.emoji_1f4a9); - sSoftbanksMap.put(0xe101, R.drawable.emoji_1f4ea); - sSoftbanksMap.put(0xe102, R.drawable.emoji_1f4ee); - sSoftbanksMap.put(0xe103, R.drawable.emoji_1f4e7); - sSoftbanksMap.put(0xe104, R.drawable.emoji_1f4f2); - sSoftbanksMap.put(0xe105, R.drawable.emoji_1f61c); - sSoftbanksMap.put(0xe106, R.drawable.emoji_1f60d); - sSoftbanksMap.put(0xe107, R.drawable.emoji_1f631); - sSoftbanksMap.put(0xe108, R.drawable.emoji_1f613); - sSoftbanksMap.put(0xe109, R.drawable.emoji_1f435); - sSoftbanksMap.put(0xe10a, R.drawable.emoji_1f419); - sSoftbanksMap.put(0xe10b, R.drawable.emoji_1f437); - sSoftbanksMap.put(0xe10c, R.drawable.emoji_1f47d); - sSoftbanksMap.put(0xe10d, R.drawable.emoji_1f680); - sSoftbanksMap.put(0xe10e, R.drawable.emoji_1f451); - sSoftbanksMap.put(0xe10f, R.drawable.emoji_1f4a1); - sSoftbanksMap.put(0xe110, R.drawable.emoji_1f331); - sSoftbanksMap.put(0xe111, R.drawable.emoji_1f48f); - sSoftbanksMap.put(0xe112, R.drawable.emoji_1f381); - sSoftbanksMap.put(0xe113, R.drawable.emoji_1f52b); - sSoftbanksMap.put(0xe114, R.drawable.emoji_1f50d); - sSoftbanksMap.put(0xe115, R.drawable.emoji_1f3c3); - sSoftbanksMap.put(0xe116, R.drawable.emoji_1f528); - sSoftbanksMap.put(0xe117, R.drawable.emoji_1f386); - sSoftbanksMap.put(0xe118, R.drawable.emoji_1f341); - sSoftbanksMap.put(0xe119, R.drawable.emoji_1f342); - sSoftbanksMap.put(0xe11a, R.drawable.emoji_1f47f); - sSoftbanksMap.put(0xe11b, R.drawable.emoji_1f47b); - sSoftbanksMap.put(0xe11c, R.drawable.emoji_1f480); - sSoftbanksMap.put(0xe11d, R.drawable.emoji_1f525); - sSoftbanksMap.put(0xe11e, R.drawable.emoji_1f4bc); - sSoftbanksMap.put(0xe11f, R.drawable.emoji_1f4ba); - sSoftbanksMap.put(0xe120, R.drawable.emoji_1f354); - sSoftbanksMap.put(0xe121, R.drawable.emoji_26f2); - sSoftbanksMap.put(0xe122, R.drawable.emoji_26fa); - sSoftbanksMap.put(0xe123, R.drawable.emoji_2668); - sSoftbanksMap.put(0xe124, R.drawable.emoji_1f3a1); - sSoftbanksMap.put(0xe125, R.drawable.emoji_1f3ab); - sSoftbanksMap.put(0xe126, R.drawable.emoji_1f4bf); - sSoftbanksMap.put(0xe127, R.drawable.emoji_1f4c0); - sSoftbanksMap.put(0xe128, R.drawable.emoji_1f4fb); - sSoftbanksMap.put(0xe129, R.drawable.emoji_1f4fc); - sSoftbanksMap.put(0xe12a, R.drawable.emoji_1f4fa); - sSoftbanksMap.put(0xe12b, R.drawable.emoji_1f47e); - sSoftbanksMap.put(0xe12c, R.drawable.emoji_303d); - sSoftbanksMap.put(0xe12d, R.drawable.emoji_1f004); - sSoftbanksMap.put(0xe12e, R.drawable.emoji_1f19a); - sSoftbanksMap.put(0xe12f, R.drawable.emoji_1f4b0); - sSoftbanksMap.put(0xe130, R.drawable.emoji_1f3af); - sSoftbanksMap.put(0xe131, R.drawable.emoji_1f3c6); - sSoftbanksMap.put(0xe132, R.drawable.emoji_1f3c1); - sSoftbanksMap.put(0xe133, R.drawable.emoji_1f3b0); - sSoftbanksMap.put(0xe134, R.drawable.emoji_1f40e); - sSoftbanksMap.put(0xe135, R.drawable.emoji_1f6a4); - sSoftbanksMap.put(0xe136, R.drawable.emoji_1f6b2); - sSoftbanksMap.put(0xe137, R.drawable.emoji_1f6a7); - sSoftbanksMap.put(0xe138, R.drawable.emoji_1f6b9); - sSoftbanksMap.put(0xe139, R.drawable.emoji_1f6ba); - sSoftbanksMap.put(0xe13a, R.drawable.emoji_1f6bc); - sSoftbanksMap.put(0xe13b, R.drawable.emoji_1f489); - sSoftbanksMap.put(0xe13c, R.drawable.emoji_1f4a4); - sSoftbanksMap.put(0xe13d, R.drawable.emoji_26a1); - sSoftbanksMap.put(0xe13e, R.drawable.emoji_1f460); - sSoftbanksMap.put(0xe13f, R.drawable.emoji_1f6c0); - sSoftbanksMap.put(0xe140, R.drawable.emoji_1f6bd); - sSoftbanksMap.put(0xe141, R.drawable.emoji_1f50a); - sSoftbanksMap.put(0xe142, R.drawable.emoji_1f4e2); - sSoftbanksMap.put(0xe143, R.drawable.emoji_1f38c); - sSoftbanksMap.put(0xe144, R.drawable.emoji_1f50f); - sSoftbanksMap.put(0xe145, R.drawable.emoji_1f513); - sSoftbanksMap.put(0xe146, R.drawable.emoji_1f306); - sSoftbanksMap.put(0xe147, R.drawable.emoji_1f373); - sSoftbanksMap.put(0xe148, R.drawable.emoji_1f4c7); - sSoftbanksMap.put(0xe149, R.drawable.emoji_1f4b1); - sSoftbanksMap.put(0xe14a, R.drawable.emoji_1f4b9); - sSoftbanksMap.put(0xe14b, R.drawable.emoji_1f4e1); - sSoftbanksMap.put(0xe14c, R.drawable.emoji_1f4aa); - sSoftbanksMap.put(0xe14d, R.drawable.emoji_1f3e6); - sSoftbanksMap.put(0xe14e, R.drawable.emoji_1f6a5); - sSoftbanksMap.put(0xe14f, R.drawable.emoji_1f17f); - sSoftbanksMap.put(0xe150, R.drawable.emoji_1f68f); - sSoftbanksMap.put(0xe151, R.drawable.emoji_1f6bb); - sSoftbanksMap.put(0xe152, R.drawable.emoji_1f46e); - sSoftbanksMap.put(0xe153, R.drawable.emoji_1f3e3); - sSoftbanksMap.put(0xe154, R.drawable.emoji_1f3e7); - sSoftbanksMap.put(0xe155, R.drawable.emoji_1f3e5); - sSoftbanksMap.put(0xe156, R.drawable.emoji_1f3ea); - sSoftbanksMap.put(0xe157, R.drawable.emoji_1f3eb); - sSoftbanksMap.put(0xe158, R.drawable.emoji_1f3e8); - sSoftbanksMap.put(0xe159, R.drawable.emoji_1f68c); - sSoftbanksMap.put(0xe15a, R.drawable.emoji_1f695); - sSoftbanksMap.put(0xe201, R.drawable.emoji_1f6b6); - sSoftbanksMap.put(0xe202, R.drawable.emoji_1f6a2); - sSoftbanksMap.put(0xe203, R.drawable.emoji_1f201); - sSoftbanksMap.put(0xe204, R.drawable.emoji_1f49f); - sSoftbanksMap.put(0xe205, R.drawable.emoji_2734); - sSoftbanksMap.put(0xe206, R.drawable.emoji_2733); - sSoftbanksMap.put(0xe207, R.drawable.emoji_1f51e); - sSoftbanksMap.put(0xe208, R.drawable.emoji_1f6ad); - sSoftbanksMap.put(0xe209, R.drawable.emoji_1f530); - sSoftbanksMap.put(0xe20a, R.drawable.emoji_267f); - sSoftbanksMap.put(0xe20b, R.drawable.emoji_1f4f6); - sSoftbanksMap.put(0xe20c, R.drawable.emoji_2665); - sSoftbanksMap.put(0xe20d, R.drawable.emoji_2666); - sSoftbanksMap.put(0xe20e, R.drawable.emoji_2660); - sSoftbanksMap.put(0xe20f, R.drawable.emoji_2663); - sSoftbanksMap.put(0xe210, R.drawable.emoji_0023); - sSoftbanksMap.put(0xe211, R.drawable.emoji_27bf); - sSoftbanksMap.put(0xe212, R.drawable.emoji_1f195); - sSoftbanksMap.put(0xe213, R.drawable.emoji_1f199); - sSoftbanksMap.put(0xe214, R.drawable.emoji_1f192); - sSoftbanksMap.put(0xe215, R.drawable.emoji_1f236); - sSoftbanksMap.put(0xe216, R.drawable.emoji_1f21a); - sSoftbanksMap.put(0xe217, R.drawable.emoji_1f237); - sSoftbanksMap.put(0xe218, R.drawable.emoji_1f238); - sSoftbanksMap.put(0xe219, R.drawable.emoji_1f534); - sSoftbanksMap.put(0xe21a, R.drawable.emoji_1f532); - sSoftbanksMap.put(0xe21b, R.drawable.emoji_1f533); - sSoftbanksMap.put(0xe21c, R.drawable.emoji_0031); - sSoftbanksMap.put(0xe21d, R.drawable.emoji_0032); - sSoftbanksMap.put(0xe21e, R.drawable.emoji_0033); - sSoftbanksMap.put(0xe21f, R.drawable.emoji_0034); - sSoftbanksMap.put(0xe220, R.drawable.emoji_0035); - sSoftbanksMap.put(0xe221, R.drawable.emoji_0036); - sSoftbanksMap.put(0xe222, R.drawable.emoji_0037); - sSoftbanksMap.put(0xe223, R.drawable.emoji_0038); - sSoftbanksMap.put(0xe224, R.drawable.emoji_0039); - sSoftbanksMap.put(0xe225, R.drawable.emoji_0030); - sSoftbanksMap.put(0xe226, R.drawable.emoji_1f250); - sSoftbanksMap.put(0xe227, R.drawable.emoji_1f239); - sSoftbanksMap.put(0xe228, R.drawable.emoji_1f202); - sSoftbanksMap.put(0xe229, R.drawable.emoji_1f194); - sSoftbanksMap.put(0xe22a, R.drawable.emoji_1f235); - sSoftbanksMap.put(0xe22b, R.drawable.emoji_1f233); - sSoftbanksMap.put(0xe22c, R.drawable.emoji_1f22f); - sSoftbanksMap.put(0xe22d, R.drawable.emoji_1f23a); - sSoftbanksMap.put(0xe22e, R.drawable.emoji_1f446); - sSoftbanksMap.put(0xe22f, R.drawable.emoji_1f447); - sSoftbanksMap.put(0xe230, R.drawable.emoji_1f448); - sSoftbanksMap.put(0xe231, R.drawable.emoji_1f449); - sSoftbanksMap.put(0xe232, R.drawable.emoji_2b06); - sSoftbanksMap.put(0xe233, R.drawable.emoji_2b07); - sSoftbanksMap.put(0xe234, R.drawable.emoji_27a1); - sSoftbanksMap.put(0xe235, R.drawable.emoji_1f519); - sSoftbanksMap.put(0xe236, R.drawable.emoji_2197); - sSoftbanksMap.put(0xe237, R.drawable.emoji_2196); - sSoftbanksMap.put(0xe238, R.drawable.emoji_2198); - sSoftbanksMap.put(0xe239, R.drawable.emoji_2199); - sSoftbanksMap.put(0xe23a, R.drawable.emoji_25b6); - sSoftbanksMap.put(0xe23b, R.drawable.emoji_25c0); - sSoftbanksMap.put(0xe23c, R.drawable.emoji_23e9); - sSoftbanksMap.put(0xe23d, R.drawable.emoji_23ea); - sSoftbanksMap.put(0xe23e, R.drawable.emoji_1f52e); - sSoftbanksMap.put(0xe23f, R.drawable.emoji_2648); - sSoftbanksMap.put(0xe240, R.drawable.emoji_2649); - sSoftbanksMap.put(0xe241, R.drawable.emoji_264a); - sSoftbanksMap.put(0xe242, R.drawable.emoji_264b); - sSoftbanksMap.put(0xe243, R.drawable.emoji_264c); - sSoftbanksMap.put(0xe244, R.drawable.emoji_264d); - sSoftbanksMap.put(0xe245, R.drawable.emoji_264e); - sSoftbanksMap.put(0xe246, R.drawable.emoji_264f); - sSoftbanksMap.put(0xe247, R.drawable.emoji_2650); - sSoftbanksMap.put(0xe248, R.drawable.emoji_2651); - sSoftbanksMap.put(0xe249, R.drawable.emoji_2652); - sSoftbanksMap.put(0xe24a, R.drawable.emoji_2653); - sSoftbanksMap.put(0xe24b, R.drawable.emoji_26ce); - sSoftbanksMap.put(0xe24c, R.drawable.emoji_1f51d); - sSoftbanksMap.put(0xe24d, R.drawable.emoji_1f197); - sSoftbanksMap.put(0xe24e, R.drawable.emoji_00a9); - sSoftbanksMap.put(0xe24f, R.drawable.emoji_00ae); - sSoftbanksMap.put(0xe250, R.drawable.emoji_1f4f3); - sSoftbanksMap.put(0xe251, R.drawable.emoji_1f4f4); - sSoftbanksMap.put(0xe252, R.drawable.emoji_26a0); - sSoftbanksMap.put(0xe253, R.drawable.emoji_1f481); - sSoftbanksMap.put(0xe301, R.drawable.emoji_1f4c3); - sSoftbanksMap.put(0xe302, R.drawable.emoji_1f454); - sSoftbanksMap.put(0xe303, R.drawable.emoji_1f33a); - sSoftbanksMap.put(0xe304, R.drawable.emoji_1f337); - sSoftbanksMap.put(0xe305, R.drawable.emoji_1f33b); - sSoftbanksMap.put(0xe306, R.drawable.emoji_1f490); - sSoftbanksMap.put(0xe307, R.drawable.emoji_1f334); - sSoftbanksMap.put(0xe308, R.drawable.emoji_1f335); - sSoftbanksMap.put(0xe309, R.drawable.emoji_1f6be); - sSoftbanksMap.put(0xe30a, R.drawable.emoji_1f3a7); - sSoftbanksMap.put(0xe30b, R.drawable.emoji_1f376); - sSoftbanksMap.put(0xe30c, R.drawable.emoji_1f37b); - sSoftbanksMap.put(0xe30d, R.drawable.emoji_3297); - sSoftbanksMap.put(0xe30e, R.drawable.emoji_1f6ac); - sSoftbanksMap.put(0xe30f, R.drawable.emoji_1f48a); - sSoftbanksMap.put(0xe310, R.drawable.emoji_1f388); - sSoftbanksMap.put(0xe311, R.drawable.emoji_1f4a3); - sSoftbanksMap.put(0xe312, R.drawable.emoji_1f389); - sSoftbanksMap.put(0xe313, R.drawable.emoji_2702); - sSoftbanksMap.put(0xe314, R.drawable.emoji_1f380); - sSoftbanksMap.put(0xe315, R.drawable.emoji_3299); - sSoftbanksMap.put(0xe316, R.drawable.emoji_1f4bd); - sSoftbanksMap.put(0xe317, R.drawable.emoji_1f4e3); - sSoftbanksMap.put(0xe318, R.drawable.emoji_1f452); - sSoftbanksMap.put(0xe319, R.drawable.emoji_1f457); - sSoftbanksMap.put(0xe31a, R.drawable.emoji_1f461); - sSoftbanksMap.put(0xe31b, R.drawable.emoji_1f462); - sSoftbanksMap.put(0xe31c, R.drawable.emoji_1f484); - sSoftbanksMap.put(0xe31d, R.drawable.emoji_1f485); - sSoftbanksMap.put(0xe31e, R.drawable.emoji_1f486); - sSoftbanksMap.put(0xe31f, R.drawable.emoji_1f487); - sSoftbanksMap.put(0xe320, R.drawable.emoji_1f488); - sSoftbanksMap.put(0xe321, R.drawable.emoji_1f458); - sSoftbanksMap.put(0xe322, R.drawable.emoji_1f459); - sSoftbanksMap.put(0xe323, R.drawable.emoji_1f45c); - sSoftbanksMap.put(0xe324, R.drawable.emoji_1f3ac); - sSoftbanksMap.put(0xe325, R.drawable.emoji_1f514); - sSoftbanksMap.put(0xe326, R.drawable.emoji_1f3b6); - sSoftbanksMap.put(0xe327, R.drawable.emoji_1f493); - sSoftbanksMap.put(0xe328, R.drawable.emoji_1f48c); - sSoftbanksMap.put(0xe329, R.drawable.emoji_1f498); - sSoftbanksMap.put(0xe32a, R.drawable.emoji_1f499); - sSoftbanksMap.put(0xe32b, R.drawable.emoji_1f49a); - sSoftbanksMap.put(0xe32c, R.drawable.emoji_1f49b); - sSoftbanksMap.put(0xe32d, R.drawable.emoji_1f49c); - sSoftbanksMap.put(0xe32e, R.drawable.emoji_2728); - sSoftbanksMap.put(0xe32f, R.drawable.emoji_2b50); - sSoftbanksMap.put(0xe330, R.drawable.emoji_1f4a8); - sSoftbanksMap.put(0xe331, R.drawable.emoji_1f4a6); - sSoftbanksMap.put(0xe332, R.drawable.emoji_2b55); - sSoftbanksMap.put(0xe333, R.drawable.emoji_2716); - sSoftbanksMap.put(0xe334, R.drawable.emoji_1f4a2); - sSoftbanksMap.put(0xe335, R.drawable.emoji_1f31f); - sSoftbanksMap.put(0xe336, R.drawable.emoji_2754); - sSoftbanksMap.put(0xe337, R.drawable.emoji_2755); - sSoftbanksMap.put(0xe338, R.drawable.emoji_1f375); - sSoftbanksMap.put(0xe339, R.drawable.emoji_1f35e); - sSoftbanksMap.put(0xe33a, R.drawable.emoji_1f366); - sSoftbanksMap.put(0xe33b, R.drawable.emoji_1f35f); - sSoftbanksMap.put(0xe33c, R.drawable.emoji_1f361); - sSoftbanksMap.put(0xe33d, R.drawable.emoji_1f358); - sSoftbanksMap.put(0xe33e, R.drawable.emoji_1f35a); - sSoftbanksMap.put(0xe33f, R.drawable.emoji_1f35d); - sSoftbanksMap.put(0xe340, R.drawable.emoji_1f35c); - sSoftbanksMap.put(0xe341, R.drawable.emoji_1f35b); - sSoftbanksMap.put(0xe342, R.drawable.emoji_1f359); - sSoftbanksMap.put(0xe343, R.drawable.emoji_1f362); - sSoftbanksMap.put(0xe344, R.drawable.emoji_1f363); - sSoftbanksMap.put(0xe345, R.drawable.emoji_1f34e); - sSoftbanksMap.put(0xe346, R.drawable.emoji_1f34a); - sSoftbanksMap.put(0xe347, R.drawable.emoji_1f353); - sSoftbanksMap.put(0xe348, R.drawable.emoji_1f349); - sSoftbanksMap.put(0xe349, R.drawable.emoji_1f345); - sSoftbanksMap.put(0xe34a, R.drawable.emoji_1f346); - sSoftbanksMap.put(0xe34b, R.drawable.emoji_1f382); - sSoftbanksMap.put(0xe34c, R.drawable.emoji_1f371); - sSoftbanksMap.put(0xe34d, R.drawable.emoji_1f372); - sSoftbanksMap.put(0xe401, R.drawable.emoji_1f625); - sSoftbanksMap.put(0xe402, R.drawable.emoji_1f60f); - sSoftbanksMap.put(0xe403, R.drawable.emoji_1f614); - sSoftbanksMap.put(0xe404, R.drawable.emoji_1f601); - sSoftbanksMap.put(0xe405, R.drawable.emoji_1f609); - sSoftbanksMap.put(0xe406, R.drawable.emoji_1f623); - sSoftbanksMap.put(0xe407, R.drawable.emoji_1f616); - sSoftbanksMap.put(0xe408, R.drawable.emoji_1f62a); - sSoftbanksMap.put(0xe409, R.drawable.emoji_1f445); - sSoftbanksMap.put(0xe40a, R.drawable.emoji_1f606); - sSoftbanksMap.put(0xe40b, R.drawable.emoji_1f628); - sSoftbanksMap.put(0xe40c, R.drawable.emoji_1f637); - sSoftbanksMap.put(0xe40d, R.drawable.emoji_1f633); - sSoftbanksMap.put(0xe40e, R.drawable.emoji_1f612); - sSoftbanksMap.put(0xe40f, R.drawable.emoji_1f630); - sSoftbanksMap.put(0xe410, R.drawable.emoji_1f632); - sSoftbanksMap.put(0xe411, R.drawable.emoji_1f62d); - sSoftbanksMap.put(0xe412, R.drawable.emoji_1f602); - sSoftbanksMap.put(0xe413, R.drawable.emoji_1f622); - sSoftbanksMap.put(0xe414, R.drawable.emoji_263a); - sSoftbanksMap.put(0xe415, R.drawable.emoji_1f605); - sSoftbanksMap.put(0xe416, R.drawable.emoji_1f621); - sSoftbanksMap.put(0xe417, R.drawable.emoji_1f61a); - sSoftbanksMap.put(0xe418, R.drawable.emoji_1f618); - sSoftbanksMap.put(0xe419, R.drawable.emoji_1f440); - sSoftbanksMap.put(0xe41a, R.drawable.emoji_1f443); - sSoftbanksMap.put(0xe41b, R.drawable.emoji_1f442); - sSoftbanksMap.put(0xe41c, R.drawable.emoji_1f444); - sSoftbanksMap.put(0xe41d, R.drawable.emoji_1f64f); - sSoftbanksMap.put(0xe41e, R.drawable.emoji_1f44b); - sSoftbanksMap.put(0xe41f, R.drawable.emoji_1f44f); - sSoftbanksMap.put(0xe420, R.drawable.emoji_1f44c); - sSoftbanksMap.put(0xe421, R.drawable.emoji_1f44e); - sSoftbanksMap.put(0xe422, R.drawable.emoji_1f450); - sSoftbanksMap.put(0xe423, R.drawable.emoji_1f645); - sSoftbanksMap.put(0xe424, R.drawable.emoji_1f646); - sSoftbanksMap.put(0xe425, R.drawable.emoji_1f491); - sSoftbanksMap.put(0xe426, R.drawable.emoji_1f647); - sSoftbanksMap.put(0xe427, R.drawable.emoji_1f64c); - sSoftbanksMap.put(0xe428, R.drawable.emoji_1f46b); - sSoftbanksMap.put(0xe429, R.drawable.emoji_1f46f); - sSoftbanksMap.put(0xe42a, R.drawable.emoji_1f3c0); - sSoftbanksMap.put(0xe42b, R.drawable.emoji_1f3c8); - sSoftbanksMap.put(0xe42c, R.drawable.emoji_1f3b1); - sSoftbanksMap.put(0xe42d, R.drawable.emoji_1f3ca); - sSoftbanksMap.put(0xe42e, R.drawable.emoji_1f699); - sSoftbanksMap.put(0xe42f, R.drawable.emoji_1f69a); - sSoftbanksMap.put(0xe430, R.drawable.emoji_1f692); - sSoftbanksMap.put(0xe431, R.drawable.emoji_1f691); - sSoftbanksMap.put(0xe432, R.drawable.emoji_1f693); - sSoftbanksMap.put(0xe433, R.drawable.emoji_1f3a2); - sSoftbanksMap.put(0xe434, R.drawable.emoji_1f687); - sSoftbanksMap.put(0xe435, R.drawable.emoji_1f684); - sSoftbanksMap.put(0xe436, R.drawable.emoji_1f38d); - sSoftbanksMap.put(0xe437, R.drawable.emoji_1f49d); - sSoftbanksMap.put(0xe438, R.drawable.emoji_1f38e); - sSoftbanksMap.put(0xe439, R.drawable.emoji_1f393); - sSoftbanksMap.put(0xe43a, R.drawable.emoji_1f392); - sSoftbanksMap.put(0xe43b, R.drawable.emoji_1f38f); - sSoftbanksMap.put(0xe43c, R.drawable.emoji_1f302); - sSoftbanksMap.put(0xe43d, R.drawable.emoji_1f492); - sSoftbanksMap.put(0xe43e, R.drawable.emoji_1f30a); - sSoftbanksMap.put(0xe43f, R.drawable.emoji_1f367); - sSoftbanksMap.put(0xe440, R.drawable.emoji_1f387); - sSoftbanksMap.put(0xe441, R.drawable.emoji_1f41a); - sSoftbanksMap.put(0xe442, R.drawable.emoji_1f390); - sSoftbanksMap.put(0xe443, R.drawable.emoji_1f300); - sSoftbanksMap.put(0xe444, R.drawable.emoji_1f33e); - sSoftbanksMap.put(0xe445, R.drawable.emoji_1f383); - sSoftbanksMap.put(0xe446, R.drawable.emoji_1f391); - sSoftbanksMap.put(0xe447, R.drawable.emoji_1f343); - sSoftbanksMap.put(0xe448, R.drawable.emoji_1f385); - sSoftbanksMap.put(0xe449, R.drawable.emoji_1f305); - sSoftbanksMap.put(0xe44a, R.drawable.emoji_1f307); - sSoftbanksMap.put(0xe44b, R.drawable.emoji_1f303); - sSoftbanksMap.put(0xe44b, R.drawable.emoji_1f30c); - sSoftbanksMap.put(0xe44c, R.drawable.emoji_1f308); - sSoftbanksMap.put(0xe501, R.drawable.emoji_1f3e9); - sSoftbanksMap.put(0xe502, R.drawable.emoji_1f3a8); - sSoftbanksMap.put(0xe503, R.drawable.emoji_1f3a9); - sSoftbanksMap.put(0xe504, R.drawable.emoji_1f3ec); - sSoftbanksMap.put(0xe505, R.drawable.emoji_1f3ef); - sSoftbanksMap.put(0xe506, R.drawable.emoji_1f3f0); - sSoftbanksMap.put(0xe507, R.drawable.emoji_1f3a6); - sSoftbanksMap.put(0xe508, R.drawable.emoji_1f3ed); - sSoftbanksMap.put(0xe509, R.drawable.emoji_1f5fc); - sSoftbanksMap.put(0xe50b, R.drawable.emoji_1f1ef_1f1f5); - sSoftbanksMap.put(0xe50c, R.drawable.emoji_1f1fa_1f1f8); - sSoftbanksMap.put(0xe50d, R.drawable.emoji_1f1eb_1f1f7); - sSoftbanksMap.put(0xe50e, R.drawable.emoji_1f1e9_1f1ea); - sSoftbanksMap.put(0xe50f, R.drawable.emoji_1f1ee_1f1f9); - sSoftbanksMap.put(0xe510, R.drawable.emoji_1f1ec_1f1e7); - sSoftbanksMap.put(0xe511, R.drawable.emoji_1f1ea_1f1f8); - sSoftbanksMap.put(0xe512, R.drawable.emoji_1f1f7_1f1fa); - sSoftbanksMap.put(0xe513, R.drawable.emoji_1f1e8_1f1f3); - sSoftbanksMap.put(0xe514, R.drawable.emoji_1f1f0_1f1f7); - sSoftbanksMap.put(0xe515, R.drawable.emoji_1f471); - sSoftbanksMap.put(0xe516, R.drawable.emoji_1f472); - sSoftbanksMap.put(0xe517, R.drawable.emoji_1f473); - sSoftbanksMap.put(0xe518, R.drawable.emoji_1f474); - sSoftbanksMap.put(0xe519, R.drawable.emoji_1f475); - sSoftbanksMap.put(0xe51a, R.drawable.emoji_1f476); - sSoftbanksMap.put(0xe51b, R.drawable.emoji_1f477); - sSoftbanksMap.put(0xe51c, R.drawable.emoji_1f478); - sSoftbanksMap.put(0xe51d, R.drawable.emoji_1f5fd); - sSoftbanksMap.put(0xe51e, R.drawable.emoji_1f482); - sSoftbanksMap.put(0xe51f, R.drawable.emoji_1f483); - sSoftbanksMap.put(0xe520, R.drawable.emoji_1f42c); - sSoftbanksMap.put(0xe521, R.drawable.emoji_1f426); - sSoftbanksMap.put(0xe522, R.drawable.emoji_1f420); - sSoftbanksMap.put(0xe523, R.drawable.emoji_1f423); - sSoftbanksMap.put(0xe524, R.drawable.emoji_1f439); - sSoftbanksMap.put(0xe525, R.drawable.emoji_1f41b); - sSoftbanksMap.put(0xe526, R.drawable.emoji_1f418); - sSoftbanksMap.put(0xe527, R.drawable.emoji_1f428); - sSoftbanksMap.put(0xe528, R.drawable.emoji_1f412); - sSoftbanksMap.put(0xe529, R.drawable.emoji_1f411); - sSoftbanksMap.put(0xe52a, R.drawable.emoji_1f43a); - sSoftbanksMap.put(0xe52b, R.drawable.emoji_1f42e); - sSoftbanksMap.put(0xe52c, R.drawable.emoji_1f430); - sSoftbanksMap.put(0xe52d, R.drawable.emoji_1f40d); - sSoftbanksMap.put(0xe52e, R.drawable.emoji_1f414); - sSoftbanksMap.put(0xe52f, R.drawable.emoji_1f417); - sSoftbanksMap.put(0xe530, R.drawable.emoji_1f42b); - sSoftbanksMap.put(0xe531, R.drawable.emoji_1f438); - sSoftbanksMap.put(0xe532, R.drawable.emoji_1f170); - sSoftbanksMap.put(0xe533, R.drawable.emoji_1f171); - sSoftbanksMap.put(0xe534, R.drawable.emoji_1f18e); - sSoftbanksMap.put(0xe535, R.drawable.emoji_1f17e); - sSoftbanksMap.put(0xe536, R.drawable.emoji_1f43e); - sSoftbanksMap.put(0xe537, R.drawable.emoji_2122); - } - - private static boolean isSoftBankEmoji(char c) { - return ((c >> 12) == 0xe); - } - - private static int getEmojiResource(Context context, int codePoint) { - return sEmojisMap.get(codePoint); - } - - private static int getSoftbankEmojiResource(char c) { - return sSoftbanksMap.get(c); - } - - /** - * Convert emoji characters of the given Spannable to the according emojicon. - * - * @param context - * @param text - * @param emojiSize - */ - public static void addEmojis(Context context, Spannable text, int emojiSize) { - addEmojis(context, text, emojiSize, 0, -1); - } - - /** - * Convert emoji characters of the given Spannable to the according emojicon. - * - * @param context - * @param text - * @param emojiSize - * @param index - * @param length - */ - public static void addEmojis(Context context, Spannable text, int emojiSize, int index, int length) { - int textLength = text.length(); - int textLengthToProcessMax = textLength - index; - int textLengthToProcess = length < 0 || length >= textLengthToProcessMax ? textLength : (length+index); - - // remove spans throughout all text - EmojiconSpan[] oldSpans = text.getSpans(0, textLength, EmojiconSpan.class); - for (int i = 0; i < oldSpans.length; i++) { - text.removeSpan(oldSpans[i]); - } - - int skip; - for (int i = index; i < textLengthToProcess; i += skip) { - skip = 0; - int icon = 0; - char c = text.charAt(i); - if (isSoftBankEmoji(c)) { - icon = getSoftbankEmojiResource(c); - skip = icon == 0 ? 0 : 1; - } - - if (icon == 0) { - int unicode = Character.codePointAt(text, i); - skip = Character.charCount(unicode); - - if (unicode > 0xff) { - icon = getEmojiResource(context, unicode); - } - - if (icon == 0 && i + skip < textLengthToProcess) { - int followUnicode = Character.codePointAt(text, i + skip); - if (followUnicode == 0x20e3) { - int followSkip = Character.charCount(followUnicode); - switch (unicode) { - case 0x0031: - icon = R.drawable.emoji_0031; - break; - case 0x0032: - icon = R.drawable.emoji_0032; - break; - case 0x0033: - icon = R.drawable.emoji_0033; - break; - case 0x0034: - icon = R.drawable.emoji_0034; - break; - case 0x0035: - icon = R.drawable.emoji_0035; - break; - case 0x0036: - icon = R.drawable.emoji_0036; - break; - case 0x0037: - icon = R.drawable.emoji_0037; - break; - case 0x0038: - icon = R.drawable.emoji_0038; - break; - case 0x0039: - icon = R.drawable.emoji_0039; - break; - case 0x0030: - icon = R.drawable.emoji_0030; - break; - case 0x0023: - icon = R.drawable.emoji_0023; - break; - default: - followSkip = 0; - break; - } - skip += followSkip; - } else { - int followSkip = Character.charCount(followUnicode); - switch (unicode) { - case 0x1f1ef: - icon = (followUnicode == 0x1f1f5) ? R.drawable.emoji_1f1ef_1f1f5 : 0; - break; - case 0x1f1fa: - icon = (followUnicode == 0x1f1f8) ? R.drawable.emoji_1f1fa_1f1f8 : 0; - break; - case 0x1f1eb: - icon = (followUnicode == 0x1f1f7) ? R.drawable.emoji_1f1eb_1f1f7 : 0; - break; - case 0x1f1e9: - icon = (followUnicode == 0x1f1ea) ? R.drawable.emoji_1f1e9_1f1ea : 0; - break; - case 0x1f1ee: - icon = (followUnicode == 0x1f1f9) ? R.drawable.emoji_1f1ee_1f1f9 : 0; - break; - case 0x1f1ec: - icon = (followUnicode == 0x1f1e7) ? R.drawable.emoji_1f1ec_1f1e7 : 0; - break; - case 0x1f1ea: - icon = (followUnicode == 0x1f1f8) ? R.drawable.emoji_1f1ea_1f1f8 : 0; - break; - case 0x1f1f7: - icon = (followUnicode == 0x1f1fa) ? R.drawable.emoji_1f1f7_1f1fa : 0; - break; - case 0x1f1e8: - icon = (followUnicode == 0x1f1f3) ? R.drawable.emoji_1f1e8_1f1f3 : 0; - break; - case 0x1f1f0: - icon = (followUnicode == 0x1f1f7) ? R.drawable.emoji_1f1f0_1f1f7 : 0; - break; - default: - followSkip = 0; - break; - } - skip += followSkip; - } - } - } - - if (icon > 0) { - text.setSpan(new EmojiconSpan(context, icon, emojiSize), i, i + skip, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - } - } - } -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecents.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecents.java deleted file mode 100644 index 195c86ab..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecents.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.emoji.Emojicon; - -import android.content.Context; - -/** -* @author Daniele Ricci -*/ -public interface EmojiconRecents { - public void addRecentEmoji(Context context, Emojicon emojicon); -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsGridView.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsGridView.java deleted file mode 100644 index 2aecbb59..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsGridView.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.emoji.Emojicon; -import android.content.Context; -import android.widget.GridView; - -import github.ankushsachdeva.emojicon.R; - -/** - * @author Daniele Ricci - * @author Ankush Sachdeva (sankush@yahoo.co.in) - */ -public class EmojiconRecentsGridView extends EmojiconGridView implements EmojiconRecents { - EmojiAdapter mAdapter; - - public EmojiconRecentsGridView(Context context, Emojicon[] emojicons, - EmojiconRecents recents,EmojiconsPopup emojiconsPopup) { - super(context, emojicons, recents, emojiconsPopup); - EmojiconRecentsManager recents1 = EmojiconRecentsManager - .getInstance(rootView.getContext()); - mAdapter = new EmojiAdapter(rootView.getContext(), recents1); - mAdapter.setEmojiClickListener(new OnEmojiconClickedListener() { - - @Override - public void onEmojiconClicked(Emojicon emojicon) { - if (mEmojiconPopup.onEmojiconClickedListener != null) { - mEmojiconPopup.onEmojiconClickedListener.onEmojiconClicked(emojicon); - } - } - }); - GridView gridView = (GridView) rootView.findViewById(R.id.Emoji_GridView); - gridView.setAdapter(mAdapter); - } - - @Override - public void addRecentEmoji(Context context, Emojicon emojicon) { - EmojiconRecentsManager recents = EmojiconRecentsManager - .getInstance(context); - recents.push(emojicon); - - // notify dataset changed - if (mAdapter != null) - mAdapter.notifyDataSetChanged(); - } - -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java deleted file mode 100644 index 9fbb987e..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.emoji.Emojicon; - -import java.util.ArrayList; -import java.util.StringTokenizer; - -import android.content.Context; -import android.content.SharedPreferences; - - -/** -* @author Daniele Ricci -*/ -public class EmojiconRecentsManager extends ArrayList { - - private static final String PREFERENCE_NAME = "emojicon"; - private static final String PREF_RECENTS = "recent_emojis"; - private static final String PREF_PAGE = "recent_page"; - - private static final Object LOCK = new Object(); - private static EmojiconRecentsManager sInstance; - - private Context mContext; - - private EmojiconRecentsManager(Context context) { - mContext = context.getApplicationContext(); - loadRecents(); - } - - public static EmojiconRecentsManager getInstance(Context context) { - if (sInstance == null) { - synchronized (LOCK) { - if (sInstance == null) { - sInstance = new EmojiconRecentsManager(context); - } - } - } - return sInstance; - } - - public int getRecentPage() { - return getPreferences().getInt(PREF_PAGE, 0); - } - - public void setRecentPage(int page) { - getPreferences().edit().putInt(PREF_PAGE, page).commit(); - } - - public void push(Emojicon object) { - // FIXME totally inefficient way of adding the emoji to the adapter - // TODO this should be probably replaced by a deque - if (contains(object)) { - super.remove(object); - } - add(0, object); - } - - @Override - public boolean add(Emojicon object) { - boolean ret = super.add(object); - return ret; - } - - @Override - public void add(int index, Emojicon object) { - super.add(index, object); - } - - @Override - public boolean remove(Object object) { - boolean ret = super.remove(object); - return ret; - } - - private SharedPreferences getPreferences() { - return mContext.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); - } - - private void loadRecents() { - SharedPreferences prefs = getPreferences(); - String str = prefs.getString(PREF_RECENTS, ""); - StringTokenizer tokenizer = new StringTokenizer(str, "~"); - while (tokenizer.hasMoreTokens()) { - try { - add(new Emojicon(tokenizer.nextToken())); - } - catch (NumberFormatException e) { - // ignored - } - } - } - - public void saveRecents() { - StringBuilder str = new StringBuilder(); - int c = size(); - for (int i = 0; i < c; i++) { - Emojicon e = get(i); - str.append(e.getEmoji()); - if (i < (c - 1)) { - str.append('~'); - } - } - SharedPreferences prefs = getPreferences(); - prefs.edit().putString(PREF_RECENTS, str.toString()).commit(); - } - -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconSpan.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconSpan.java deleted file mode 100644 index 1afeea95..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconSpan.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import android.content.Context; -import android.graphics.drawable.Drawable; -import android.text.style.DynamicDrawableSpan; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -class EmojiconSpan extends DynamicDrawableSpan { - private final Context mContext; - private final int mResourceId; - private final int mSize; - private Drawable mDrawable; - - public EmojiconSpan(Context context, int resourceId, int size) { - super(); - mContext = context; - mResourceId = resourceId; - mSize = size; - } - - public Drawable getDrawable() { - if (mDrawable == null) { - try { - mDrawable = mContext.getResources().getDrawable(mResourceId); - int size = mSize; - mDrawable.setBounds(0, 0, size, size); - } catch (Exception e) { - // swallow - } - } - return mDrawable; - } -} \ No newline at end of file diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconTextView.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconTextView.java deleted file mode 100644 index 5822e478..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconTextView.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.R; - -import android.content.Context; -import android.content.res.TypedArray; -import android.text.SpannableStringBuilder; -import android.util.AttributeSet; -import android.widget.TextView; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com). - */ -public class EmojiconTextView extends TextView { - private int mEmojiconSize; - private int mTextStart = 0; - private int mTextLength = -1; - - public EmojiconTextView(Context context) { - super(context); - init(null); - } - - public EmojiconTextView(Context context, AttributeSet attrs) { - super(context, attrs); - init(attrs); - } - - public EmojiconTextView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - init(attrs); - } - - private void init(AttributeSet attrs) { - if (attrs == null) { - mEmojiconSize = (int) getTextSize(); - } else { - TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.Emojicon); - mEmojiconSize = (int) a.getDimension(R.styleable.Emojicon_emojiconSize, getTextSize()); - mTextStart = a.getInteger(R.styleable.Emojicon_emojiconTextStart, 0); - mTextLength = a.getInteger(R.styleable.Emojicon_emojiconTextLength, -1); - a.recycle(); - } - setText(getText()); - } - - @Override - public void setText(CharSequence text, BufferType type) { - SpannableStringBuilder builder = new SpannableStringBuilder(text); - EmojiconHandler.addEmojis(getContext(), builder, mEmojiconSize, mTextStart, mTextLength); - super.setText(builder, type); - } - - /** - * Set the size of emojicon in pixels. - */ - public void setEmojiconSize(int pixels) { - mEmojiconSize = pixels; - } -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java deleted file mode 100644 index 12bc16e0..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java +++ /dev/null @@ -1,408 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.EmojiconGridView.OnEmojiconClickedListener; -import github.ankushsachdeva.emojicon.emoji.Emojicon; -import github.ankushsachdeva.emojicon.emoji.Nature; -import github.ankushsachdeva.emojicon.emoji.Objects; -import github.ankushsachdeva.emojicon.emoji.People; -import github.ankushsachdeva.emojicon.emoji.Places; -import github.ankushsachdeva.emojicon.emoji.Symbols; - -import java.util.Arrays; -import java.util.List; - -import android.app.Activity; -import android.content.Context; -import android.graphics.Rect; -import android.os.Handler; -import android.os.SystemClock; -import android.support.v4.view.PagerAdapter; -import android.support.v4.view.ViewPager; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.view.ViewTreeObserver.OnGlobalLayoutListener; -import android.view.WindowManager.LayoutParams; -import android.widget.PopupWindow; - - -/** - * @author Ankush Sachdeva (sankush@yahoo.co.in). - */ - -public class EmojiconsPopup extends PopupWindow implements ViewPager.OnPageChangeListener, EmojiconRecents { - private int mEmojiTabLastSelectedIndex = -1; - private View[] mEmojiTabs; - private PagerAdapter mEmojisAdapter; - private EmojiconRecentsManager mRecentsManager; - private int keyBoardHeight = 0; - private Boolean pendingOpen = false; - private Boolean isOpened = false; - OnEmojiconClickedListener onEmojiconClickedListener; - OnEmojiconBackspaceClickedListener onEmojiconBackspaceClickedListener; - OnSoftKeyboardOpenCloseListener onSoftKeyboardOpenCloseListener; - View rootView; - Context mContext; - - private ViewPager emojisPager; - /** - * Constructor - * @param rootView The top most layout in your view hierarchy. The difference of this view and the screen height will be used to calculate the keyboard height. - * @param mContext The context of current activity. - */ - public EmojiconsPopup(View rootView, Context mContext){ - super(mContext); - this.mContext = mContext; - this.rootView = rootView; - View customView = createCustomView(); - setContentView(customView); - setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); - //default size - setSize((int) mContext.getResources().getDimension(R.dimen.keyboard_height), LayoutParams.MATCH_PARENT); - } - /** - * Set the listener for the event of keyboard opening or closing. - */ - public void setOnSoftKeyboardOpenCloseListener(OnSoftKeyboardOpenCloseListener listener){ - this.onSoftKeyboardOpenCloseListener = listener; - } - - /** - * Set the listener for the event when any of the emojicon is clicked - */ - public void setOnEmojiconClickedListener(OnEmojiconClickedListener listener){ - this.onEmojiconClickedListener = listener; - } - - /** - * Set the listener for the event when backspace on emojicon popup is clicked - */ - public void setOnEmojiconBackspaceClickedListener(OnEmojiconBackspaceClickedListener listener){ - this.onEmojiconBackspaceClickedListener = listener; - } - - /** - * Use this function to show the emoji popup. - * NOTE: Since, the soft keyboard sizes are variable on different android devices, the - * library needs you to open the soft keyboard atleast once before calling this function. - * If that is not possible see showAtBottomPending() function. - * - */ - public void showAtBottom(){ - showAtLocation(rootView, Gravity.BOTTOM, 0, 0); - } - /** - * Use this function when the soft keyboard has not been opened yet. This - * will show the emoji popup after the keyboard is up next time. - * Generally, you will be calling InputMethodManager.showSoftInput function after - * calling this function. - */ - public void showAtBottomPending(){ - if(isKeyBoardOpen()) - showAtBottom(); - else - pendingOpen = true; - } - - /** - * - * @return Returns true if the soft keyboard is open, false otherwise. - */ - public Boolean isKeyBoardOpen(){ - return isOpened; - } - - /** - * Dismiss the popup - */ - @Override - public void dismiss() { - super.dismiss(); - EmojiconRecentsManager - .getInstance(mContext).saveRecents(); - } - - /** - * Call this function to resize the emoji popup according to your soft keyboard size - */ - public void setSizeForSoftKeyboard(){ - rootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - Rect r = new Rect(); - rootView.getWindowVisibleDisplayFrame(r); - - int screenHeight = rootView.getRootView() - .getHeight(); - int heightDifference = screenHeight - - (r.bottom - r.top); - int resourceId = mContext.getResources() - .getIdentifier("status_bar_height", - "dimen", "android"); - if (resourceId > 0) { - heightDifference -= mContext.getResources() - .getDimensionPixelSize(resourceId); - } - if (heightDifference > 100) { - keyBoardHeight = heightDifference; - setSize(LayoutParams.MATCH_PARENT, keyBoardHeight); - if(isOpened == false){ - if(onSoftKeyboardOpenCloseListener!=null) - onSoftKeyboardOpenCloseListener.onKeyboardOpen(keyBoardHeight); - } - isOpened = true; - if(pendingOpen){ - showAtBottom(); - pendingOpen = false; - } - } - else{ - isOpened = false; - if(onSoftKeyboardOpenCloseListener!=null) - onSoftKeyboardOpenCloseListener.onKeyboardClose(); - } - } - }); - } - - /** - * Manually set the popup window size - * @param width Width of the popup - * @param height Height of the popup - */ - public void setSize(int width, int height){ - setWidth(width); - setHeight(height); - } - - private View createCustomView() { - LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); - View view = inflater.inflate(R.layout.emojicons, null, false); - emojisPager = (ViewPager) view.findViewById(R.id.emojis_pager); - emojisPager.setOnPageChangeListener(this); - EmojiconRecents recents = this; - mEmojisAdapter = new EmojisPagerAdapter( - Arrays.asList( - new EmojiconRecentsGridView(mContext, null, null, this), - new EmojiconGridView(mContext, People.DATA, recents, this), - new EmojiconGridView(mContext, Nature.DATA, recents, this), - new EmojiconGridView(mContext, Objects.DATA, recents, this), - new EmojiconGridView(mContext, Places.DATA, recents, this), - new EmojiconGridView(mContext, Symbols.DATA, recents, this) - ) - ); - emojisPager.setAdapter(mEmojisAdapter); - mEmojiTabs = new View[6]; - mEmojiTabs[0] = view.findViewById(R.id.emojis_tab_0_recents); - mEmojiTabs[1] = view.findViewById(R.id.emojis_tab_1_people); - mEmojiTabs[2] = view.findViewById(R.id.emojis_tab_2_nature); - mEmojiTabs[3] = view.findViewById(R.id.emojis_tab_3_objects); - mEmojiTabs[4] = view.findViewById(R.id.emojis_tab_4_cars); - mEmojiTabs[5] = view.findViewById(R.id.emojis_tab_5_punctuation); - for (int i = 0; i < mEmojiTabs.length; i++) { - final int position = i; - mEmojiTabs[i].setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - emojisPager.setCurrentItem(position); - } - }); - } - view.findViewById(R.id.emojis_backspace).setOnTouchListener(new RepeatListener(1000, 50, new OnClickListener() { - - @Override - public void onClick(View v) { - if(onEmojiconBackspaceClickedListener != null) - onEmojiconBackspaceClickedListener.onEmojiconBackspaceClicked(v); - } - })); - - // get last selected page - mRecentsManager = EmojiconRecentsManager.getInstance(view.getContext()); - int page = mRecentsManager.getRecentPage(); - // last page was recents, check if there are recents to use - // if none was found, go to page 1 - if (page == 0 && mRecentsManager.size() == 0) { - page = 1; - } - - if (page == 0) { - onPageSelected(page); - } - else { - emojisPager.setCurrentItem(page, false); - } - return view; - } - - @Override - public void addRecentEmoji(Context context, Emojicon emojicon) { - EmojiconRecentsGridView fragment = ((EmojisPagerAdapter)emojisPager.getAdapter()).getRecentFragment(); - fragment.addRecentEmoji(context, emojicon); - } - - - @Override - public void onPageScrolled(int i, float v, int i2) { - } - - @Override - public void onPageSelected(int i) { - if (mEmojiTabLastSelectedIndex == i) { - return; - } - switch (i) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - if (mEmojiTabLastSelectedIndex >= 0 && mEmojiTabLastSelectedIndex < mEmojiTabs.length) { - mEmojiTabs[mEmojiTabLastSelectedIndex].setSelected(false); - } - mEmojiTabs[i].setSelected(true); - mEmojiTabLastSelectedIndex = i; - mRecentsManager.setRecentPage(i); - break; - } - } - - @Override - public void onPageScrollStateChanged(int i) { - } - - private static class EmojisPagerAdapter extends PagerAdapter { - private List views; - public EmojiconRecentsGridView getRecentFragment(){ - for (EmojiconGridView it : views) { - if(it instanceof EmojiconRecentsGridView) - return (EmojiconRecentsGridView)it; - } - return null; - } - public EmojisPagerAdapter(List views) { - super(); - this.views = views; - } - - @Override - public int getCount() { - return views.size(); - } - - - @Override - public Object instantiateItem(ViewGroup container, int position) { - View v = views.get(position).rootView; - ((ViewPager)container).addView(v, 0); - return v; - } - - @Override - public void destroyItem(ViewGroup container, int position, Object view) { - ((ViewPager)container).removeView((View)view); - } - - @Override - public boolean isViewFromObject(View view, Object key) { - return key == view; - } - } - - /** - * A class, that can be used as a TouchListener on any view (e.g. a Button). - * It cyclically runs a clickListener, emulating keyboard-like behaviour. First - * click is fired immediately, next before initialInterval, and subsequent before - * normalInterval. - *

- *

Interval is scheduled before the onClick completes, so it has to run fast. - * If it runs slow, it does not generate skipped onClicks. - */ - public static class RepeatListener implements View.OnTouchListener { - - private Handler handler = new Handler(); - - private int initialInterval; - private final int normalInterval; - private final View.OnClickListener clickListener; - - private Runnable handlerRunnable = new Runnable() { - @Override - public void run() { - if (downView == null) { - return; - } - handler.removeCallbacksAndMessages(downView); - handler.postAtTime(this, downView, SystemClock.uptimeMillis() + normalInterval); - clickListener.onClick(downView); - } - }; - - private View downView; - - /** - * @param initialInterval The interval before first click event - * @param normalInterval The interval before second and subsequent click - * events - * @param clickListener The OnClickListener, that will be called - * periodically - */ - public RepeatListener(int initialInterval, int normalInterval, View.OnClickListener clickListener) { - if (clickListener == null) - throw new IllegalArgumentException("null runnable"); - if (initialInterval < 0 || normalInterval < 0) - throw new IllegalArgumentException("negative interval"); - - this.initialInterval = initialInterval; - this.normalInterval = normalInterval; - this.clickListener = clickListener; - } - - public boolean onTouch(View view, MotionEvent motionEvent) { - switch (motionEvent.getAction()) { - case MotionEvent.ACTION_DOWN: - downView = view; - handler.removeCallbacks(handlerRunnable); - handler.postAtTime(handlerRunnable, downView, SystemClock.uptimeMillis() + initialInterval); - clickListener.onClick(view); - return true; - case MotionEvent.ACTION_UP: - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_OUTSIDE: - handler.removeCallbacksAndMessages(downView); - downView = null; - return true; - } - return false; - } - } - - public interface OnEmojiconBackspaceClickedListener { - void onEmojiconBackspaceClicked(View v); - } - - public interface OnSoftKeyboardOpenCloseListener{ - void onKeyboardOpen(int keyBoardHeight); - void onKeyboardClose(); - } -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Emojicon.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Emojicon.java deleted file mode 100644 index 2ba8ca1e..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Emojicon.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon.emoji; - -import java.io.Serializable; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public class Emojicon implements Serializable { - private static final long serialVersionUID = 1L; - private String emoji; - - private Emojicon() { - } - - public static Emojicon fromCodePoint(int codePoint) { - Emojicon emoji = new Emojicon(); - emoji.emoji = newString(codePoint); - return emoji; - } - - public static Emojicon fromChar(char ch) { - Emojicon emoji = new Emojicon(); - emoji.emoji = Character.toString(ch); - return emoji; - } - - public static Emojicon fromChars(String chars) { - Emojicon emoji = new Emojicon(); - emoji.emoji = chars; - return emoji; - } - - public Emojicon(String emoji) { - this.emoji = emoji; - } - - public String getEmoji() { - return emoji; - } - - @Override - public boolean equals(Object o) { - return o instanceof Emojicon && emoji.equals(((Emojicon) o).emoji); - } - - @Override - public int hashCode() { - return emoji.hashCode(); - } - - public static final String newString(int codePoint) { - if (Character.charCount(codePoint) == 1) { - return String.valueOf(codePoint); - } else { - return new String(Character.toChars(codePoint)); - } - } -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Nature.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Nature.java deleted file mode 100644 index b354c9a0..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Nature.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon.emoji; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public class Nature { - public static final Emojicon[] DATA = new Emojicon[]{ - Emojicon.fromCodePoint(0x1f436), - Emojicon.fromCodePoint(0x1f43a), - Emojicon.fromCodePoint(0x1f431), - Emojicon.fromCodePoint(0x1f42d), - Emojicon.fromCodePoint(0x1f439), - Emojicon.fromCodePoint(0x1f430), - Emojicon.fromCodePoint(0x1f438), - Emojicon.fromCodePoint(0x1f42f), - Emojicon.fromCodePoint(0x1f428), - Emojicon.fromCodePoint(0x1f43b), - Emojicon.fromCodePoint(0x1f437), - Emojicon.fromCodePoint(0x1f43d), - Emojicon.fromCodePoint(0x1f42e), - Emojicon.fromCodePoint(0x1f417), - Emojicon.fromCodePoint(0x1f435), - Emojicon.fromCodePoint(0x1f412), - Emojicon.fromCodePoint(0x1f434), - Emojicon.fromCodePoint(0x1f411), - Emojicon.fromCodePoint(0x1f418), - Emojicon.fromCodePoint(0x1f43c), - Emojicon.fromCodePoint(0x1f427), - Emojicon.fromCodePoint(0x1f426), - Emojicon.fromCodePoint(0x1f424), - Emojicon.fromCodePoint(0x1f425), - Emojicon.fromCodePoint(0x1f423), - Emojicon.fromCodePoint(0x1f414), - Emojicon.fromCodePoint(0x1f40d), - Emojicon.fromCodePoint(0x1f422), - Emojicon.fromCodePoint(0x1f41b), - Emojicon.fromCodePoint(0x1f41d), - Emojicon.fromCodePoint(0x1f41c), - Emojicon.fromCodePoint(0x1f41e), - Emojicon.fromCodePoint(0x1f40c), - Emojicon.fromCodePoint(0x1f419), - Emojicon.fromCodePoint(0x1f41a), - Emojicon.fromCodePoint(0x1f420), - Emojicon.fromCodePoint(0x1f41f), - Emojicon.fromCodePoint(0x1f42c), - Emojicon.fromCodePoint(0x1f433), - Emojicon.fromCodePoint(0x1f40b), - Emojicon.fromCodePoint(0x1f404), - Emojicon.fromCodePoint(0x1f40f), - Emojicon.fromCodePoint(0x1f400), - Emojicon.fromCodePoint(0x1f403), - Emojicon.fromCodePoint(0x1f405), - Emojicon.fromCodePoint(0x1f407), - Emojicon.fromCodePoint(0x1f409), - Emojicon.fromCodePoint(0x1f40e), - Emojicon.fromCodePoint(0x1f410), - Emojicon.fromCodePoint(0x1f413), - Emojicon.fromCodePoint(0x1f415), - Emojicon.fromCodePoint(0x1f416), - Emojicon.fromCodePoint(0x1f401), - Emojicon.fromCodePoint(0x1f402), - Emojicon.fromCodePoint(0x1f432), - Emojicon.fromCodePoint(0x1f421), - Emojicon.fromCodePoint(0x1f40a), - Emojicon.fromCodePoint(0x1f42b), - Emojicon.fromCodePoint(0x1f42a), - Emojicon.fromCodePoint(0x1f406), - Emojicon.fromCodePoint(0x1f408), - Emojicon.fromCodePoint(0x1f429), - Emojicon.fromCodePoint(0x1f43e), - Emojicon.fromCodePoint(0x1f490), - Emojicon.fromCodePoint(0x1f338), - Emojicon.fromCodePoint(0x1f337), - Emojicon.fromCodePoint(0x1f340), - Emojicon.fromCodePoint(0x1f339), - Emojicon.fromCodePoint(0x1f33b), - Emojicon.fromCodePoint(0x1f33a), - Emojicon.fromCodePoint(0x1f341), - Emojicon.fromCodePoint(0x1f343), - Emojicon.fromCodePoint(0x1f342), - Emojicon.fromCodePoint(0x1f33f), - Emojicon.fromCodePoint(0x1f33e), - Emojicon.fromCodePoint(0x1f344), - Emojicon.fromCodePoint(0x1f335), - Emojicon.fromCodePoint(0x1f334), - Emojicon.fromCodePoint(0x1f332), - Emojicon.fromCodePoint(0x1f333), - Emojicon.fromCodePoint(0x1f330), - Emojicon.fromCodePoint(0x1f331), - Emojicon.fromCodePoint(0x1f33c), - Emojicon.fromCodePoint(0x1f310), - Emojicon.fromCodePoint(0x1f31e), - Emojicon.fromCodePoint(0x1f31d), - Emojicon.fromCodePoint(0x1f31a), - Emojicon.fromCodePoint(0x1f311), - Emojicon.fromCodePoint(0x1f312), - Emojicon.fromCodePoint(0x1f313), - Emojicon.fromCodePoint(0x1f314), - Emojicon.fromCodePoint(0x1f315), - Emojicon.fromCodePoint(0x1f316), - Emojicon.fromCodePoint(0x1f317), - Emojicon.fromCodePoint(0x1f318), - Emojicon.fromCodePoint(0x1f31c), - Emojicon.fromCodePoint(0x1f31b), - Emojicon.fromCodePoint(0x1f319), - Emojicon.fromCodePoint(0x1f30d), - Emojicon.fromCodePoint(0x1f30e), - Emojicon.fromCodePoint(0x1f30f), - Emojicon.fromCodePoint(0x1f30b), - Emojicon.fromCodePoint(0x1f30c), - Emojicon.fromCodePoint(0x1f320), - Emojicon.fromChar((char) 0x2b50), - Emojicon.fromChar((char) 0x2600), - Emojicon.fromChar((char) 0x26c5), - Emojicon.fromChar((char) 0x2601), - Emojicon.fromChar((char) 0x26a1), - Emojicon.fromChar((char) 0x2614), - Emojicon.fromChar((char) 0x2744), - Emojicon.fromChar((char) 0x26c4), - Emojicon.fromCodePoint(0x1f300), - Emojicon.fromCodePoint(0x1f301), - Emojicon.fromCodePoint(0x1f308), - Emojicon.fromCodePoint(0x1f30a), - }; -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Objects.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Objects.java deleted file mode 100644 index 222c9bac..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Objects.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon.emoji; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public class Objects { - public static final Emojicon[] DATA = new Emojicon[]{ - Emojicon.fromCodePoint(0x1f38d), - Emojicon.fromCodePoint(0x1f49d), - Emojicon.fromCodePoint(0x1f38e), - Emojicon.fromCodePoint(0x1f392), - Emojicon.fromCodePoint(0x1f393), - Emojicon.fromCodePoint(0x1f38f), - Emojicon.fromCodePoint(0x1f386), - Emojicon.fromCodePoint(0x1f387), - Emojicon.fromCodePoint(0x1f390), - Emojicon.fromCodePoint(0x1f391), - Emojicon.fromCodePoint(0x1f383), - Emojicon.fromCodePoint(0x1f47b), - Emojicon.fromCodePoint(0x1f385), - Emojicon.fromCodePoint(0x1f384), - Emojicon.fromCodePoint(0x1f381), - Emojicon.fromCodePoint(0x1f38b), - Emojicon.fromCodePoint(0x1f389), - Emojicon.fromCodePoint(0x1f38a), - Emojicon.fromCodePoint(0x1f388), - Emojicon.fromCodePoint(0x1f38c), - Emojicon.fromCodePoint(0x1f52e), - Emojicon.fromCodePoint(0x1f3a5), - Emojicon.fromCodePoint(0x1f4f7), - Emojicon.fromCodePoint(0x1f4f9), - Emojicon.fromCodePoint(0x1f4fc), - Emojicon.fromCodePoint(0x1f4bf), - Emojicon.fromCodePoint(0x1f4c0), - Emojicon.fromCodePoint(0x1f4bd), - Emojicon.fromCodePoint(0x1f4be), - Emojicon.fromCodePoint(0x1f4bb), - Emojicon.fromCodePoint(0x1f4f1), - Emojicon.fromChar((char) 0x260e), - Emojicon.fromCodePoint(0x1f4de), - Emojicon.fromCodePoint(0x1f4df), - Emojicon.fromCodePoint(0x1f4e0), - Emojicon.fromCodePoint(0x1f4e1), - Emojicon.fromCodePoint(0x1f4fa), - Emojicon.fromCodePoint(0x1f4fb), - Emojicon.fromCodePoint(0x1f508), - Emojicon.fromCodePoint(0x1f509), - Emojicon.fromCodePoint(0x1f50a), - Emojicon.fromCodePoint(0x1f507), - Emojicon.fromCodePoint(0x1f514), - Emojicon.fromCodePoint(0x1f515), - Emojicon.fromCodePoint(0x1f4e2), - Emojicon.fromCodePoint(0x1f4e3), - Emojicon.fromChar((char) 0x23f3), - Emojicon.fromChar((char) 0x231b), - Emojicon.fromChar((char) 0x23f0), - Emojicon.fromChar((char) 0x231a), - Emojicon.fromCodePoint(0x1f513), - Emojicon.fromCodePoint(0x1f512), - Emojicon.fromCodePoint(0x1f50f), - Emojicon.fromCodePoint(0x1f510), - Emojicon.fromCodePoint(0x1f511), - Emojicon.fromCodePoint(0x1f50e), - Emojicon.fromCodePoint(0x1f4a1), - Emojicon.fromCodePoint(0x1f526), - Emojicon.fromCodePoint(0x1f506), - Emojicon.fromCodePoint(0x1f505), - Emojicon.fromCodePoint(0x1f50c), - Emojicon.fromCodePoint(0x1f50b), - Emojicon.fromCodePoint(0x1f50d), - Emojicon.fromCodePoint(0x1f6c1), - Emojicon.fromCodePoint(0x1f6c0), - Emojicon.fromCodePoint(0x1f6bf), - Emojicon.fromCodePoint(0x1f6bd), - Emojicon.fromCodePoint(0x1f527), - Emojicon.fromCodePoint(0x1f529), - Emojicon.fromCodePoint(0x1f528), - Emojicon.fromCodePoint(0x1f6aa), - Emojicon.fromCodePoint(0x1f6ac), - Emojicon.fromCodePoint(0x1f4a3), - Emojicon.fromCodePoint(0x1f52b), - Emojicon.fromCodePoint(0x1f52a), - Emojicon.fromCodePoint(0x1f48a), - Emojicon.fromCodePoint(0x1f489), - Emojicon.fromCodePoint(0x1f4b0), - Emojicon.fromCodePoint(0x1f4b4), - Emojicon.fromCodePoint(0x1f4b5), - Emojicon.fromCodePoint(0x1f4b7), - Emojicon.fromCodePoint(0x1f4b6), - Emojicon.fromCodePoint(0x1f4b3), - Emojicon.fromCodePoint(0x1f4b8), - Emojicon.fromCodePoint(0x1f4f2), - Emojicon.fromCodePoint(0x1f4e7), - Emojicon.fromCodePoint(0x1f4e5), - Emojicon.fromCodePoint(0x1f4e4), - Emojicon.fromChar((char) 0x2709), - Emojicon.fromCodePoint(0x1f4e9), - Emojicon.fromCodePoint(0x1f4e8), - Emojicon.fromCodePoint(0x1f4ef), - Emojicon.fromCodePoint(0x1f4eb), - Emojicon.fromCodePoint(0x1f4ea), - Emojicon.fromCodePoint(0x1f4ec), - Emojicon.fromCodePoint(0x1f4ed), - Emojicon.fromCodePoint(0x1f4ee), - Emojicon.fromCodePoint(0x1f4e6), - Emojicon.fromCodePoint(0x1f4dd), - Emojicon.fromCodePoint(0x1f4c4), - Emojicon.fromCodePoint(0x1f4c3), - Emojicon.fromCodePoint(0x1f4d1), - Emojicon.fromCodePoint(0x1f4ca), - Emojicon.fromCodePoint(0x1f4c8), - Emojicon.fromCodePoint(0x1f4c9), - Emojicon.fromCodePoint(0x1f4dc), - Emojicon.fromCodePoint(0x1f4cb), - Emojicon.fromCodePoint(0x1f4c5), - Emojicon.fromCodePoint(0x1f4c6), - Emojicon.fromCodePoint(0x1f4c7), - Emojicon.fromCodePoint(0x1f4c1), - Emojicon.fromCodePoint(0x1f4c2), - Emojicon.fromChar((char) 0x2702), - Emojicon.fromCodePoint(0x1f4cc), - Emojicon.fromCodePoint(0x1f4ce), - Emojicon.fromChar((char) 0x2712), - Emojicon.fromChar((char) 0x270f), - Emojicon.fromCodePoint(0x1f4cf), - Emojicon.fromCodePoint(0x1f4d0), - Emojicon.fromCodePoint(0x1f4d5), - Emojicon.fromCodePoint(0x1f4d7), - Emojicon.fromCodePoint(0x1f4d8), - Emojicon.fromCodePoint(0x1f4d9), - Emojicon.fromCodePoint(0x1f4d3), - Emojicon.fromCodePoint(0x1f4d4), - Emojicon.fromCodePoint(0x1f4d2), - Emojicon.fromCodePoint(0x1f4da), - Emojicon.fromCodePoint(0x1f4d6), - Emojicon.fromCodePoint(0x1f516), - Emojicon.fromCodePoint(0x1f4db), - Emojicon.fromCodePoint(0x1f52c), - Emojicon.fromCodePoint(0x1f52d), - Emojicon.fromCodePoint(0x1f4f0), - Emojicon.fromCodePoint(0x1f3a8), - Emojicon.fromCodePoint(0x1f3ac), - Emojicon.fromCodePoint(0x1f3a4), - Emojicon.fromCodePoint(0x1f3a7), - Emojicon.fromCodePoint(0x1f3bc), - Emojicon.fromCodePoint(0x1f3b5), - Emojicon.fromCodePoint(0x1f3b6), - Emojicon.fromCodePoint(0x1f3b9), - Emojicon.fromCodePoint(0x1f3bb), - Emojicon.fromCodePoint(0x1f3ba), - Emojicon.fromCodePoint(0x1f3b7), - Emojicon.fromCodePoint(0x1f3b8), - Emojicon.fromCodePoint(0x1f47e), - Emojicon.fromCodePoint(0x1f3ae), - Emojicon.fromCodePoint(0x1f0cf), - Emojicon.fromCodePoint(0x1f3b4), - Emojicon.fromCodePoint(0x1f004), - Emojicon.fromCodePoint(0x1f3b2), - Emojicon.fromCodePoint(0x1f3af), - Emojicon.fromCodePoint(0x1f3c8), - Emojicon.fromCodePoint(0x1f3c0), - Emojicon.fromChar((char) 0x26bd), - Emojicon.fromChar((char) 0x26be), - Emojicon.fromCodePoint(0x1f3be), - Emojicon.fromCodePoint(0x1f3b1), - Emojicon.fromCodePoint(0x1f3c9), - Emojicon.fromCodePoint(0x1f3b3), - Emojicon.fromChar((char) 0x26f3), - Emojicon.fromCodePoint(0x1f6b5), - Emojicon.fromCodePoint(0x1f6b4), - Emojicon.fromCodePoint(0x1f3c1), - Emojicon.fromCodePoint(0x1f3c7), - Emojicon.fromCodePoint(0x1f3c6), - Emojicon.fromCodePoint(0x1f3bf), - Emojicon.fromCodePoint(0x1f3c2), - Emojicon.fromCodePoint(0x1f3ca), - Emojicon.fromCodePoint(0x1f3c4), - Emojicon.fromCodePoint(0x1f3a3), - Emojicon.fromChar((char) 0x2615), - Emojicon.fromCodePoint(0x1f375), - Emojicon.fromCodePoint(0x1f376), - Emojicon.fromCodePoint(0x1f37c), - Emojicon.fromCodePoint(0x1f37a), - Emojicon.fromCodePoint(0x1f37b), - Emojicon.fromCodePoint(0x1f378), - Emojicon.fromCodePoint(0x1f379), - Emojicon.fromCodePoint(0x1f377), - Emojicon.fromCodePoint(0x1f374), - Emojicon.fromCodePoint(0x1f355), - Emojicon.fromCodePoint(0x1f354), - Emojicon.fromCodePoint(0x1f35f), - Emojicon.fromCodePoint(0x1f357), - Emojicon.fromCodePoint(0x1f356), - Emojicon.fromCodePoint(0x1f35d), - Emojicon.fromCodePoint(0x1f35b), - Emojicon.fromCodePoint(0x1f364), - Emojicon.fromCodePoint(0x1f371), - Emojicon.fromCodePoint(0x1f363), - Emojicon.fromCodePoint(0x1f365), - Emojicon.fromCodePoint(0x1f359), - Emojicon.fromCodePoint(0x1f358), - Emojicon.fromCodePoint(0x1f35a), - Emojicon.fromCodePoint(0x1f35c), - Emojicon.fromCodePoint(0x1f372), - Emojicon.fromCodePoint(0x1f362), - Emojicon.fromCodePoint(0x1f361), - Emojicon.fromCodePoint(0x1f373), - Emojicon.fromCodePoint(0x1f35e), - Emojicon.fromCodePoint(0x1f369), - Emojicon.fromCodePoint(0x1f36e), - Emojicon.fromCodePoint(0x1f366), - Emojicon.fromCodePoint(0x1f368), - Emojicon.fromCodePoint(0x1f367), - Emojicon.fromCodePoint(0x1f382), - Emojicon.fromCodePoint(0x1f370), - Emojicon.fromCodePoint(0x1f36a), - Emojicon.fromCodePoint(0x1f36b), - Emojicon.fromCodePoint(0x1f36c), - Emojicon.fromCodePoint(0x1f36d), - Emojicon.fromCodePoint(0x1f36f), - Emojicon.fromCodePoint(0x1f34e), - Emojicon.fromCodePoint(0x1f34f), - Emojicon.fromCodePoint(0x1f34a), - Emojicon.fromCodePoint(0x1f34b), - Emojicon.fromCodePoint(0x1f352), - Emojicon.fromCodePoint(0x1f347), - Emojicon.fromCodePoint(0x1f349), - Emojicon.fromCodePoint(0x1f353), - Emojicon.fromCodePoint(0x1f351), - Emojicon.fromCodePoint(0x1f348), - Emojicon.fromCodePoint(0x1f34c), - Emojicon.fromCodePoint(0x1f350), - Emojicon.fromCodePoint(0x1f34d), - Emojicon.fromCodePoint(0x1f360), - Emojicon.fromCodePoint(0x1f346), - Emojicon.fromCodePoint(0x1f345), - Emojicon.fromCodePoint(0x1f33d), - }; -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/People.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/People.java deleted file mode 100644 index 93e34f59..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/People.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon.emoji; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public class People { - public static final Emojicon[] DATA = new Emojicon[]{ - Emojicon.fromCodePoint(0x1f604), - Emojicon.fromCodePoint(0x1f603), - Emojicon.fromCodePoint(0x1f600), - Emojicon.fromCodePoint(0x1f60a), - Emojicon.fromChar((char) 0x263a), - Emojicon.fromCodePoint(0x1f609), - Emojicon.fromCodePoint(0x1f60d), - Emojicon.fromCodePoint(0x1f618), - Emojicon.fromCodePoint(0x1f61a), - Emojicon.fromCodePoint(0x1f617), - Emojicon.fromCodePoint(0x1f619), - Emojicon.fromCodePoint(0x1f61c), - Emojicon.fromCodePoint(0x1f61d), - Emojicon.fromCodePoint(0x1f61b), - Emojicon.fromCodePoint(0x1f633), - Emojicon.fromCodePoint(0x1f601), - Emojicon.fromCodePoint(0x1f614), - Emojicon.fromCodePoint(0x1f60c), - Emojicon.fromCodePoint(0x1f612), - Emojicon.fromCodePoint(0x1f61e), - Emojicon.fromCodePoint(0x1f623), - Emojicon.fromCodePoint(0x1f622), - Emojicon.fromCodePoint(0x1f602), - Emojicon.fromCodePoint(0x1f62d), - Emojicon.fromCodePoint(0x1f62a), - Emojicon.fromCodePoint(0x1f625), - Emojicon.fromCodePoint(0x1f630), - Emojicon.fromCodePoint(0x1f605), - Emojicon.fromCodePoint(0x1f613), - Emojicon.fromCodePoint(0x1f629), - Emojicon.fromCodePoint(0x1f62b), - Emojicon.fromCodePoint(0x1f628), - Emojicon.fromCodePoint(0x1f631), - Emojicon.fromCodePoint(0x1f620), - Emojicon.fromCodePoint(0x1f621), - Emojicon.fromCodePoint(0x1f624), - Emojicon.fromCodePoint(0x1f616), - Emojicon.fromCodePoint(0x1f606), - Emojicon.fromCodePoint(0x1f60b), - Emojicon.fromCodePoint(0x1f637), - Emojicon.fromCodePoint(0x1f60e), - Emojicon.fromCodePoint(0x1f634), - Emojicon.fromCodePoint(0x1f635), - Emojicon.fromCodePoint(0x1f632), - Emojicon.fromCodePoint(0x1f61f), - Emojicon.fromCodePoint(0x1f626), - Emojicon.fromCodePoint(0x1f627), - Emojicon.fromCodePoint(0x1f608), - Emojicon.fromCodePoint(0x1f47f), - Emojicon.fromCodePoint(0x1f62e), - Emojicon.fromCodePoint(0x1f62c), - Emojicon.fromCodePoint(0x1f610), - Emojicon.fromCodePoint(0x1f615), - Emojicon.fromCodePoint(0x1f62f), - Emojicon.fromCodePoint(0x1f636), - Emojicon.fromCodePoint(0x1f607), - Emojicon.fromCodePoint(0x1f60f), - Emojicon.fromCodePoint(0x1f611), - Emojicon.fromCodePoint(0x1f472), - Emojicon.fromCodePoint(0x1f473), - Emojicon.fromCodePoint(0x1f46e), - Emojicon.fromCodePoint(0x1f477), - Emojicon.fromCodePoint(0x1f482), - Emojicon.fromCodePoint(0x1f476), - Emojicon.fromCodePoint(0x1f466), - Emojicon.fromCodePoint(0x1f467), - Emojicon.fromCodePoint(0x1f468), - Emojicon.fromCodePoint(0x1f469), - Emojicon.fromCodePoint(0x1f474), - Emojicon.fromCodePoint(0x1f475), - Emojicon.fromCodePoint(0x1f471), - Emojicon.fromCodePoint(0x1f47c), - Emojicon.fromCodePoint(0x1f478), - Emojicon.fromCodePoint(0x1f63a), - Emojicon.fromCodePoint(0x1f638), - Emojicon.fromCodePoint(0x1f63b), - Emojicon.fromCodePoint(0x1f63d), - Emojicon.fromCodePoint(0x1f63c), - Emojicon.fromCodePoint(0x1f640), - Emojicon.fromCodePoint(0x1f63f), - Emojicon.fromCodePoint(0x1f639), - Emojicon.fromCodePoint(0x1f63e), - Emojicon.fromCodePoint(0x1f479), - Emojicon.fromCodePoint(0x1f47a), - Emojicon.fromCodePoint(0x1f648), - Emojicon.fromCodePoint(0x1f649), - Emojicon.fromCodePoint(0x1f64a), - Emojicon.fromCodePoint(0x1f480), - Emojicon.fromCodePoint(0x1f47d), - Emojicon.fromCodePoint(0x1f4a9), - Emojicon.fromCodePoint(0x1f525), - Emojicon.fromChar((char) 0x2728), - Emojicon.fromCodePoint(0x1f31f), - Emojicon.fromCodePoint(0x1f4ab), - Emojicon.fromCodePoint(0x1f4a5), - Emojicon.fromCodePoint(0x1f4a2), - Emojicon.fromCodePoint(0x1f4a6), - Emojicon.fromCodePoint(0x1f4a7), - Emojicon.fromCodePoint(0x1f4a4), - Emojicon.fromCodePoint(0x1f4a8), - Emojicon.fromCodePoint(0x1f442), - Emojicon.fromCodePoint(0x1f440), - Emojicon.fromCodePoint(0x1f443), - Emojicon.fromCodePoint(0x1f445), - Emojicon.fromCodePoint(0x1f444), - Emojicon.fromCodePoint(0x1f44d), - Emojicon.fromCodePoint(0x1f44e), - Emojicon.fromCodePoint(0x1f44c), - Emojicon.fromCodePoint(0x1f44a), - Emojicon.fromChar((char) 0x270a), - Emojicon.fromChar((char) 0x270c), - Emojicon.fromCodePoint(0x1f44b), - Emojicon.fromChar((char) 0x270b), - Emojicon.fromCodePoint(0x1f450), - Emojicon.fromCodePoint(0x1f446), - Emojicon.fromCodePoint(0x1f447), - Emojicon.fromCodePoint(0x1f449), - Emojicon.fromCodePoint(0x1f448), - Emojicon.fromCodePoint(0x1f64c), - Emojicon.fromCodePoint(0x1f64f), - Emojicon.fromChar((char) 0x261d), - Emojicon.fromCodePoint(0x1f44f), - Emojicon.fromCodePoint(0x1f4aa), - Emojicon.fromCodePoint(0x1f6b6), - Emojicon.fromCodePoint(0x1f3c3), - Emojicon.fromCodePoint(0x1f483), - Emojicon.fromCodePoint(0x1f46b), - Emojicon.fromCodePoint(0x1f46a), - Emojicon.fromCodePoint(0x1f46c), - Emojicon.fromCodePoint(0x1f46d), - Emojicon.fromCodePoint(0x1f48f), - Emojicon.fromCodePoint(0x1f491), - Emojicon.fromCodePoint(0x1f46f), - Emojicon.fromCodePoint(0x1f646), - Emojicon.fromCodePoint(0x1f645), - Emojicon.fromCodePoint(0x1f481), - Emojicon.fromCodePoint(0x1f64b), - Emojicon.fromCodePoint(0x1f486), - Emojicon.fromCodePoint(0x1f487), - Emojicon.fromCodePoint(0x1f485), - Emojicon.fromCodePoint(0x1f470), - Emojicon.fromCodePoint(0x1f64e), - Emojicon.fromCodePoint(0x1f64d), - Emojicon.fromCodePoint(0x1f647), - Emojicon.fromCodePoint(0x1f3a9), - Emojicon.fromCodePoint(0x1f451), - Emojicon.fromCodePoint(0x1f452), - Emojicon.fromCodePoint(0x1f45f), - Emojicon.fromCodePoint(0x1f45e), - Emojicon.fromCodePoint(0x1f461), - Emojicon.fromCodePoint(0x1f460), - Emojicon.fromCodePoint(0x1f462), - Emojicon.fromCodePoint(0x1f455), - Emojicon.fromCodePoint(0x1f454), - Emojicon.fromCodePoint(0x1f45a), - Emojicon.fromCodePoint(0x1f457), - Emojicon.fromCodePoint(0x1f3bd), - Emojicon.fromCodePoint(0x1f456), - Emojicon.fromCodePoint(0x1f458), - Emojicon.fromCodePoint(0x1f459), - Emojicon.fromCodePoint(0x1f4bc), - Emojicon.fromCodePoint(0x1f45c), - Emojicon.fromCodePoint(0x1f45d), - Emojicon.fromCodePoint(0x1f45b), - Emojicon.fromCodePoint(0x1f453), - Emojicon.fromCodePoint(0x1f380), - Emojicon.fromCodePoint(0x1f302), - Emojicon.fromCodePoint(0x1f484), - Emojicon.fromCodePoint(0x1f49b), - Emojicon.fromCodePoint(0x1f499), - Emojicon.fromCodePoint(0x1f49c), - Emojicon.fromCodePoint(0x1f49a), - Emojicon.fromChar((char) 0x2764), - Emojicon.fromCodePoint(0x1f494), - Emojicon.fromCodePoint(0x1f497), - Emojicon.fromCodePoint(0x1f493), - Emojicon.fromCodePoint(0x1f495), - Emojicon.fromCodePoint(0x1f496), - Emojicon.fromCodePoint(0x1f49e), - Emojicon.fromCodePoint(0x1f498), - Emojicon.fromCodePoint(0x1f48c), - Emojicon.fromCodePoint(0x1f48b), - Emojicon.fromCodePoint(0x1f48d), - Emojicon.fromCodePoint(0x1f48e), - Emojicon.fromCodePoint(0x1f464), - Emojicon.fromCodePoint(0x1f465), - Emojicon.fromCodePoint(0x1f4ac), - Emojicon.fromCodePoint(0x1f463), - Emojicon.fromCodePoint(0x1f4ad), - }; -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Places.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Places.java deleted file mode 100644 index cf2f0e5a..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Places.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon.emoji; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public class Places { - public static final Emojicon[] DATA = new Emojicon[]{ - Emojicon.fromCodePoint(0x1f3e0), - Emojicon.fromCodePoint(0x1f3e1), - Emojicon.fromCodePoint(0x1f3eb), - Emojicon.fromCodePoint(0x1f3e2), - Emojicon.fromCodePoint(0x1f3e3), - Emojicon.fromCodePoint(0x1f3e5), - Emojicon.fromCodePoint(0x1f3e6), - Emojicon.fromCodePoint(0x1f3ea), - Emojicon.fromCodePoint(0x1f3e9), - Emojicon.fromCodePoint(0x1f3e8), - Emojicon.fromCodePoint(0x1f492), - Emojicon.fromChar((char) 0x26ea), - Emojicon.fromCodePoint(0x1f3ec), - Emojicon.fromCodePoint(0x1f3e4), - Emojicon.fromCodePoint(0x1f307), - Emojicon.fromCodePoint(0x1f306), - Emojicon.fromCodePoint(0x1f3ef), - Emojicon.fromCodePoint(0x1f3f0), - Emojicon.fromChar((char) 0x26fa), - Emojicon.fromCodePoint(0x1f3ed), - Emojicon.fromCodePoint(0x1f5fc), - Emojicon.fromCodePoint(0x1f5fe), - Emojicon.fromCodePoint(0x1f5fb), - Emojicon.fromCodePoint(0x1f304), - Emojicon.fromCodePoint(0x1f305), - Emojicon.fromCodePoint(0x1f303), - Emojicon.fromCodePoint(0x1f5fd), - Emojicon.fromCodePoint(0x1f309), - Emojicon.fromCodePoint(0x1f3a0), - Emojicon.fromCodePoint(0x1f3a1), - Emojicon.fromChar((char) 0x26f2), - Emojicon.fromCodePoint(0x1f3a2), - Emojicon.fromCodePoint(0x1f6a2), - Emojicon.fromChar((char) 0x26f5), - Emojicon.fromCodePoint(0x1f6a4), - Emojicon.fromCodePoint(0x1f6a3), - Emojicon.fromChar((char) 0x2693), - Emojicon.fromCodePoint(0x1f680), - Emojicon.fromChar((char) 0x2708), - Emojicon.fromCodePoint(0x1f4ba), - Emojicon.fromCodePoint(0x1f681), - Emojicon.fromCodePoint(0x1f682), - Emojicon.fromCodePoint(0x1f68a), - Emojicon.fromCodePoint(0x1f689), - Emojicon.fromCodePoint(0x1f69e), - Emojicon.fromCodePoint(0x1f686), - Emojicon.fromCodePoint(0x1f684), - Emojicon.fromCodePoint(0x1f685), - Emojicon.fromCodePoint(0x1f688), - Emojicon.fromCodePoint(0x1f687), - Emojicon.fromCodePoint(0x1f69d), - Emojicon.fromCodePoint(0x1f68b), - Emojicon.fromCodePoint(0x1f683), - Emojicon.fromCodePoint(0x1f68e), - Emojicon.fromCodePoint(0x1f68c), - Emojicon.fromCodePoint(0x1f68d), - Emojicon.fromCodePoint(0x1f699), - Emojicon.fromCodePoint(0x1f698), - Emojicon.fromCodePoint(0x1f697), - Emojicon.fromCodePoint(0x1f695), - Emojicon.fromCodePoint(0x1f696), - Emojicon.fromCodePoint(0x1f69b), - Emojicon.fromCodePoint(0x1f69a), - Emojicon.fromCodePoint(0x1f6a8), - Emojicon.fromCodePoint(0x1f693), - Emojicon.fromCodePoint(0x1f694), - Emojicon.fromCodePoint(0x1f692), - Emojicon.fromCodePoint(0x1f691), - Emojicon.fromCodePoint(0x1f690), - Emojicon.fromCodePoint(0x1f6b2), - Emojicon.fromCodePoint(0x1f6a1), - Emojicon.fromCodePoint(0x1f69f), - Emojicon.fromCodePoint(0x1f6a0), - Emojicon.fromCodePoint(0x1f69c), - Emojicon.fromCodePoint(0x1f488), - Emojicon.fromCodePoint(0x1f68f), - Emojicon.fromCodePoint(0x1f3ab), - Emojicon.fromCodePoint(0x1f6a6), - Emojicon.fromCodePoint(0x1f6a5), - Emojicon.fromChar((char) 0x26a0), - Emojicon.fromCodePoint(0x1f6a7), - Emojicon.fromCodePoint(0x1f530), - Emojicon.fromChar((char) 0x26fd), - Emojicon.fromCodePoint(0x1f3ee), - Emojicon.fromCodePoint(0x1f3b0), - Emojicon.fromChar((char) 0x2668), - Emojicon.fromCodePoint(0x1f5ff), - Emojicon.fromCodePoint(0x1f3aa), - Emojicon.fromCodePoint(0x1f3ad), - Emojicon.fromCodePoint(0x1f4cd), - Emojicon.fromCodePoint(0x1f6a9), - Emojicon.fromChars("\ud83c\uddef\ud83c\uddf5"), - Emojicon.fromChars("\ud83c\uddf0\ud83c\uddf7"), - Emojicon.fromChars("\ud83c\udde9\ud83c\uddea"), - Emojicon.fromChars("\ud83c\udde8\ud83c\uddf3"), - Emojicon.fromChars("\ud83c\uddfa\ud83c\uddf8"), - Emojicon.fromChars("\ud83c\uddeb\ud83c\uddf7"), - Emojicon.fromChars("\ud83c\uddea\ud83c\uddf8"), - Emojicon.fromChars("\ud83c\uddee\ud83c\uddf9"), - Emojicon.fromChars("\ud83c\uddf7\ud83c\uddfa"), - Emojicon.fromChars("\ud83c\uddec\ud83c\udde7"), - }; -} diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Symbols.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Symbols.java deleted file mode 100644 index b81c322f..00000000 --- a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/emoji/Symbols.java +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package github.ankushsachdeva.emojicon.emoji; - -/** - * @author Hieu Rocker (rockerhieu@gmail.com) - */ -public class Symbols { - public static final Emojicon[] DATA = new Emojicon[]{ - Emojicon.fromChars("\u0031\u20e3"), - Emojicon.fromChars("\u0032\u20e3"), - Emojicon.fromChars("\u0033\u20e3"), - Emojicon.fromChars("\u0034\u20e3"), - Emojicon.fromChars("\u0035\u20e3"), - Emojicon.fromChars("\u0036\u20e3"), - Emojicon.fromChars("\u0037\u20e3"), - Emojicon.fromChars("\u0038\u20e3"), - Emojicon.fromChars("\u0039\u20e3"), - Emojicon.fromChars("\u0030\u20e3"), - Emojicon.fromCodePoint(0x1f51f), - Emojicon.fromCodePoint(0x1f522), - Emojicon.fromChars("\u0023\u20e3"), - Emojicon.fromCodePoint(0x1f523), - Emojicon.fromChar((char) 0x2b06), - Emojicon.fromChar((char) 0x2b07), - Emojicon.fromChar((char) 0x2b05), - Emojicon.fromChar((char) 0x27a1), - Emojicon.fromCodePoint(0x1f520), - Emojicon.fromCodePoint(0x1f521), - Emojicon.fromCodePoint(0x1f524), - Emojicon.fromChar((char) 0x2197), - Emojicon.fromChar((char) 0x2196), - Emojicon.fromChar((char) 0x2198), - Emojicon.fromChar((char) 0x2199), - Emojicon.fromChar((char) 0x2194), - Emojicon.fromChar((char) 0x2195), - Emojicon.fromCodePoint(0x1f504), - Emojicon.fromChar((char) 0x25c0), - Emojicon.fromChar((char) 0x25b6), - Emojicon.fromCodePoint(0x1f53c), - Emojicon.fromCodePoint(0x1f53d), - Emojicon.fromChar((char) 0x21a9), - Emojicon.fromChar((char) 0x21aa), - Emojicon.fromChar((char) 0x2139), - Emojicon.fromChar((char) 0x23ea), - Emojicon.fromChar((char) 0x23e9), - Emojicon.fromChar((char) 0x23eb), - Emojicon.fromChar((char) 0x23ec), - Emojicon.fromChar((char) 0x2935), - Emojicon.fromChar((char) 0x2934), - Emojicon.fromCodePoint(0x1f197), - Emojicon.fromCodePoint(0x1f500), - Emojicon.fromCodePoint(0x1f501), - Emojicon.fromCodePoint(0x1f502), - Emojicon.fromCodePoint(0x1f195), - Emojicon.fromCodePoint(0x1f199), - Emojicon.fromCodePoint(0x1f192), - Emojicon.fromCodePoint(0x1f193), - Emojicon.fromCodePoint(0x1f196), - Emojicon.fromCodePoint(0x1f4f6), - Emojicon.fromCodePoint(0x1f3a6), - Emojicon.fromCodePoint(0x1f201), - Emojicon.fromCodePoint(0x1f22f), - Emojicon.fromCodePoint(0x1f233), - Emojicon.fromCodePoint(0x1f235), - Emojicon.fromCodePoint(0x1f234), - Emojicon.fromCodePoint(0x1f232), - Emojicon.fromCodePoint(0x1f250), - Emojicon.fromCodePoint(0x1f239), - Emojicon.fromCodePoint(0x1f23a), - Emojicon.fromCodePoint(0x1f236), - Emojicon.fromCodePoint(0x1f21a), - Emojicon.fromCodePoint(0x1f6bb), - Emojicon.fromCodePoint(0x1f6b9), - Emojicon.fromCodePoint(0x1f6ba), - Emojicon.fromCodePoint(0x1f6bc), - Emojicon.fromCodePoint(0x1f6be), - Emojicon.fromCodePoint(0x1f6b0), - Emojicon.fromCodePoint(0x1f6ae), - Emojicon.fromCodePoint(0x1f17f), - Emojicon.fromChar((char) 0x267f), - Emojicon.fromCodePoint(0x1f6ad), - Emojicon.fromCodePoint(0x1f237), - Emojicon.fromCodePoint(0x1f238), - Emojicon.fromCodePoint(0x1f202), - Emojicon.fromChar((char) 0x24c2), - Emojicon.fromCodePoint(0x1f6c2), - Emojicon.fromCodePoint(0x1f6c4), - Emojicon.fromCodePoint(0x1f6c5), - Emojicon.fromCodePoint(0x1f6c3), - Emojicon.fromCodePoint(0x1f251), - Emojicon.fromChar((char) 0x3299), - Emojicon.fromChar((char) 0x3297), - Emojicon.fromCodePoint(0x1f191), - Emojicon.fromCodePoint(0x1f198), - Emojicon.fromCodePoint(0x1f194), - Emojicon.fromCodePoint(0x1f6ab), - Emojicon.fromCodePoint(0x1f51e), - Emojicon.fromCodePoint(0x1f4f5), - Emojicon.fromCodePoint(0x1f6af), - Emojicon.fromCodePoint(0x1f6b1), - Emojicon.fromCodePoint(0x1f6b3), - Emojicon.fromCodePoint(0x1f6b7), - Emojicon.fromCodePoint(0x1f6b8), - Emojicon.fromChar((char) 0x26d4), - Emojicon.fromChar((char) 0x2733), - Emojicon.fromChar((char) 0x2747), - Emojicon.fromChar((char) 0x274e), - Emojicon.fromChar((char) 0x2705), - Emojicon.fromChar((char) 0x2734), - Emojicon.fromCodePoint(0x1f49f), - Emojicon.fromCodePoint(0x1f19a), - Emojicon.fromCodePoint(0x1f4f3), - Emojicon.fromCodePoint(0x1f4f4), - Emojicon.fromCodePoint(0x1f170), - Emojicon.fromCodePoint(0x1f171), - Emojicon.fromCodePoint(0x1f18e), - Emojicon.fromCodePoint(0x1f17e), - Emojicon.fromCodePoint(0x1f4a0), - Emojicon.fromChar((char) 0x27bf), - Emojicon.fromChar((char) 0x267b), - Emojicon.fromChar((char) 0x2648), - Emojicon.fromChar((char) 0x2649), - Emojicon.fromChar((char) 0x264a), - Emojicon.fromChar((char) 0x264b), - Emojicon.fromChar((char) 0x264c), - Emojicon.fromChar((char) 0x264d), - Emojicon.fromChar((char) 0x264e), - Emojicon.fromChar((char) 0x264f), - Emojicon.fromChar((char) 0x2650), - Emojicon.fromChar((char) 0x2651), - Emojicon.fromChar((char) 0x2652), - Emojicon.fromChar((char) 0x2653), - Emojicon.fromChar((char) 0x26ce), - Emojicon.fromCodePoint(0x1f52f), - Emojicon.fromCodePoint(0x1f3e7), - Emojicon.fromCodePoint(0x1f4b9), - Emojicon.fromCodePoint(0x1f4b2), - Emojicon.fromCodePoint(0x1f4b1), -// Emoji.fromChar((char)0x00a9), -// Emoji.fromChar((char)0x00ae), - Emojicon.fromChar((char) 0xe24e), - Emojicon.fromChar((char) 0xe24f), - - Emojicon.fromChar((char) 0x2122), - Emojicon.fromChar((char) 0x274c), - Emojicon.fromChar((char) 0x203c), - Emojicon.fromChar((char) 0x2049), - Emojicon.fromChar((char) 0x2757), - Emojicon.fromChar((char) 0x2753), - Emojicon.fromChar((char) 0x2755), - Emojicon.fromChar((char) 0x2754), - Emojicon.fromChar((char) 0x2b55), - Emojicon.fromCodePoint(0x1f51d), - Emojicon.fromCodePoint(0x1f51a), - Emojicon.fromCodePoint(0x1f519), - Emojicon.fromCodePoint(0x1f51b), - Emojicon.fromCodePoint(0x1f51c), - Emojicon.fromCodePoint(0x1f503), - Emojicon.fromCodePoint(0x1f55b), - Emojicon.fromCodePoint(0x1f567), - Emojicon.fromCodePoint(0x1f550), - Emojicon.fromCodePoint(0x1f55c), - Emojicon.fromCodePoint(0x1f551), - Emojicon.fromCodePoint(0x1f55d), - Emojicon.fromCodePoint(0x1f552), - Emojicon.fromCodePoint(0x1f55e), - Emojicon.fromCodePoint(0x1f553), - Emojicon.fromCodePoint(0x1f55f), - Emojicon.fromCodePoint(0x1f554), - Emojicon.fromCodePoint(0x1f560), - Emojicon.fromCodePoint(0x1f555), - Emojicon.fromCodePoint(0x1f556), - Emojicon.fromCodePoint(0x1f557), - Emojicon.fromCodePoint(0x1f558), - Emojicon.fromCodePoint(0x1f559), - Emojicon.fromCodePoint(0x1f55a), - Emojicon.fromCodePoint(0x1f561), - Emojicon.fromCodePoint(0x1f562), - Emojicon.fromCodePoint(0x1f563), - Emojicon.fromCodePoint(0x1f564), - Emojicon.fromCodePoint(0x1f565), - Emojicon.fromCodePoint(0x1f566), - Emojicon.fromChar((char) 0x2716), - Emojicon.fromChar((char) 0x2795), - Emojicon.fromChar((char) 0x2796), - Emojicon.fromChar((char) 0x2797), - Emojicon.fromChar((char) 0x2660), - Emojicon.fromChar((char) 0x2665), - Emojicon.fromChar((char) 0x2663), - Emojicon.fromChar((char) 0x2666), - Emojicon.fromCodePoint(0x1f4ae), - Emojicon.fromCodePoint(0x1f4af), - Emojicon.fromChar((char) 0x2714), - Emojicon.fromChar((char) 0x2611), - Emojicon.fromCodePoint(0x1f518), - Emojicon.fromCodePoint(0x1f517), - Emojicon.fromChar((char) 0x27b0), - Emojicon.fromChar((char) 0x3030), - Emojicon.fromChar((char) 0x303d), - Emojicon.fromCodePoint(0x1f531), - Emojicon.fromChar((char) 0x25fc), - Emojicon.fromChar((char) 0x25fb), - Emojicon.fromChar((char) 0x25fe), - Emojicon.fromChar((char) 0x25fd), - Emojicon.fromChar((char) 0x25aa), - Emojicon.fromChar((char) 0x25ab), - Emojicon.fromCodePoint(0x1f53a), - Emojicon.fromCodePoint(0x1f532), - Emojicon.fromCodePoint(0x1f533), - Emojicon.fromChar((char) 0x26ab), - Emojicon.fromChar((char) 0x26aa), - Emojicon.fromCodePoint(0x1f534), - Emojicon.fromCodePoint(0x1f535), - Emojicon.fromCodePoint(0x1f53b), - Emojicon.fromChar((char) 0x2b1c), - Emojicon.fromChar((char) 0x2b1b), - Emojicon.fromCodePoint(0x1f536), - Emojicon.fromCodePoint(0x1f537), - Emojicon.fromCodePoint(0x1f538), - Emojicon.fromCodePoint(0x1f539), - }; -} diff --git a/libs/emojicon/src/main/res/drawable-hdpi/ic_launcher.png b/libs/emojicon/src/main/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index 96a442e5..00000000 Binary files a/libs/emojicon/src/main/res/drawable-hdpi/ic_launcher.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-hdpi/keyboard_background_holo.9.png b/libs/emojicon/src/main/res/drawable-hdpi/keyboard_background_holo.9.png index 73868751..87972f06 100644 Binary files a/libs/emojicon/src/main/res/drawable-hdpi/keyboard_background_holo.9.png and b/libs/emojicon/src/main/res/drawable-hdpi/keyboard_background_holo.9.png differ diff --git a/libs/emojicon/src/main/res/drawable-mdpi/ic_launcher.png b/libs/emojicon/src/main/res/drawable-mdpi/ic_launcher.png deleted file mode 100644 index 359047df..00000000 Binary files a/libs/emojicon/src/main/res/drawable-mdpi/ic_launcher.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-mdpi/keyboard_background_holo.9.png b/libs/emojicon/src/main/res/drawable-mdpi/keyboard_background_holo.9.png index fbe97f7a..6bbf7206 100644 Binary files a/libs/emojicon/src/main/res/drawable-mdpi/keyboard_background_holo.9.png and b/libs/emojicon/src/main/res/drawable-mdpi/keyboard_background_holo.9.png differ diff --git a/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f4bd.png b/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f4bd.png index a4ede2fe..c955947f 100644 Binary files a/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f4bd.png and b/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f4bd.png differ diff --git a/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f555.png b/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f555.png index 279c7f3f..e95f923c 100644 Binary files a/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f555.png and b/libs/emojicon/src/main/res/drawable-nodpi/emoji_1f555.png differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/ic_launcher.png b/libs/emojicon/src/main/res/drawable-xhdpi/ic_launcher.png deleted file mode 100644 index 71c6d760..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/ic_launcher.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/keyboard_background_holo.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/keyboard_background_holo.9.png index f5c9df3e..2d0dc1fb 100644 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/keyboard_background_holo.9.png and b/libs/emojicon/src/main/res/drawable-xhdpi/keyboard_background_holo.9.png differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_normal.png deleted file mode 100644 index d1c02cf6..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_pressed.png deleted file mode 100644 index 9bb11a42..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_camera_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_normal.png deleted file mode 100644 index af8a2fda..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_pressed.png deleted file mode 100644 index 12b8608a..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_location_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_normal.png deleted file mode 100644 index 86f17352..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_pressed.png deleted file mode 100644 index d6d1869b..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attach_photo_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow.png deleted file mode 100644 index b339725e..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow_reversed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow_reversed.png deleted file mode 100644 index 918d0baf..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_attachments_arrow_reversed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_horizontal.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_horizontal.9.png deleted file mode 100644 index f10e37bf..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_horizontal.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_vertical.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_vertical.9.png deleted file mode 100644 index 523493ca..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_divider_vertical.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_normal.png deleted file mode 100644 index 08ccb0fc..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_pressed.png deleted file mode 100644 index b91b2063..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_active_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_normal.png deleted file mode 100644 index d5f15ac1..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_pressed.png deleted file mode 100644 index ddb6e9b7..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_popup_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab.9.png deleted file mode 100644 index 1a6c0fed..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_active.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_active.9.png deleted file mode 100644 index c636c870..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_active.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_dark.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_dark.9.png deleted file mode 100644 index 33d4b909..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_dark.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_pressed.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_pressed.9.png deleted file mode 100644 index fa7c6809..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_tab_pressed.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_top_divider.9.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_top_divider.9.png deleted file mode 100644 index c80da27e..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_composer_top_divider.9.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_back_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_back_normal.png deleted file mode 100644 index 861ce7ba..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_back_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_normal.png deleted file mode 100644 index d1d49c41..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_pressed.png deleted file mode 100644 index 807a000e..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_backspace_front_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_cars.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_cars.png deleted file mode 100644 index 91a51df4..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_cars.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_nature.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_nature.png deleted file mode 100644 index 52b9003f..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_nature.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_objects.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_objects.png deleted file mode 100644 index e5965e81..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_objects.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_people.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_people.png deleted file mode 100644 index 437692e7..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_people.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_punctuation.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_punctuation.png deleted file mode 100644 index cef75d77..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_category_punctuation.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_back_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_back_normal.png deleted file mode 100644 index 57a22ee0..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_back_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_normal.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_normal.png deleted file mode 100644 index 2fe38cc0..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_normal.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_pressed.png b/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_pressed.png deleted file mode 100644 index 57b04f8d..00000000 Binary files a/libs/emojicon/src/main/res/drawable-xhdpi/orca_emoji_more_front_pressed.png and /dev/null differ diff --git a/libs/emojicon/src/main/res/drawable/orca_composer_attach_camera_button.xml b/libs/emojicon/src/main/res/drawable/orca_composer_attach_camera_button.xml deleted file mode 100644 index 0b255fb2..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_composer_attach_camera_button.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_composer_attach_location_button.xml b/libs/emojicon/src/main/res/drawable/orca_composer_attach_location_button.xml deleted file mode 100644 index 4971113a..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_composer_attach_location_button.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_composer_attach_photo_button.xml b/libs/emojicon/src/main/res/drawable/orca_composer_attach_photo_button.xml deleted file mode 100644 index ca7508dd..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_composer_attach_photo_button.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_composer_popup_button.xml b/libs/emojicon/src/main/res/drawable/orca_composer_popup_button.xml deleted file mode 100644 index d43dc26e..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_composer_popup_button.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_composer_popup_button_active.xml b/libs/emojicon/src/main/res/drawable/orca_composer_popup_button_active.xml deleted file mode 100644 index f5e40ef8..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_composer_popup_button_active.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_emoji_backspace_front_button.xml b/libs/emojicon/src/main/res/drawable/orca_emoji_backspace_front_button.xml deleted file mode 100644 index a2d2f5b6..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_emoji_backspace_front_button.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_emoji_more_front_button.xml b/libs/emojicon/src/main/res/drawable/orca_emoji_more_front_button.xml deleted file mode 100644 index a799d56d..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_emoji_more_front_button.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_emoji_tab_background.xml b/libs/emojicon/src/main/res/drawable/orca_emoji_tab_background.xml deleted file mode 100644 index f68e6212..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_emoji_tab_background.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/drawable/orca_emoji_tab_dark_background.xml b/libs/emojicon/src/main/res/drawable/orca_emoji_tab_dark_background.xml deleted file mode 100644 index 07ff608c..00000000 --- a/libs/emojicon/src/main/res/drawable/orca_emoji_tab_dark_background.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/libs/emojicon/src/main/res/layout/emojicon_item.xml b/libs/emojicon/src/main/res/layout/emojicon_item.xml index ed11041a..bdf521a4 100644 --- a/libs/emojicon/src/main/res/layout/emojicon_item.xml +++ b/libs/emojicon/src/main/res/layout/emojicon_item.xml @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - + android:background="@drawable/keyboard_background_holo" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + + + + + + + + + android:layout_width="1px" + android:layout_height="match_parent" + android:background="@color/horizontal_vertical" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/emojicon/src/main/res/values/attrs.xml b/libs/emojicon/src/main/res/values/attrs.xml index 9810158d..30e8aed5 100644 --- a/libs/emojicon/src/main/res/values/attrs.xml +++ b/libs/emojicon/src/main/res/values/attrs.xml @@ -1,6 +1,6 @@ + --> - - - - + + + + + + + + 250dp - - - - \ No newline at end of file + diff --git a/libs/emojicon/src/main/res/values/colors.xml b/libs/emojicon/src/main/res/values/colors.xml new file mode 100644 index 00000000..39e5a477 --- /dev/null +++ b/libs/emojicon/src/main/res/values/colors.xml @@ -0,0 +1,20 @@ + + + + #8f8f8f + #8f8f8f + diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index bf261dba..ef486128 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -47,7 +47,7 @@ import eu.siacs.conversations.services.XmppConnectionService.OnRosterUpdate; import eu.siacs.conversations.ui.adapter.ConversationAdapter; import eu.siacs.conversations.utils.ExceptionHelper; import eu.siacs.conversations.xmpp.OnUpdateBlocklist; -import github.ankushsachdeva.emojicon.EmojiconEditText; +import com.rockerhieu.emojicon.EmojiconEditText; public class ConversationActivity extends XmppActivity implements OnAccountUpdate, OnConversationUpdate, OnRosterUpdate, OnUpdateBlocklist, XmppConnectionService.OnShowErrorToast { diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index dc472360..d0dc89a2 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -65,9 +65,10 @@ import eu.siacs.conversations.utils.GeoHelper; import eu.siacs.conversations.utils.UIHelper; import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.jid.Jid; -import github.ankushsachdeva.emojicon.EmojiconGridView; -import github.ankushsachdeva.emojicon.EmojiconsPopup; -import github.ankushsachdeva.emojicon.emoji.Emojicon; + +import com.rockerhieu.emojicon.EmojiconGridFragment; +import com.rockerhieu.emojicon.EmojiconsPopup; +import com.rockerhieu.emojicon.emoji.Emojicon; public class ConversationFragment extends Fragment implements EditMessage.KeyboardListener { @@ -289,15 +290,6 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa //Will automatically set size according to the soft keyboard size mEmojPopup.setSizeForSoftKeyboard(); - //Set on emojicon click listener - mEmojPopup.setOnEmojiconClickedListener(new EmojiconGridView.OnEmojiconClickedListener() { - - @Override - public void onEmojiconClicked(Emojicon emojicon) { - mEditMessage.append(emojicon.getEmoji()); - } - }); - //Set on backspace click listener mEmojPopup.setOnEmojiconBackspaceClickedListener(new EmojiconsPopup.OnEmojiconBackspaceClickedListener() { @@ -334,7 +326,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa }); //On emoji clicked, add it to edittext - mEmojPopup.setOnEmojiconClickedListener(new EmojiconGridView.OnEmojiconClickedListener() { + mEmojPopup.setOnEmojiconClickedListener(new EmojiconGridFragment.OnEmojiconClickedListener() { @Override public void onEmojiconClicked(Emojicon emojicon) { diff --git a/src/main/java/eu/siacs/conversations/ui/EditMessage.java b/src/main/java/eu/siacs/conversations/ui/EditMessage.java index a7aa2024..f18f63b3 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditMessage.java +++ b/src/main/java/eu/siacs/conversations/ui/EditMessage.java @@ -7,7 +7,7 @@ import android.view.KeyEvent; import android.widget.EditText; import eu.siacs.conversations.Config; -import github.ankushsachdeva.emojicon.EmojiconEditText; +import com.rockerhieu.emojicon.EmojiconEditText; public class EditMessage extends EmojiconEditText { diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java index c42dd305..c57aa6dc 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java @@ -30,7 +30,7 @@ import eu.siacs.conversations.entities.Presences; import eu.siacs.conversations.ui.ConversationActivity; import eu.siacs.conversations.ui.XmppActivity; import eu.siacs.conversations.utils.UIHelper; -import github.ankushsachdeva.emojicon.EmojiconTextView; +import com.rockerhieu.emojicon.EmojiconTextView; import android.content.Context; import android.graphics.Color; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index b7ac3092..3adba669 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -39,7 +39,7 @@ import eu.siacs.conversations.entities.Message.FileParams; import eu.siacs.conversations.ui.ConversationActivity; import eu.siacs.conversations.utils.GeoHelper; import eu.siacs.conversations.utils.UIHelper; -import github.ankushsachdeva.emojicon.EmojiconTextView; +import com.rockerhieu.emojicon.EmojiconTextView; public class MessageAdapter extends ArrayAdapter { diff --git a/src/main/res/layout/conversation_list_row.xml b/src/main/res/layout/conversation_list_row.xml index c79628d4..db72d2ad 100644 --- a/src/main/res/layout/conversation_list_row.xml +++ b/src/main/res/layout/conversation_list_row.xml @@ -68,7 +68,7 @@ android:orientation="vertical" android:paddingTop="3dp" > - - -