// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/EmojiFragment.java
// public abstract class EmojiFragment<T extends Parcelable> extends Fragment {
// 
//     protected OnEmojiconClickedListener mOnEmojiconClickedListener;
// 
//     protected Bundle saveState = new Bundle();
// 
//     final public void setEmojiData(PageEmojiStyle<T> emojiData){
//         saveState.putParcelable("emojiData",emojiData);
//         setData(emojiData);
//     }
// 
//     public abstract void setData(PageEmojiStyle<T> emojiData);
// 
//     @Override
//     public void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         restoreData(savedInstanceState);
//     }
// 
//     @Override
//     public void onSaveInstanceState(Bundle outState) {
//         outState.putBundle("saveState",saveState);
//         super.onSaveInstanceState(outState);
//     }
// 
//     @Override
//     public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
//         super.onViewStateRestored(savedInstanceState);
//         restoreData(savedInstanceState);
//     }
// 
//     private void restoreData(Bundle savedInstanceState){
//         if(savedInstanceState!=null && saveState.getParcelable("emojiData") == null){
//             Bundle data = (Bundle) savedInstanceState.get("saveState");
//             if(data != null&& data.getParcelable("emojiData")!=null){
//                 setEmojiData((PageEmojiStyle) data.getParcelable("emojiData"));
//             }
//         }
//     }
// 
//     public void setOnEmojiconClickedListener(OnEmojiconClickedListener listener){
//         mOnEmojiconClickedListener = listener;
//     }
// 
//     public interface OnEmojiconClickedListener {
//         void onEmojiconClicked(String emojiCode);
//         void onBackspaceClicked();
//     }
// }
// 
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/interfaces/EmojiInterceptor.java
// public interface EmojiInterceptor {
//     Target intercept( Spannable text,int startIndex);
// }
// 
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/interfaces/EmojiStyle.java
// public interface EmojiStyle<T extends Parcelable> {
//     /**
//      * 名称tag, 必须唯一
//      */
//     String getStyleName();
// 
//     /**
//      * 底部tab的图标
//      */
//     int getStyleIcon();
// 
//     /**
//      * 底部tab的图标， 如果不为空，优先使用， 如果为空则使用 getStyleIcon() 返回的图标，
//      * tab 被选中时会调用view的 selected 事件
//      */
//     View getStyleIconView(Context context);
// 
//     /**
//      * 所有emoji的数据源
//      */
//     List<T> getEmojiData();
// 
//     /**
//      * 自定义的emoji显示页面， 一个 EmojiFragment 页面对应 一个 PageEmojiStyle 对象
//      * EmojiFragment 为展示页面， PageEmojiStyle 为一个页面的数据源
//      *
//      * @param index
//      * @return
//      */
//     EmojiFragment getCustomFragment(int index);
// 
//     /**
//      * 一个显示页面的数据源
//      *
//      * @param index
//      * @return
//      */
//     PageEmojiStyle getPagerData(int index);
// 
//     /**
//      * 文本拦截事件， 用于处理自定义表情
//      *
//      * @return
//      */
//     EmojiInterceptor getEmojiInterceptor();
// }
// 
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/interfaces/PageEmojiStyle.java
// public interface PageEmojiStyle<T extends Parcelable> extends Parcelable{
//     int getExceptItemCount();
//     void setData(List<T> data);
// }


import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import org.nicky.easyemoji.R;
import org.nicky.libeasyemoji.emoji.EmojiFragment;
import org.nicky.libeasyemoji.emoji.interfaces.EmojiInterceptor;
import org.nicky.libeasyemoji.emoji.interfaces.EmojiStyle;
import org.nicky.libeasyemoji.emoji.interfaces.PageEmojiStyle;
import java.util.List;
package org.nicky.easyemoji.lovedEmoji;




/**
 * Created by nickyang on 2017/4/5.
 */

public class LovedEmojiStyle implements EmojiStyle {

    LovedEmojicons emojicons;

    public LovedEmojiStyle() {
        emojicons = new LovedEmojicons();
    }

    @Override
    public String getStyleName() {
        return "loved";
    }

    @Override
    public int getStyleIcon() {
        return R.drawable.sg001;
    }

    @Override
    public View getStyleIconView(Context context) {
        ImageButton image = new ImageButton(context);
        image.setImageResource(R.drawable.sg003);
        image.setBackgroundResource(R.drawable.love_emojicon);
        image.setLayoutParams(new ViewGroup.LayoutParams(200, ViewGroup.LayoutParams.MATCH_PARENT));
        return image;
    }

    @Override
    public List getEmojiData() {
        return emojicons.getEmojis();
    }

