Reduce updating focus when moving an activity which is not resumed yet
When starting an existing activity: startActivityInner -> recycleTask -> setTargetRootTaskIfNeeded -> moveTaskToFront -> moveFocusableActivityToTop The activity state is still STOPPED because it hasn't reached resumeTopActivity. But getTopResumedActivity will also return top focusable activity if there is no resumed activity. That causes the focus is updated too early. The focus will still be updated when setState(RESUMED) which also invoke setLastResumedActivityUncheckLocked. This can reduce duplicated window traversal for updating focus and assigning layer. Bug: 297502610 Test: ActivityTaskSupervisorTests#testUpdatePendingTopForTopResumed TestFragmentTests# \ testIgnoreRequestedOrientationForActivityEmbeddingSplit Change-Id: I795ba6d16b9668f772e47fc0415c296487074cdb
Loading
Please register or sign in to comment