public void replaceWith(Screen nextScreen) { if (tryHandleEmptyBackstack(nextScreen)) { return; } List<Screen> fromPath = backStack.asList(); Screen previousScreen = backStack.peek(); if (Screen.equals(previousScreen, nextScreen)) { return; } if (!backStack.isEmpty()) { backStack.pop(); } backStack.push(nextScreen); performRouteChange(fromPath, backStack.asList(), TransitionDirection.ENTER); }
public void goTo(Screen nextScreen) { if (tryHandleEmptyBackstack(nextScreen)) { return; } List<Screen> fromPath = backStack.asList(); if (Screen.equals(backStack.peek(), nextScreen)) { return; } backStack.push(nextScreen); performRouteChange(fromPath, backStack.asList(), TransitionDirection.ENTER); }
@Test public void asListWithEmptyBackstack() { List<Screen> list = backStack.asList(); assertTrue(list.isEmpty()); }
public void clear() { while (!backStack.isEmpty()) { pop(); } }
public boolean hasActiveScreen() { return !backStack.isEmpty(); }
protected Screen peek() { return backStack.peek(); }
@Before public void setUp() { backStack = new ScreenBackstack(); }
public void goTo(Screen nextScreen) { if (tryHandleEmptyBackstack(nextScreen)) { return; } List<Screen> fromPath = backStack.asList(); if (Screen.equals(backStack.peek(), nextScreen)) { return; } backStack.push(nextScreen); performRouteChange(fromPath, backStack.asList(), TransitionDirection.ENTER); }
public void clear() { while (!backStack.isEmpty()) { pop(); } }
public boolean hasActiveScreen() { return !backStack.isEmpty(); }
protected Screen peek() { return backStack.peek(); }
public void resetTo(Screen nextScreen, TransitionDirection direction) { List<Screen> fromPath = backStack.asList(); // do nothing if screen already top of reset if (!backStack.isEmpty() && Screen.equals(nextScreen, backStack.peek())) { return; } while (!backStack.isEmpty()) { Screen topScreen = backStack.peek(); if (Screen.equals(nextScreen, topScreen)) { performRouteChange(fromPath, backStack.asList(), direction); return; } backStack.pop(); } backStack.push(nextScreen); performRouteChange(fromPath, backStack.asList(), direction); }