From 54b6df669b050b5ad5503f370f50a44a9af501af Mon Sep 17 00:00:00 2001 From: Manol Donev Date: Mon, 17 Dec 2018 15:27:52 +0200 Subject: [PATCH] fix(android): animator restore logic on simulated nav (#6710) --- tns-core-modules/ui/frame/frame.android.ts | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tns-core-modules/ui/frame/frame.android.ts b/tns-core-modules/ui/frame/frame.android.ts index 1f56a8eb2c..0322aaf3c6 100644 --- a/tns-core-modules/ui/frame/frame.android.ts +++ b/tns-core-modules/ui/frame/frame.android.ts @@ -527,10 +527,22 @@ function getAnimatorState(entry: BackstackEntry): AnimatorState { function restoreAnimatorState(entry: BackstackEntry, snapshot: AnimatorState): void { const expandedEntry = entry; - expandedEntry.enterAnimator = snapshot.enterAnimator; - expandedEntry.exitAnimator = snapshot.exitAnimator; - expandedEntry.popEnterAnimator = snapshot.popEnterAnimator; - expandedEntry.popExitAnimator = snapshot.popExitAnimator; + if (snapshot.enterAnimator) { + expandedEntry.enterAnimator = snapshot.enterAnimator; + } + + if (snapshot.exitAnimator) { + expandedEntry.exitAnimator = snapshot.exitAnimator; + } + + if (snapshot.popEnterAnimator) { + expandedEntry.popEnterAnimator = snapshot.popEnterAnimator; + } + + if (snapshot.popExitAnimator) { + expandedEntry.popExitAnimator = snapshot.popExitAnimator; + } + expandedEntry.transitionName = snapshot.transitionName; }