Status Update
Comments
il...@google.com <il...@google.com>
il...@google.com <il...@google.com> #2
Please include a sample project that reproduces your issue.
ap...@google.com <ap...@google.com> #3
Sample project attached. Just add to plain project this dependencies allow to reproduce.
def emoji2_version = "1.1.0-beta01"
implementation "androidx.emoji2:emoji2:$emoji2_version"
def lifecycle_version = "2.5.0-alpha01"
implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
mg...@google.com <mg...@google.com> #4
The reason may be related to 2.4.0
of lifecycle-process
as workaround.
ap...@google.com <ap...@google.com> #5
Yes, this is due to this change, as well as the fact that EmojiCompatInitializer has a ProcessLifecycleInitializer as a dependency and also re-calls it, but in manual mode.
mg...@google.com <mg...@google.com>
ap...@google.com <ap...@google.com> #6
ProcessLifecycleInitializer
is expected to already be initialized (via the manifest provider
for App Startup) by the time that code runs - App Startup shouldn't be calling create
if that component has already been initialized, hence you shouldn't get any exception. We'll take a look on where things are breaking down though.
ap...@google.com <ap...@google.com> #7
Thanks for the answer.
As I understand EmojiCompatInitializer has ProcessLifecycleInitializer as a appInitializer.initializeComponent(ProcessLifecycleInitializer.class)
Maybe it would be more correct to create a bug in emoji-2, but let it be here.
pr...@google.com <pr...@google.com> #8
This issue isn't related to emoji2, it could be reproduced easily with the lifecycle-process
(2.4.0 -> 2.5.0-alpha01) only.
Description
It would be nice if the core concepts of Lifecycle would be available for use in Kotlin Multiplatform projects.
Libraries like the Navigation Component, Fragments, etc. have all settled on the same definitions of Lifecycle States, which seem to apply to any UI:
CREATED
- created, but not yet visibleSTARTED
- visible, but not yet settled (e.g., entering or exiting transitions may still be running)RESUMED
- visible and settledThis would include:
Lifecycle
LifecycleRegistry
LifecycleOwner
LifecycleObserver
And ideally everything in the
lifecycle-common
andlifecycle-runtime
artifacts.