@Override public void onAnimationEnd(Animator animation) { container.removeView(from); callback.onTraversalCompleted(); } });
containerView.addView(newView); oldPath.destroyNotIn(context, contextFactory); callback.onTraversalCompleted(); } else { containerView.addView(newView);
@Override public void dispatch(Flow.Traversal traversal, final Flow.TraversalCallback callback) { MasterDetailPath currentMaster = ((MasterDetailPath) traversal.origin.top()).getMaster(); MasterDetailPath newMaster = ((MasterDetailPath) traversal.destination.top()).getMaster(); // Short circuit if the new screen has the same master. if (getCurrentChild() != null && newMaster.equals(currentMaster)) { callback.onTraversalCompleted(); } else { super.dispatch(traversal, new Flow.TraversalCallback() { @Override public void onTraversalCompleted() { callback.onTraversalCompleted(); } }); } }
public final void executeTraversal(PathContainerView view, Flow.Traversal traversal, final Flow.TraversalCallback callback) { final View oldChild = view.getCurrentChild(); Path path = traversal.destination.top(); ViewState viewState = traversal.destination.currentViewState(); Path oldPath; ViewGroup containerView = view.getContainerView(); TraversalState traversalState = ensureTag(containerView); // See if we already have the direct child we want, and if so short circuit the traversal. if (oldChild != null) { oldPath = Preconditions.checkNotNull(traversalState.toPath, "Container view has child %s with no path", oldChild.toString()); if (oldPath.equals(path)) { callback.onTraversalCompleted(); return; } } traversalState.setNextEntry(path, viewState); performTraversal(containerView, traversalState, traversal.direction, callback); }
@Override public void onTraversalCompleted() { callback.onTraversalCompleted(); } });
@Override public void onTraversalCompleted() { invalidateOptionsMenu(); callback.onTraversalCompleted(); } });
@Override public void onTraversalCompleted() { callback.onTraversalCompleted(); disabled = false; } });