public FragmentLifecycleProviderImpl(final NaviComponent fragment) { if (!fragment.handlesEvents(Event.ATTACH, Event.CREATE, Event.CREATE_VIEW, Event.START, Event.RESUME, Event.PAUSE, Event.STOP, Event.DESTROY_VIEW, Event.DESTROY, Event.DETACH)) { throw new IllegalArgumentException("NaviComponent does not handle all required events"); } RxNavi.observe(fragment, Event.ALL) .filter(FRAGMENT_EVENT_FILTER) .map(FRAGMENT_EVENT_MAP) .subscribe(lifecycleSubject); }
public ActivityLifecycleProviderImpl(final NaviComponent activity) { if (!activity.handlesEvents(Event.CREATE, Event.START, Event.RESUME, Event.PAUSE, Event.STOP, Event.DESTROY)) { throw new IllegalArgumentException("NaviComponent does not handle all required events"); } RxNavi.observe(activity, Event.ALL) .filter(ACTIVITY_EVENT_FILTER) .map(ACTIVITY_EVENT_MAP) .subscribe(lifecycleSubject); }
@Test public void handlesEventsMultiple() { NaviComponent component = NaviEmitter.createActivityEmitter(); assertTrue(component.handlesEvents(Event.CREATE, Event.START, Event.RESUME)); assertFalse(component.handlesEvents(Event.ATTACH, Event.CREATE_VIEW)); assertFalse(component.handlesEvents(Event.CREATE, Event.CREATE_VIEW)); }
@Test public void handlesEventsSingle() { NaviComponent component = NaviEmitter.createActivityEmitter(); assertTrue(component.handlesEvents(Event.CREATE)); assertFalse(component.handlesEvents(Event.CREATE_VIEW)); }
@Test public void handlesEventsNone() { NaviComponent component = NaviEmitter.createActivityEmitter(); assertTrue(component.handlesEvents()); }