Merge "Skip splash screen exit animation if screen isn't on." into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
fe1b41da4f
@@ -38,6 +38,7 @@ import android.os.Parcel;
|
|||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
import android.util.proto.ProtoOutputStream;
|
import android.util.proto.ProtoOutputStream;
|
||||||
|
import android.view.Display;
|
||||||
import android.view.SurfaceControl;
|
import android.view.SurfaceControl;
|
||||||
import android.window.ITaskOrganizer;
|
import android.window.ITaskOrganizer;
|
||||||
import android.window.ITaskOrganizerController;
|
import android.window.ITaskOrganizerController;
|
||||||
@@ -526,17 +527,17 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
|
|||||||
}
|
}
|
||||||
final StartingWindowRemovalInfo removalInfo = new StartingWindowRemovalInfo();
|
final StartingWindowRemovalInfo removalInfo = new StartingWindowRemovalInfo();
|
||||||
removalInfo.taskId = task.mTaskId;
|
removalInfo.taskId = task.mTaskId;
|
||||||
removalInfo.playRevealAnimation = prepareAnimation;
|
removalInfo.playRevealAnimation = prepareAnimation
|
||||||
|
&& task.getDisplayInfo().state == Display.STATE_ON;
|
||||||
final boolean playShiftUpAnimation = !task.inMultiWindowMode();
|
final boolean playShiftUpAnimation = !task.inMultiWindowMode();
|
||||||
final ActivityRecord topActivity = task.topActivityContainsStartingWindow();
|
final ActivityRecord topActivity = task.topActivityContainsStartingWindow();
|
||||||
if (topActivity != null) {
|
if (topActivity != null) {
|
||||||
removalInfo.deferRemoveForIme = topActivity.mDisplayContent
|
removalInfo.deferRemoveForIme = topActivity.mDisplayContent
|
||||||
.mayImeShowOnLaunchingActivity(topActivity);
|
.mayImeShowOnLaunchingActivity(topActivity);
|
||||||
if (prepareAnimation && playShiftUpAnimation) {
|
if (removalInfo.playRevealAnimation && playShiftUpAnimation) {
|
||||||
final WindowState mainWindow =
|
final WindowState mainWindow =
|
||||||
topActivity.findMainWindow(false/* includeStartingApp */);
|
topActivity.findMainWindow(false/* includeStartingApp */);
|
||||||
if (mainWindow != null) {
|
if (mainWindow != null) {
|
||||||
final SurfaceControl.Transaction t = mainWindow.getPendingTransaction();
|
|
||||||
removalInfo.windowAnimationLeash = applyStartingWindowAnimation(mainWindow);
|
removalInfo.windowAnimationLeash = applyStartingWindowAnimation(mainWindow);
|
||||||
removalInfo.mainFrame = mainWindow.getRelativeFrame();
|
removalInfo.mainFrame = mainWindow.getRelativeFrame();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user