added emoji picker with the features to search emoji and get recent used emoji
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
These apps have been sold to an adware company, submit your PR to https://github.com/FossifyOrg/Keyboard