Fix TransitionManager.go() to allow null transitions

The doc'd behavior of go() is that a null transition is equivalent
to just switching to a scene with no transition. The actual behavior
was an NPE crash.

Issue #17342291 TransitionManager.go() with null Transition parameter throws NPE unlike documentation

Change-Id: I9416aa6e307f80eefc201ca3264fd64f8587ac2f
This commit is contained in:
Chet Haase
2014-09-03 07:53:15 -07:00
parent d06cd2b1bd
commit 5a7cf3eeeb

View File

@@ -182,11 +182,15 @@ public class TransitionManager {
final ViewGroup sceneRoot = scene.getSceneRoot();
Transition transitionClone = transition.clone();
transitionClone.setSceneRoot(sceneRoot);
Transition transitionClone = null;
if (transition != null) {
transitionClone = transition.clone();
transitionClone.setSceneRoot(sceneRoot);
}
Scene oldScene = Scene.getCurrentScene(sceneRoot);
if (oldScene != null && oldScene.isCreatedFromLayoutResource()) {
if (oldScene != null && transitionClone != null &&
oldScene.isCreatedFromLayoutResource()) {
transitionClone.setCanRemoveViews(true);
}