Fixed
Status Update
Comments
ra...@google.com <ra...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 92bd7222fcfd7523e8fa80b7f72e967b8bbf4750
Author: Ian Lake <ilake@google.com>
Date: Tue Aug 27 10:07:52 2019
Split LifecycleCallbacks from FragmentManager
Create a separate FragmentLifecycleCallbacksDispatcher
object that is responsible for dispatching
FragmentLifecycleCallbacks events.
Test: existing FragmentLifecycleTest pass
BUG: 139536619
Change-Id: I64cc2b364af65760b0008efb317a742df2c0718d
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentLifecycleCallbacksDispatcher.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
https://android-review.googlesource.com/1110155
https://goto.google.com/android-sha1/92bd7222fcfd7523e8fa80b7f72e967b8bbf4750
Branch: androidx-master-dev
commit 92bd7222fcfd7523e8fa80b7f72e967b8bbf4750
Author: Ian Lake <ilake@google.com>
Date: Tue Aug 27 10:07:52 2019
Split LifecycleCallbacks from FragmentManager
Create a separate FragmentLifecycleCallbacksDispatcher
object that is responsible for dispatching
FragmentLifecycleCallbacks events.
Test: existing FragmentLifecycleTest pass
BUG: 139536619
Change-Id: I64cc2b364af65760b0008efb317a742df2c0718d
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentLifecycleCallbacksDispatcher.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
ca...@careem.com <ca...@careem.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 092d14cd22c174405221b930665869f7c9fc8b65
Author: Ian Lake <ilake@google.com>
Date: Tue Aug 27 14:46:02 2019
Remove FragmentState mInstance
Make FragmentState a simple Parcelable by removing
its mInstance field and its instantiate() method.
This required we change the order of restoring:
instead of reconnecting retained Fragments with their
FragmentState instances, we first iterate through
all FragmentState instances and do one of two things:
1) Reconnect the retained fragment if it exists
2) Create a new fragment from the FragmentState
This allows us to do just one pass through our
FragmentState objects and run the edge case of
detecting retained fragments created after the
state was saved after creating the set of active
fragments.
Test: all existing tests pass
BUG: 139536619
Change-Id: Iba7cc300c127bc05127d122fa5acc1ccc871a76b
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerViewModel.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentState.java
https://android-review.googlesource.com/1108716
https://goto.google.com/android-sha1/092d14cd22c174405221b930665869f7c9fc8b65
Branch: androidx-master-dev
commit 092d14cd22c174405221b930665869f7c9fc8b65
Author: Ian Lake <ilake@google.com>
Date: Tue Aug 27 14:46:02 2019
Remove FragmentState mInstance
Make FragmentState a simple Parcelable by removing
its mInstance field and its instantiate() method.
This required we change the order of restoring:
instead of reconnecting retained Fragments with their
FragmentState instances, we first iterate through
all FragmentState instances and do one of two things:
1) Reconnect the retained fragment if it exists
2) Create a new fragment from the FragmentState
This allows us to do just one pass through our
FragmentState objects and run the edge case of
detecting retained fragments created after the
state was saved after creating the set of active
fragments.
Test: all existing tests pass
BUG: 139536619
Change-Id: Iba7cc300c127bc05127d122fa5acc1ccc871a76b
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerViewModel.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentState.java
ra...@google.com <ra...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 66d98b470d8887fdd16461c2da0df69ec62dd8d8
Author: Ian Lake <ilake@google.com>
Date: Fri Aug 16 13:22:20 2019
Add skeleton for FragmentStateManager
Store a HashMap of mWho to FragmentStateManager
instances. This serves as the minimal starting
point for moving logic that interacts with a
single Fragment from FragmentManager into
FragmentStateManager.
Test: existing tests pass, new FragmentStateManagerTest
BUG: 139536619
Change-Id: Ifaea272a3202e918143f65245fb98157ad971827
A fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackState.java
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1109796
https://goto.google.com/android-sha1/66d98b470d8887fdd16461c2da0df69ec62dd8d8
Branch: androidx-master-dev
commit 66d98b470d8887fdd16461c2da0df69ec62dd8d8
Author: Ian Lake <ilake@google.com>
Date: Fri Aug 16 13:22:20 2019
Add skeleton for FragmentStateManager
Store a HashMap of mWho to FragmentStateManager
instances. This serves as the minimal starting
point for moving logic that interacts with a
single Fragment from FragmentManager into
FragmentStateManager.
Test: existing tests pass, new FragmentStateManagerTest
BUG: 139536619
Change-Id: Ifaea272a3202e918143f65245fb98157ad971827
A fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackState.java
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
Description
I have created a Worker and a test class running it, but the doWork method is not called.
I have tried to debug the issue and the work is not executed as the constructor of `TestWorkManagerImpl` creates a list of Schedulers with one `null` Scheduler. due to this the Schedulers.schedule method throws a null pointer exception.
Here is the stacktrace from the exception:
androidx.work.impl.Schedulers.schedule(Schedulers.java:91)
androidx.work.impl.utils.EnqueueRunnable.scheduleWorkInBackground(EnqueueRunnable.java:131)
androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:92)
androidx.work.testing.TestWorkManagerImpl$1.executeOnBackgroundThread(TestWorkManagerImpl.java:63)
androidx.work.impl.WorkContinuationImpl.enqueue(WorkContinuationImpl.java:185)
androidx.work.impl.WorkManagerImpl.enqueue(WorkManagerImpl.java:305)
androidx.work.WorkManager.enqueue(WorkManager.java:180)
com.example.carlo.myapplication.testWorker() <--- where WorkManager.getInstance().enqueue(request) is called
I have also created a project with one failing test.
I am using WorkManager 1.0.0-beta01
Please let me know if you need more information