diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2ea54c11..7a16cb8c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,15 +40,12 @@
-
-
-
@@ -147,6 +144,8 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/TestEditView.java b/app/src/main/java/gr/thmmy/mthmmy/activities/TestEditView.java
new file mode 100644
index 00000000..395e937a
--- /dev/null
+++ b/app/src/main/java/gr/thmmy/mthmmy/activities/TestEditView.java
@@ -0,0 +1,28 @@
+package gr.thmmy.mthmmy.activities;
+
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.text.InputType;
+import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputConnection;
+import android.widget.EditText;
+
+import gr.thmmy.mthmmy.R;
+import gr.thmmy.mthmmy.utils.EmojiKeyboard;
+
+public class TestEditView extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_test_edit_view);
+
+ EditText testEdittext = (EditText) findViewById(R.id.test_edittext);
+ EmojiKeyboard emojiKeyboard = (EmojiKeyboard) findViewById(R.id.emoji_keyboard);
+
+ testEdittext.setRawInputType(InputType.TYPE_CLASS_TEXT);
+ testEdittext.setTextIsSelectable(true);
+ InputConnection ic = testEdittext.onCreateInputConnection(new EditorInfo());
+ emojiKeyboard.setInputConnection(ic);
+ }
+}
diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/main/MainActivity.java b/app/src/main/java/gr/thmmy/mthmmy/activities/main/MainActivity.java
index 59d686a6..7f515e6d 100644
--- a/app/src/main/java/gr/thmmy/mthmmy/activities/main/MainActivity.java
+++ b/app/src/main/java/gr/thmmy/mthmmy/activities/main/MainActivity.java
@@ -17,6 +17,7 @@ import java.util.List;
import gr.thmmy.mthmmy.R;
import gr.thmmy.mthmmy.activities.LoginActivity;
+import gr.thmmy.mthmmy.activities.TestEditView;
import gr.thmmy.mthmmy.activities.board.BoardActivity;
import gr.thmmy.mthmmy.activities.downloads.DownloadsActivity;
import gr.thmmy.mthmmy.activities.main.forum.ForumFragment;
@@ -119,6 +120,7 @@ public class MainActivity extends BaseActivity implements RecentFragment.RecentF
Toast.makeText(getBaseContext(), "Press back again to exit!"
, Toast.LENGTH_SHORT).show();
}
+ startActivity(new Intent(this, TestEditView.class));
mBackPressed = System.currentTimeMillis();
}
diff --git a/app/src/main/java/gr/thmmy/mthmmy/utils/EditorView.java b/app/src/main/java/gr/thmmy/mthmmy/utils/EditorView.java
index 3bfa3b6c..16f1847d 100644
--- a/app/src/main/java/gr/thmmy/mthmmy/utils/EditorView.java
+++ b/app/src/main/java/gr/thmmy/mthmmy/utils/EditorView.java
@@ -13,7 +13,9 @@ import android.widget.RelativeLayout;
import gr.thmmy.mthmmy.R;
-public class EditorView extends RelativeLayout {
+public class EditorView extends RelativeLayout implements KeyboardView.OnKeyboardActionListener {
+
+ public final static int SMILE = 10;
private EditText editText;
private AppCompatImageButton submitButton;
@@ -24,78 +26,75 @@ public class EditorView extends RelativeLayout {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.editor_view, this, true);
- LinearLayout controls = (LinearLayout) getChildAt(0);
- LinearLayout ediTextKeyboardAndSubmit = (LinearLayout) getChildAt(1);
- editText = ((TextInputLayout) ediTextKeyboardAndSubmit.getChildAt(0)).getEditText();
- submitButton = (AppCompatImageButton) ediTextKeyboardAndSubmit.getChildAt(1);
+ editText = (EditText) findViewById(R.id.editor_edittext);
+ submitButton = (AppCompatImageButton) findViewById(R.id.submit_button);
- Keyboard emojiKeyboard = new Keyboard(context, R.xml.emoji_keyboard);
- KeyboardView emojiKeyboardView= (KeyboardView) getChildAt(2);
+ /*Keyboard emojiKeyboard = new Keyboard(context, R.xml.emoji_keyboard);
+ KeyboardView emojiKeyboardView = (KeyboardView) getChildAt(2);
emojiKeyboardView.setKeyboard(emojiKeyboard);
emojiKeyboardView.setPreviewEnabled(false);
- emojiKeyboardView.setOnKeyboardActionListener(new EmojiKeyboardListener());
+ emojiKeyboardView.setOnKeyboardActionListener(this);*/
}
public Editable getText() {
return editText.getText();
}
+ public void setText(CharSequence text) {
+ editText.setText(text);
+ }
+
public void setOnSubmitListener(OnClickListener onSubmitListener) {
submitButton.setOnClickListener(onSubmitListener);
}
- class EmojiKeyboardListener implements KeyboardView.OnKeyboardActionListener {
-
- public final static int SMILE = 10;
-
- @Override
- public void onPress(int primaryCode) {
+ @Override
+ public void onPress(int primaryCode) {
- }
+ }
- @Override
- public void onRelease(int primaryCode) {
+ @Override
+ public void onRelease(int primaryCode) {
- }
+ }
- @Override
- public void onKey(int primaryCode, int[] keyCodes) {
- Editable editable = editText.getText();
- if (editText.hasSelection())
- editable.delete(editText.getSelectionStart(), editText.getSelectionEnd());
- int cursorIndex = editText.getSelectionStart();
- String appendedText = "";
- switch (primaryCode) {
- case SMILE:
- appendedText = "^:)^";
- break;
- }
- editable.insert(cursorIndex, appendedText);
+ @Override
+ public void onKey(int primaryCode, int[] keyCodes) {
+ Editable editable = editText.getText();
+ if (editText.hasSelection())
+ editable.delete(editText.getSelectionStart(), editText.getSelectionEnd());
+ int cursorIndex = editText.getSelectionStart();
+ String appendedText = "";
+ switch (primaryCode) {
+ case SMILE:
+ appendedText = "^:)^";
+ break;
}
+ editable.insert(cursorIndex, appendedText);
+ }
- @Override
- public void onText(CharSequence text) {
+ @Override
+ public void onText(CharSequence text) {
- }
+ }
- @Override
- public void swipeLeft() {
+ @Override
+ public void swipeLeft() {
- }
+ }
- @Override
- public void swipeRight() {
+ @Override
+ public void swipeRight() {
- }
+ }
- @Override
- public void swipeDown() {
+ @Override
+ public void swipeDown() {
- }
+ }
- @Override
- public void swipeUp() {
+ @Override
+ public void swipeUp() {
- }
}
- }
+}
diff --git a/app/src/main/java/gr/thmmy/mthmmy/utils/EmojiKeyboard.java b/app/src/main/java/gr/thmmy/mthmmy/utils/EmojiKeyboard.java
new file mode 100644
index 00000000..2c15979d
--- /dev/null
+++ b/app/src/main/java/gr/thmmy/mthmmy/utils/EmojiKeyboard.java
@@ -0,0 +1,162 @@
+package gr.thmmy.mthmmy.utils;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.SparseArray;
+import android.view.LayoutInflater;
+import android.view.inputmethod.InputConnection;
+import android.widget.GridView;
+import android.widget.LinearLayout;
+
+import gr.thmmy.mthmmy.R;
+import timber.log.Timber;
+
+public class EmojiKeyboard extends LinearLayout {
+
+ private SparseArray emojis = new SparseArray<>();
+
+ InputConnection inputConnection;
+
+ public EmojiKeyboard(Context context) {
+ this(context, null, 0);
+ }
+
+ public EmojiKeyboard(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public EmojiKeyboard(Context context, AttributeSet attrs, int defStyleAttrs) {
+ super(context, attrs, defStyleAttrs);
+ init(context, attrs);
+ }
+
+ public void init(Context context, AttributeSet attrs) {
+ LayoutInflater.from(context).inflate(R.layout.emoji_keyboard, this, true);
+
+ // add space before emoji
+ emojis.append(R.drawable.heart, "<3");
+ // this was copied twice in the original page for some reason
+ emojis.append(R.drawable.locked, "^lock^");
+ emojis.append(R.drawable.roll_over, "^rollover^");
+ emojis.append(R.drawable.redface, "^redface^");
+ emojis.append(R.drawable.confused, "^confused^");
+ emojis.append(R.drawable.innocent, "^innocent^");
+ emojis.append(R.drawable.sleep, "^sleep^");
+ emojis.append(R.drawable.lips_sealed, "^sealed^");
+ emojis.append(R.drawable.cool, "^cool^");
+ emojis.append(R.drawable.crazy, "^crazy^");
+ emojis.append(R.drawable.mad, "^mad^");
+ emojis.append(R.drawable.wav, "^wav^");
+ emojis.append(R.drawable.binkybaby, "^binkybaby^");
+ // maybe renamed
+ emojis.append(R.drawable.police, "^police^");
+ emojis.append(R.drawable.dontknow, "^dontknow^");
+ // the next two are the same thing?
+ emojis.append(R.drawable.angry4, ":angry4:");
+ emojis.append(R.drawable.angry_hot, "^angryhot^");
+ emojis.append(R.drawable.angry, "^angry^");
+ emojis.append(R.drawable.foyska, "^fouska^");
+ // changed icon name to become valid drawable name
+ emojis.append(R.drawable.e10_7_3e, "^sfinaki^");
+ emojis.append(R.drawable.bang_head, "^banghead^");
+ emojis.append(R.drawable.crybaby, "^crybaby^");
+ emojis.append(R.drawable.hello, "^hello^");
+ emojis.append(R.drawable.jerk, "^jerk^");
+ emojis.append(R.drawable.nono, "^nono^");
+ emojis.append(R.drawable.notworthy, "^notworthy^");
+ // changed icon name to become valid drawable name
+ emojis.append(R.drawable.off_topic, "^off-topic^");
+ emojis.append(R.drawable.puke, "^puke^");
+ emojis.append(R.drawable.shout, "^shout^");
+ emojis.append(R.drawable.slurp, "^slurp^");
+ emojis.append(R.drawable.superconfused, "^superconfused^");
+ emojis.append(R.drawable.superinnocent, "^superinnocent^");
+ emojis.append(R.drawable.cell_phone, "^cellPhone^");
+ emojis.append(R.drawable.idiot, "^idiot^");
+ emojis.append(R.drawable.knuppel, "^knuppel^");
+ emojis.append(R.drawable.tickedoff, "^tickedOff^");
+ emojis.append(R.drawable.peace, "^peace^");
+ emojis.append(R.drawable.suspicious, "^suspicious^");
+ emojis.append(R.drawable.caffine, "^caffine^");
+ emojis.append(R.drawable.argue, "^argue^");
+ emojis.append(R.drawable.banned2, "^banned2^");
+ emojis.append(R.drawable.banned, "^banned^");
+ emojis.append(R.drawable.bath, "^bath^");
+ emojis.append(R.drawable.beg, "^beg^");
+ emojis.append(R.drawable.bluescreen, "^bluescreen^");
+ emojis.append(R.drawable.boil, "^boil^");
+ emojis.append(R.drawable.bye, "^bye^");
+ emojis.append(R.drawable.callmerip, "^callmerip^");
+ emojis.append(R.drawable.carnaval, "^carnaval^");
+ emojis.append(R.drawable.clap, "^clap^");
+ emojis.append(R.drawable.coffeepot, "^coffepot^");
+ emojis.append(R.drawable.crap, "^crap^");
+ emojis.append(R.drawable.curses, "^curses^");
+ emojis.append(R.drawable.funny, "^funny^");
+ emojis.append(R.drawable.guitar1, "^guitar^");
+ emojis.append(R.drawable.icon_kissy, "^kissy^");
+ emojis.append(R.drawable.band, "^band^");
+ emojis.append(R.drawable.ivres, "^ivres^");
+ emojis.append(R.drawable.kaloe, "^kaloe^");
+ emojis.append(R.drawable.kremala, "^kremala^");
+ emojis.append(R.drawable.moon, "^moon^");
+ emojis.append(R.drawable.mopping, "^mopping^");
+ emojis.append(R.drawable.mountza, "^mountza^");
+ emojis.append(R.drawable.pcsleep, "^pcsleep^");
+ emojis.append(R.drawable.pinokio, "^pinokio^");
+ emojis.append(R.drawable.poke, "^poke^");
+ emojis.append(R.drawable.seestars, "^seestars^");
+ emojis.append(R.drawable.sfyri, "^sfyri^");
+ emojis.append(R.drawable.spam2, "^spam^");
+ // changed icon name to become valid drawable name
+ emojis.append(R.drawable.esuper, "^super^");
+ emojis.append(R.drawable.tafos, "^tafos^");
+ emojis.append(R.drawable.tomatomourh, "^tomato^");
+ emojis.append(R.drawable.ytold, "^ytold^");
+ emojis.append(R.drawable.beer2, "^beer^");
+ emojis.append(R.drawable.yu, "^yue^");
+ emojis.append(R.drawable.a_eatpaper, "^eatpaper^");
+ emojis.append(R.drawable.fritz, "^fritz^");
+ emojis.append(R.drawable.wade, "^wade^");
+ emojis.append(R.drawable.lypi, "^lypi^");
+ emojis.append(R.drawable.megashok1wq, "^aytoxeir^");
+ emojis.append(R.drawable.victory, "^victory^");
+ emojis.append(R.drawable.filarakia, "^filarakia^");
+ emojis.append(R.drawable.bonjour_97213, "^hat^");
+ emojis.append(R.drawable.curtseyqi9, "^miss^");
+ emojis.append(R.drawable.rofl, "^rolfmao^");
+ emojis.append(R.drawable.question, "^que^");
+ emojis.append(R.drawable.shifty, "^shifty^");
+ emojis.append(R.drawable.shy, "^shy^");
+ emojis.append(R.drawable.music, "^music_listen^");
+ emojis.append(R.drawable.shamed_bag, "^bagface^");
+ emojis.append(R.drawable.rotfl, "^rotate^");
+ emojis.append(R.drawable.love, "^love^");
+ emojis.append(R.drawable.speech, "^speech^");
+ emojis.append(R.drawable.facepalm, "^facepalm^");
+ emojis.append(R.drawable.shocked, "^shocked^");
+ emojis.append(R.drawable.extremely_shocked, "^ex_shocked^");
+ emojis.append(R.drawable.smurf, "^smurf^");
+
+ GridView emojiGridView = (GridView) findViewById(R.id.emoji_gridview);
+ Timber.e("size of array = " + getEmojiArray().length);
+ emojiGridView.setAdapter(new ImageKeyboardAdapter(context, getEmojiArray()));
+ emojiGridView.setOnItemClickListener((parent, view, position, id) -> {
+ if (inputConnection == null) return;
+ String value = emojis.valueAt(position);
+ inputConnection.commitText(value, 1);
+ });
+ }
+
+ public void setInputConnection(InputConnection inputConnection) {
+ this.inputConnection = inputConnection;
+ }
+
+ public int[] getEmojiArray() {
+ int[] emojiArray = new int[emojis.size()];
+ for (int i = 0; i < emojiArray.length; i++) {
+ emojiArray[i] = emojis.keyAt(i);
+ }
+ return emojiArray;
+ }
+}
diff --git a/app/src/main/java/gr/thmmy/mthmmy/utils/ImageKeyboardAdapter.java b/app/src/main/java/gr/thmmy/mthmmy/utils/ImageKeyboardAdapter.java
new file mode 100644
index 00000000..a4ed3e05
--- /dev/null
+++ b/app/src/main/java/gr/thmmy/mthmmy/utils/ImageKeyboardAdapter.java
@@ -0,0 +1,48 @@
+package gr.thmmy.mthmmy.utils;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+
+public class ImageKeyboardAdapter extends BaseAdapter {
+
+ private Context context;
+ private int[] emojiIds;
+
+ public ImageKeyboardAdapter(Context context, int[] emojiIds) {
+ this.context = context;
+ this.emojiIds = emojiIds;
+ }
+
+ @Override
+ public int getCount() {
+ return emojiIds.length;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return null;
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return 0;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ImageView emoji;
+ if (convertView == null) {
+ emoji = new ImageView(context);
+ emoji.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
+ emoji.setScaleType(ImageView.ScaleType.CENTER_CROP);
+ emoji.setPadding(8, 8, 8, 8);
+ } else {
+ emoji = (ImageView) convertView;
+ }
+ emoji.setImageResource(emojiIds[position]);
+ return emoji;
+ }
+}
diff --git a/app/src/main/res/drawable/a_eatpaper.gif b/app/src/main/res/drawable/a_eatpaper.gif
new file mode 100644
index 00000000..51ab8fc3
Binary files /dev/null and b/app/src/main/res/drawable/a_eatpaper.gif differ
diff --git a/app/src/main/res/drawable/angry.gif b/app/src/main/res/drawable/angry.gif
new file mode 100644
index 00000000..f532cf3e
Binary files /dev/null and b/app/src/main/res/drawable/angry.gif differ
diff --git a/app/src/main/res/drawable/angry4.gif b/app/src/main/res/drawable/angry4.gif
new file mode 100644
index 00000000..d7585815
Binary files /dev/null and b/app/src/main/res/drawable/angry4.gif differ
diff --git a/app/src/main/res/drawable/angry_hot.gif b/app/src/main/res/drawable/angry_hot.gif
new file mode 100644
index 00000000..d7585815
Binary files /dev/null and b/app/src/main/res/drawable/angry_hot.gif differ
diff --git a/app/src/main/res/drawable/argue.gif b/app/src/main/res/drawable/argue.gif
new file mode 100644
index 00000000..1d51efd8
Binary files /dev/null and b/app/src/main/res/drawable/argue.gif differ
diff --git a/app/src/main/res/drawable/band.gif b/app/src/main/res/drawable/band.gif
new file mode 100644
index 00000000..3cd06e05
Binary files /dev/null and b/app/src/main/res/drawable/band.gif differ
diff --git a/app/src/main/res/drawable/bang_head.gif b/app/src/main/res/drawable/bang_head.gif
new file mode 100644
index 00000000..d269ad50
Binary files /dev/null and b/app/src/main/res/drawable/bang_head.gif differ
diff --git a/app/src/main/res/drawable/banned.gif b/app/src/main/res/drawable/banned.gif
new file mode 100644
index 00000000..75ff8653
Binary files /dev/null and b/app/src/main/res/drawable/banned.gif differ
diff --git a/app/src/main/res/drawable/banned2.gif b/app/src/main/res/drawable/banned2.gif
new file mode 100644
index 00000000..8e38f112
Binary files /dev/null and b/app/src/main/res/drawable/banned2.gif differ
diff --git a/app/src/main/res/drawable/bath.gif b/app/src/main/res/drawable/bath.gif
new file mode 100644
index 00000000..f45f4697
Binary files /dev/null and b/app/src/main/res/drawable/bath.gif differ
diff --git a/app/src/main/res/drawable/beer2.gif b/app/src/main/res/drawable/beer2.gif
new file mode 100644
index 00000000..b2ceacf8
Binary files /dev/null and b/app/src/main/res/drawable/beer2.gif differ
diff --git a/app/src/main/res/drawable/beg.gif b/app/src/main/res/drawable/beg.gif
new file mode 100644
index 00000000..f5015363
Binary files /dev/null and b/app/src/main/res/drawable/beg.gif differ
diff --git a/app/src/main/res/drawable/binkybaby.gif b/app/src/main/res/drawable/binkybaby.gif
new file mode 100644
index 00000000..b339d48d
Binary files /dev/null and b/app/src/main/res/drawable/binkybaby.gif differ
diff --git a/app/src/main/res/drawable/bluescreen.gif b/app/src/main/res/drawable/bluescreen.gif
new file mode 100644
index 00000000..0c9523fd
Binary files /dev/null and b/app/src/main/res/drawable/bluescreen.gif differ
diff --git a/app/src/main/res/drawable/boil.gif b/app/src/main/res/drawable/boil.gif
new file mode 100644
index 00000000..9468e8a2
Binary files /dev/null and b/app/src/main/res/drawable/boil.gif differ
diff --git a/app/src/main/res/drawable/bonjour_97213.gif b/app/src/main/res/drawable/bonjour_97213.gif
new file mode 100644
index 00000000..587d8e4f
Binary files /dev/null and b/app/src/main/res/drawable/bonjour_97213.gif differ
diff --git a/app/src/main/res/drawable/bye.gif b/app/src/main/res/drawable/bye.gif
new file mode 100644
index 00000000..9e8d31d5
Binary files /dev/null and b/app/src/main/res/drawable/bye.gif differ
diff --git a/app/src/main/res/drawable/caffine.gif b/app/src/main/res/drawable/caffine.gif
new file mode 100644
index 00000000..74f4446c
Binary files /dev/null and b/app/src/main/res/drawable/caffine.gif differ
diff --git a/app/src/main/res/drawable/callmerip.gif b/app/src/main/res/drawable/callmerip.gif
new file mode 100644
index 00000000..1d067843
Binary files /dev/null and b/app/src/main/res/drawable/callmerip.gif differ
diff --git a/app/src/main/res/drawable/carnaval.gif b/app/src/main/res/drawable/carnaval.gif
new file mode 100644
index 00000000..21adc4d1
Binary files /dev/null and b/app/src/main/res/drawable/carnaval.gif differ
diff --git a/app/src/main/res/drawable/cell_phone.gif b/app/src/main/res/drawable/cell_phone.gif
new file mode 100644
index 00000000..e6630382
Binary files /dev/null and b/app/src/main/res/drawable/cell_phone.gif differ
diff --git a/app/src/main/res/drawable/clap.gif b/app/src/main/res/drawable/clap.gif
new file mode 100644
index 00000000..f720fa06
Binary files /dev/null and b/app/src/main/res/drawable/clap.gif differ
diff --git a/app/src/main/res/drawable/coffeepot.gif b/app/src/main/res/drawable/coffeepot.gif
new file mode 100644
index 00000000..e21b38f6
Binary files /dev/null and b/app/src/main/res/drawable/coffeepot.gif differ
diff --git a/app/src/main/res/drawable/confused.gif b/app/src/main/res/drawable/confused.gif
new file mode 100644
index 00000000..044edc01
Binary files /dev/null and b/app/src/main/res/drawable/confused.gif differ
diff --git a/app/src/main/res/drawable/cool.bmp b/app/src/main/res/drawable/cool.bmp
new file mode 100644
index 00000000..d7f04504
Binary files /dev/null and b/app/src/main/res/drawable/cool.bmp differ
diff --git a/app/src/main/res/drawable/crap.gif b/app/src/main/res/drawable/crap.gif
new file mode 100644
index 00000000..71287e77
Binary files /dev/null and b/app/src/main/res/drawable/crap.gif differ
diff --git a/app/src/main/res/drawable/crazy.jpg b/app/src/main/res/drawable/crazy.jpg
new file mode 100644
index 00000000..c3db20d7
Binary files /dev/null and b/app/src/main/res/drawable/crazy.jpg differ
diff --git a/app/src/main/res/drawable/crybaby.gif b/app/src/main/res/drawable/crybaby.gif
new file mode 100644
index 00000000..4c38558f
Binary files /dev/null and b/app/src/main/res/drawable/crybaby.gif differ
diff --git a/app/src/main/res/drawable/curses.gif b/app/src/main/res/drawable/curses.gif
new file mode 100644
index 00000000..4e4167c2
Binary files /dev/null and b/app/src/main/res/drawable/curses.gif differ
diff --git a/app/src/main/res/drawable/curtseyqi9.gif b/app/src/main/res/drawable/curtseyqi9.gif
new file mode 100644
index 00000000..97238d40
Binary files /dev/null and b/app/src/main/res/drawable/curtseyqi9.gif differ
diff --git a/app/src/main/res/drawable/dontknow.gif b/app/src/main/res/drawable/dontknow.gif
new file mode 100644
index 00000000..179a213f
Binary files /dev/null and b/app/src/main/res/drawable/dontknow.gif differ
diff --git a/app/src/main/res/drawable/e10_7_3e.gif b/app/src/main/res/drawable/e10_7_3e.gif
new file mode 100644
index 00000000..e9974d0a
Binary files /dev/null and b/app/src/main/res/drawable/e10_7_3e.gif differ
diff --git a/app/src/main/res/drawable/esuper.gif b/app/src/main/res/drawable/esuper.gif
new file mode 100644
index 00000000..2f6936f2
Binary files /dev/null and b/app/src/main/res/drawable/esuper.gif differ
diff --git a/app/src/main/res/drawable/extremely_shocked.png b/app/src/main/res/drawable/extremely_shocked.png
new file mode 100644
index 00000000..8edcd7db
Binary files /dev/null and b/app/src/main/res/drawable/extremely_shocked.png differ
diff --git a/app/src/main/res/drawable/facepalm.gif b/app/src/main/res/drawable/facepalm.gif
new file mode 100644
index 00000000..89272dcc
Binary files /dev/null and b/app/src/main/res/drawable/facepalm.gif differ
diff --git a/app/src/main/res/drawable/filarakia.gif b/app/src/main/res/drawable/filarakia.gif
new file mode 100644
index 00000000..528e1db1
Binary files /dev/null and b/app/src/main/res/drawable/filarakia.gif differ
diff --git a/app/src/main/res/drawable/foyska.gif b/app/src/main/res/drawable/foyska.gif
new file mode 100644
index 00000000..21e89b3b
Binary files /dev/null and b/app/src/main/res/drawable/foyska.gif differ
diff --git a/app/src/main/res/drawable/fritz.gif b/app/src/main/res/drawable/fritz.gif
new file mode 100644
index 00000000..c730d925
Binary files /dev/null and b/app/src/main/res/drawable/fritz.gif differ
diff --git a/app/src/main/res/drawable/funny.gif b/app/src/main/res/drawable/funny.gif
new file mode 100644
index 00000000..050a9105
Binary files /dev/null and b/app/src/main/res/drawable/funny.gif differ
diff --git a/app/src/main/res/drawable/guitar1.gif b/app/src/main/res/drawable/guitar1.gif
new file mode 100644
index 00000000..552353cb
Binary files /dev/null and b/app/src/main/res/drawable/guitar1.gif differ
diff --git a/app/src/main/res/drawable/heart.gif b/app/src/main/res/drawable/heart.gif
new file mode 100644
index 00000000..a6e1afa4
Binary files /dev/null and b/app/src/main/res/drawable/heart.gif differ
diff --git a/app/src/main/res/drawable/hello.gif b/app/src/main/res/drawable/hello.gif
new file mode 100644
index 00000000..40967cff
Binary files /dev/null and b/app/src/main/res/drawable/hello.gif differ
diff --git a/app/src/main/res/drawable/icon_kissy.gif b/app/src/main/res/drawable/icon_kissy.gif
new file mode 100644
index 00000000..7480ddd1
Binary files /dev/null and b/app/src/main/res/drawable/icon_kissy.gif differ
diff --git a/app/src/main/res/drawable/idiot.gif b/app/src/main/res/drawable/idiot.gif
new file mode 100644
index 00000000..85d43b67
Binary files /dev/null and b/app/src/main/res/drawable/idiot.gif differ
diff --git a/app/src/main/res/drawable/innocent.gif b/app/src/main/res/drawable/innocent.gif
new file mode 100644
index 00000000..ba35671d
Binary files /dev/null and b/app/src/main/res/drawable/innocent.gif differ
diff --git a/app/src/main/res/drawable/ivres.gif b/app/src/main/res/drawable/ivres.gif
new file mode 100644
index 00000000..51bbf3ed
Binary files /dev/null and b/app/src/main/res/drawable/ivres.gif differ
diff --git a/app/src/main/res/drawable/jerk.gif b/app/src/main/res/drawable/jerk.gif
new file mode 100644
index 00000000..5872ecf4
Binary files /dev/null and b/app/src/main/res/drawable/jerk.gif differ
diff --git a/app/src/main/res/drawable/kaloe.gif b/app/src/main/res/drawable/kaloe.gif
new file mode 100644
index 00000000..1305996e
Binary files /dev/null and b/app/src/main/res/drawable/kaloe.gif differ
diff --git a/app/src/main/res/drawable/knuppel.gif b/app/src/main/res/drawable/knuppel.gif
new file mode 100644
index 00000000..ea611d96
Binary files /dev/null and b/app/src/main/res/drawable/knuppel.gif differ
diff --git a/app/src/main/res/drawable/kremala.gif b/app/src/main/res/drawable/kremala.gif
new file mode 100644
index 00000000..bdfee827
Binary files /dev/null and b/app/src/main/res/drawable/kremala.gif differ
diff --git a/app/src/main/res/drawable/lips_sealed.gif b/app/src/main/res/drawable/lips_sealed.gif
new file mode 100644
index 00000000..44044417
Binary files /dev/null and b/app/src/main/res/drawable/lips_sealed.gif differ
diff --git a/app/src/main/res/drawable/locked.gif b/app/src/main/res/drawable/locked.gif
new file mode 100644
index 00000000..041d6411
Binary files /dev/null and b/app/src/main/res/drawable/locked.gif differ
diff --git a/app/src/main/res/drawable/lol.jpg b/app/src/main/res/drawable/lol.jpg
new file mode 100644
index 00000000..af90dee5
Binary files /dev/null and b/app/src/main/res/drawable/lol.jpg differ
diff --git a/app/src/main/res/drawable/love.jpg b/app/src/main/res/drawable/love.jpg
new file mode 100644
index 00000000..ffb90822
Binary files /dev/null and b/app/src/main/res/drawable/love.jpg differ
diff --git a/app/src/main/res/drawable/lypi.gif b/app/src/main/res/drawable/lypi.gif
new file mode 100644
index 00000000..c6329542
Binary files /dev/null and b/app/src/main/res/drawable/lypi.gif differ
diff --git a/app/src/main/res/drawable/mad.jpg b/app/src/main/res/drawable/mad.jpg
new file mode 100644
index 00000000..6a6c48c5
Binary files /dev/null and b/app/src/main/res/drawable/mad.jpg differ
diff --git a/app/src/main/res/drawable/megashok1wq.gif b/app/src/main/res/drawable/megashok1wq.gif
new file mode 100644
index 00000000..6d5bede0
Binary files /dev/null and b/app/src/main/res/drawable/megashok1wq.gif differ
diff --git a/app/src/main/res/drawable/monster.bmp b/app/src/main/res/drawable/monster.bmp
new file mode 100644
index 00000000..4c8513b6
Binary files /dev/null and b/app/src/main/res/drawable/monster.bmp differ
diff --git a/app/src/main/res/drawable/moon.gif b/app/src/main/res/drawable/moon.gif
new file mode 100644
index 00000000..0e411de1
Binary files /dev/null and b/app/src/main/res/drawable/moon.gif differ
diff --git a/app/src/main/res/drawable/mopping.gif b/app/src/main/res/drawable/mopping.gif
new file mode 100644
index 00000000..cfa14d43
Binary files /dev/null and b/app/src/main/res/drawable/mopping.gif differ
diff --git a/app/src/main/res/drawable/mountza.gif b/app/src/main/res/drawable/mountza.gif
new file mode 100644
index 00000000..4488653e
Binary files /dev/null and b/app/src/main/res/drawable/mountza.gif differ
diff --git a/app/src/main/res/drawable/music.gif b/app/src/main/res/drawable/music.gif
new file mode 100644
index 00000000..9b77a2a3
Binary files /dev/null and b/app/src/main/res/drawable/music.gif differ
diff --git a/app/src/main/res/drawable/nista.gif b/app/src/main/res/drawable/nista.gif
new file mode 100644
index 00000000..a33a0dbb
Binary files /dev/null and b/app/src/main/res/drawable/nista.gif differ
diff --git a/app/src/main/res/drawable/noffe.gif b/app/src/main/res/drawable/noffe.gif
new file mode 100644
index 00000000..c38e5813
Binary files /dev/null and b/app/src/main/res/drawable/noffe.gif differ
diff --git a/app/src/main/res/drawable/nono.gif b/app/src/main/res/drawable/nono.gif
new file mode 100644
index 00000000..3c1a0dcf
Binary files /dev/null and b/app/src/main/res/drawable/nono.gif differ
diff --git a/app/src/main/res/drawable/notworthy.gif b/app/src/main/res/drawable/notworthy.gif
new file mode 100644
index 00000000..04cc5a10
Binary files /dev/null and b/app/src/main/res/drawable/notworthy.gif differ
diff --git a/app/src/main/res/drawable/off_topic.gif b/app/src/main/res/drawable/off_topic.gif
new file mode 100644
index 00000000..df6e8f4c
Binary files /dev/null and b/app/src/main/res/drawable/off_topic.gif differ
diff --git a/app/src/main/res/drawable/pcsleep.gif b/app/src/main/res/drawable/pcsleep.gif
new file mode 100644
index 00000000..4f206703
Binary files /dev/null and b/app/src/main/res/drawable/pcsleep.gif differ
diff --git a/app/src/main/res/drawable/peace.gif b/app/src/main/res/drawable/peace.gif
new file mode 100644
index 00000000..f21305e2
Binary files /dev/null and b/app/src/main/res/drawable/peace.gif differ
diff --git a/app/src/main/res/drawable/pinokio.gif b/app/src/main/res/drawable/pinokio.gif
new file mode 100644
index 00000000..7c109b4a
Binary files /dev/null and b/app/src/main/res/drawable/pinokio.gif differ
diff --git a/app/src/main/res/drawable/poke.gif b/app/src/main/res/drawable/poke.gif
new file mode 100644
index 00000000..b5402747
Binary files /dev/null and b/app/src/main/res/drawable/poke.gif differ
diff --git a/app/src/main/res/drawable/police.gif b/app/src/main/res/drawable/police.gif
new file mode 100644
index 00000000..352aecaa
Binary files /dev/null and b/app/src/main/res/drawable/police.gif differ
diff --git a/app/src/main/res/drawable/puke.gif b/app/src/main/res/drawable/puke.gif
new file mode 100644
index 00000000..4ce04ac6
Binary files /dev/null and b/app/src/main/res/drawable/puke.gif differ
diff --git a/app/src/main/res/drawable/question.gif b/app/src/main/res/drawable/question.gif
new file mode 100644
index 00000000..53428d51
Binary files /dev/null and b/app/src/main/res/drawable/question.gif differ
diff --git a/app/src/main/res/drawable/redface.gif b/app/src/main/res/drawable/redface.gif
new file mode 100644
index 00000000..a41542d3
Binary files /dev/null and b/app/src/main/res/drawable/redface.gif differ
diff --git a/app/src/main/res/drawable/rofl.gif b/app/src/main/res/drawable/rofl.gif
new file mode 100644
index 00000000..a940940b
Binary files /dev/null and b/app/src/main/res/drawable/rofl.gif differ
diff --git a/app/src/main/res/drawable/roll_over.gif b/app/src/main/res/drawable/roll_over.gif
new file mode 100644
index 00000000..84b31367
Binary files /dev/null and b/app/src/main/res/drawable/roll_over.gif differ
diff --git a/app/src/main/res/drawable/rotfl.gif b/app/src/main/res/drawable/rotfl.gif
new file mode 100644
index 00000000..21a4f1d8
Binary files /dev/null and b/app/src/main/res/drawable/rotfl.gif differ
diff --git a/app/src/main/res/drawable/seestars.gif b/app/src/main/res/drawable/seestars.gif
new file mode 100644
index 00000000..f9e6532f
Binary files /dev/null and b/app/src/main/res/drawable/seestars.gif differ
diff --git a/app/src/main/res/drawable/sfyri.gif b/app/src/main/res/drawable/sfyri.gif
new file mode 100644
index 00000000..4d2b61da
Binary files /dev/null and b/app/src/main/res/drawable/sfyri.gif differ
diff --git a/app/src/main/res/drawable/shamed_bag.jpg b/app/src/main/res/drawable/shamed_bag.jpg
new file mode 100644
index 00000000..b383aeee
Binary files /dev/null and b/app/src/main/res/drawable/shamed_bag.jpg differ
diff --git a/app/src/main/res/drawable/shifty.gif b/app/src/main/res/drawable/shifty.gif
new file mode 100644
index 00000000..2c4cd987
Binary files /dev/null and b/app/src/main/res/drawable/shifty.gif differ
diff --git a/app/src/main/res/drawable/shocked.png b/app/src/main/res/drawable/shocked.png
new file mode 100644
index 00000000..cc4689f2
Binary files /dev/null and b/app/src/main/res/drawable/shocked.png differ
diff --git a/app/src/main/res/drawable/shout.gif b/app/src/main/res/drawable/shout.gif
new file mode 100644
index 00000000..f1454237
Binary files /dev/null and b/app/src/main/res/drawable/shout.gif differ
diff --git a/app/src/main/res/drawable/shy.png b/app/src/main/res/drawable/shy.png
new file mode 100644
index 00000000..4ae8582e
Binary files /dev/null and b/app/src/main/res/drawable/shy.png differ
diff --git a/app/src/main/res/drawable/sleep.gif b/app/src/main/res/drawable/sleep.gif
new file mode 100644
index 00000000..7e11aa3b
Binary files /dev/null and b/app/src/main/res/drawable/sleep.gif differ
diff --git a/app/src/main/res/drawable/slurp.gif b/app/src/main/res/drawable/slurp.gif
new file mode 100644
index 00000000..939a1dc3
Binary files /dev/null and b/app/src/main/res/drawable/slurp.gif differ
diff --git a/app/src/main/res/drawable/smurf.gif b/app/src/main/res/drawable/smurf.gif
new file mode 100644
index 00000000..a31f8670
Binary files /dev/null and b/app/src/main/res/drawable/smurf.gif differ
diff --git a/app/src/main/res/drawable/spam2.gif b/app/src/main/res/drawable/spam2.gif
new file mode 100644
index 00000000..246910d2
Binary files /dev/null and b/app/src/main/res/drawable/spam2.gif differ
diff --git a/app/src/main/res/drawable/speech.gif b/app/src/main/res/drawable/speech.gif
new file mode 100644
index 00000000..91cbce83
Binary files /dev/null and b/app/src/main/res/drawable/speech.gif differ
diff --git a/app/src/main/res/drawable/superconfused.gif b/app/src/main/res/drawable/superconfused.gif
new file mode 100644
index 00000000..09d4c63f
Binary files /dev/null and b/app/src/main/res/drawable/superconfused.gif differ
diff --git a/app/src/main/res/drawable/superinnocent.gif b/app/src/main/res/drawable/superinnocent.gif
new file mode 100644
index 00000000..9cf182b4
Binary files /dev/null and b/app/src/main/res/drawable/superinnocent.gif differ
diff --git a/app/src/main/res/drawable/suspicious.gif b/app/src/main/res/drawable/suspicious.gif
new file mode 100644
index 00000000..ecc1f3c4
Binary files /dev/null and b/app/src/main/res/drawable/suspicious.gif differ
diff --git a/app/src/main/res/drawable/tafos.gif b/app/src/main/res/drawable/tafos.gif
new file mode 100644
index 00000000..be51dbc4
Binary files /dev/null and b/app/src/main/res/drawable/tafos.gif differ
diff --git a/app/src/main/res/drawable/tickedoff.gif b/app/src/main/res/drawable/tickedoff.gif
new file mode 100644
index 00000000..4a32d40e
Binary files /dev/null and b/app/src/main/res/drawable/tickedoff.gif differ
diff --git a/app/src/main/res/drawable/tomatomourh.gif b/app/src/main/res/drawable/tomatomourh.gif
new file mode 100644
index 00000000..903ec37f
Binary files /dev/null and b/app/src/main/res/drawable/tomatomourh.gif differ
diff --git a/app/src/main/res/drawable/victory.gif b/app/src/main/res/drawable/victory.gif
new file mode 100644
index 00000000..8371309f
Binary files /dev/null and b/app/src/main/res/drawable/victory.gif differ
diff --git a/app/src/main/res/drawable/wade.gif b/app/src/main/res/drawable/wade.gif
new file mode 100644
index 00000000..7fdeccfc
Binary files /dev/null and b/app/src/main/res/drawable/wade.gif differ
diff --git a/app/src/main/res/drawable/wav.gif b/app/src/main/res/drawable/wav.gif
new file mode 100644
index 00000000..cccfedea
Binary files /dev/null and b/app/src/main/res/drawable/wav.gif differ
diff --git a/app/src/main/res/drawable/ytold.gif b/app/src/main/res/drawable/ytold.gif
new file mode 100644
index 00000000..4e1956ef
Binary files /dev/null and b/app/src/main/res/drawable/ytold.gif differ
diff --git a/app/src/main/res/drawable/yu.gif b/app/src/main/res/drawable/yu.gif
new file mode 100644
index 00000000..afa92cff
Binary files /dev/null and b/app/src/main/res/drawable/yu.gif differ
diff --git a/app/src/main/res/layout/activity_test_edit_view.xml b/app/src/main/res/layout/activity_test_edit_view.xml
new file mode 100644
index 00000000..3b4eded5
--- /dev/null
+++ b/app/src/main/res/layout/activity_test_edit_view.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/editor_view.xml b/app/src/main/res/layout/editor_view.xml
index fcf709c7..4fa51247 100644
--- a/app/src/main/res/layout/editor_view.xml
+++ b/app/src/main/res/layout/editor_view.xml
@@ -22,7 +22,7 @@
android:orientation="vertical">
+
+
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/emoji_keyboard.xml b/app/src/main/res/layout/emoji_keyboard.xml
new file mode 100644
index 00000000..e8eeb643
--- /dev/null
+++ b/app/src/main/res/layout/emoji_keyboard.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml-keyssoft/emoji_keyboard.xml b/app/src/main/res/xml-keyssoft/emoji_keyboard.xml
deleted file mode 100644
index 59d49623..00000000
--- a/app/src/main/res/xml-keyssoft/emoji_keyboard.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file