Skip to content

Commit

Permalink
Temporarily pass in formController to navigation methods
Browse files Browse the repository at this point in the history
  • Loading branch information
lognaturel committed Dec 19, 2020
1 parent c51de77 commit 8bc2bf5
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1473,7 +1473,7 @@ private boolean moveScreen(Direction direction) {
}

if (!saveBeforeNextView(formController)) {
formEntryViewModel.moveForward();
formEntryViewModel.moveForward(formController);
formIndexAnimationHandler.handle(formController.getFormIndex());
return true;
} else {
Expand All @@ -1489,7 +1489,7 @@ private boolean moveScreen(Direction direction) {
saveAnswersForCurrentScreen(DO_NOT_EVALUATE_CONSTRAINTS);
}

formEntryViewModel.moveBackward();
formEntryViewModel.moveBackward(formController);
formIndexAnimationHandler.handle(formController.getFormIndex());
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
} else {
formSaveViewModel.saveAnswersForScreen(answersProvider.getAnswers());

formEntryViewModel.openHierarchy();
formEntryViewModel.openHierarchy(formController);
Intent i = new Intent(activity, FormHierarchyActivity.class);
activity.startActivityForResult(i, ApplicationConstants.RequestCodes.HIERARCHY_ACTIVITY);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@

import javax.inject.Inject;

import timber.log.Timber;

import static org.odk.collect.android.javarosawrapper.FormIndexUtils.getRepeatGroupIndex;

public class FormEntryViewModel extends ViewModel implements RequiresFormController {
Expand Down Expand Up @@ -125,7 +127,12 @@ public boolean canAddRepeat() {
}
}

public void moveForward() {
public void moveForward(FormController formController) {
if (this.formController == null) {
Timber.w("Null formController");
this.formController = formController;
}

try {
formController.stepToNextScreenEvent();
} catch (JavaRosaException e) {
Expand All @@ -136,7 +143,12 @@ public void moveForward() {
formController.getAuditEventLogger().flush(); // Close events waiting for an end time
}

public void moveBackward() {
public void moveBackward(FormController formController) {
if (this.formController == null) {
Timber.w("Null formController");
this.formController = formController;
}

try {
int event = formController.stepToPreviousScreenEvent();

Expand All @@ -152,7 +164,12 @@ public void moveBackward() {
formController.getAuditEventLogger().flush(); // Close events waiting for an end time
}

public void openHierarchy() {
public void openHierarchy(FormController formController) {
if (this.formController == null) {
Timber.w("Null formController");
this.formController = formController;
}

formController.getAuditEventLogger().logEvent(AuditEvent.AuditEventType.HIERARCHY, true, clock.getCurrentTime());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ public void onItemSelected_whenHierarchy_callsOpenHierarchy() {
formEntryMenuDelegate.onPrepareOptionsMenu(menu);

formEntryMenuDelegate.onOptionsItemSelected(new RoboMenuItem(R.id.menu_goto));
verify(formEntryViewModel).openHierarchy();
verify(formEntryViewModel).openHierarchy(null);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public void cancelRepeatPrompt_whenThereIsAnErrorSteppingToNextScreen_setsErrorW
@Test
public void openHierarchy_logsHierarchyAuditEvent() {
when(clock.getCurrentTime()).thenReturn(12345L);
viewModel.openHierarchy();
viewModel.openHierarchy(formController);
verify(auditEventLogger).logEvent(AuditEvent.AuditEventType.HIERARCHY, true, 12345L);
}
}

0 comments on commit 8bc2bf5

Please sign in to comment.