Loading services/core/java/com/android/server/wm/ActivityStack.java +23 −12 Original line number Diff line number Diff line Loading @@ -60,18 +60,6 @@ import static android.view.WindowManager.TRANSIT_TASK_OPEN_BEHIND; import static android.view.WindowManager.TRANSIT_TASK_TO_BACK; import static android.view.WindowManager.TRANSIT_TASK_TO_FRONT; import static com.android.server.wm.TaskProto.ACTIVITIES; import static com.android.server.wm.TaskProto.ACTIVITY_TYPE; import static com.android.server.wm.TaskProto.BOUNDS; import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS; import static com.android.server.wm.TaskProto.DISPLAY_ID; import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS; import static com.android.server.wm.TaskProto.MIN_HEIGHT; import static com.android.server.wm.TaskProto.MIN_WIDTH; import static com.android.server.wm.TaskProto.ORIG_ACTIVITY; import static com.android.server.wm.TaskProto.REAL_ACTIVITY; import static com.android.server.wm.TaskProto.RESIZE_MODE; import static com.android.server.wm.TaskProto.RESUMED_ACTIVITY; import static com.android.server.wm.ActivityStack.ActivityState.PAUSED; import static com.android.server.wm.ActivityStack.ActivityState.PAUSING; import static com.android.server.wm.ActivityStack.ActivityState.RESUMED; Loading Loading @@ -115,14 +103,26 @@ import static com.android.server.wm.BoundsAnimationController.NO_PIP_MODE_CHANGE import static com.android.server.wm.BoundsAnimationController.SCHEDULE_PIP_MODE_CHANGED_ON_END; import static com.android.server.wm.BoundsAnimationController.SCHEDULE_PIP_MODE_CHANGED_ON_START; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_DOCKED_DIVIDER; import static com.android.server.wm.TaskProto.ACTIVITIES; import static com.android.server.wm.TaskProto.ACTIVITY_TYPE; import static com.android.server.wm.TaskProto.ADJUSTED_BOUNDS; import static com.android.server.wm.TaskProto.ADJUSTED_FOR_IME; import static com.android.server.wm.TaskProto.ADJUST_DIVIDER_AMOUNT; import static com.android.server.wm.TaskProto.ADJUST_IME_AMOUNT; import static com.android.server.wm.TaskProto.ANIMATING_BOUNDS; import static com.android.server.wm.TaskProto.BOUNDS; import static com.android.server.wm.TaskProto.DEFER_REMOVAL; import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS; import static com.android.server.wm.TaskProto.DISPLAY_ID; import static com.android.server.wm.TaskProto.FILLS_PARENT; import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS; import static com.android.server.wm.TaskProto.MINIMIZE_AMOUNT; import static com.android.server.wm.TaskProto.MIN_HEIGHT; import static com.android.server.wm.TaskProto.MIN_WIDTH; import static com.android.server.wm.TaskProto.ORIG_ACTIVITY; import static com.android.server.wm.TaskProto.REAL_ACTIVITY; import static com.android.server.wm.TaskProto.RESIZE_MODE; import static com.android.server.wm.TaskProto.RESUMED_ACTIVITY; import static com.android.server.wm.TaskProto.ROOT_TASK_ID; import static com.android.server.wm.TaskProto.SURFACE_HEIGHT; import static com.android.server.wm.TaskProto.SURFACE_WIDTH; Loading Loading @@ -826,6 +826,17 @@ class ActivityStack extends Task implements BoundsAnimationTarget { setWindowingMode(windowingMode, false /* animate */, false /* showRecents */, false /* enteringSplitScreenMode */, false /* deferEnsuringVisibility */, false /* creating */); if (windowingMode == WINDOWING_MODE_PINNED) { // This stack will be visible before SystemUI requests PiP animation to start, and if // the selected animation type is fade in, this stack will be close first. If the // animation does not start early, user may see this full screen window appear again // after the closing transition finish, which could cause screen to flicker. // Check if animation should start here in advance. final BoundsAnimationController controller = getDisplay().mBoundsAnimationController; if (controller.isAnimationTypeFadeIn()) { setPinnedStackAlpha(0f); } } } /** Loading services/core/java/com/android/server/wm/BoundsAnimationController.java +4 −0 Original line number Diff line number Diff line Loading @@ -552,6 +552,10 @@ public class BoundsAnimationController { return animationType; } boolean isAnimationTypeFadeIn() { return mAnimationType == FADE_IN; } public Handler getHandler() { return mHandler; } Loading Loading
services/core/java/com/android/server/wm/ActivityStack.java +23 −12 Original line number Diff line number Diff line Loading @@ -60,18 +60,6 @@ import static android.view.WindowManager.TRANSIT_TASK_OPEN_BEHIND; import static android.view.WindowManager.TRANSIT_TASK_TO_BACK; import static android.view.WindowManager.TRANSIT_TASK_TO_FRONT; import static com.android.server.wm.TaskProto.ACTIVITIES; import static com.android.server.wm.TaskProto.ACTIVITY_TYPE; import static com.android.server.wm.TaskProto.BOUNDS; import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS; import static com.android.server.wm.TaskProto.DISPLAY_ID; import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS; import static com.android.server.wm.TaskProto.MIN_HEIGHT; import static com.android.server.wm.TaskProto.MIN_WIDTH; import static com.android.server.wm.TaskProto.ORIG_ACTIVITY; import static com.android.server.wm.TaskProto.REAL_ACTIVITY; import static com.android.server.wm.TaskProto.RESIZE_MODE; import static com.android.server.wm.TaskProto.RESUMED_ACTIVITY; import static com.android.server.wm.ActivityStack.ActivityState.PAUSED; import static com.android.server.wm.ActivityStack.ActivityState.PAUSING; import static com.android.server.wm.ActivityStack.ActivityState.RESUMED; Loading Loading @@ -115,14 +103,26 @@ import static com.android.server.wm.BoundsAnimationController.NO_PIP_MODE_CHANGE import static com.android.server.wm.BoundsAnimationController.SCHEDULE_PIP_MODE_CHANGED_ON_END; import static com.android.server.wm.BoundsAnimationController.SCHEDULE_PIP_MODE_CHANGED_ON_START; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_DOCKED_DIVIDER; import static com.android.server.wm.TaskProto.ACTIVITIES; import static com.android.server.wm.TaskProto.ACTIVITY_TYPE; import static com.android.server.wm.TaskProto.ADJUSTED_BOUNDS; import static com.android.server.wm.TaskProto.ADJUSTED_FOR_IME; import static com.android.server.wm.TaskProto.ADJUST_DIVIDER_AMOUNT; import static com.android.server.wm.TaskProto.ADJUST_IME_AMOUNT; import static com.android.server.wm.TaskProto.ANIMATING_BOUNDS; import static com.android.server.wm.TaskProto.BOUNDS; import static com.android.server.wm.TaskProto.DEFER_REMOVAL; import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS; import static com.android.server.wm.TaskProto.DISPLAY_ID; import static com.android.server.wm.TaskProto.FILLS_PARENT; import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS; import static com.android.server.wm.TaskProto.MINIMIZE_AMOUNT; import static com.android.server.wm.TaskProto.MIN_HEIGHT; import static com.android.server.wm.TaskProto.MIN_WIDTH; import static com.android.server.wm.TaskProto.ORIG_ACTIVITY; import static com.android.server.wm.TaskProto.REAL_ACTIVITY; import static com.android.server.wm.TaskProto.RESIZE_MODE; import static com.android.server.wm.TaskProto.RESUMED_ACTIVITY; import static com.android.server.wm.TaskProto.ROOT_TASK_ID; import static com.android.server.wm.TaskProto.SURFACE_HEIGHT; import static com.android.server.wm.TaskProto.SURFACE_WIDTH; Loading Loading @@ -826,6 +826,17 @@ class ActivityStack extends Task implements BoundsAnimationTarget { setWindowingMode(windowingMode, false /* animate */, false /* showRecents */, false /* enteringSplitScreenMode */, false /* deferEnsuringVisibility */, false /* creating */); if (windowingMode == WINDOWING_MODE_PINNED) { // This stack will be visible before SystemUI requests PiP animation to start, and if // the selected animation type is fade in, this stack will be close first. If the // animation does not start early, user may see this full screen window appear again // after the closing transition finish, which could cause screen to flicker. // Check if animation should start here in advance. final BoundsAnimationController controller = getDisplay().mBoundsAnimationController; if (controller.isAnimationTypeFadeIn()) { setPinnedStackAlpha(0f); } } } /** Loading
services/core/java/com/android/server/wm/BoundsAnimationController.java +4 −0 Original line number Diff line number Diff line Loading @@ -552,6 +552,10 @@ public class BoundsAnimationController { return animationType; } boolean isAnimationTypeFadeIn() { return mAnimationType == FADE_IN; } public Handler getHandler() { return mHandler; } Loading