summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wei Sheng Shih <wilsonshih@google.com> 2022-04-14 06:29:36 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-04-14 06:29:36 +0000
commitfe1b41da4fced956aed433438cb91e4dbfa18beb (patch)
treeeb706120846ade47f8cec631ef4953103af21e51
parentec8a93368ce1a66f27be4fc82d01778b2e3fc37a (diff)
parent694338cbf10b4de35ea92c43eb511eba0449b17f (diff)
Merge "Skip splash screen exit animation if screen isn't on." into tm-dev
-rw-r--r--services/core/java/com/android/server/wm/TaskOrganizerController.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/TaskOrganizerController.java b/services/core/java/com/android/server/wm/TaskOrganizerController.java
index 8a0ae65267a3..9bf988f16090 100644
--- a/services/core/java/com/android/server/wm/TaskOrganizerController.java
+++ b/services/core/java/com/android/server/wm/TaskOrganizerController.java
@@ -38,6 +38,7 @@ import android.os.Parcel;
import android.os.RemoteException;
import android.util.Slog;
import android.util.proto.ProtoOutputStream;
+import android.view.Display;
import android.view.SurfaceControl;
import android.window.ITaskOrganizer;
import android.window.ITaskOrganizerController;
@@ -526,17 +527,17 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
}
final StartingWindowRemovalInfo removalInfo = new StartingWindowRemovalInfo();
removalInfo.taskId = task.mTaskId;
- removalInfo.playRevealAnimation = prepareAnimation;
+ removalInfo.playRevealAnimation = prepareAnimation
+ && task.getDisplayInfo().state == Display.STATE_ON;
final boolean playShiftUpAnimation = !task.inMultiWindowMode();
final ActivityRecord topActivity = task.topActivityContainsStartingWindow();
if (topActivity != null) {
removalInfo.deferRemoveForIme = topActivity.mDisplayContent
.mayImeShowOnLaunchingActivity(topActivity);
- if (prepareAnimation && playShiftUpAnimation) {
+ if (removalInfo.playRevealAnimation && playShiftUpAnimation) {
final WindowState mainWindow =
topActivity.findMainWindow(false/* includeStartingApp */);
if (mainWindow != null) {
- final SurfaceControl.Transaction t = mainWindow.getPendingTransaction();
removalInfo.windowAnimationLeash = applyStartingWindowAnimation(mainWindow);
removalInfo.mainFrame = mainWindow.getRelativeFrame();
}