package com.kaichunlin.transition;
import java.util.List;
/**
* Allows the adaption of different UI interactive components (e.g. Drawer) to support transition effects.
*/
public interface TransitionManager extends TransitionOperation {
/**
* Same as calling addTransition(transitionBuilder.build()).
*
* @param transitionBuilder
*/
void addTransition(AbstractTransitionBuilder transitionBuilder);
/**
* Adds a transition.
*
* @param transition
*/
void addTransition(Transition transition);
void addAllTransitions(List<Transition> transitionsList);
/**
* Removes a transition, should not be called while transition is in progress.
*
* @param transition
* @return true if a transition is removed, false otherwise.
*/
boolean removeTransition(Transition transition);
List<Transition> getTransitions();
/**
* Stops and clears all transitions.
*/
void removeAllTransitions();
void addTransitionListener(TransitionManagerListener listener);
void removeTransitionListener(TransitionManagerListener listener);
void notifyTransitionStart();
void notifyTransitionEnd();
}