added emoji picker with the features to search emoji and get recent used emoji #280
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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)
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)
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
Replace com.simplemobiletools.commons.views.MyRecyclerView of id emojis_list to EmojiPickerView and create a top toolbar androidx.appcompat.widget.AppCompatAutoCompleteTextView for emoji search
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
I update the minSDK to 24 because some of the emoji is not working in minSDK level 23
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
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
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