Merge "Detach the nav once the endTarget is determined as HOME" into sc-dev

This commit is contained in:
Shawn Lin
2021-06-03 11:47:50 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 1 deletions

View File

@@ -972,6 +972,10 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
}
if (endTarget == HOME) {
duration = HOME_DURATION;
// Early detach the nav bar once the endTarget is determined as HOME
if (mRecentsAnimationController != null) {
mRecentsAnimationController.detachNavigationBarFromApp(true);
}
} else if (endTarget == RECENTS) {
if (mRecentsView != null) {
int nearestPage = mRecentsView.getDestinationPage();
@@ -1496,7 +1500,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
if (LIVE_TILE.get()) {
mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED);
if (mRecentsAnimationController != null) {
mRecentsAnimationController.getController().detachNavigationBarFromApp(true);
mRecentsAnimationController.detachNavigationBarFromApp(true);
}
} else if (!hasTargets() || mRecentsAnimationController == null) {
// If there are no targets or the animation not started, then there is nothing to finish

View File

@@ -154,6 +154,14 @@ public class RecentsAnimationController {
});
}
/**
* @see RecentsAnimationControllerCompat#detachNavigationBarFromApp
*/
@UiThread
public void detachNavigationBarFromApp(boolean moveHomeToTop) {
UI_HELPER_EXECUTOR.execute(() -> mController.detachNavigationBarFromApp(moveHomeToTop));
}
/**
* Sets the final surface transaction on a Task. This is used by Launcher to notify the system
* that animating Activity to PiP has completed and the associated task surface should be