Status Update
Comments
se...@google.com <se...@google.com> #2
Please include a sample project that reproduces your issue.
or...@gmail.com <or...@gmail.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"
or...@gmail.com <or...@gmail.com> #4
The reason may be related to 2.4.0
of lifecycle-process
as workaround.
se...@google.com <se...@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.
or...@gmail.com <or...@gmail.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.
il...@google.com <il...@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.
Description
Version used:1.1.0-alpha03
Devices/Android versions reproduced on:
as per
After updating to androidx.fragment:fragment-testing v1.0-alpha03 we're now getting following crash at end of test.
```
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Collection java.util.concurrent.ConcurrentHashMap.values()' on a null object reference
at androidx.lifecycle.ViewModel.clear(ViewModel.java:125)
at androidx.lifecycle.ViewModelStore.clear(ViewModelStore.java:62)
```
Importantly this is test where we're mocking instance of ViewModel being used and issues seems to be related to associated changes to lifecycle-viewmodel v2.1.0-alpha01 which we now have a transitive dependency to. Specifically crash is occurring in following method because mBagOfTags is null
```
final void clear() {
mCleared = true;
for (Object value: mBagOfTags.values()) {
// see comment for the similar call in setTagIfAbsent
closeWithRuntimeException(value);
}
onCleared();
}
```
repo steps:
clone
checkout `fragment_test_issue ` branch
run `RouteListFragmentTest`