chore(emojis): remove the unused :ui:emojis module - #1668
Merged
Merged
Conversation
Nothing outside the module called into it except EmojiModal.kt in :ui:components, and nothing called EmojiModalContent. Its EmojiRender and EmojiSearchResults call processEmoji, which reads EmojiCompat.get() without EmojiCompat ever being initialized: EmojiCompatController.init() had no callers, and emoji2-bundled strips emoji2's startup initializer. Rendering either composable would throw IllegalStateException. Removing emoji2-bundled lets EmojiCompatInitializer back into the merged manifest through Compose's emoji2 dependency, which would switch emoji on API 29-34 to the downloadable font. The app manifest now removes it explicitly, so emoji keep using the system font as before.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
:ui:emojishad one consumer,EmojiModal.ktin:ui:components, and nothing callsEmojiModalContent. This removes both, along withemoji2andemoji2-bundled.The module was also a latent crash.
EmojiRenderandEmojiSearchResultscallprocessEmoji, which readsEmojiCompat.get(). EmojiCompat is never initialized:EmojiCompatController.init()has no callers, andemoji2-bundled's manifest strips emoji2's startup initializer. Rendering either composable would throwIllegalStateException.Dropping
emoji2-bundledletsEmojiCompatInitializerback into the merged manifest through Compose's emoji2 dependency. That would initialize EmojiCompat with the downloadable font and change emoji rendering on API 29–34. The app manifest now removes the initializer explicitly, so emoji stay on the system font as they are today. The debug and release merged manifests both have no emoji entries, same as before this change.:libs:emojisstays; the reaction picker and recent reactions use it.