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

Commit 94ec1cb3 authored by Filip Gruszczynski's avatar Filip Gruszczynski Committed by Android (Google) Code Review
Browse files

Merge "Fix no thumbnail animation from app to recents."

parents ae814fb6 7248c568
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -295,6 +295,9 @@ public class AppTransition implements Dump {

    Bitmap getAppTransitionThumbnailHeader(int taskId) {
        AppTransitionAnimationSpec spec = mNextAppTransitionAnimationsSpecs.get(taskId);
        if (spec == null) {
            spec = mDefaultNextAppTransitionAnimationSpec;
        }
        return spec != null ? spec.bitmap : null;
    }

@@ -545,6 +548,9 @@ public class AppTransition implements Dump {

    void getNextAppTransitionStartRect(int taskId, Rect rect) {
        AppTransitionAnimationSpec spec = mNextAppTransitionAnimationsSpecs.get(taskId);
        if (spec == null) {
            spec = mDefaultNextAppTransitionAnimationSpec;
        }
        if (spec == null || spec.rect == null) {
            Slog.wtf(TAG, "Starting rect for task: " + taskId + " requested, but not available",
                    new Throwable());
@@ -554,9 +560,10 @@ public class AppTransition implements Dump {
        }
    }

    private void putDefaultNextAppTransitionCoordinates(int left, int top, int width, int height) {
    private void putDefaultNextAppTransitionCoordinates(int left, int top, int width, int height,
            Bitmap bitmap) {
        mDefaultNextAppTransitionAnimationSpec = new AppTransitionAnimationSpec(-1 /* taskId */,
                null /* bitmap */, new Rect(left, top, left + width, top + height));
                bitmap, new Rect(left, top, left + width, top + height));
    }

    private Animation createClipRevealAnimationLocked(int transit, boolean enter, Rect appFrame) {
@@ -1346,7 +1353,7 @@ public class AppTransition implements Dump {
            mNextAppTransitionPackage = null;
            mNextAppTransitionAnimationsSpecs.clear();
            putDefaultNextAppTransitionCoordinates(startX, startY, startX + startWidth,
                    startY + startHeight);
                    startY + startHeight, null);
            postAnimationCallback();
            mNextAppTransitionCallback = null;
            mAnimationFinishedCallback = null;
@@ -1357,7 +1364,7 @@ public class AppTransition implements Dump {
                                                int startWidth, int startHeight) {
        if (isTransitionSet()) {
            mNextAppTransitionType = NEXT_TRANSIT_TYPE_CLIP_REVEAL;
            putDefaultNextAppTransitionCoordinates(startX, startY, startWidth, startHeight);
            putDefaultNextAppTransitionCoordinates(startX, startY, startWidth, startHeight, null);
            postAnimationCallback();
            mNextAppTransitionCallback = null;
            mAnimationFinishedCallback = null;
@@ -1372,7 +1379,7 @@ public class AppTransition implements Dump {
            mNextAppTransitionPackage = null;
            mNextAppTransitionAnimationsSpecs.clear();
            mNextAppTransitionScaleUp = scaleUp;
            putDefaultNextAppTransitionCoordinates(startX, startY, 0 ,0);
            putDefaultNextAppTransitionCoordinates(startX, startY, 0, 0, srcThumb);
            postAnimationCallback();
            mNextAppTransitionCallback = startedCallback;
            mAnimationFinishedCallback = null;
@@ -1389,7 +1396,8 @@ public class AppTransition implements Dump {
            mNextAppTransitionPackage = null;
            mNextAppTransitionAnimationsSpecs.clear();
            mNextAppTransitionScaleUp = scaleUp;
            putDefaultNextAppTransitionCoordinates(startX, startY, targetWidth, targetHeight);
            putDefaultNextAppTransitionCoordinates(startX, startY, targetWidth, targetHeight,
                    srcThumb);
            postAnimationCallback();
            mNextAppTransitionCallback = startedCallback;
            mAnimationFinishedCallback = null;
@@ -1417,7 +1425,7 @@ public class AppTransition implements Dump {
                        // be set.
                        Rect rect = spec.rect;
                        putDefaultNextAppTransitionCoordinates(rect.left, rect.top, rect.width(),
                                rect.height());
                                rect.height(), null);
                    }
                }
            }
+1 −0
Original line number Diff line number Diff line
@@ -1474,6 +1474,7 @@ class WindowSurfacePlacer {
        final int taskId = appToken.mTask.mTaskId;
        Bitmap thumbnailHeader = mService.mAppTransition.getAppTransitionThumbnailHeader(taskId);
        if (thumbnailHeader == null || thumbnailHeader.getConfig() == Bitmap.Config.ALPHA_8) {
            if (DEBUG_APP_TRANSITIONS) Slog.d(TAG, "No thumbnail header bitmap for: " + taskId);
            return;
        }
        // This thumbnail animation is very special, we need to have