3-step guide to adding emojis — Jetpack Emoji Picker | by Nav Singh | Sep, 2023
class CustomRecentEmojiProvider(context: Context) : RecentEmojiAsyncProvider { private val sharedPreferences by lazy {context.getSharedPreferences(RECENT_EMOJI_LIST_PREF_NAME, Context.MODE_PRIVATE)} private val emoji2Frequency: MutableMap<String, Int> by lazy {sharedPreferences.getString(CUSTOM_EMOJI_FREQ_PREF_KEY, null)?.split(SPLIT_CHAR)?.associate { entry ->entry.split(VALUE_DELIMITER, limit = 2).let { value -> value[0] to value[1].toInt() }}?.toMutableMap() ?: mutableMapOf()} override fun getRecentEmojiListAsync(): ListenableFuture<List<String>> =Futures.immediateFuture(emoji2Frequency.toList().sortedByDescending { it.second }.map…
Android Studio Live Code Templates, Clean SSEClient Flow, Emoji Cannon, Filament, and more! | by Shahla Aliyeva | Jul, 2023
Just as always, we are reachable via editors@proandroiddev.com. We look forward to reading your feedback, article submissions, and partnership ideas. Follow us on Facebook and Twitter, and see you soon! Cheers, ProAndroidDev Team Sergii Zhuk . Greg Fawson . Andy Dyer . Brian Gardner ….
Blast Off: Managing Hundreds of UI Updates for an Emoji Cannon | by Piotr Prus | Jul, 2023
Our goal here is to build a simple UI, starting with a button and an empty screen. Every time the user clicks the button we should fire an emoji in the air(screen) and clean it after a while with a fadeOut() exit animation. Here is…