diff --git a/packages/core/ui/frame/fragment.transitions.android.ts b/packages/core/ui/frame/fragment.transitions.android.ts index 6fdc9bb13..24b13ab1f 100644 --- a/packages/core/ui/frame/fragment.transitions.android.ts +++ b/packages/core/ui/frame/fragment.transitions.android.ts @@ -93,15 +93,25 @@ export function _setAndroidFragmentTransitions(animated: boolean, navigationTran if (name === 'none') { const noTransition = new NoTransition(0, null); - // Setup empty/immediate animator when transitioning to nested frame for first time. - // Also setup empty/immediate transition to be executed when navigating back to this page. - // TODO: Consider removing empty/immediate animator when migrating to official androidx.fragment.app.Fragment:1.2. - if (isNestedDefaultTransition) { - fragmentTransaction.setCustomAnimations(animFadeIn, animFadeOut); - setupAllAnimation(newEntry, noTransition); - setupNewFragmentCustomTransition({ duration: 0, curve: null }, newEntry, noTransition); + if ((androidx.fragment.app.FragmentManager).enableNewStateManager) { + // androidx.fragment 1.3.x + if (isNestedDefaultTransition) { + setTimeout(() => { + addToWaitingQueue(newEntry); + transitionOrAnimationCompleted(newEntry, null); + }); + } } else { - setupNewFragmentCustomTransition({ duration: 0, curve: null }, newEntry, noTransition); + // Setup empty/immediate animator when transitioning to nested frame for first time. + // Also setup empty/immediate transition to be executed when navigating back to this page. + // TODO: Consider removing empty/immediate animator when migrating to official androidx.fragment.app.Fragment:1.2. + if (isNestedDefaultTransition) { + fragmentTransaction.setCustomAnimations(animFadeIn, animFadeOut); + setupAllAnimation(newEntry, noTransition); + setupNewFragmentCustomTransition({ duration: 0, curve: null }, newEntry, noTransition); + } else { + setupNewFragmentCustomTransition({ duration: 0, curve: null }, newEntry, noTransition); + } } newEntry.isNestedDefaultTransition = isNestedDefaultTransition;