Merge "Polish the transition when unlocking to home"

This commit is contained in:
TreeHugger Robot
2020-02-19 05:13:46 +00:00
committed by Android (Google) Code Review
3 changed files with 12 additions and 6 deletions

View File

@@ -1723,10 +1723,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// The snapshot of home is only used once because it won't be updated while screen
// is on (see {@link TaskSnapshotController#screenTurningOff}).
mWmService.mTaskSnapshotController.removeSnapshotCache(task.mTaskId);
// TODO(b/9684093): Use more general condition to specify the case.
if (mDisplayContent.mAppTransition
.getAppTransition() != WindowManager.TRANSIT_KEYGUARD_GOING_AWAY) {
// Only use snapshot of home as starting window when unlocking.
if ((mDisplayContent.mAppTransition.getTransitFlags()
& WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION) == 0) {
// Only use snapshot of home as starting window when unlocking directly.
return false;
}
}

View File

@@ -1183,6 +1183,11 @@ public class DisplayPolicy {
if (transit == TRANSIT_PREVIEW_DONE) {
if (win.hasAppShownWindows()) {
if (win.isActivityTypeHome()) {
// Dismiss the starting window as soon as possible to avoid the crossfade out
// with old content because home is easier to have different UI states.
return ANIMATION_NONE;
}
if (DEBUG_ANIM) Slog.i(TAG, "**** STARTING EXIT");
return R.anim.app_starting_exit;
}

View File

@@ -559,8 +559,10 @@ class TaskSnapshotController {
}
});
// Allow taking snapshot of home when turning screen off to reduce the delay of
// unlocking/waking to home.
snapshotTasks(mTmpTasks, true /* allowSnapshotHome */);
// waking from secure lock to home.
final boolean allowSnapshotHome =
mService.mPolicy.isKeyguardSecure(mService.mCurrentUserId);
snapshotTasks(mTmpTasks, allowSnapshotHome);
}
} finally {
listener.onScreenOff();