use of com.reactnativenavigation.options.Options in project react-native-navigation by wix.
the class ModalPresenter method showModal.
void showModal(ViewController<?> appearing, ViewController<?> disappearing, CommandListener listener) {
if (modalsLayout == null) {
listener.onError("Can not show modal before activity is created");
return;
}
Options options = appearing.resolveCurrentOptions(defaultOptions);
AnimationOptions enterAnimationOptions = options.animations.showModal.getEnter();
appearing.setWaitForRender(enterAnimationOptions.waitForRender);
modalsLayout.setVisibility(View.VISIBLE);
modalsLayout.addView(appearing.getView(), matchParentLP());
if (enterAnimationOptions.enabled.isTrueOrUndefined()) {
if (enterAnimationOptions.shouldWaitForRender().isTrue()) {
appearing.addOnAppearedListener(() -> modalAnimator.show(appearing, disappearing, options.animations.showModal, createListener(appearing, disappearing, listener)));
} else {
modalAnimator.show(appearing, disappearing, options.animations.showModal, createListener(appearing, disappearing, listener));
}
} else {
if (enterAnimationOptions.waitForRender.isTrue()) {
appearing.addOnAppearedListener(() -> onShowModalEnd(appearing, disappearing, listener));
} else {
onShowModalEnd(appearing, disappearing, listener);
}
}
}
use of com.reactnativenavigation.options.Options in project react-native-navigation by wix.
the class ParentControllerTest method resolveCurrentOptions_withDefaultOptions.
@Test
public void resolveCurrentOptions_withDefaultOptions() {
SimpleViewController child1 = new SimpleViewController(activity, childRegistry, "child1", new Options());
children.add(child1);
uut.ensureViewIsCreated();
Options defaultOptions = new Options();
Options currentOptions = spy(new Options());
ParentController<?> spy = spy(uut);
Mockito.when(spy.resolveCurrentOptions()).thenReturn(currentOptions);
spy.resolveCurrentOptions(defaultOptions);
verify(currentOptions).withDefaultOptions(defaultOptions);
}
use of com.reactnativenavigation.options.Options in project react-native-navigation by wix.
the class ParentControllerTest method mergeOptions_initialParentOptionsAreNotMutatedWhenChildAppears.
@Test
public void mergeOptions_initialParentOptionsAreNotMutatedWhenChildAppears() {
Options options = new Options();
options.topBar.title.text = new Text("new title");
ViewController<?> child1 = spy(new SimpleViewController(activity, childRegistry, "child1", options));
children.add(child1);
uut.ensureViewIsCreated();
child1.ensureViewIsCreated();
child1.onViewWillAppear();
assertThat(uut.initialOptions.topBar.title.text.get()).isEqualTo(INITIAL_TITLE);
}
use of com.reactnativenavigation.options.Options in project react-native-navigation by wix.
the class ModalPresenterTest method beforeEach.
@Override
public void beforeEach() {
super.beforeEach();
Activity activity = newActivity();
ChildControllersRegistry childRegistry = new ChildControllersRegistry();
root = spy(new SimpleViewController(activity, childRegistry, "root", new Options()));
FrameLayout contentLayout = new FrameLayout(activity);
FrameLayout rootLayout = new FrameLayout(activity);
rootLayout.addView(root.getView());
modalsLayout = new CoordinatorLayout(activity);
contentLayout.addView(rootLayout);
contentLayout.addView(modalsLayout);
activity.setContentView(contentLayout);
animator = spy(new ModalAnimator(activity));
uut = new ModalPresenter(animator);
uut.setModalsLayout(modalsLayout);
uut.setRootLayout(rootLayout);
modal1 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_1, new Options()));
modal2 = spy(new SimpleViewController(activity, childRegistry, MODAL_ID_2, new Options()));
}
use of com.reactnativenavigation.options.Options in project react-native-navigation by wix.
the class ModalStackTest method dismissAllModals_optionsAreMergedOnTopModal.
@Test
public void dismissAllModals_optionsAreMergedOnTopModal() {
uut.showModal(modal1, root, new CommandListenerAdapter());
uut.showModal(modal2, root, new CommandListenerAdapter());
uut.showModal(modal3, root, new CommandListenerAdapter());
Options mergeOptions = new Options();
uut.dismissAllModals(root, mergeOptions, new CommandListenerAdapter());
verify(modal3).mergeOptions(mergeOptions);
verify(modal1, times(0)).mergeOptions(mergeOptions);
verify(modal2, times(0)).mergeOptions(mergeOptions);
}
Aggregations