Refactoring to update stack in onResume.
This CL fixes a long-standing issue in which Recents is not updated correctly if it is not completely hidden and shown. In particular, it would cause animation issues when launching into a non-fullscreen activity or if the user quickly toggles between recent tasks. It contains several fixes: - The visual state in Recents is no longer reset until the activity is fully hidden (onStop() is called), and the task stack state is saved allowing us to return to the same initial state. When restarting the activity, we propagate whether the activity was hidden down the view hierarchy, so that each task can decide whether to reset itself. - When the recents activity is started, we now merge the new stack with the current stack instead of replacing it completely. This unifies the logic when dismissing multi-window while Recents is open, and this CL fixes an issue with the merging where onStackTaskAdded() was called before the stack was updated with the new task. As a result of this change, we can just rebind the task views without having to return and pick them up from the view pool. - This CL also fixes an issue with flashing when the screen turns off. The activity onStop() can be called before the activity is fully hidden, which would trigger a reset(), which would return all views to the pool. Bug: 23815609 Bug: 25411120 Bug: 27186407 Change-Id: I83d74c947f9b47766d6778b7f5c421bb6df833e9
Loading
Please register or sign in to comment