Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added emoji picker with the features to search emoji and get recent used emoji #280

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

rishabhhgupta
Copy link

@rishabhhgupta rishabhhgupta commented Sep 4, 2024

I used androidx emojiPicker library that have that have only features of get the recent used emoji

Changes in the androidx emojiPicker libarary

After creating a module of emojiPicker (it has license of apache 2.0)

  1. Update the emoji csv file(androidx/emoji2/emojipicker/res/raw) with search terms of each emoji
    example- 👋,[👋🏻👋🏼👋🏽👋🏾👋🏿], [hellow,hey] (first column is main emoji, second is their variants and third is their search terms)

  2. update method buildEmojiPickerItems() inside EmojiPickerView.kt file, buildEmojiPickerItems() create list like recent used emoji and search text terms matches create a emoji list

Changes in the simple keyboard app

  1. Replace com.simplemobiletools.commons.views.MyRecyclerView of id emojis_list to EmojiPickerView and create a top toolbar androidx.appcompat.widget.AppCompatAutoCompleteTextView for emoji search

  2. create a custom Inputconnection for AppCompatAutoCompleteTextView , i can also use androidx.appcompat.widget.Searchview, but then custom Input connection is not working properly I try alot

  3. I update the minSDK to 24 because some of the emoji is not working in minSDK level 23

  4. when ever user focused on AppCompatAutoCompleteTextView, a companion object of variable name "searching" of class SimpleKeyboardIME is become true and OtherInputConnection()(it used to change inputconnection) class is initilise to the AppCompatAutoCompleteTextView, so whenever any key is pressed it check the searching is true or false(happen at getMyCurrentInputConnection()), if it's true then inputconnection is change to OtherInputConnection if it is false then change to currentInputConnection, changes to searching=false happens whenonCreateInputView() is called and onbackpressed of emojiview (xml id name "emoji_palette_close" ) is called

  5. Changes in the updateShifState()- it's assign as start a text with first capitalise character, but when the inputconnection is change, updateShiftState() find that currentInputConnection is never started so it make the every character capitalise, so whenever inputconnection change to otherinputconnection it didn't check the currentInputConnection first character capitalise

  6. Added features changes background colors and text colors according to the theme(dark mode, lightmode) user set

video link to showcase all the new features

https://drive.google.com/file/d/1MxZn8iArlETBy9MdubU7w0XT9m0vKLc2/view?usp=drivesdk

@tenextractor
Copy link

These apps have been sold to an adware company, submit your PR to https://github.com/FossifyOrg/Keyboard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants