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
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/ShellBackAnimationRegistry.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/ShellBackAnimationRegistry.java
index 00daddc..7a6032c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/ShellBackAnimationRegistry.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/ShellBackAnimationRegistry.java
@@ -28,7 +28,7 @@
     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 @@
     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,9 +137,15 @@
     }
 
     void onConfigurationChanged(Configuration newConfig) {
-        mCustomizeActivityAnimation.onConfigurationChanged(newConfig);
-        mDefaultCrossActivityAnimation.onConfigurationChanged(newConfig);
-        mCrossTaskAnimation.onConfigurationChanged(newConfig);
+        if (mCustomizeActivityAnimation != null) {
+            mCustomizeActivityAnimation.onConfigurationChanged(newConfig);
+        }
+        if (mDefaultCrossActivityAnimation != null) {
+            mDefaultCrossActivityAnimation.onConfigurationChanged(newConfig);
+        }
+        if (mCrossTaskAnimation != null) {
+            mCrossTaskAnimation.onConfigurationChanged(newConfig);
+        }
     }
 
     BackAnimationRunner getAnimationRunnerAndInit(BackNavigationInfo backNavigationInfo) {