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

Commit 3a8928bb authored by Liana Kazanova (xWF)'s avatar Liana Kazanova (xWF) Committed by Android (Google) Code Review
Browse files

Merge "Revert "Add userId information in Transition#AnimationOptions"" into main

parents 083167ce 06427727
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -1141,7 +1141,6 @@ public final class TransitionInfo implements Parcelable {
        // Customize activity transition animation
        private CustomActivityTransition mCustomActivityOpenTransition;
        private CustomActivityTransition mCustomActivityCloseTransition;
        private int mUserId;

        private AnimationOptions(int type) {
            mType = type;
@@ -1160,7 +1159,6 @@ public final class TransitionInfo implements Parcelable {
            mAnimations = in.readInt();
            mCustomActivityOpenTransition = in.readTypedObject(CustomActivityTransition.CREATOR);
            mCustomActivityCloseTransition = in.readTypedObject(CustomActivityTransition.CREATOR);
            mUserId = in.readInt();
        }

        /** Make basic customized animation for a package */
@@ -1285,14 +1283,6 @@ public final class TransitionInfo implements Parcelable {
            return options;
        }

        public void setUserId(int userId) {
            mUserId = userId;
        }

        public int getUserId() {
            return mUserId;
        }

        public int getType() {
            return mType;
        }
@@ -1359,7 +1349,6 @@ public final class TransitionInfo implements Parcelable {
            dest.writeInt(mAnimations);
            dest.writeTypedObject(mCustomActivityOpenTransition, flags);
            dest.writeTypedObject(mCustomActivityCloseTransition, flags);
            dest.writeInt(mUserId);
        }

        @NonNull
@@ -1417,7 +1406,6 @@ public final class TransitionInfo implements Parcelable {
            if (mExitResId != DEFAULT_ANIMATION_RESOURCES_ID) {
                sb.append(" exitResId=").append(mExitResId);
            }
            sb.append(" mUserId=").append(mUserId);
            sb.append('}');
            return sb.toString();
        }
+17 −62
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ import android.hardware.HardwareBuffer;
import android.media.Image;
import android.media.ImageReader;
import android.os.Handler;
import android.os.UserHandle;
import android.os.SystemProperties;
import android.util.Slog;
import android.view.InflateException;
import android.view.SurfaceControl;
@@ -187,44 +187,23 @@ public class TransitionAnimation {
        return createHiddenByKeyguardExit(mContext, mInterpolator, onWallpaper, toShade, subtle);
    }

    /** Load keyguard unocclude animation for user. */
    @Nullable
    public Animation loadKeyguardUnoccludeAnimation(int userId) {
        return loadDefaultAnimationRes(com.android.internal.R.anim.wallpaper_open_exit, userId);
    }

    /** Same as {@code loadKeyguardUnoccludeAnimation} for current user. */
    @Nullable
    public Animation loadKeyguardUnoccludeAnimation() {
        return loadKeyguardUnoccludeAnimation(UserHandle.USER_CURRENT);
        return loadDefaultAnimationRes(com.android.internal.R.anim.wallpaper_open_exit);
    }

    /** Load voice activity open animation for user. */
    @Nullable
    public Animation loadVoiceActivityOpenAnimation(boolean enter, int userId) {
    public Animation loadVoiceActivityOpenAnimation(boolean enter) {
        return loadDefaultAnimationRes(enter
                ? com.android.internal.R.anim.voice_activity_open_enter
                : com.android.internal.R.anim.voice_activity_open_exit, userId);
    }

    /** Same as {@code loadVoiceActivityOpenAnimation} for current user. */
    @Nullable
    public Animation loadVoiceActivityOpenAnimation(boolean enter) {
        return loadVoiceActivityOpenAnimation(enter, UserHandle.USER_CURRENT);
                : com.android.internal.R.anim.voice_activity_open_exit);
    }

    /** Load voice activity exit animation for user. */
    @Nullable
    public Animation loadVoiceActivityExitAnimation(boolean enter, int userId) {
    public Animation loadVoiceActivityExitAnimation(boolean enter) {
        return loadDefaultAnimationRes(enter
                ? com.android.internal.R.anim.voice_activity_close_enter
                : com.android.internal.R.anim.voice_activity_close_exit, userId);
    }

    /** Same as {@code loadVoiceActivityExitAnimation} for current user. */
    @Nullable
    public Animation loadVoiceActivityExitAnimation(boolean enter) {
        return loadVoiceActivityExitAnimation(enter, UserHandle.USER_CURRENT);
                : com.android.internal.R.anim.voice_activity_close_exit);
    }

    @Nullable
@@ -232,17 +211,10 @@ public class TransitionAnimation {
        return loadAnimationRes(packageName, resId);
    }

    /** Load cross profile app enter animation for user. */
    @Nullable
    public Animation loadCrossProfileAppEnterAnimation(int userId) {
        return loadAnimationRes(DEFAULT_PACKAGE,
                com.android.internal.R.anim.task_open_enter_cross_profile_apps, userId);
    }

    /** Same as {@code loadCrossProfileAppEnterAnimation} for current user. */
    @Nullable
    public Animation loadCrossProfileAppEnterAnimation() {
        return loadCrossProfileAppEnterAnimation(UserHandle.USER_CURRENT);
        return loadAnimationRes(DEFAULT_PACKAGE,
                com.android.internal.R.anim.task_open_enter_cross_profile_apps);
    }

    @Nullable
@@ -258,11 +230,11 @@ public class TransitionAnimation {
                appRect.height(), 0, null);
    }

    /** Load animation by resource Id from specific package for user. */
    /** Load animation by resource Id from specific package. */
    @Nullable
    public Animation loadAnimationRes(String packageName, int resId, int userId) {
    public Animation loadAnimationRes(String packageName, int resId) {
        if (ResourceId.isValid(resId)) {
            AttributeCache.Entry ent = getCachedAnimations(packageName, resId, userId);
            AttributeCache.Entry ent = getCachedAnimations(packageName, resId);
            if (ent != null) {
                return loadAnimationSafely(ent.context, resId, mTag);
            }
@@ -270,22 +242,10 @@ public class TransitionAnimation {
        return null;
    }

    /** Same as {@code loadAnimationRes} for current user. */
    @Nullable
    public Animation loadAnimationRes(String packageName, int resId) {
        return loadAnimationRes(packageName, resId, UserHandle.USER_CURRENT);
    }

    /** Load animation by resource Id from android package for user. */
    @Nullable
    public Animation loadDefaultAnimationRes(int resId, int userId) {
        return loadAnimationRes(DEFAULT_PACKAGE, resId, userId);
    }

    /** Same as {@code loadDefaultAnimationRes} for current user. */
    /** Load animation by resource Id from android package. */
    @Nullable
    public Animation loadDefaultAnimationRes(int resId) {
        return loadAnimationRes(DEFAULT_PACKAGE, resId, UserHandle.USER_CURRENT);
        return loadAnimationRes(DEFAULT_PACKAGE, resId);
    }

    /** Load animation by attribute Id from specific LayoutParams */
@@ -418,10 +378,10 @@ public class TransitionAnimation {
    }

    @Nullable
    private AttributeCache.Entry getCachedAnimations(String packageName, int resId, int userId) {
    private AttributeCache.Entry getCachedAnimations(String packageName, int resId) {
        if (mDebug) {
            Slog.v(mTag, "Loading animations: package=" + packageName + " resId=0x"
                    + Integer.toHexString(resId) + " for user=" + userId);
            Slog.v(mTag, "Loading animations: package="
                    + packageName + " resId=0x" + Integer.toHexString(resId));
        }
        if (packageName != null) {
            if ((resId & 0xFF000000) == 0x01000000) {
@@ -432,16 +392,11 @@ public class TransitionAnimation {
                        + packageName);
            }
            return AttributeCache.instance().get(packageName, resId,
                    com.android.internal.R.styleable.WindowAnimation, userId);
                    com.android.internal.R.styleable.WindowAnimation);
        }
        return null;
    }

    @Nullable
    private AttributeCache.Entry getCachedAnimations(String packageName, int resId) {
        return getCachedAnimations(packageName, resId, UserHandle.USER_CURRENT);
    }

    /** Returns window animation style ID from {@link LayoutParams} or from system in some cases */
    public int getAnimationStyleResId(@NonNull LayoutParams lp) {
        int resId = lp.windowAnimations;
+10 −10
Original line number Diff line number Diff line
@@ -18,8 +18,8 @@ package com.android.wm.shell.transition;

import static android.app.ActivityOptions.ANIM_CLIP_REVEAL;
import static android.app.ActivityOptions.ANIM_CUSTOM;
import static android.app.ActivityOptions.ANIM_FROM_STYLE;
import static android.app.ActivityOptions.ANIM_NONE;
import static android.app.ActivityOptions.ANIM_FROM_STYLE;
import static android.app.ActivityOptions.ANIM_OPEN_CROSS_PROFILE_APPS;
import static android.app.ActivityOptions.ANIM_SCALE_UP;
import static android.app.ActivityOptions.ANIM_SCENE_TRANSITION;
@@ -767,12 +767,12 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
            a = mTransitionAnimation.loadKeyguardExitAnimation(flags,
                    (changeFlags & FLAG_SHOW_WALLPAPER) != 0);
        } else if (type == TRANSIT_KEYGUARD_UNOCCLUDE) {
            a = mTransitionAnimation.loadKeyguardUnoccludeAnimation(options.getUserId());
            a = mTransitionAnimation.loadKeyguardUnoccludeAnimation();
        } else if ((changeFlags & FLAG_IS_VOICE_INTERACTION) != 0) {
            if (isOpeningType) {
                a = mTransitionAnimation.loadVoiceActivityOpenAnimation(enter, options.getUserId());
                a = mTransitionAnimation.loadVoiceActivityOpenAnimation(enter);
            } else {
                a = mTransitionAnimation.loadVoiceActivityExitAnimation(enter, options.getUserId());
                a = mTransitionAnimation.loadVoiceActivityExitAnimation(enter);
            }
        } else if (changeMode == TRANSIT_CHANGE) {
            // In the absence of a specific adapter, we just want to keep everything stationary.
@@ -783,9 +783,9 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        } else if (overrideType == ANIM_CUSTOM
                && (!isTask || options.getOverrideTaskTransition())) {
            a = mTransitionAnimation.loadAnimationRes(options.getPackageName(), enter
                    ? options.getEnterResId() : options.getExitResId(), options.getUserId());
                    ? options.getEnterResId() : options.getExitResId());
        } else if (overrideType == ANIM_OPEN_CROSS_PROFILE_APPS && enter) {
            a = mTransitionAnimation.loadCrossProfileAppEnterAnimation(options.getUserId());
            a = mTransitionAnimation.loadCrossProfileAppEnterAnimation();
        } else if (overrideType == ANIM_CLIP_REVEAL) {
            a = mTransitionAnimation.createClipRevealAnimationLocked(type, wallpaperTransit, enter,
                    endBounds, endBounds, options.getTransitionBounds());
+5 −7
Original line number Diff line number Diff line
@@ -864,9 +864,8 @@ class ActivityClientController extends IActivityClientController.Stub {
                if (transition != null) {
                    if (changed) {
                        // Always set as scene transition because it expects to be a jump-cut.
                        transition.setOverrideAnimation(
                                TransitionInfo.AnimationOptions.makeSceneTransitionAnimOptions(), r,
                                null, null);
                        transition.setOverrideAnimation(TransitionInfo.AnimationOptions
                                .makeSceneTransitionAnimOptions(), null, null);
                        r.mTransitionController.requestStartTransition(transition,
                                null /*startTask */, null /* remoteTransition */,
                                null /* displayChange */);
@@ -911,9 +910,8 @@ class ActivityClientController extends IActivityClientController.Stub {
                                && under.returningOptions.getAnimationType()
                                        == ANIM_SCENE_TRANSITION) {
                            // Pass along the scene-transition animation-type
                            transition.setOverrideAnimation(TransitionInfo
                                            .AnimationOptions.makeSceneTransitionAnimOptions(), r,
                                    null, null);
                            transition.setOverrideAnimation(TransitionInfo.AnimationOptions
                                    .makeSceneTransitionAnimOptions(), null, null);
                        }
                    } else {
                        transition.abort();
@@ -1510,7 +1508,7 @@ class ActivityClientController extends IActivityClientController.Stub {
                        r.mOverrideTaskTransition);
                r.mTransitionController.setOverrideAnimation(
                        TransitionInfo.AnimationOptions.makeCustomAnimOptions(packageName,
                                enterAnim, exitAnim, backgroundColor, r.mOverrideTaskTransition), r,
                                enterAnim, exitAnim, backgroundColor, r.mOverrideTaskTransition),
                        null /* startCallback */, null /* finishCallback */);
            }
        }
+2 −5
Original line number Diff line number Diff line
@@ -354,7 +354,6 @@ import android.window.SplashScreen;
import android.window.SplashScreenView;
import android.window.SplashScreenView.SplashScreenViewParcelable;
import android.window.TaskSnapshot;
import android.window.TransitionInfo;
import android.window.TransitionInfo.AnimationOptions;
import android.window.WindowContainerToken;
import android.window.WindowOnBackInvokedDispatcher;
@@ -5036,8 +5035,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
                // controller but don't clear the animation information from the options since they
                // need to be sent to the animating activity.
                mTransitionController.setOverrideAnimation(
                        TransitionInfo.AnimationOptions.makeSceneTransitionAnimOptions(), this,
                        null, null);
                        AnimationOptions.makeSceneTransitionAnimOptions(), null, null);
                return;
            }
            applyOptionsAnimation(mPendingOptions, intent);
@@ -5160,8 +5158,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        }

        if (options != null) {
            mTransitionController.setOverrideAnimation(options, this, startCallback,
                    finishCallback);
            mTransitionController.setOverrideAnimation(options, startCallback, finishCallback);
        }
    }

Loading