Browse Source

Fix crash when pushing screens on API 23

closes #3692
Guy Carmeli 6 years ago
parent
commit
4d6adb76a6

+ 5
- 2
lib/android/app/src/main/java/com/reactnativenavigation/anim/NavigationAnimator.java View File

14
 import com.reactnativenavigation.views.element.Element;
14
 import com.reactnativenavigation.views.element.Element;
15
 import com.reactnativenavigation.views.element.ElementTransitionManager;
15
 import com.reactnativenavigation.views.element.ElementTransitionManager;
16
 
16
 
17
+import java.util.Collection;
17
 import java.util.Collections;
18
 import java.util.Collections;
18
 import java.util.List;
19
 import java.util.List;
19
 
20
 
35
 
36
 
36
     public void push(ViewGroup view, NestedAnimationsOptions animation, Transitions transitions, List<Element> fromElements, List<Element> toElements, Runnable onAnimationEnd) {
37
     public void push(ViewGroup view, NestedAnimationsOptions animation, Transitions transitions, List<Element> fromElements, List<Element> toElements, Runnable onAnimationEnd) {
37
         view.setAlpha(0);
38
         view.setAlpha(0);
38
-        AnimatorSet set = animation.content.getAnimation(view, getDefaultPushAnimation(view));
39
-        set.playTogether(merge(set.getChildAnimations(), transitionManager.createTransitions(transitions, fromElements, toElements)));
39
+        AnimatorSet push = animation.content.getAnimation(view, getDefaultPushAnimation(view));
40
+        AnimatorSet set = new AnimatorSet();
41
+        Collection<Animator> elementTransitions = transitionManager.createTransitions(transitions, fromElements, toElements);
42
+        set.playTogether(merge(push.getChildAnimations(), elementTransitions));
40
         set.addListener(new AnimatorListenerAdapter() {
43
         set.addListener(new AnimatorListenerAdapter() {
41
             @Override
44
             @Override
42
             public void onAnimationStart(Animator animation) {
45
             public void onAnimationStart(Animator animation) {