Loading services/core/java/com/android/server/wm/ActivityRecord.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -2252,6 +2252,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } } final WindowManagerPolicy.StartingSurface surface; final WindowManagerPolicy.StartingSurface surface; final StartingData startingData = mStartingData; if (mStartingData != null) { if (mStartingData != null) { surface = mStartingSurface; surface = mStartingSurface; mStartingData = null; mStartingData = null; Loading @@ -2278,7 +2279,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final Runnable removeSurface = () -> { final Runnable removeSurface = () -> { ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Removing startingView=%s", surface); ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Removing startingView=%s", surface); try { try { surface.remove(prepareAnimation); surface.remove(prepareAnimation && startingData.needRevealAnimation()); } catch (Exception e) { } catch (Exception e) { Slog.w(TAG_WM, "Exception when removing starting window", e); Slog.w(TAG_WM, "Exception when removing starting window", e); } } Loading services/core/java/com/android/server/wm/SnapshotStartingData.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,11 @@ class SnapshotStartingData extends StartingData { mSnapshot); mSnapshot); } } @Override boolean needRevealAnimation() { return false; } @Override @Override boolean hasImeSurface() { boolean hasImeSurface() { return mSnapshot.hasImeSurface(); return mSnapshot.hasImeSurface(); Loading services/core/java/com/android/server/wm/SplashScreenStartingData.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -58,4 +58,9 @@ class SplashScreenStartingData extends StartingData { mLogo, mWindowFlags, mMergedOverrideConfiguration, mLogo, mWindowFlags, mMergedOverrideConfiguration, activity.getDisplayContent().getDisplayId()); activity.getDisplayContent().getDisplayId()); } } @Override boolean needRevealAnimation() { return true; } } } services/core/java/com/android/server/wm/StartingData.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -47,6 +47,11 @@ public abstract class StartingData { */ */ abstract StartingSurface createStartingSurface(ActivityRecord activity); abstract StartingSurface createStartingSurface(ActivityRecord activity); /** * @return Whether to apply reveal animation when exiting the starting window. */ abstract boolean needRevealAnimation(); /** @see android.window.TaskSnapshot#hasImeSurface() */ /** @see android.window.TaskSnapshot#hasImeSurface() */ boolean hasImeSurface() { boolean hasImeSurface() { return false; return false; Loading services/core/java/com/android/server/wm/TaskOrganizerController.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -197,6 +197,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub { ANIMATION_TYPE_STARTING_REVEAL); ANIMATION_TYPE_STARTING_REVEAL); windowAnimationLeash = adaptor.mAnimationLeash; windowAnimationLeash = adaptor.mAnimationLeash; mainFrame = mainWindow.getRelativeFrame(); mainFrame = mainWindow.getRelativeFrame(); t.setPosition(windowAnimationLeash, mainFrame.left, mainFrame.top); } } } } } } Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -2252,6 +2252,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } } final WindowManagerPolicy.StartingSurface surface; final WindowManagerPolicy.StartingSurface surface; final StartingData startingData = mStartingData; if (mStartingData != null) { if (mStartingData != null) { surface = mStartingSurface; surface = mStartingSurface; mStartingData = null; mStartingData = null; Loading @@ -2278,7 +2279,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final Runnable removeSurface = () -> { final Runnable removeSurface = () -> { ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Removing startingView=%s", surface); ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Removing startingView=%s", surface); try { try { surface.remove(prepareAnimation); surface.remove(prepareAnimation && startingData.needRevealAnimation()); } catch (Exception e) { } catch (Exception e) { Slog.w(TAG_WM, "Exception when removing starting window", e); Slog.w(TAG_WM, "Exception when removing starting window", e); } } Loading
services/core/java/com/android/server/wm/SnapshotStartingData.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,11 @@ class SnapshotStartingData extends StartingData { mSnapshot); mSnapshot); } } @Override boolean needRevealAnimation() { return false; } @Override @Override boolean hasImeSurface() { boolean hasImeSurface() { return mSnapshot.hasImeSurface(); return mSnapshot.hasImeSurface(); Loading
services/core/java/com/android/server/wm/SplashScreenStartingData.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -58,4 +58,9 @@ class SplashScreenStartingData extends StartingData { mLogo, mWindowFlags, mMergedOverrideConfiguration, mLogo, mWindowFlags, mMergedOverrideConfiguration, activity.getDisplayContent().getDisplayId()); activity.getDisplayContent().getDisplayId()); } } @Override boolean needRevealAnimation() { return true; } } }
services/core/java/com/android/server/wm/StartingData.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -47,6 +47,11 @@ public abstract class StartingData { */ */ abstract StartingSurface createStartingSurface(ActivityRecord activity); abstract StartingSurface createStartingSurface(ActivityRecord activity); /** * @return Whether to apply reveal animation when exiting the starting window. */ abstract boolean needRevealAnimation(); /** @see android.window.TaskSnapshot#hasImeSurface() */ /** @see android.window.TaskSnapshot#hasImeSurface() */ boolean hasImeSurface() { boolean hasImeSurface() { return false; return false; Loading
services/core/java/com/android/server/wm/TaskOrganizerController.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -197,6 +197,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub { ANIMATION_TYPE_STARTING_REVEAL); ANIMATION_TYPE_STARTING_REVEAL); windowAnimationLeash = adaptor.mAnimationLeash; windowAnimationLeash = adaptor.mAnimationLeash; mainFrame = mainWindow.getRelativeFrame(); mainFrame = mainWindow.getRelativeFrame(); t.setPosition(windowAnimationLeash, mainFrame.left, mainFrame.top); } } } } } } Loading