aboutsummaryrefslogtreecommitdiffstats
path: root/src/github/ankushsachdeva/emojicon/EmojiconGridView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/github/ankushsachdeva/emojicon/EmojiconGridView.java')
-rw-r--r--src/github/ankushsachdeva/emojicon/EmojiconGridView.java78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/github/ankushsachdeva/emojicon/EmojiconGridView.java b/src/github/ankushsachdeva/emojicon/EmojiconGridView.java
new file mode 100644
index 0000000..38df8b1
--- /dev/null
+++ b/src/github/ankushsachdeva/emojicon/EmojiconGridView.java
@@ -0,0 +1,78 @@
+/*
+ * 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);
+ }
+
+}