Fixed
Status Update
Comments
al...@gmail.com <al...@gmail.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
ap...@google.com <ap...@google.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
al...@gmail.com <al...@gmail.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
[Deleted User] <[Deleted User]> #5
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 92d322f39a3436da8ce0e59f55194c70abe1fb8e
Author: Ian Lake <ilake@google.com>
Date: Tue Aug 27 16:46:05 2019
Move saving/restore Fragment state to FragmentStateManager
Separate the saving and restoring of Fragment
instances from FragmentManager, allowing
FragmentStateManager to fully manage the
restoration of Fragments.
Test: new FragmentStateManagerTest, existing tests
BUG: 139536619
Change-Id: Iba0df8f617d7805995612eaad52e26f5f2e99707
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1109797
https://goto.google.com/android-sha1/92d322f39a3436da8ce0e59f55194c70abe1fb8e
Branch: androidx-master-dev
commit 92d322f39a3436da8ce0e59f55194c70abe1fb8e
Author: Ian Lake <ilake@google.com>
Date: Tue Aug 27 16:46:05 2019
Move saving/restore Fragment state to FragmentStateManager
Separate the saving and restoring of Fragment
instances from FragmentManager, allowing
FragmentStateManager to fully manage the
restoration of Fragments.
Test: new FragmentStateManagerTest, existing tests
BUG: 139536619
Change-Id: Iba0df8f617d7805995612eaad52e26f5f2e99707
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
se...@google.com <se...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 5318d9bfea4baae7190875673fd087b9526c30c5
Author: Ian Lake <ilake@google.com>
Date: Wed Sep 04 13:40:58 2019
Move ensureInflatedFragmentView to FragmentStateManager
Move this logic into FragmentStateManager.
Test: all existing tests pass
BUG: 139536619
Change-Id: I1f8fafba5e35fda592bbe13954eed2ff355aae55
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1113752
https://goto.google.com/android-sha1/5318d9bfea4baae7190875673fd087b9526c30c5
Branch: androidx-master-dev
commit 5318d9bfea4baae7190875673fd087b9526c30c5
Author: Ian Lake <ilake@google.com>
Date: Wed Sep 04 13:40:58 2019
Move ensureInflatedFragmentView to FragmentStateManager
Move this logic into FragmentStateManager.
Test: all existing tests pass
BUG: 139536619
Change-Id: I1f8fafba5e35fda592bbe13954eed2ff355aae55
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
al...@gmail.com <al...@gmail.com> #7
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 61497f97f85997ed8bf4dd58d6e513e810784f1e
Author: Ian Lake <ilake@google.com>
Date: Fri Sep 20 14:23:27 2019
Have FragmentStateManager compute the Fragment's max state
Move logic restricting the Fragment to a particular
state into FragmentStateManager.
Test: all existing tests pass
BUG: 139536619
Change-Id: Ief8528ed9990da515f0765199f64f4ca04bd2494
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1126844
https://goto.google.com/android-sha1/61497f97f85997ed8bf4dd58d6e513e810784f1e
Branch: androidx-master-dev
commit 61497f97f85997ed8bf4dd58d6e513e810784f1e
Author: Ian Lake <ilake@google.com>
Date: Fri Sep 20 14:23:27 2019
Have FragmentStateManager compute the Fragment's max state
Move logic restricting the Fragment to a particular
state into FragmentStateManager.
Test: all existing tests pass
BUG: 139536619
Change-Id: Ief8528ed9990da515f0765199f64f4ca04bd2494
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
sa...@gmail.com <sa...@gmail.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 359974ef2d7a879b4a96373b96e1c537b252dfa2
Author: Ian Lake <ilake@google.com>
Date: Thu Sep 26 14:56:35 2019
Move start/resume/pause/stop to FragmentStateManager
Test: Fragment tests still pass
BUG: 139536619
Change-Id: I1cabaaa361e9b0d0e142b06e5d9ee4a7c1b1e4c4
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1129475
https://goto.google.com/android-sha1/359974ef2d7a879b4a96373b96e1c537b252dfa2
Branch: androidx-master-dev
commit 359974ef2d7a879b4a96373b96e1c537b252dfa2
Author: Ian Lake <ilake@google.com>
Date: Thu Sep 26 14:56:35 2019
Move start/resume/pause/stop to FragmentStateManager
Test: Fragment tests still pass
BUG: 139536619
Change-Id: I1cabaaa361e9b0d0e142b06e5d9ee4a7c1b1e4c4
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
al...@gmail.com <al...@gmail.com> #9
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 669381d551753c454afbf5ff5d0cfb66bac78247
Author: Ian Lake <ilake@google.com>
Date: Tue Oct 01 11:14:39 2019
Move attach/detach to FragmentStateManager
Logic in dealing with target fragments and
mActive remain in moveToState() for now.
Test: Fragment tests still pass
BUG: 139536619
Change-Id: If65bce1b315b7e5a9010a39044c406cb3d3be37d
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1131672
https://goto.google.com/android-sha1/669381d551753c454afbf5ff5d0cfb66bac78247
Branch: androidx-master-dev
commit 669381d551753c454afbf5ff5d0cfb66bac78247
Author: Ian Lake <ilake@google.com>
Date: Tue Oct 01 11:14:39 2019
Move attach/detach to FragmentStateManager
Logic in dealing with target fragments and
mActive remain in moveToState() for now.
Test: Fragment tests still pass
BUG: 139536619
Change-Id: If65bce1b315b7e5a9010a39044c406cb3d3be37d
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
al...@gmail.com <al...@gmail.com> #10
Project: platform/frameworks/support
Branch: androidx-master-dev
commit bef266f3ab8734afc111c70413687380ad2d9161
Author: Ian Lake <ilake@google.com>
Date: Tue Oct 01 11:04:33 2019
Move create/destroy to FragmentStateManager
Due to restoreSaveState()'s cleaning up
of no longer valid retained Fragments, moveToState()
now always creates a FragmentStateManager if one
does not exist so that we can continue to run the
create callbacks despite these retained Fragments
not being in mActive.
Interactions with mExitAnimationCancellationSignals
as part of destroying the Fragment remain in
moveToState() for now.
Test: Fragment tests still pass
BUG: 139536619
Change-Id: Id05f4e78f6fc0cef6be9cc7abc0d58b40b2e3f43
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1131291
https://goto.google.com/android-sha1/bef266f3ab8734afc111c70413687380ad2d9161
Branch: androidx-master-dev
commit bef266f3ab8734afc111c70413687380ad2d9161
Author: Ian Lake <ilake@google.com>
Date: Tue Oct 01 11:04:33 2019
Move create/destroy to FragmentStateManager
Due to restoreSaveState()'s cleaning up
of no longer valid retained Fragments, moveToState()
now always creates a FragmentStateManager if one
does not exist so that we can continue to run the
create callbacks despite these retained Fragments
not being in mActive.
Interactions with mExitAnimationCancellationSignals
as part of destroying the Fragment remain in
moveToState() for now.
Test: Fragment tests still pass
BUG: 139536619
Change-Id: Id05f4e78f6fc0cef6be9cc7abc0d58b40b2e3f43
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
[Deleted User] <[Deleted User]> #11
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 0d32170b1e98a00ab67b487241bbba687ad99d79
Author: Ian Lake <ilake@google.com>
Date: Tue Oct 01 10:49:06 2019
Move restoreState() out of moveToState()
We can safely call restoreState() immediately
after creating a FragmentStateManager instance
rather than waiting for moveToState().
This simplifies the logic required since
we know we'll have the correct value of
mDeferStart before computeMaxState().
Test: all existing tests still pass
BUG: 139536619
Change-Id: I4602a4987c4f20c9ccf3a083b8ecb48f963be1c4
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1130436
https://goto.google.com/android-sha1/0d32170b1e98a00ab67b487241bbba687ad99d79
Branch: androidx-master-dev
commit 0d32170b1e98a00ab67b487241bbba687ad99d79
Author: Ian Lake <ilake@google.com>
Date: Tue Oct 01 10:49:06 2019
Move restoreState() out of moveToState()
We can safely call restoreState() immediately
after creating a FragmentStateManager instance
rather than waiting for moveToState().
This simplifies the logic required since
we know we'll have the correct value of
mDeferStart before computeMaxState().
Test: all existing tests still pass
BUG: 139536619
Change-Id: I4602a4987c4f20c9ccf3a083b8ecb48f963be1c4
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
is...@gmail.com <is...@gmail.com> #12
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 586ebfe6f9f34efde5a08c2c6fcc18428738d580
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 04 14:17:21 2019
Explicitly map Lifecycle.State values to Fragment state
Instead of relying on ordinal() to translate
between Lifecycle.State enums and Fragment state
values, we explicitly map between them when computing
the max state of the Fragment.
Test: all existing tests pass
BUG: 139536619
Change-Id: I11ab18748942c78a7e5027bc91eeddc9fcc0c6be
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1133982
https://goto.google.com/android-sha1/586ebfe6f9f34efde5a08c2c6fcc18428738d580
Branch: androidx-master-dev
commit 586ebfe6f9f34efde5a08c2c6fcc18428738d580
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 04 14:17:21 2019
Explicitly map Lifecycle.State values to Fragment state
Instead of relying on ordinal() to translate
between Lifecycle.State enums and Fragment state
values, we explicitly map between them when computing
the max state of the Fragment.
Test: all existing tests pass
BUG: 139536619
Change-Id: I11ab18748942c78a7e5027bc91eeddc9fcc0c6be
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
ka...@gmail.com <ka...@gmail.com> #13
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 20f7c62349217f2b3f79a3c7548b2331235de42c
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 04 10:42:27 2019
Move ACTIVITY_CREATED to FragmentStateManager
Moving to the ACTIVITY_CREATED state in
FragmentManager involves three actions:
- Creating the View
- Calling onActivityCreated()
- Calling onViewStateRestored
Move these as three separate methods in
FragmentStateManager.
Test: all existing Fragment tests pass
BUG: 139536619
Change-Id: I9abe87cf41580da011d3e8bd831d721bc0fe3ab2
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1133600
https://goto.google.com/android-sha1/20f7c62349217f2b3f79a3c7548b2331235de42c
Branch: androidx-master-dev
commit 20f7c62349217f2b3f79a3c7548b2331235de42c
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 04 10:42:27 2019
Move ACTIVITY_CREATED to FragmentStateManager
Moving to the ACTIVITY_CREATED state in
FragmentManager involves three actions:
- Creating the View
- Calling onActivityCreated()
- Calling onViewStateRestored
Move these as three separate methods in
FragmentStateManager.
Test: all existing Fragment tests pass
BUG: 139536619
Change-Id: I9abe87cf41580da011d3e8bd831d721bc0fe3ab2
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
yu...@gmail.com <yu...@gmail.com> #14
Do we have any update on this issue, which can be shared to external reporter.
li...@gmail.com <li...@gmail.com> #15
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 5cc913017fb5cc881f2b7ea16e629c4c7cdc8c34
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 11 10:24:19 2019
Move animateRemoveFragment out of FragmentManager
Make it a static method in FragmentAnim.
Test: all existing tests pass
BUG: 139536619
Change-Id: I16b9530151f483cdc4ddbdf79bba5cc9ed6e6ab1
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
https://android-review.googlesource.com/1141236
https://goto.google.com/android-sha1/5cc913017fb5cc881f2b7ea16e629c4c7cdc8c34
Branch: androidx-master-dev
commit 5cc913017fb5cc881f2b7ea16e629c4c7cdc8c34
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 11 10:24:19 2019
Move animateRemoveFragment out of FragmentManager
Make it a static method in FragmentAnim.
Test: all existing tests pass
BUG: 139536619
Change-Id: I16b9530151f483cdc4ddbdf79bba5cc9ed6e6ab1
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
ay...@gmail.com <ay...@gmail.com> #16
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 3ca3fd13d021730e09e8dc1dc622ab753abcbd9d
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 11 09:28:58 2019
Move loadAnimation out of FragmentManager
Test: all tests still pass
BUG: 139536619
Change-Id: I7e5549c825f69e38ab02a38e8067c594c908d154
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
https://android-review.googlesource.com/1141116
https://goto.google.com/android-sha1/3ca3fd13d021730e09e8dc1dc622ab753abcbd9d
Branch: androidx-master-dev
commit 3ca3fd13d021730e09e8dc1dc622ab753abcbd9d
Author: Ian Lake <ilake@google.com>
Date: Fri Oct 11 09:28:58 2019
Move loadAnimation out of FragmentManager
Test: all tests still pass
BUG: 139536619
Change-Id: I7e5549c825f69e38ab02a38e8067c594c908d154
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
ay...@gmail.com <ay...@gmail.com> #17
Do we have any update on this issue, which can be shared to external reporter.
nh...@gmail.com <nh...@gmail.com> #18
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c06fb9f4d3334701bc1de8ee85c7a4e6149addcf
Author: Ian Lake <ilake@google.com>
Date: Mon Nov 11 10:32:31 2019
Move <fragment> tag state handling to FragmentStateManager
Move the logic for handling <fragment> tag added
Fragments that are not in the layout to
FragmentStateManager's computeMaxState() with the
other state logic.
Test: newly added FragmentLifecycleTest
BUG: 139536619
Change-Id: Ieaabdac16786418f89279a17bbe5661e12c11290
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1164079
Branch: androidx-master-dev
commit c06fb9f4d3334701bc1de8ee85c7a4e6149addcf
Author: Ian Lake <ilake@google.com>
Date: Mon Nov 11 10:32:31 2019
Move <fragment> tag state handling to FragmentStateManager
Move the logic for handling <fragment> tag added
Fragments that are not in the layout to
FragmentStateManager's computeMaxState() with the
other state logic.
Test: newly added FragmentLifecycleTest
BUG: 139536619
Change-Id: Ieaabdac16786418f89279a17bbe5661e12c11290
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
pi...@gmail.com <pi...@gmail.com> #19
Project: platform/frameworks/support
Branch: androidx-master-dev
commit ac963796fb52c1556be07a9dae91ee4034f20715
Author: Ian Lake <ilake@google.com>
Date: Mon Nov 11 11:03:15 2019
Move initState() call into FragmentStateManager
Instead of doing this work in moveToState(), it
can be moved into FragmentStateManager since it
only depends on the Fragment's internal state.
Test: all existing Fragment tests pass
BUG: 139536619
Change-Id: I100be37c69f3d9274db308a44bfb4c8df09a3062
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1164080
Branch: androidx-master-dev
commit ac963796fb52c1556be07a9dae91ee4034f20715
Author: Ian Lake <ilake@google.com>
Date: Mon Nov 11 11:03:15 2019
Move initState() call into FragmentStateManager
Instead of doing this work in moveToState(), it
can be moved into FragmentStateManager since it
only depends on the Fragment's internal state.
Test: all existing Fragment tests pass
BUG: 139536619
Change-Id: I100be37c69f3d9274db308a44bfb4c8df09a3062
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
s3...@gmail.com <s3...@gmail.com> #20
Project: platform/frameworks/support
Branch: androidx-master-dev
commit fd68f92de244735a6b6eccb73474d952d287b0d3
Author: Ian Lake <ilake@google.com>
Date: Tue Nov 19 16:01:35 2019
Move active and added fragments to FragmentStore
Instead of FragmentManager directly storing and
managing the set of active and added fragments, move
that functionality to a separately testable
FragmentStore object.
This will make it possible to have FragmentStateManager
access other FragmentStateManagers without directly
knowing about FragmentManager.
Test: new FragmentStore tests, all existing tests pass
BUG: 139536619
Change-Id: I69cefc8b2422f809e1498c5c9e4b09edd9026840
A fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
https://android-review.googlesource.com/1170093
Branch: androidx-master-dev
commit fd68f92de244735a6b6eccb73474d952d287b0d3
Author: Ian Lake <ilake@google.com>
Date: Tue Nov 19 16:01:35 2019
Move active and added fragments to FragmentStore
Instead of FragmentManager directly storing and
managing the set of active and added fragments, move
that functionality to a separately testable
FragmentStore object.
This will make it possible to have FragmentStateManager
access other FragmentStateManagers without directly
knowing about FragmentManager.
Test: new FragmentStore tests, all existing tests pass
BUG: 139536619
Change-Id: I69cefc8b2422f809e1498c5c9e4b09edd9026840
A fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
pi...@gmail.com <pi...@gmail.com> #21
pi...@gmail.com <pi...@gmail.com> #22
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 9268d14672abfd46bbcb9563fb87e7ff3cfd1c58
Author: Ian Lake <ilake@google.com>
Date: Wed Nov 20 13:09:00 2019
Remove usages of mocks in FragmentStoreTest
Instead of using mock Views, construct a
real View instance to avoid Mockito spin up
time.
Test: test still passes
BUG: 139536619
Change-Id: I27831f134f5aa7a1ff4474c64b0f9f35dd51eeb3
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
https://android-review.googlesource.com/1171290
Branch: androidx-master-dev
commit 9268d14672abfd46bbcb9563fb87e7ff3cfd1c58
Author: Ian Lake <ilake@google.com>
Date: Wed Nov 20 13:09:00 2019
Remove usages of mocks in FragmentStoreTest
Instead of using mock Views, construct a
real View instance to avoid Mockito spin up
time.
Test: test still passes
BUG: 139536619
Change-Id: I27831f134f5aa7a1ff4474c64b0f9f35dd51eeb3
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
ho...@gmail.com <ho...@gmail.com> #23
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a2070a6b604f845c8bde4319a378bc3ece401eb8
Author: Ian Lake <ilake@google.com>
Date: Fri Nov 22 13:12:08 2019
Remove FragmentManager dependency from FragmentTransition
Rather than passing in the FragmentManager itself
directly into FragmentTransition.startTransitions(),
pass in only the objects we need (a Context and
a FragmentContainer).
This allow further decoupling of the transitions
from FragmentManager itself.
Test: all existing tests pass
BUG: 139536619
Change-Id: I06b2c6ca6ef2b7d5a8566fc75194169a686aef13
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
https://android-review.googlesource.com/1173151
Branch: androidx-master-dev
commit a2070a6b604f845c8bde4319a378bc3ece401eb8
Author: Ian Lake <ilake@google.com>
Date: Fri Nov 22 13:12:08 2019
Remove FragmentManager dependency from FragmentTransition
Rather than passing in the FragmentManager itself
directly into FragmentTransition.startTransitions(),
pass in only the objects we need (a Context and
a FragmentContainer).
This allow further decoupling of the transitions
from FragmentManager itself.
Test: all existing tests pass
BUG: 139536619
Change-Id: I06b2c6ca6ef2b7d5a8566fc75194169a686aef13
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
ga...@gmail.com <ga...@gmail.com> #24
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 4a2e625f3a6887a737081bce3abd58f975c6f2f0
Author: Ian Lake <ilake@google.com>
Date: Mon Dec 02 13:33:22 2019
Dispatch manager state changes to FragmentStateManagers
Instead of assuming that a FragmentStateManager
can go up to RESUMED by default, dispatch the
FragmentManager's state changes to each
FragmentStateManager and use that to set
the maximum state of the FragmentStateManager.
The one exception is when using the <fragment>
tag, which allows Fragments to move to CREATED
before the FragmentManager itself moves to
CREATED.
Test: new tests pass, all existing tests pass
BUG: 139536619
Change-Id: I748bb0afc8ffe956dcd6fa695437a0a0d54e8762
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
https://android-review.googlesource.com/1178750
Branch: androidx-master-dev
commit 4a2e625f3a6887a737081bce3abd58f975c6f2f0
Author: Ian Lake <ilake@google.com>
Date: Mon Dec 02 13:33:22 2019
Dispatch manager state changes to FragmentStateManagers
Instead of assuming that a FragmentStateManager
can go up to RESUMED by default, dispatch the
FragmentManager's state changes to each
FragmentStateManager and use that to set
the maximum state of the FragmentStateManager.
The one exception is when using the <fragment>
tag, which allows Fragments to move to CREATED
before the FragmentManager itself moves to
CREATED.
Test: new tests pass, all existing tests pass
BUG: 139536619
Change-Id: I748bb0afc8ffe956dcd6fa695437a0a0d54e8762
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
ka...@gmail.com <ka...@gmail.com> #25
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a4659c8f26bed57802cc7ee75c575c9c3cc90ebf
Author: Ian Lake <ilake@google.com>
Date: Wed Dec 04 13:58:22 2019
Make mHost and mContainer private
The internal state of FragmentManager should
not be directly accessed. Create package
private setters for the cases where they are
absolutely required.
Test: Fragment compiles
BUG: 139536619
Change-Id: I02ac9ca55899423544e597421c498707e33c71f1
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentLayoutInflaterFactory.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
https://android-review.googlesource.com/1181307
Branch: androidx-master-dev
commit a4659c8f26bed57802cc7ee75c575c9c3cc90ebf
Author: Ian Lake <ilake@google.com>
Date: Wed Dec 04 13:58:22 2019
Make mHost and mContainer private
The internal state of FragmentManager should
not be directly accessed. Create package
private setters for the cases where they are
absolutely required.
Test: Fragment compiles
BUG: 139536619
Change-Id: I02ac9ca55899423544e597421c498707e33c71f1
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentLayoutInflaterFactory.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
ka...@gmail.com <ka...@gmail.com> #26
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 12b33f91aa82443896194bc59c5051453f2aa7ad
Author: Ian Lake <ilake@google.com>
Date: Wed Dec 04 14:23:19 2019
Retrieve lifecycle parameters from FragmentManager
Instead of being explicitly passed parameters for
attach, createView, etc., retrieve them from
the FragmentManager already set on the Fragment.
Test: all existing tests pass
BUG: 139536619
Change-Id: If011688280a3c6736374b5d6e9def6d1da6f7066
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentLifecycleCallbacksDispatcher.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1181308
Branch: androidx-master-dev
commit 12b33f91aa82443896194bc59c5051453f2aa7ad
Author: Ian Lake <ilake@google.com>
Date: Wed Dec 04 14:23:19 2019
Retrieve lifecycle parameters from FragmentManager
Instead of being explicitly passed parameters for
attach, createView, etc., retrieve them from
the FragmentManager already set on the Fragment.
Test: all existing tests pass
BUG: 139536619
Change-Id: If011688280a3c6736374b5d6e9def6d1da6f7066
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentLifecycleCallbacksDispatcher.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
gu...@gmail.com <gu...@gmail.com> #27
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 62de6890627e3d81dbc89509960149243cb44811
Author: Ian Lake <ilake@google.com>
Date: Wed Dec 04 15:17:40 2019
Remove FragmentContainer from loadAnimation
The mContainer is already set on the Fragment
by the time loadAnimation is called, so we
can use that rather than getting the container
from FragmentContainer.
Test: all existing tests pass
BUG: 139536619
Change-Id: If7e1bce5bdd0a7c7a3ddb6e495866835f7265bb6
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
https://android-review.googlesource.com/1181309
Branch: androidx-master-dev
commit 62de6890627e3d81dbc89509960149243cb44811
Author: Ian Lake <ilake@google.com>
Date: Wed Dec 04 15:17:40 2019
Remove FragmentContainer from loadAnimation
The mContainer is already set on the Fragment
by the time loadAnimation is called, so we
can use that rather than getting the container
from FragmentContainer.
Test: all existing tests pass
BUG: 139536619
Change-Id: If7e1bce5bdd0a7c7a3ddb6e495866835f7265bb6
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
gu...@gmail.com <gu...@gmail.com> #28
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 0454ddec1befa0ace1242700bf00f85e0aee5ad3
Author: Ian Lake <ilake@google.com>
Date: Thu Dec 05 11:19:01 2019
Explicitly pass nonConfig to FragmentStateManager
Instead of passing in the FragmentManagerViewModel
into specific lifecycle methods, explicitly pass
it into the constructor.
Test: all existing tests pass
BUG: 139536619
Change-Id: I020b1b0f446c76217e2bdb95731457f03b14c2c3
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1182735
Branch: androidx-master-dev
commit 0454ddec1befa0ace1242700bf00f85e0aee5ad3
Author: Ian Lake <ilake@google.com>
Date: Thu Dec 05 11:19:01 2019
Explicitly pass nonConfig to FragmentStateManager
Instead of passing in the FragmentManagerViewModel
into specific lifecycle methods, explicitly pass
it into the constructor.
Test: all existing tests pass
BUG: 139536619
Change-Id: I020b1b0f446c76217e2bdb95731457f03b14c2c3
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStateManagerTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
mo...@gmail.com <mo...@gmail.com> #29
Project: platform/frameworks/support
Branch: androidx-master-dev
commit d10ec06d7f998e1ab74ad3fbee6f5168f29f528f
Author: Ian Lake <ilake@google.com>
Date: Thu Dec 05 16:06:43 2019
Move add/removeRetainedFragment logic to non config
Instead of splitting the logic of
add/removeRetainedFragment between FragmentManager
and FragmentManagerViewModel (the non config),
move it all to non config.
This requires forwarding signals on whether the
state is saved to FragmentManagerViewModel so
that it can properly ignore changes after the
state is saved.
Test: newly added tests pass
BUG: 139536619
Change-Id: I5301c02534d0da4c9b5a57efc96d4b7b6382b9b4
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerViewModelTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerViewModel.java
https://android-review.googlesource.com/1182621
Branch: androidx-master-dev
commit d10ec06d7f998e1ab74ad3fbee6f5168f29f528f
Author: Ian Lake <ilake@google.com>
Date: Thu Dec 05 16:06:43 2019
Move add/removeRetainedFragment logic to non config
Instead of splitting the logic of
add/removeRetainedFragment between FragmentManager
and FragmentManagerViewModel (the non config),
move it all to non config.
This requires forwarding signals on whether the
state is saved to FragmentManagerViewModel so
that it can properly ignore changes after the
state is saved.
Test: newly added tests pass
BUG: 139536619
Change-Id: I5301c02534d0da4c9b5a57efc96d4b7b6382b9b4
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerViewModelTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerViewModel.java
da...@gmail.com <da...@gmail.com> #30
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 792f47b59c1c6bbc017757d202a5c24caade98fe
Author: Ian Lake <ilake@google.com>
Date: Fri Dec 06 13:52:18 2019
Move makeActive/Inactive entirely to FragmentStore
Instead of splitting makeActive and makeInactive's
functionality between FragmentManager and
FragmentStore, move all of the logic to
FragmentStore.
Test: new FragmentStore tests, existing tests pass
BUG: 139536619
Change-Id: I5769273fe402a254b9437ced05cd3943cbd88e70
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
https://android-review.googlesource.com/1182960
Branch: androidx-master-dev
commit 792f47b59c1c6bbc017757d202a5c24caade98fe
Author: Ian Lake <ilake@google.com>
Date: Fri Dec 06 13:52:18 2019
Move makeActive/Inactive entirely to FragmentStore
Instead of splitting makeActive and makeInactive's
functionality between FragmentManager and
FragmentStore, move all of the logic to
FragmentStore.
Test: new FragmentStore tests, existing tests pass
BUG: 139536619
Change-Id: I5769273fe402a254b9437ced05cd3943cbd88e70
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
av...@gmail.com <av...@gmail.com> #31
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 1e2d4c45ef615d979aebf525dc22bc1350d96ead
Author: Ian Lake <ilake@google.com>
Date: Mon Dec 09 12:27:42 2019
Move remaining attach logic to FragmentStateManager
Use FragmentStateManager's access to FragmentStore
and its moveToExpectedState() to move all of the
logic for moving to the attached state to
FragmentStateManager.
Test: existing tests pass
BUG: 139536619
Change-Id: Icd63b447febcb4b1b4fae07aa7fa2a68d79730be
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
https://android-review.googlesource.com/1183888
Branch: androidx-master-dev
commit 1e2d4c45ef615d979aebf525dc22bc1350d96ead
Author: Ian Lake <ilake@google.com>
Date: Mon Dec 09 12:27:42 2019
Move remaining attach logic to FragmentStateManager
Use FragmentStateManager's access to FragmentStore
and its moveToExpectedState() to move all of the
logic for moving to the attached state to
FragmentStateManager.
Test: existing tests pass
BUG: 139536619
Change-Id: Icd63b447febcb4b1b4fae07aa7fa2a68d79730be
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
Description
Version used: 2.0.0-beta01
Project:
Issue: com.firebase.ui.auth.data.remote.SignInKickstarter has its <init>(Application) removed.
Workaround: don't specify the allowshrinking option:
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
<init>(android.app.Application);
}