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

Commit 2813aebe authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Replace default cross activity runner in registerAnimation." into main

parents d7674f1e 0496bbcf
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ public class ShellBackAnimationRegistry {
    private static final String TAG = "ShellBackPreview";

    private final SparseArray<BackAnimationRunner> mAnimationDefinition = new SparseArray<>();
    private final ShellBackAnimation mDefaultCrossActivityAnimation;
    private ShellBackAnimation mDefaultCrossActivityAnimation;
    private final ShellBackAnimation mCustomizeActivityAnimation;
    private final ShellBackAnimation mCrossTaskAnimation;

@@ -67,10 +67,18 @@ public class ShellBackAnimationRegistry {
    void registerAnimation(
            @BackNavigationInfo.BackTargetType int type, @NonNull BackAnimationRunner runner) {
        mAnimationDefinition.set(type, runner);
        // Only happen in test
        if (BackNavigationInfo.TYPE_CROSS_ACTIVITY == type) {
            mDefaultCrossActivityAnimation = null;
        }
    }

    void unregisterAnimation(@BackNavigationInfo.BackTargetType int type) {
        mAnimationDefinition.remove(type);
        // Only happen in test
        if (BackNavigationInfo.TYPE_CROSS_ACTIVITY == type) {
            mDefaultCrossActivityAnimation = null;
        }
    }

    /**
@@ -129,10 +137,16 @@ public class ShellBackAnimationRegistry {
    }

    void onConfigurationChanged(Configuration newConfig) {
        if (mCustomizeActivityAnimation != null) {
            mCustomizeActivityAnimation.onConfigurationChanged(newConfig);
        }
        if (mDefaultCrossActivityAnimation != null) {
            mDefaultCrossActivityAnimation.onConfigurationChanged(newConfig);
        }
        if (mCrossTaskAnimation != null) {
            mCrossTaskAnimation.onConfigurationChanged(newConfig);
        }
    }

    BackAnimationRunner getAnimationRunnerAndInit(BackNavigationInfo backNavigationInfo) {
        int type = backNavigationInfo.getType();