Tag: Jetpack

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…

Exploring Canvas in Jetpack Compose — Crafting Graphics, Animations, and Game Experiences | by Nirbhay Pherwani | Sep, 2023

The Canvas composable isn’t limited to graphics; it’s also used in creating interactive and immersive game experiences directly within your app. Let’s look at a simple game concept — a bouncing ball. Bouncing Ball Game @Composablefun BouncingBallGame() {val position = remember { mutableStateOf(Offset(300f, 0f)) }val…