@Override
  public void addRecentEmoji(Context context, Emojicon emojicon) {
    EmojiconRecentsManager recents = EmojiconRecentsManager.getInstance(context);
    recents.push(emojicon);

    // notify dataset changed
    if (mAdapter != null) mAdapter.notifyDataSetChanged();
  }
  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);
  }
Exemplo n.º 3
0
 @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;
   }
 }
Exemplo n.º 4
0
  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;
  }
Exemplo n.º 5
0
 /** Dismiss the popup */
 @Override
 public void dismiss() {
   super.dismiss();
   EmojiconRecentsManager.getInstance(mContext).saveRecents();
 }