Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 03138455 authored by Robert Carr's avatar Robert Carr
Browse files

Never set resized while not drag resizing for pinned stack.

It's not necessary in the pinned stack and interferes with the
animation. It's not enough to just check getBoundsAnimating, as
we turn that off prior to the final resize so that we unmute
notifications to the client.

Bug: 28559097
Change-Id: Iae180c8a8ca0585184efcf24e7677557a33678eb
parent ddd7d3d7
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.server.wm;

import static android.app.ActivityManager.RESIZE_MODE_SYSTEM_SCREEN_ROTATION;
import static android.app.ActivityManager.StackId.DOCKED_STACK_ID;
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
import static android.app.ActivityManager.StackId.HOME_STACK_ID;
import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS;
@@ -630,7 +631,8 @@ class Task implements DimLayer.DimLayerUser {
                    // Anyway we don't need to synchronize position and content updates for these
                    // windows since they aren't at the base layer and could be moved around anyway.
                    if (!win.computeDragResizing() && win.mAttrs.type == TYPE_BASE_APPLICATION &&
                            !mStack.getBoundsAnimating() && !win.isGoneForLayoutLw()) {
                            !mStack.getBoundsAnimating() && !win.isGoneForLayoutLw() &&
                            !inPinnedWorkspace()) {
                        win.setResizedWhileNotDragResizing(true);
                    }
                }
@@ -710,6 +712,10 @@ class Task implements DimLayer.DimLayerUser {
        return mStack != null && mStack.mStackId == DOCKED_STACK_ID;
    }

    boolean inPinnedWorkspace() {
        return mStack != null && mStack.mStackId == PINNED_STACK_ID;
    }

    boolean isResizeableByDockedStack() {
        final DisplayContent displayContent = getDisplayContent();
        return displayContent != null && displayContent.getDockedStackLocked() != null