Git Product home page Git Product logo

emoji's People

Contributors

aballano avatar akwizgran avatar alanginger avatar alexmavdev avatar bmarty avatar boidolr avatar cyfung1031 avatar denjoo avatar dependabot[bot] avatar felixonmars avatar foo-manroot avatar ghshenavar avatar lukesleeman avatar mario avatar mrhadisatrio avatar namolem avatar rashidianpeyman avatar renovate[bot] avatar ricochr avatar rocboronat avatar rubengees avatar stefanhaustein avatar stevebaros avatar sy102134 avatar vanniktech avatar vfishv avatar vitalykuznetsov avatar yshubin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emoji's Issues

Things to do before merging #77

First of all thank you very much for your work @rubengees in #77.

There are a few things that I still want to talk about and hence a new issue since that PR is already way too long to get an overview about things.

  • Is this one needed - EmojiManager.getCategories() ?
  • When should the destroy method be called of the EmojiManager?
  • Should we define an enum for categories? (To have type safety)
  • Example Emoji One
  • Have emojis somewhat ordered logically so that they keep their order across new imports
  • Compression of images
  • restore old ios category order (it's different now)
  • Usage readme on how to update emojis
  • Exclude skin emojis in keyboard for now but display them in TextView
  • Old category icons for ios and the good looking ones for the new emoji one

Some more stuff might get added to the list as we tackle it down.

can't add "com.vanniktech:emoji" library to my project

i got an emoji library from here https://github.com/vanniktech/Emoji

i am trying to add emoji library to my android project but when i compile below line it gives me error which is shown in screen shot.

if anyone use this library and getting same then please help.

Thanks in advance.

compile 'com.vanniktech:emoji:0.4.0'
compile 'com.vanniktech:emoji:0.4.0-SNAPSHOT

my android studio version is 2.1.2

error

Opening emoticons, and change the keybord

Whenever i open the emoticons with button and change to keybord and hide it (call method dismiss();) i lost focus to rootView so then i can open emoticonsSelect but i no have a the rootView
This open:

private void showEmoticon() {
imageEmoticonButton.setOnClickListener(new View.OnClickListener() {
@OverRide
public void onClick(View v) {
emojiPopup.toggle();
}
});
}

i setup on OnCreateView (fragment)

private void setUpEmojiPopup() {
emojiPopup = EmojiPopup.Builder.fromRootView(sendPanel).setOnEmojiBackspaceClickListener(new OnEmojiBackspaceClickListener() {
@OverRide
public void onEmojiBackspaceClicked(final View v) {
}
}).setOnEmojiClickedListener(new OnEmojiClickedListener() {
@OverRide
public void onEmojiClicked(final Emoji emoji) {
}
}).setOnEmojiPopupShownListener(new OnEmojiPopupShownListener() {
@OverRide
public void onEmojiPopupShown() {
// imageEmoticonButton.setEnabled(false);
}
}).setOnSoftKeyboardOpenListener(new OnSoftKeyboardOpenListener() {
@OverRide
public void onKeyboardOpen(final int keyBoardHeight) {
// emojiPopup.dismiss();
}
}).setOnEmojiPopupDismissListener(new OnEmojiPopupDismissListener() {
@OverRide
public void onEmojiPopupDismiss() {
}
}).setOnSoftKeyboardCloseListener(new OnSoftKeyboardCloseListener() {
@OverRide
public void onKeyboardClose() {
emojiPopup.dismiss();
}
}).build(messageBox);
}

No resource found: @drawable/emoji_people

I'm trying to compile code that was working a few days ago. Right now, the compile issue I get is

Error:(151, 26) No resource found that matches the given name (at 'src' with value '@drawable/emoji_people').

shows above keyboard in dialog box

I have a dialog box in which user can enter text and emoji.
But when i open emoji panel it shows above the keyboard instead of top of the keyboard.
I have given root view of the dialog box custom xml root view

Can't show keybord

Hello. Thanks for so good lib.
Help me to resolve this problem (as here: #28 ), please:
Board with smiles opening good, but I want to switch smiles board to keybord by second tap to button.
So, smiles board opened, I tap on button, where this code:

if (main.globals_.emojiPopup.isShowing()){
//закрыть эмоции
//main.globals_.emojiPopup.dismiss();
//показать клавиатуру
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}else{
//открыть эмоции
main.globals_.emojiPopup.toggle();
}

and I see momental keyboard blink, closing keyboard and smiles board was closed.

If I delete the code for showing keyboard and uncomment main.globals_.emojiPopup.dismiss(); , I will see good changing from smiles to keboard and back. BUT, when I close keyboard or smiles by pressing "back" and trying to show smiles by button, I will see the bug as on screen from issue #28. What me do? How to set rootView again?
Sorry for my Russian English.

Investigate better Popup logic

  • Version of the library: 0.5
  • Affected devices: All
  • Affected versions: All

The current logic for showing the picker itself and the skin tone popup have some problems.
This includes:

  • Does not work with physical keyboards, because the OnGlobalLayoutListener does not get called (#31).
  • Problems with dialogs and other contexts, apart from a normal full screen layout (#26).
  • Skin tone popup does not behave exactly like it should be. If you do a long click, but dont lift your finger, you are still able to move the list. Moreover does an outside click counts as a real click. If you click outside the popup on an emoji, the popup is closed and the emoji is selected, while it should only close the popup.
  • The picker does also not behave exactly like it should be. Other pickers like this close when clicked outside, but it is arguable if that is what we want.
  • The popup closes when the Activity is paused, or orientation is changed. Other pickers like this do remain open
  • Risky code
    • The MIN_KEYBOARD_HEIGHT is hardcoded to 100 pixels. I doubt that there are keyboards smaller than that, but it is still risky.
    • Usage of the Android internal field status_bar_height, which could change or disappear in future versions.

I tested around a bit, but couldn't really get to anything. One notable thing though is the following:
To make a popup window behave properly (Like I described above for the skin tone popup), one can set:

popupWindow.setFocusable(true);
popupWindow.setOutsideTouchable(true);

This resulted in this weird behaviour though:

unbenannt

I don't really know how to approach this. Do you know something @vanniktech? I will further investigate this though.

Add flags

A lot of them are missing:
🇦🇫🇦🇽🇦🇱🇩🇿🇦🇸🇦🇩🇦🇴🇦🇮🇦🇶🇦🇬🇦🇷🇦🇲🇦🇼🇦🇺🇦🇹🇦🇿🇧🇸🇧🇭🇧🇩🇧🇧🇧🇾🇧🇪🇧🇿🇧🇯🇧🇲🇧🇹🇧🇴🇧🇶🇧🇦🇧🇼🇧🇷🇮🇴🇻🇬🇧🇳🇧🇬🇧🇫🇧🇮🇨🇻🇰🇭🇨🇲🇨🇦🇮🇨🇰🇾🇨🇫🇹🇩🇨🇱🇨🇳🇨🇽🇨🇨🇨🇴🇰🇲🇨🇬🇨🇩🇨🇰🇨🇷🇭🇷🇨🇺🇨🇼🇨🇾🇨🇿🇩🇰🇩🇯🇩🇲🇩🇴🇪🇨🇪🇬🇸🇻🇬🇶🇪🇷🇪🇪🇪🇹🇪🇺🇫🇰🇫🇴🇫🇯🇫🇮🇫🇷🇬🇫🇵🇫🇹🇫🇬🇦🇬🇲🇬🇪🇩🇪🇬🇭🇬🇮🇬🇷🇬🇱🇬🇩🇬🇵🇬🇺🇬🇹🇬🇬🇬🇳🇬🇼🇬🇾🇭🇹🇭🇳🇭🇰🇭🇺🇮🇸🇮🇳🇮🇩🇮🇷🇮🇶🇮🇪🇮🇲🇮🇱🇮🇹🇨🇮🇯🇲🇯🇵🇯🇪🇯🇴🇰🇿🇰🇪🇰🇮🇽🇰🇰🇼🇰🇬🇱🇦🇱🇻🇱🇧🇱🇸🇱🇷🇱🇾🇱🇮🇱🇹🇱🇺🇲🇴🇲🇰🇲🇬🇲🇼🇲🇾🇲🇻🇲🇱🇲🇹🇲🇭🇲🇶🇲🇷🇲🇺🇾🇹🇲🇽🇫🇲🇲🇩🇲🇨🇲🇳🇲🇪🇲🇸🇲🇦🇲🇿🇲🇲🇳🇦🇳🇷🇳🇵🇳🇱🇳🇨🇳🇿🇳🇮🇳🇪🇳🇬🇳🇺🇳🇫🇲🇵🇰🇵🇳🇴🇴🇲🇵🇰🇵🇼🇵🇸🇵🇦🇵🇬🇵🇾🇵🇪🇵🇭🇵🇳🇵🇱🇵🇹🇵🇷🇶🇦🇷🇪🇷🇴🇷🇺🇷🇼🇧🇱🇸🇭🇰🇳🇱🇨🇵🇲🇻🇨🇼🇸🇸🇲🇸🇹🇸🇦🇸🇳🇷🇸🇸🇨🇸🇱🇸🇬🇸🇽🇸🇰🇸🇮🇸🇧🇸🇴🇿🇦🇬🇸🇰🇷🇸🇸🇪🇸🇱🇰🇸🇩🇸🇷🇸🇿🇸🇪🇨🇭🇸🇾🇹🇼🇹🇯🇹🇿🇹🇭🇹🇱🇹🇬🇹🇰🇹🇴🇹🇹🇹🇳🇹🇷🇹🇲🇹🇨🇹🇻🇺🇬🇺🇦🇦🇪🇬🇧🇺🇸🇻🇮🇺🇾🇺🇿🇻🇺🇻🇦🇻🇪🇻🇳🇼🇫🇪🇭🇾🇪🇿🇲🇿🇼🇽🇪

Getting a major error after importing the class

Thank you for filing an issue. If this is a bug that you want to report, please take the time to provide some information:

  • Version of the library: 0.4
  • Affected devices:
  • Affected versions:

problem is I am getting this, I imported the jar and the aar file.
Could not initialize class com.vanniktech.emoji.EmojiHandler
Screenshot(s) showing the issue and reprodution steps are appreciated.


EmojiPopup not dismissing, when back press.

Hello, when EmojiPopup is visible and I press back button on device, then Softkeyboard is dismissed, but Emoji Popup is not dismissed.

  • Version of the library:'com.vanniktech:emoji-ios:0.4.0'
  • Affected devices: Samsung, Emulator(Nexus 6)

Add Night Theme Support to Sample

Let's add Night Theme Support to the sample and also see whether we need to change something in the library to support it properly or not.

LinearLayout with EmojEditText sometimes disappearing when popup is shown (in fragment)

I have a fragment containing several linear layouts with on linear layout at the bottom containing the EmojEditText and some buttons. I use the button to toggle the EmojPopup visibility.

Sometimes (let's say one in 10 times or 15 times) the emoj popup opens but the linear layout above it just disappears when I click the button. If I choose an emoj the popup disappears and the linear layout is visible again.

I cannot trigger this on purpose, seems like a race condition of some kind? Could it be related to wrong root view? I'm using view.getRootView() (view is the inflated view for the fragment).

Add possibility to create own textviews with emoji

Now we can only subclass EmojiTextView to create emoji text views, because EmojiHandler class is package-only. However, this is not possible to pass custom emoji size, except using attributes.
Please, make EmojiHandler class public or provide function to override for EmojiTextView to provide default value for emojiSize.

Soft keyboard not detected when toggling the emoji-popup

  • Version of the library: 0.3.0
  • Affected devices: Nexus X with 7.0 and Xperia Z5 Compact with 6.01
  • Affected versions: Reproduced in 0.3.0 and 46dcd01

The problem appears in the Qabel-android client in versionn 0.12.0 and 0.12.1: https://github.com/Qabel/qabel-android/releases/tag/0.12.1-beta.3

To reproduce:

  1. Open the chat fragment with this layout
  2. Open the soft keyboard by clicking into the edit text field
  3. Click the emoji-button

Expected behavior:
The soft keyboard hides and the emoji popup appears
Actual behavior:
The emoji-button changes the drawable to the keyboard drawable and the emoji popup does not appear, the keyboard stays visible. Clicking the emoji button again has no effect.

When I close the keyboard with the hardware button and then press the emoji button again, the emoji popup opens and everything works fine.


I also tried to bind the emoji popup on the root of the activities layout, but that had no effect.

Issue when you call dismiss()

version 0.3.0

If you call the method "dismiss ()", without closing the keyboard, then the keyboard when you close, "isKeyboardOpen" variable is "true". Accordingly, the call "toggle ()" will:

if (isKeyboardOpen) {
// If keyboard is visible, simply show the emoji popup
this.showAtBottom();
}

but no screen keyboard

P.S. sorry for my english

Add Search functionality

It would be cool to be able to search for an Emoji using Text. Searching for punch yields for instance 👊. I don't know whether Emojis have associated tags or not and whether they are only in English or also other languages.

Basically reflect the search functionality from Github / Slack in the Library.

OnGlobalLayoutListener may cause performance degrade

First, thanks for your awesome module.
I used it in my app, and it works very well.

But it may cause performance issues on some devices, in my case, Moto X Style with CM 13 (Android 6.0.1), but not with my Galaxy S4 (Android 4.4), LG G2 (Android 5.0).
And many users reported too, mostly Android 6.0.

The issue:
I have some fragments with EmojiPopup instance, after start and exit those fragments couple times, ListView scrolling skipped a lot, also with SwipeRefreshLayout pull to refresh action.

I checked setSizeForSoftKeyboard function, and found OnGlobalLayoutListener was attached to rootView but never removed. So rootView could be attached multiple listeners, cause performance degrade.
https://github.com/vanniktech/Emoji/blob/master/library/src/main/java/com/vanniktech/emoji/EmojiPopup.java#L142

So I hacked a little, remove OnGlobalLayoutListener on fragment destory.
Which solved my problem.

But I don't think it's a clean way to do it.
Maybe OnGlobalLayoutListener should be removed when measure is done?

Thanks.

Skin tones support

I can help you with adding skin tones. Do you have ideas how to map them? Since skin toned emoji has two unicode characters (0x1f4aa 0x1f3fb) I am not sure how it can be handled.

EMOJIS_MAP.put(0x1f4aa, R.drawable.emoji_1f4aa_1f3fb);

Reflect Emoji Skin Tone automatically in Emoji List

When changing the skin tone of an Emoji in a Category the Emoji Icon in the list should be updated.

  1. Look for 👊
  2. Long press on 👊
  3. Change in Dialog to 👊🏻
  4. In the list 👊🏻 should be displayed now instead of 👊

If we do this we should no longer then display 👊 & 👊🏻 in the recent Emojis. Instead just display the one that was used last.

Unable to get the emoji code with get text.

Emoji's appear perfectly on edittext and textview. But when i do getText() on edittext, it returns " ���� testing emoji ", instead of unique codes for each emojis added.

I need to send obtained text to server when i send above text to server an entry has been created in database but nothing is saved on corresponding text column.

Please suggest any solution. Thanks.

How to handle swipe gestures when selecting a skin tone?

Right now if you long press on an Emoji with a Skin Tone modifier you're still able to swipe, which means you can swipe to another category while the Skin Tone PopupWindow is still open. Another thing that works is scrolling up and down and then you're at a different position that you started with.

Telegram does a nice thing. If you select a skin tone, swipe gestures for categories are blocked and when you swipe you actually preselect the skin tone modifier. Once you release the swipe the selected skin tone is the one that will be applied.

Screenshots for clarification:

screenshot_20170308-100025
screenshot_20170308-100032

Emoji not working with DialogFragment

Thank you for filing an issue. If this is a bug that you want to report, please take the time to provide some information:

  • Version of the library: 0.3.0
  • Affected devices: Nexus 6
  • Affected versions: API 23

Screenshot(s) showing the issue and reprodution steps are appreciated.


I was using emoji for edittext in DialogFragment. But when i toggle, keyboard still display. Please check this issue. Thanks.

Emoji prompt showing above softkeyboard and malfunction in landscape mode

The emoji keyboard works perfectly yesterday when I started using it in my application except the landscape malfunctioning, but this morning another thing surface, the prompt is now showing above the soft keyboard without modifying anything.

The version used is:
compile 'com.vanniktech:emoji:0.3.0'
compile 'com.vanniktech:emoji:0.4.0

Need help urgently
screenshot_20161123-080029

IosEmojiProvider not available by using compile 'com.vanniktech:emoji-ios:0.4.0' only

Hi Niklas,

First off, thank you for a great lib. I have used it in a library before and I am using it again for my current project. It is great.

Second, using 'compile 'com.vanniktech:emoji-ios:0.4.0'' results in IosEmojiProvider class not found. Basically, the whole ios package is not available. For now I imported the project as a module but would be helpful if you could please have a look into it.

Thanks,
Jean Marie

Thank you for filing an issue. If this is a bug that you want to report, please take the time to provide some information:

  • Version of the library: 0.4.0
  • Affected devices: All
  • Affected versions: All

Screenshot(s) showing the issue and reprodution steps are appreciated.


Smiley is not working with custom image

i have an problem when i sent the image drawable as R.drawable.emoji_people then the smiley or everything works when i change the drawable to my own type image as of the imageview click then the smiley or default keyboard is not working properly

Require Data Binding support.

Need Data Binding support for EmojiTextView.Java. In my Chat application, I am using Data Binding and EmojiTextView need to be bindable for Chat Messages.

Will need to enable data binding in build.gradle . I can make PR if you guys are ok with binding support.

Error: IllegalStateException

I found the error like this:
java.lang.IllegalStateException: Please install an EmojiProvider through the install method first.
Could you help me? previously it was worked.

Way to call dismiss() in OnSoftKeyboardCloseListener?

How can I make emojiPopup dismiss() when soft keyboard is hidden, by example, by backpressed?
There's no way to do this in Builder, because while Builder isn't built, the popup instance isn't initialized and its dismiss() isn't accessible.
Builder is a private class, I can't create an instance of it and maybe build the thing twice as a workaround.
What could you suggest? When soft keyboard is hidden, emoji popup stays on, covering the input field with toggle button and I have no way to remove it from the screen.

Proposal: Switch to EmojiOne

This is a proposal for a large change in the library.

I think about switching to the emoji of EmojiOne. It is regularly updated, contains all of the latest emoji, has a friendly licence (creative commons) and provides mapping files for somewhat easy generation of mapping classes.

Benefits

  • All of the missing emoji would be added #10, #11, #12.
  • Integration of skin tones #34 (Not as a popup menu, but still better than not having them altogether).
  • Looks also good on large displays
  • Nearly automatic updates possible, see down below.

Caveats

  • The library might grow in size, I'm not far enough to say that certainly.

How I would approach this

  • Write a small script for cloning the EmojiOne repo -> Copying the relevant resources -> Generate .java files which map to correct values. This has the advantage that we could just rerun the script when files of EmojiOne have changed and simply copy the changes to the library.
  • Rewrite/Simplify the library to be compatible with the changes.

Preview (Work in progress)

device-2017-01-06-181100

What do you think about this? I would happily submit a PR for that (in fact I'm already working on it, the script is nearly ready).

Add missing People emojis

Those are missing:
💑👩‍❤️‍👩👨‍❤️‍👨💏👩‍❤️‍💋‍👩👨‍❤️‍💋‍👨👪👨‍👩‍👧👨‍👩‍👧‍👦👨‍👩‍👦‍👦👨‍👩‍👧‍👧👩‍👩‍👦👩‍👩‍👧👩‍👩‍👧‍👦👩‍👩‍👦‍👦👩‍👩‍👧‍👧👨‍👨‍👦👨‍👨‍👧👨‍👨‍👧‍👦👨‍👨‍👦‍👦👨‍👨‍👧‍👧

Problem showing emmoji

using com.vanniktech:emoji:0.3.0
when open this emoji it show both emoji and keyboard pls help
13883907_1031409340246997_1400022487_n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.