    @Override
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/EmojiFragment.java
// public abstract class EmojiFragment<T extends Parcelable> extends Fragment {
// 
//     protected OnEmojiconClickedListener mOnEmojiconClickedListener;
// 
//     protected Bundle saveState = new Bundle();
// 
//     final public void setEmojiData(PageEmojiStyle<T> emojiData){
//         saveState.putParcelable("emojiData",emojiData);
//         setData(emojiData);
//     }
// 
//     public abstract void setData(PageEmojiStyle<T> emojiData);
// 
//     @Override
//     public void onCreate(@Nullable Bundle savedInstanceState) {
//         super.onCreate(savedInstanceState);
//         restoreData(savedInstanceState);
//     }
// 
//     @Override
//     public void onSaveInstanceState(Bundle outState) {
//         outState.putBundle("saveState",saveState);
//         super.onSaveInstanceState(outState);
//     }
// 
//     @Override
//     public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
//         super.onViewStateRestored(savedInstanceState);
//         restoreData(savedInstanceState);
//     }
// 
//     private void restoreData(Bundle savedInstanceState){
//         if(savedInstanceState!=null && saveState.getParcelable("emojiData") == null){
//             Bundle data = (Bundle) savedInstanceState.get("saveState");
//             if(data != null&& data.getParcelable("emojiData")!=null){
//                 setEmojiData((PageEmojiStyle) data.getParcelable("emojiData"));
//             }
//         }
//     }
// 
//     public void setOnEmojiconClickedListener(OnEmojiconClickedListener listener){
//         mOnEmojiconClickedListener = listener;
//     }
// 
//     public interface OnEmojiconClickedListener {
//         void onEmojiconClicked(String emojiCode);
//         void onBackspaceClicked();
//     }
// }
// 
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/interfaces/EmojiInterceptor.java
// public interface EmojiInterceptor {
//     Target intercept( Spannable text,int startIndex);
// }
// 
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/interfaces/EmojiStyle.java
// public interface EmojiStyle<T extends Parcelable> {
//     /**
//      * 名称tag, 必须唯一
//      */
//     String getStyleName();
// 
//     /**
//      * 底部tab的图标
//      */
//     int getStyleIcon();
// 
//     /**
//      * 底部tab的图标， 如果不为空，优先使用， 如果为空则使用 getStyleIcon() 返回的图标，
//      * tab 被选中时会调用view的 selected 事件
//      */
//     View getStyleIconView(Context context);
// 
//     /**
//      * 所有emoji的数据源
//      */
//     List<T> getEmojiData();
// 
//     /**
//      * 自定义的emoji显示页面， 一个 EmojiFragment 页面对应 一个 PageEmojiStyle 对象
//      * EmojiFragment 为展示页面， PageEmojiStyle 为一个页面的数据源
//      *
//      * @param index
//      * @return
//      */
//     EmojiFragment getCustomFragment(int index);
// 
//     /**
//      * 一个显示页面的数据源
//      *
//      * @param index
//      * @return
//      */
//     PageEmojiStyle getPagerData(int index);
// 
//     /**
//      * 文本拦截事件， 用于处理自定义表情
//      *
//      * @return
//      */
//     EmojiInterceptor getEmojiInterceptor();
// }
// 
// Path: libeasyemoji/src/main/java/org/nicky/libeasyemoji/emoji/interfaces/PageEmojiStyle.java
// public interface PageEmojiStyle<T extends Parcelable> extends Parcelable{
//     int getExceptItemCount();
//     void setData(List<T> data);
// }


// Path: app/src/main/java/org/nicky/easyemoji/lovedEmoji/LovedEmojiStyle.java
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import org.nicky.easyemoji.R;
import org.nicky.libeasyemoji.emoji.EmojiFragment;
import org.nicky.libeasyemoji.emoji.interfaces.EmojiInterceptor;
import org.nicky.libeasyemoji.emoji.interfaces.EmojiStyle;
import org.nicky.libeasyemoji.emoji.interfaces.PageEmojiStyle;
import java.util.List;

package org.nicky.easyemoji.lovedEmoji;




/**
 * Created by nickyang on 2017/4/5.
 */

public class LovedEmojiStyle implements EmojiStyle {

    LovedEmojicons emojicons;

    public LovedEmojiStyle() {
        emojicons = new LovedEmojicons();
    }

    @Override
    public String getStyleName() {
        return "loved";
    }

    @Override
    public int getStyleIcon() {
        return R.drawable.sg001;
    }

    @Override
    public View getStyleIconView(Context context) {
        ImageButton image = new ImageButton(context);
        image.setImageResource(R.drawable.sg003);
        image.setBackgroundResource(R.drawable.love_emojicon);
        image.setLayoutParams(new ViewGroup.LayoutParams(200, ViewGroup.LayoutParams.MATCH_PARENT));
        return image;
    }

    @Override
    public List getEmojiData() {
        return emojicons.getEmojis();
    }

    @Override
    public EmojiFragment getCustomFragment(int index) {