final void detach(View view) { this.isDetaching = true; if (this.attached) { onDetach(); view.setTag(VIEW_CONTROLLER_TAG, null); this.view = null; this.attached = false; this.isDetaching = false; } }
@Override public void onViewAttachedToWindow(View v) { viewController.attach(view); }
static ScreenTransition getTransition(ViewController viewController, TransitionDirection transitionDirection) { if (viewController == null) { return new InstantTransition(); } if (transitionDirection == TransitionDirection.ENTER) { return viewController.enterTransition(); } else { return viewController.exitTransition(); } }
private TransitionListener getTransitionListener() { ViewController controller = ViewController.fromView(active); TransitionListener transitionListener = new NoOpTransitionListener(); if (controller instanceof TransitionListener) { transitionListener = (TransitionListener) controller; } return transitionListener; } }
@Override public void onAttach() { super.onAttach(); unbinder = ButterKnife.bind(this, getView()); }
private View inflateViewFromController(ViewController viewController, final Scoop scoop) { View view = scoop.inflate(viewController.layoutId(), this, false); ViewControllerInflater.bindViewControllerToView(view, viewController); return view; }
public ViewController inflateViewController( Scoop scoop, Class<? extends ViewController> viewControllerClazz, ViewGroup viewGroup) { ViewController viewController = createViewController(scoop, viewControllerClazz); viewController.setScoop(scoop); return viewController; }
@Override public void onViewDetachedFromWindow(View v) { viewController.detach(view); } };
public static <T extends Screen> T fromController(ViewController controller) { return Screen.fromScoop(controller.getScoop()); }
static ScreenTransition getTransition(ViewController viewController, TransitionDirection transitionDirection) { if (viewController == null) { return new InstantTransition(); } if (transitionDirection == TransitionDirection.ENTER) { return viewController.enterTransition(); } else { return viewController.exitTransition(); } }
private TransitionListener getTransitionListener() { ViewController controller = ViewController.fromView(active); TransitionListener transitionListener = new NoOpTransitionListener(); if (controller instanceof TransitionListener) { transitionListener = (TransitionListener) controller; } return transitionListener; } }
private View inflateViewFromController(ViewController viewController, final Scoop scoop) { View view = scoop.inflate(viewController.layoutId(), this, false); ViewControllerInflater.bindViewControllerToView(view, viewController); return view; }
public ViewController inflateViewController( Scoop scoop, Class<? extends ViewController> viewControllerClazz, ViewGroup viewGroup) { ViewController viewController = createViewController(scoop, viewControllerClazz); viewController.setScoop(scoop); return viewController; }
@Override public void onViewDetachedFromWindow(View v) { viewController.detach(view); } };
public static <T extends Screen> T fromController(ViewController controller) { return Screen.fromScoop(controller.getScoop()); }
static ScreenTransition getTransition(ViewController viewController, TransitionDirection transitionDirection) { if (viewController == null) { return new InstantTransition(); } if (transitionDirection == TransitionDirection.ENTER) { return viewController.enterTransition(); } else { return viewController.exitTransition(); } }
private boolean childCanGoBack() { if (active instanceof HandleBack) { return handleBack(active); } ViewController viewController = ViewController.fromView(active); if (viewController != null) { if (viewController instanceof HandleBack) { return handleBack(viewController); } } return false; }
final void detach(View view) { this.isDetaching = true; if (this.attached) { onDetach(); view.setTag(VIEW_CONTROLLER_TAG, null); this.view = null; this.attached = false; this.isDetaching = false; } }