A problem reported by the Mozambique team (MZ test account: MZ_TEST_IPC / 1234).
Basically some of the newly submitted records "never make it to the queue"
The problem is during the survey creation current survey in session is override by the push process. Then when navigate to review screen, really you are navigating to wrong survey review screen.
:memo: How is it being implemented?
Avoid reading the survey from session to open review:
Create a new use case to retrieve review info according to surveyUid
Pass surveyUid to ReviewFragment as an argument
Remove code that open review according to the survey in session
Avoid reading the survey from session to complete survey process:
Invoke CompletionSurveyUseCase from ReviewPresenter where we have the current surveyUid
Remove some session.GetMalariaSurvey code
Remove Send action from dashboardActivity
Invoke verifyFinalActionsAndShowEndSurveyMessage method when exiting from review screen after completion process
Avoid reading the survey from the session while you answer questions in survey:
Delete survey session reads of code executed from DynamicTabAdapter
Avoid writing survey in session from push process (quarantine check):
Remove save survey in session from SurveyLocalDataSource
Add session save survey action in necessary callers (not quarantine check)
:boom: How can it be tested?
Configure emulator to poor connection
UseCase 1:
step 1: Create a new survey fand complete all questions. After exiting from the review screen, click on the synchronize button and close the app. To open the app again the survey should be in quarantine.
step 2: Click on the new survey and wait until the push process is realized (checking quarantine surveys). Then complete questions and to exit from review two surveys should be visible in the list and every survey should have the correct values.
:floppy_disk: Requires DB migration?
[x] Nope, we can just merge this branch.
[ ] Yes, but we need to apply it before merging this branch.
[ ] Yes, it's already applied.
:art: UI changes?
[x] Nope, the UI remains as beautiful as it was before!
:pushpin: References
:gear: branches
app: Origin: maintenance/maintenance/newly_submitted_survey_not_show_in_list Target: v1.4_connect bugshaker-android: Origin: downgrade_gradle_version
EyeSeeTea-SDK: Origin: development
:tophat: What is the goal?
A problem reported by the Mozambique team (MZ test account: MZ_TEST_IPC / 1234). Basically some of the newly submitted records "never make it to the queue"
The problem is during the survey creation current survey in session is override by the push process. Then when navigate to review screen, really you are navigating to wrong survey review screen.
:memo: How is it being implemented?
Avoid reading the survey from session to open review:
Avoid reading the survey from session to complete survey process:
Avoid reading the survey from the session while you answer questions in survey:
Avoid writing survey in session from push process (quarantine check):
:boom: How can it be tested?
Configure emulator to poor connection
UseCase 1: step 1: Create a new survey fand complete all questions. After exiting from the review screen, click on the synchronize button and close the app. To open the app again the survey should be in quarantine. step 2: Click on the new survey and wait until the push process is realized (checking quarantine surveys). Then complete questions and to exit from review two surveys should be visible in the list and every survey should have the correct values.
:floppy_disk: Requires DB migration?
:art: UI changes?