Fixed
Status Update
Comments
se...@google.com <se...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 19b15188d2c730d65e6a1e24e5df26bcfd1bffa7
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Tue Apr 30 17:27:38 2019
Add a delegating WorkerFactory which can delegate to other WorkerFactories.
Test: Added unit tests.
Fixes: b/131435993
Change-Id: Id55dfca1ea4461b2bf2d7da2356c6cce9af22507
M work/workmanager/api/2.1.0-alpha01.txt
M work/workmanager/api/current.txt
M work/workmanager/build.gradle
A work/workmanager/src/androidTest/java/androidx/work/DelegatingWorkerFactoryTest.kt
A work/workmanager/src/main/java/androidx/work/DelegatingWorkerFactory.java
M work/workmanager/src/main/java/androidx/work/WorkerFactory.java
https://android-review.googlesource.com/954186
https://goto.google.com/android-sha1/19b15188d2c730d65e6a1e24e5df26bcfd1bffa7
Branch: androidx-master-dev
commit 19b15188d2c730d65e6a1e24e5df26bcfd1bffa7
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Tue Apr 30 17:27:38 2019
Add a delegating WorkerFactory which can delegate to other WorkerFactories.
Test: Added unit tests.
Fixes:
Change-Id: Id55dfca1ea4461b2bf2d7da2356c6cce9af22507
M work/workmanager/api/2.1.0-alpha01.txt
M work/workmanager/api/current.txt
M work/workmanager/build.gradle
A work/workmanager/src/androidTest/java/androidx/work/DelegatingWorkerFactoryTest.kt
A work/workmanager/src/main/java/androidx/work/DelegatingWorkerFactory.java
M work/workmanager/src/main/java/androidx/work/WorkerFactory.java
or...@gmail.com <or...@gmail.com> #3
So if I understand this correctly, this enables us to add more worker factory at runtime?
or...@gmail.com <or...@gmail.com> #4
This enables the use-case where a library that uses WorkManager uses a different WorkerFactory. So an application could add the library provided WorkerFactory to the list of delegates.
se...@google.com <se...@google.com> #5
You should add your libraries at startup, not at some point after your app and WorkManager have been initialized.
il...@google.com <il...@google.com> #7
We've fixed this internally in https://android-review.googlesource.com/863029 to ensure that mocked ViewModels work as before and this will be available in the next version of ViewModel (and Fragment, etc. that relies on it).
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`