Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Released on

Expected: Late May August 2023

New features

None

Bug fixing

  • App crashes when sharing the action plan in other languages

  • Overlapped text in assessment when no survey is found

  • Duplicated label when no there is no survey to display

Changes

  • Event sync feature background services refactor.

  • Push service

What is this change about

  • Up to version 1.6.15, there were three type of services used in HNQIS.
    SurveyService (technically using what's called an IntentService in Android): used to actions related to surveys (retrieve sent surveys, retrieve unsent surveys, create Survey …)

  • PlannedSurveyService (also using an IntentService). They are there to load planned surveys in the first tab

  • PushService (technically using what's called a JobIntentService in Android). This one was in charge of sending surveys to dhis2 when the app is in background

A problem has been present since Android Oreo (Android 8.0, 2017). https://developer.android.com/about/versions/oreo/background. Since that version, starting services from background was no longer possible using the services that HNQIS was using (IntentService & JobIntentService). They only worked on foreground. Background calls were producing silent crashes in the hundreds. Additionally, JobIntentService had already been labelled as deprecated in Android documentation:
https://developer.android.com/reference/androidx/core/app/JobIntentService

Solution: Android Support Library 26.0.0 (part of Android 8.0, 2017) introduced a new JobIntentService class, which provides the same functionality as IntentService but uses jobs instead of services when running on Android 8.0 or higher.

The refactor implemented in HNQIS 1.7.X turns push procedure into a Worker, that can run in background and is now fully supported.

Notes for testing:
The screens listed below are now using the re-written service, hence testing should focus on those screens:

  • Planned surveys screen

  • Planned survey by org unit

  • In progress surveys

  • Sent surveys

  • Feedback

  • Survey creation

  • Monitoring

  • New survey

Known issues

  • The deprecated services were producing several background app crashes. This change should eliminate most of those crashes once the application is deployed. Hence, the number of crashes recorded in HNQIS’ Firebase logs should be significantly reduced after the deployment of the app.

APK

1.7.1

...