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

Commit 0496bbcf authored by wilsonshih's avatar wilsonshih
Browse files

Replace default cross activity runner in registerAnimation.

So unit test won't run into real animation runner.

Bug: 333220510
Test: atest BackAnimationControllerTest
Change-Id: I1ccc37cc90578c1517c3b1e434a75b61dec43436
parent 328fca2c
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();