package com.lyft.scoop;
import java.util.List;
public class RouteChange {
public final List<Screen> fromPath;
public final List<Screen> toPath;
public final TransitionDirection direction;
public RouteChange(List<Screen> fromPath, List<Screen> toPath, TransitionDirection direction) {
this.fromPath = fromPath;
this.toPath = toPath;
this.direction = direction;
}
public ScreenSwap toScreenSwap() {
return new ScreenSwap(this.previousScreen(),
this.nextScreen(),
this.direction);
}
private Screen previousScreen() {
return getScreenFromPath(fromPath);
}
private Screen nextScreen() {
return getScreenFromPath(toPath);
}
private Screen getScreenFromPath(List<Screen> path) {
Screen screen = null;
if (!path.isEmpty()) {
screen = path.get(path.size() - 1);
}
return screen;
}
}