Commit 8e73e059 authored by Grigory Fedorov's avatar Grigory Fedorov

Merge branch 'feature/emoticons_keyboard' into develop

parents ce9f1246 c22b2754

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -7,8 +7,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
versionCode 215
versionName '1.0.42'
versionCode 216
versionName '1.0.43'
}
compileOptions {
......@@ -71,6 +71,7 @@ dependencies {
compile "org.igniterealtime.smack:smack-tcp:$smackVersion"
compile project('otr4j')
compile project('MemorizingTrustManager')
compile project('emojicon')
compile 'com.soundcloud.android:android-crop:1.0.0@aar'
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:23.0.0'
}
<?xml version="1.0" encoding="utf-8"?>
<lint>
</lint>
\ No newline at end of file
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="github.ankushsachdeva.emojicon">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19"/>
<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
</application>
</manifest>
/*
* 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<Emojicon> {
OnEmojiconClickedListener emojiClickListener;
public EmojiAdapter(Context context, List<Emojicon> 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
/*
* 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.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 = getLineHeight();
}
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, getLineHeight());
a.recycle();
setText(getText());
}
@Override
protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {
EmojiconHandler.addEmojis(getContext(), getText(), mEmojiconSize);
}
/**
* Set the size of emojicon in pixels.
*/
public void setEmojiconSize(int pixels) {
mEmojiconSize = pixels;
}
}
/*
* 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);
}
}
/*
* 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.Spannable;
import android.text.style.DynamicDrawableSpan;
import android.text.style.ImageSpan;
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) {
Drawable myIcon = context.getResources().getDrawable(icon);
myIcon.setBounds(0, 0, emojiSize, emojiSize);
text.setSpan(new ImageSpan(myIcon, DynamicDrawableSpan.ALIGN_BOTTOM),
i, i + skip, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
}
/*
* 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);
}
/*
* 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();
}
}
/*
* 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<Emojicon> {
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();
}
}
/*
* 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
/*
* 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.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 = getLineHeight();
} else {
TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.Emojicon);
mEmojiconSize = (int) a.getDimension(R.styleable.Emojicon_emojiconSize, getLineHeight());
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;
}
}
/*
* 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;
private final int lessThanKeyboardHeight;
private int screenHeightDelta = 0;
/**
* 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);
lessThanKeyboardHeight = (int) mContext.getResources().getDimension(R.dimen.less_than_keyboard_height);
//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 > lessThanKeyboardHeight) {
keyBoardHeight = heightDifference - screenHeightDelta;
setSize(LayoutParams.MATCH_PARENT, keyBoardHeight);
if (!isOpened) {
if (onSoftKeyboardOpenCloseListener != null)
onSoftKeyboardOpenCloseListener.onKeyboardOpen(keyBoardHeight);
}
isOpened = true;
if (pendingOpen) {
showAtBottom();
pendingOpen = false;
}
} else {
screenHeightDelta = heightDifference;
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<EmojiconGridView> views;
public EmojiconRecentsGridView getRecentFragment() {
for (EmojiconGridView it : views) {
if (it instanceof EmojiconRecentsGridView)
return (EmojiconRecentsGridView) it;
}
return null;
}
public EmojisPagerAdapter(List<EmojiconGridView> 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.
* <p/>
* <p>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();
}
}
/*
* 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));
}
}
}
/*
* 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),
};
}
/*
* 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),
};
}
/*
* 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),
};
}
/*
* 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"),
};
}
/*
* 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),
};
}
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2013, The Android Open Source Project
**
** 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.
*/
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:drawable="@drawable/ic_emoji_nature_light_activated" />
<item
android:state_pressed="true"
android:drawable="@drawable/ic_emoji_nature_light_activated" />
<item
android:state_selected="true"
android:drawable="@drawable/ic_emoji_nature_light_activated" />
<item
android:drawable="@drawable/ic_emoji_nature_light_normal" />
</selector>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment