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 observeCreatePersistable() { TestObserver<BundleBundle> testObserver = RxNavi.observe(emitter, Event.CREATE_PERSISTABLE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); PersistableBundle persistableBundle = mock(PersistableBundle.class); emitter.onCreate(bundle, persistableBundle); testObserver.dispose(); emitter.onCreate(bundle, persistableBundle); testObserver.assertValue(BundleBundle.create(bundle, persistableBundle)); testObserver.assertNotTerminated(); }
@Test public void observeSaveInstanceStatePersistable() { TestObserver<BundleBundle> testObserver = RxNavi.observe(emitter, Event.SAVE_INSTANCE_STATE_PERSISTABLE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); PersistableBundle persistableBundle = mock(PersistableBundle.class); emitter.onSaveInstanceState(bundle, persistableBundle); testObserver.dispose(); emitter.onSaveInstanceState(bundle, persistableBundle); testObserver.assertValue(BundleBundle.create(bundle, persistableBundle)); testObserver.assertNotTerminated(); }
@Test public void observeCreate() { TestObserver<Bundle> testObserver = RxNavi.observe(emitter, Event.CREATE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); emitter.onCreate(bundle); testObserver.dispose(); emitter.onCreate(bundle); testObserver.assertValue(bundle); testObserver.assertNotTerminated(); }
@Test public void observePostCreate() { TestObserver<Bundle> testObserver = RxNavi.observe(emitter, Event.POST_CREATE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); emitter.onPostCreate(bundle); testObserver.dispose(); emitter.onPostCreate(bundle); testObserver.assertValue(bundle); testObserver.assertNotTerminated(); }
@Test public void observeNewIntent() { TestObserver<Intent> testObserver = RxNavi.observe(emitter, Event.NEW_INTENT).test(); testObserver.assertNoValues(); Intent intent = new Intent(); emitter.onNewIntent(intent); testObserver.dispose(); emitter.onNewIntent(intent); testObserver.assertValue(intent); testObserver.assertNotTerminated(); }
@Test public void observeCreateView() { TestObserver<Bundle> testObserver = RxNavi.observe(emitter, Event.CREATE_VIEW).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); emitter.onCreateView(bundle); testObserver.dispose(); emitter.onCreateView(bundle); testObserver.assertValue(bundle); testObserver.assertNotTerminated(); }
@Test public void observeViewStateRestored() { TestObserver<Bundle> testObserver = RxNavi.observe(emitter, Event.VIEW_STATE_RESTORED).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); emitter.onViewStateRestored(bundle); testObserver.dispose(); emitter.onViewStateRestored(bundle); testObserver.assertValue(bundle); testObserver.assertNotTerminated(); }
@Test public void observeCreate() { TestObserver<Bundle> testObserver = RxNavi.observe(emitter, Event.CREATE).test(); testObserver.assertNoValues(); Bundle bundle = new Bundle(); emitter.onCreate(bundle); testObserver.dispose(); emitter.onCreate(bundle); testObserver.assertValue(bundle); testObserver.assertNotTerminated(); }
@Test public void observeConfigurationChanged() { TestObserver<Configuration> testObserver = RxNavi.observe(emitter, Event.CONFIGURATION_CHANGED).test(); testObserver.assertNoValues(); Configuration configuration = mock(Configuration.class); emitter.onConfigurationChanged(configuration); testObserver.dispose(); emitter.onConfigurationChanged(configuration); testObserver.assertValue(configuration); testObserver.assertNotTerminated(); }
@Test public void observeAttachApi23() { setSdkInt(23); TestObserver<Context> testObserver = RxNavi.observe(emitter, Event.ATTACH).test(); testObserver.assertNoValues(); Context context = mock(Context.class); emitter.onAttach(context); testObserver.dispose(); emitter.onAttach(context); testObserver.assertValue(context); testObserver.assertNotTerminated(); }
@Test public void observeActivityResult() { TestObserver<ActivityResult> testObserver = RxNavi.observe(emitter, Event.ACTIVITY_RESULT).test(); testObserver.assertNoValues(); int requestCode = 1; int resultCode = Activity.RESULT_OK; Intent data = new Intent(); emitter.onActivityResult(requestCode, resultCode, data); testObserver.dispose(); emitter.onActivityResult(requestCode, resultCode, data); testObserver.assertValue(ActivityResult.create(requestCode, resultCode, data)); testObserver.assertNotTerminated(); }
@Test public void observeAllStart() { TestObserver<Type> testObserver = RxNavi.observe(emitter, Event.ALL).test(); testObserver.assertNoValues(); emitter.onStart(); testObserver.dispose(); emitter.onStart(); testObserver.assertValue(Type.START); testObserver.assertNotTerminated(); }
@Test public void observeResume() { TestObserver<Object> testObserver = RxNavi.observe(emitter, Event.RESUME).test(); testObserver.assertNoValues(); emitter.onResume(); testObserver.dispose(); emitter.onResume(); testObserver.assertValueCount(1); testObserver.assertNotTerminated(); }
@Test public void observeDestroyView() { TestObserver<Object> testObserver = RxNavi.observe(emitter, Event.DESTROY_VIEW).test(); testObserver.assertNoValues(); emitter.onDestroyView(); testObserver.dispose(); emitter.onDestroyView(); testObserver.assertValueCount(1); testObserver.assertNotTerminated(); }
@Test public void observeStop() { TestObserver<Object> testObserver = RxNavi.observe(emitter, Event.STOP).test(); testObserver.assertNoValues(); emitter.onStop(); testObserver.dispose(); emitter.onStop(); testObserver.assertValueCount(1); testObserver.assertNotTerminated(); }
@Test public void observeDestroy() { TestObserver<Object> testObserver = RxNavi.observe(emitter, Event.DESTROY).test(); testObserver.assertNoValues(); emitter.onDestroy(); testObserver.dispose(); emitter.onDestroy(); testObserver.assertValueCount(1); testObserver.assertNotTerminated(); }
@Test public void observeDetachedFromWindow() { TestObserver<Object> testObserver = RxNavi.observe(emitter, Event.DETACHED_FROM_WINDOW).test(); testObserver.assertNoValues(); emitter.onDetachedFromWindow(); testObserver.dispose(); emitter.onDetachedFromWindow(); testObserver.assertValueCount(1); testObserver.assertNotTerminated(); }
@Test public void observeAttachedToWindow() { TestObserver<Object> testObserver = RxNavi.observe(emitter, Event.ATTACHED_TO_WINDOW).test(); testObserver.assertNoValues(); emitter.onAttachedToWindow(); testObserver.dispose(); emitter.onAttachedToWindow(); testObserver.assertValueCount(1); testObserver.assertNotTerminated(); }