private boolean tryHandleEmptyBackstack(final Screen screen) { if (backStack.isEmpty()) { backStack.push(screen); performRouteChange(Collections.<Screen>emptyList(), backStack.asList(), TransitionDirection.ENTER); return true; } return false; }
private boolean tryHandleEmptyBackstack(final Screen screen) { if (backStack.isEmpty()) { backStack.push(screen); performRouteChange(Collections.<Screen>emptyList(), backStack.asList(), TransitionDirection.ENTER); return true; } return false; }
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 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 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); }
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 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 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); }
@Test public void asListWithEmptyBackstack() { List<Screen> list = backStack.asList(); assertTrue(list.isEmpty()); }
@Test public void asList() { Screen1 screen1 = new Screen1(); Screen2 screen2 = new Screen2(); backStack.push(screen1); backStack.push(screen2); List<Screen> list = backStack.asList(); assertEquals(screen1, list.get(0)); assertEquals(screen2, list.get(1)); }
private boolean tryHandleEmptyBackstack(final Screen screen) { if (backStack.isEmpty()) { backStack.push(screen); performRouteChange(Collections.<Screen>emptyList(), backStack.asList(), TransitionDirection.ENTER); return true; } return false; }
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 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 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); }