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

Commit 1f7092eb authored by tingna_sung's avatar tingna_sung
Browse files

Don't apply animation clip to dialog activities

If launching a dialog activity from Recents app UI, the top region
of this dialog will be clipped. This is caused by applying clip rect
animation effect for Recents app scale up/down transition.

However, the clip rect animation is not needed for non-inset decor
app window, e.g. dialog activity.

https://code.google.com/p/android/issues/detail?id=161362
Bug: 20652683
Bug: 19523205

Change-Id: Ida8c3b28b3789061d6ebb662bc08738d7daec3a0
parent e8d735c7
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1245,6 +1245,10 @@ class WindowStateAnimator {
            mDtDx = 0;
            mDsDy = 0;
            mDtDy = mWin.mGlobalScale;
            if (appTransformation == null) {
                mHasClipRect = false;
                mClipRect.setEmpty();
            }
        }
    }

@@ -1336,7 +1340,10 @@ class WindowStateAnimator {
        clipRect.bottom += attrs.surfaceInsets.bottom;

        // If we have an animated clip rect, intersect it with the clip rect.
        if (mHasClipRect) {
        // However, the clip rect animation effect should be applied on app windows that inset
        // decor only. If applying on non-inset decor one, the top region of this window will
        // be clipped on the end of animation, e.g. dialog activities.
        if (mHasClipRect && (w.mAttrs.flags & LayoutParams.FLAG_LAYOUT_INSET_DECOR) != 0) {
            // NOTE: We are adding a temporary workaround due to the status bar
            // not always reporting the correct system decor rect. In such
            // cases, we take into account the specified content insets as well.