Date: 17 August 2021
- Add new language: Bemba - #1567
Date: 18 June 2021
- Improve display submitted form instance - #1567 Released to all instances
Date: 19 May 2021
- Improve display submitted form instance - #1567
Date: 20 April 2021
- Bootstrap surveys verification - #1810
Date: 14 April 2021
- Outdated form version is used if the form is updated while drafts were already started - #1544
- Performance decrease when opening a datapoint - #1803
- Form version update tracking - #1806
Date: 05 April 2021
- Fix crash when adding datapoint - #1799
Date: 01 April 2021
- New datapoint FAB should take user to Registration form - #1790
- Answers not being saved and thus not being able to submit - #1787
Date: 11 March 2021
Date: 28 January 2021
- Simplify cascade usage - #1218
- Indicate in main menu that new survey forms are downloaded or updated - #1754
- Add Sidaama language - #1766
- Bootstrap is broken - #1768
Date: 29 October 2020
- Crash when trying to start BootstrapService in background - #1522
- Reorganize dependencies for dependabot - #1730
- Datapoint download overload issues - #1733
- Datapoint history tracking - #1743
Date: 23 September 2020
- Visually show that surveys have been updated or loaded - #636
- Crash when trying to start SurveyDownloadService in background - #1521
- Crash reported by Firebase related to permissions - #1717
- Location permission related bug - #1722
Date: 19 August 2020
- Crash related to FileChangeTrackingWorker - #1701
- Datapoint download fails when an image download fails - #1705
Date: 13 August 2020
- Upgrade to latest tools - #1635
- Accuracy when capturing geolocation data - #1680
- Fix small inconsistency with datapoint download - #1688
Date: 21 July 2020
- Data point list styling: date - #1604
- Replace deprecated crashlytics SDK - #1654
- Increase minimum api to 16 - #1658
- Update the offline map FAB - #1663
- New switch map type icon - #1668
- Cannot download many data points to the device - #1670
- Remove separator between toolbar and tabs - #1675
Date: 11 June 2020
- Auto Save for geoshapes - #1199
- Crash while creating geoshapes - #1632
- Geoshapes: allow point drag/move - #1634
- Geoshapes button improvement - #1637
- Make whole geoshape selectable - #1640
- Autoselect the last created shape - #1645
- Delete shape does nothing when no shape/point selected - #1647
- Map switching style error - #1655
Date: 28 May 2020
- Monitoring: Inform/Warn about submitting another monitoring form for the same data point - #1519
- Update French and Spanish translations - #1626
Date: 20 April 2020
- Visually indicate datapoints were downloaded recently - #1592
- Datapoint images download improvement - #1600
- Datapoint download message - #1599
- Datapoint list styling: date format - #1604
- Flow lists theme - #1593
- Fix form download does not start correctly on some devices - #1611
- Remove in app language setting - #1527
Date: 5 March 2020
- Stop removing unassigned datapoints - #1590
Date: 19 February 2020
- Monitoring: Downloading data points should also download images to the device - #1167
- Retrieve datapoints along with assignments - #1470
- Create data logic to download image from s3 - #1570
- Use the new image download logic - #1579
- Walkthrough for new datapoint changes - #1569
- Remove SurveyedLocale - #1472
- Improve gradle config - #1577
Date: 29 January 2020
- Add code coverage reports - #681
- Use https for flow support url - #1463
- Move crashes to firebase crashlytics - #1531
- Remove the need for password on Flow app - #1532
- Make sure to close the cascade database - #1535
- Crash in WebView with android 5 - #1551
- Optimize builds - #1553
- Datapoint submission stuck in Submitted state - #1572
Date: 18 December 2019
- Fix some codacy issues - #1517
- Empty repeated groups can be repeated - #1539
- Deleting a repeatable question group bug - #1540
- Filter out some sentry issues - #1545
- Repeatable groups get copied - #1555
Date: 19 November 2019
- Fine tune sentry exceptions - #1289
- Fix crash after pressing delete everything - #1520
- Fix language change stopped working - #1526
- Crash when trying to submit a signature question - #1533
Date: 30 October 2019
- Missing location data in image response - #1506
- Display image location instead of "geolocation saved" - #1480
- Small issues with data point name and ID pop up on the map - #1498
- App deployments are broken due to certificate not found - #1500
- Enable Bitrise CI - #1429
Date: 02 October 2019
- Review background work tasks and services - #1414
- Use offline maps when capturing geoshapes - #1447
- View geoshape using Mapbox - #1462
- Deleting offline region should also delete it's id if it was selected - #1468
- Creating a geoshape area with more than 3 points does not follow point order - #1483
- Deleting geoshape points - #1484
- Issues with geoshape metadata - #1485
- Starting foreground services now requires a permission - #1489
Date: 06 August 2019
- Crash when trying to create a geoshape in Android 9.0 - #1458
Date: 06 August 2019
- Offline maps - #238
- Display data points map using Mapbox - #1339
- Offline maps button - #1340
- Display dialog to chose from offline or live map - #1341
- Offline area creation - #1342
- Add details about offline maps to walkthrough - #1343
- Offline maps list - #1344
- Offline maps list actions - #1345
- Offline maps tracking - #1359
- Migrate to jetpack - #1365
- Move offline maps to separate module - #1421
- Abstract maps in datapoints - #1424
- View single datapoint also to use mapbox - #1426
- Testing offline maps - #1428
- Move values to another module - #1443
- Offline maps issues part2 - #1445
- Signature question not complete - #1446
Date: 04 July 2019
- Store app URL with https when deploying - #1379
- Update deploy jar with new changes - #1381
- Travis deployments fixes - #1399
- Corrupt zip files issue fix attempt - #1403
- External result is lost if activity is destroyed due to low memory - #1406
- Update Firebase config file - #1408
- Ensure new Data Point (Record) identifiers are 14 chars long - #1411
Date: 23 April 2019
- Integrate Firebase Test Lab - #1200
- Settings tracking - #1360
- Datapoint list tracking - #1361
- Connecting the issue no longer necessary in PR template - #1363
- Tests are broken on devices with android 4 - #1368
- Add tracking to about screen - #1374
Date: 26 March 2019
- Error downloading apk updates - #1355
Date: 20 March 2019
- Caddisfly images can be a folder - #1293
- Deleting a repetition with answers does not delete - #1294
- Add missing translations to app - #1307
- Form version inconsistency - #1324
- Remove old caddisfly implementation - #1335
- Some notification strings should not be translated - #1346
- Camera seems to be not found on some device - #1350
- Unexpected folder found when moving private files - #1352
Date: 28 February 2019
- Refactor ApkUpdateService to clean architecture - #537 Improve the code maintainability for apk update.
- Camera permission - #1232 Camera permission is no longer required.
- Storage permission - #1233 Require Storage permission at Runtime (only devices with Android 6.0 and later).
- Read Phone State Permission - #1234 Require Phone State permission at Runtime (only devices with Android 6.0 and later).
- Location permission - #1235 Require Location permission at Runtime (only devices with Android 6.0 and later).
- Media Uri permissions - #1252 Grant permission to use the media uri (for photo and video questions).
- Notifications channel for android 26 - #1261 Use a notification channel for devices with Android 8 and 9.
- Background services limitation for target api 26 - #1267 Making sure we comply with the background services limitations.
- Add UI tests for issue with images - #1320 Image questions now have UI tests.
- Add tests to form download logic - #1328 Form download logic now has unit tests.
- FormInstance mappers error - #1313 Mappers are now tested and no longer produce a crash.
- Android 8.0 Notifications vibration - #1330 Fix the excessive vibration on notifications.
Date: 19 February 2019
- Photo questions are all mandatory - #1318 Allow submitting forms when a photo question is not mandatory and is empty.
Date: 12 February 2019
- Add tests to data syncing logic - #1297 Unit tests added to data uploading logic to quickly detect errors.
- Corrupted files sent to s3 - #1298 Added checks after a file is sent to make sure it's not corrupted.
- Image checks and logic tests - #1304 Making sure image processing logic is tested and that only valid images can be submitted.
- Failed files seem to be processed several times - #1310 Fixed issue where some files were processed several times.
Date: 19 December 2018
- Crash related to incorrect OkhttptClient use - #1271 Avoid recreating okhttpClient but reuse them instead.
- Datapoint status not updated correctly - #1273 Datapoint syncing logic has been reviewed to avoid errors that could lead to status being incorrect.
Date: 13 November 2018
- Setting about mobile data usage - #1220 Mobile data setting now only used for uploading data.
- Update url under Terms of service - #1238 Using the correct url for terms.
- Remove settings migration - #1243 Removed old migration, no longer necessary.
- Send instance name to caddisfly - #1248 Sending instance name to Caddisfly for statistics.
- Fix debug multidex on old devices - #1254 Debug builds can now be run on older devices too.
- Removing an answer to an option question allows to submit even if mandatory - #1247 Fixed issue where after deleting a mandatory question answer, it did not show as missing.
Date: 09 October 2018
- Extract library versions to root build.gradle file - #845 Libraries versions are now all in the same file.
- Auto Save for geoshapes - #1199 When pressing back button, the non-empty geoshape will be automatically saved.
- Update gms and maps libraries - #1222 Update some libraries in order to support use of Mapbox maps.
- Empty geoshapes allowed - #745 Disable saving empty geoshapes.
- Empty username and deviceId allowed - #1211 Prevent possibility of empty user name and device ID when logging in.
- Option questions need more spacing - #1225 Increase spacing between options.
- TimeCheckActivity crashes - #1229 Fixed crash when showing dialog informing about a mis-configured time on the device.
- Code cleanup - #928 Remove unused video and image help types.
Date: 13 September 2018
- Form layout redesign - #1103 Improvement to form layout with cleaner and simplified design using material theme.
Date: 23 August 2018
- App version.properties got converted to CRLF - #1191 Fix the version.properties file.
Date: 22 August 2018
- Update sentry - #1083 Update the crash reporting library.
- Send form version inside data.json - #1133 Each submission will now have the form version included.
- Refactor data export and sync - #1152 Data export logic has been improved.
- Datapoint submission should generate data zip file - #1090 Zip file is now generated right after the form is submitted.
- Upload datapoints from one survey - #1138 Add an entry to the menu to be able to upload datapoints from the datapoints list or map.
- Take photo/video or select an existing one from your gallery - #1136 Photo and video questions now accept media files from the device library.
- Update leak canary - #1171 Update the memory leaks tracking library.
- Form viewing cascades - #979 Improve the cascades question view.
- Remove geocode - #990 Remove unnecessary field.
- Date UI confusing - #1074 Improve the date question view.
- Location validation does not prevent submitting - #1101 An invalid location can no longer be submitted.
- Non monitoring forms cannot be uploaded - #1184 Uploading is enabled for both monitoring or non monitoring surveys.
- Small issue with beta deploys - #1187 Fixed the 'fetch first' error when deploying betas with fastlane.
Date: 06 August 2018
- CI deploy for all instances - #1125 We can now deploy using Travis CI.
- Caddisfly images folder issue - #1129 An unexpected old caddisfly images folder was preventing the copying and removal of media files.
- Videos taken with the flow app are "added" to library - #1145 Video files taken for the Flow app are no longer added to the device public library.
- Caddisfly images are lost with recent version of the app - #1160 Caddisfly images are now uploaded correctly.
Date: 10 July 2018
- Data processing request includes the entire file path - #1147 Fix for newly submitted data points to be processed correctly.
- Remove unused method for old gps app - #1143 Remove an unused method.
Date: 05 July 2018
- CI deployment of release branch on uat1 for testing - #976 Now all commits to release trigger beta builds.
- Transmission keeps absolute path to files - #1084 Fixed issue where files were not found due to full path kept in database transmission table.
- Syncing in data points - #1116 Getting existing datapoints is now called "Download".
- Media files in saved forms - #1130 Fixed saved submission images were lost if updated to 2.5.0 before submitting.
- Remove transmission item for synced in datapoints - #1132 Removed display of confusing UUID which did not correspond to an actual file.
Date: 4 June 2018
- Secure collected data and images - #977 Collected data and media files are now stored in the app private storage.
- Add walkthrough for data storage privacy changes - #984 Added an introduction to explain the changes made to the storage of collected data and images.
- Exported data has to be saved to private app storage. - #991 Zip files are now generated in the application's private folder.
- Create a service to make existing public data private (move data from public to private storage) - #992 Old collected data was moved from public to private storage.
- Settings to temporary publish data - UI - #993 Added a section to the app settings to allow temporarily publishing collected data and media for manually upload to the dashboard.
- Media needs to be saved in private app storage - #1009 Videos and images are now saved to private app storage.
- Settings to temporary publish data - Logic - #1038 Added the logic to allow publishing of private files for manual data upload to the dashboard.
- Published files when device reboots - #1044 When device reboots, make sure the timeout for published files is not lost.
- Service to remove public data files - #1046 Once time runs out, published files are removed.
- Show loading while data is being published - #1048 Display a "loading" widget while the files are being published.
- Delete collected data and published files - #1049 When deleting collected data or deleting everything in settings, we also delete the published data.
- Update the ui with the latest progress - #1050 Display the remaining minutes left until the files are automatically unpublished.
- Secure data and images: filter out "saved" images when publishing - #1052 Images from "saved" submissions will not be published.
- Exported files folder - #1053 Published files will be located in the app public folder, different from where the original public files were located.
- Logic for deleting files and data - #1058 Added the logic for deleting the published media and collected data.
- Increase minSdkVersion to 15 - #1071 The minimum supported version is now API level 15 or Ice Cream Sandwich (4.0.3)
- Move published files to app public storage - #1080 The published files are now located in the public folder /Android/data/org.akvo.flow/files/.
- Update translations - #1119 Translations for French, Portuguese and Spanish have been updated.
- Fix video viewing - #1015 Video viewing has been fixed after moving media files to private storage.
- Errors when publishing private data - #1040 The expected error messages will be displayed when an error occurs during the data publishing.
- Videos can no longer be opened on devices with Android 8 - #1042 Fixed the issue with video files on Android 8.0 devices.
- Improve user handing in FlowApp - #1056 The handling of current user has been improved and cleaned.
- Cleanup SurveyDbAdapter and SurveyDbDataSource - #1059 Some unused methods have been removed.
- Publish data not available when minute 0 is still running - #1106 The remaining time is shown correctly until time runs out and data can be published again.
- Download form with ID and Redownload all switched - #1108 Fixed the issue where both settings had been switched.
- Replace image loading library - #1114 Using the glide image loading library which will reduce the number of OOM Exceptions.
- Remove unused resources - #1120 Removed some unused resources from the app.
Date: 24 April 2018
- Old devices and apk updates - #1093 Display a dialog for old devices that we will soon stop supporting.
- Save BuildConfig settings for the dashboard - #1092 Save settings for basic dashboard configuration.
- Add android build version code to deviceapprest call - #1091 Sending android build version to the backend.
- Add dexcount plugin - #1082 Checking dex file size when building the app.
- Inconsistent datapoint states - #618 Datapoint states are now easier to understand.
- Confusing dialog after survey submission - #617 Removed the dialog which was shown after pressing submit.
Date: 03 April 2018
- Add Pijin and Tok Pisin to languages list - #1062 These 2 new languages can now be used in the app.
Date: 08 March 2018
- Split MediaQuestionView into Video and Image - #1000 Separated video and photo question types in 2 different views.
- Remove SurveySyncBroadcastReceiver - #898 After the navigation drawer refactor, this class could be removed.
- Create user dialog layout - #817 New layout for creating users.
- Create user behaviour - #816 Improved the logic behind user creation.
- Edit user dialog layout - #815 New layout for editing users.
- Rules around deleting a user - #814 Improved logic for deleting users.
- Navigation drawer layout - add divider - #809 Added divider between the 2 navigation drawer sections.
- Navigation drawer refactor - #808 The navigation drawer logic and layout has been refactored for a cleaner logic and an improved layout.
- Improve survey deletion dialog - #705 Improved logic and layout of survey deletion dialog.
- New users layout - #670 The user header of the navigation drawer layout has been improved.
- Selecting surveys and users is hard - #1031 Increased the clickable area of the survey and user items for easier clicking.
- MapFragment centerMap method needs improvement - #1028 Refactored a method in map fragment.
- When first logging in the menu is not displayed correctly - #1027 Fixed the menu not being displayed correctly after the first login.
- When Caddislfy result is empty or a String the app crashes with JsonSyntaxException - #1024 Fixed a crash related to an unexpected caddisfly answer.
- Unable to start gcm Task due to null intent - #1021 Fixed crash related to Gcm Tasks.
- Improve image resizing to mitigate OOM - #1005 Improved the image resizing logic after a picture is taken.
- Sync data receiver is not secure - #996 Secured data sync receiver.
- Full photo not shown in full screen - #989 Fixed the full size photo display.
- After deleting everything and logging back in, the old survey is still selected - #912 After deleting everything, the views are now reset.
Date: 15 February 2018
- Pull latest strings for the app - #1013 Updated strings for French, Spanish and Portuguese.
- App settings changes - #994 Made the settings title and section more consistent.
- Flow app UI testing - #930 Added Flow ui app testing for the forms section.
- Add leak canary library to debug builds - #850 Added new tool to track memory leaks in debug builds.
- Remove ScoringRule - #975 Removed unused class.
- Move signature temp files to internal storage - #970 Signature image files now secure in app private storage.
Date: 25 January 2018
- Pull latest strings for the app - #985 Translations for some languages have been updated.
- Confirm overwriting geolocation data - #981 Before overwriting existing gps data we will request user confirmation to prevent accidental deletions of location.
- Update copyright to 2018 - #980 Copyright year has been updated to use current year generated at build time.
- View filled survey responses improvements - #949 Removed unnecessary buttons from read-only response viewing screen.
- If Image or Video taking fails nothing is displayed - #972 Show an error message when image or video acquisition fails.
- Use app dedicated public storage for apk files - #968 APK files are now stored in app dedicated public storage.
- Form files seem to have been deleted from the device - #959 Form files are now stored inside app private storage (not accessible to other apps).
- Video file not found on sony experia - #612 Fixed error when on sometimes the video URI was not correct.
Date: 14 December 2017
- login screen tests - #936 Added tests to the login screen.
- Improve copy for new update message - #903 The message inviting to update the app is now shorter and clearer.
- Update Sentry Android SDK - #789 Using the new sentry library to send error logs.
- Improve upload-apk module - #946 The upload-sdk module has been improved.
Date: 06 December 2017
- Revert reload all surveys setting - #953 The reload all surveys setting has been reverted to previous state which will allow the user to recover from missing forms error by force reloading all the forms.
Date: 23 November 2017
- Inform the user when there are no data points to sync in - #922 A SnackBar message is now displayed when there are no datapoints to sync.
- Build config changes for android studio 3.0 update - #913 Updated build scripts for faster builds.
- Add tests for response viewing - #907 Viewing responses is now covered by unit tests.
- Survey bootstrap should be triggered automatically if possible - #635 When new surveys are pasted in the inbox folder, the bootstrap processing starts automatically without the user having to restart the app.
- Fix build scripts after gradle update - #932 Some fixes were required after android studio update.
- Reload all forms (phase 1) - #923 The option 'Reload all forms', inside 'Settings', now works the same way as restarting the app and no longer requires a code.
- Script app/sh/install.sh - #811 Removed unused file.
Date: 02 November 2017
- View image in full screen - #833 Images from image questions can now be viewed in full screen.
- Simplify delete dialogues in geoshape editor - #787 Geoshapes delete dialog messages have been simplified.
- Search - no results found - #752 The whole search data points interface has been redesigned.
- What to do when GPS Status is not installed - #517 If the GPS Status app is not installed, the user will be offered the possibility to install it.
- Translations for 2.4.1 - #909 Spanish and Portuguese translations have been updated.
- Pre-fill not working - #904 The pre-fill option issue has been fixed.
- Wrong exception throwing when assignment missing - #895 When the assignment is missing, the user will see a specific error message.
- App flickering on certain devices - #847 The issue of the application starting to flicker on some devices has been fixed.
- Imported data shows "null" for submitter - #620 The data imported via the importer, will now display IMPORTER as username.
Date: 18 October 2017
- Missing datapoint history - #899 Fixed answers missing in point history.
- Unable to delete saved answers (crash) - #893 Fixed a crash when deleting saved entry in history tab.
Date: 16 October 2017
- Update French translations - #885 Updated French translations.
- Improve the way dashboard configuration is stored/used - #848 Avoid constantly reading config file for any immutable dashboard configuration.
- Improve UI for syncing in data points - progress spinner - #822 Progress bar showing data points are being loaded has an improved design.
- Display user friendly dashboard url in Settings - #804 The url displayed now includes the dashboard name.
- Simplify Check SD Card State - #803 Simplified the way remaining memory space is displayed.
- Reorganize the settings screen in a logical way - #501 The settings screen has been redesigned.
- Unable to install app 2.4.0.1 on old devices - #882 Fixed the issue where the application could not be installed on devices with android 2.3.x.
- Data point History shows no answers - #873 Fixed some answers were missing from the data point history.
- Toolbar back navigation is slow to respond on some older devices - #863 Fixed toolbar touches slow to respond on devices with android 2.3.x.
- When deleting collected data selected survey still displays datapoints on map - #846 Fixed map not updated after all collected data was deleted.
- More than 1000 datapoints crashes with OOME - #844 Optimized data point syncing performance to avoid crashes.
- Endless syncing in data points for large survey forms - #843 Fixed issue where data point sync never stopped.
- Datapoints from wrong survey are sometimes displayed - #841 Fixed data points from wrong survey displayed after another survey was selected.
- After deleting everything, users and surveys, the previous survey title still shows - #790 After deleting everything, the user is now taken to the login screen.
Date: 06 September 2017
- For only monitoring assignments, cannot submit a form if no previous monitoring ones submitted - #855 Once the registration form has been submitted, you can create monitoring forms even if the registration form has not been assigned to your device.
Date: 31 August 2017
- Add Dutch as a new language for the app - #812 From now on, the app is also available in Dutch.
- Add help section - #798 Direct access to the support website from the navigation drawer.
- Basic survey question test - #613 Basic question type surveys are now tested.
- Portrait photo shown in app UI as landscape - #832 Photos are now displayed correctly for both portrait and landscape images.
Date: 10 August 2017
- Add help section - #798 Direct access to the support website from the navigation drawer.
- New screen for empty surveys - #621 The datapoints list empty screen has been redesigned.
- Improve datapoint sync layout - #583 The datapoint display and sync layout has been redesigned.
- Viewing single data point on map UI - #821 Fixed issue when datapoint map had no toolbar.
- When adding new datapoints they do not show on the map - #728 When adding a new datapoint, it will be displayed on the map correctly.
- Repeated groups delete button can delete the questions of the whole group - #651 Deleting the last iteration of a repeated group no longer deletes all the group questions.
- DatabaseHelper upgrade method - #646 Improved the code of the database helper upgrade method.
- Answers in repeated groups not shown in point History - #600 All the answers are now displayed correctly.
Date: 20 July 2017
- Remove Power management from Settings - #795 You can no longer turn off wifi using the app settings section.
- About page access - #771 The about page is now accessed from the hamburger side menu.
- SurveyActivity move "+" menu entry to FAB - #669 New floating action button to add a datapoint.
- Release information missing in sentry after moving to the new SDK - #777 Fixed missing release information for crash reporting.
- On some old devices, error messages have white text over white background - #750 Fixed error messages background on phones with Android 2.3.
- GeoQuestion view: Fix crash related to SnackBar on some devices - #743 Fixed random crash related to SnackBar when displaying error messages.
- Code cleanup: remove old and/or unused code - #571 Cleaned up and removed unused code.
Date: 29 June 2017
- Update translations - #762 Translations for Portuguese, Spanish and French have been reviewed.
- Signature question view design - #751 The signature question view has been redesigned to make it easier to use.
- New About page - #595 The Flow app now has a new About Us page.
- Take user to play store when Barcode Scanner is not installed - #512 For barcode questions, if a user does not have any scanner app installed, he will have the chance to be redirected to the Play Store in order to pick one of the available apps.
- Screen rotation by point lists shows wrong points - #767 Fixed the issue where a wrong survey was selected after the device was rotated.
- Cookstoves and Biogas app styling - #759 The Cookstoves and Biogas flavours now have the correct app styling.
- Manually entered barcode does not get saved for unsubmitted forms - #749 Fixed manually entered barcode not being saved when a form was not immediately submitted.
- Signature question not properly saved in unsubmitted forms - #748 Fixed signature name not properly saved when a form was not immediately submitted.
- Geolocation manually edited text fields do not get properly saved for unsubmitted forms - #747 Fixed manually entered location fields not properly saved when a form was not immediately submitted.
- After removing form answers, the datapoint still shows if the back button is pressed - #742 Datapoint no longer shows if all its answers have been cleared.
- Transmission history after datapoint is synced - #737 Fixed inconsistent transmission state after the datapoint was synced.
- IllegalStateException in FormActivity - #552 Fixed random crash inside FormActivity.
Date: 13 June 2017
- Cookstoves and Biogas app icon is wrong - #757 Restored both app icons to the correct one.
Date: 08 June 2017
- Remove validation code for free text question types - #709 Removed unused validation code.
- Sentry improvements - #666 We are now using the official raven-android library and have further filtered out some unnecessary exceptions.
- Crash related to option question - #739 Fixed crash related to question options when those contained no options.
- App icon is huge - #722 The app icon is now a mipmap and has alternative sizes for different screen resolutions.
- Crash in CascadeQuestionView - #716 Fixed random crash related to cascades.
- Crash in RecordActivity - #655 Fixed crash in record list after a record was deleted.
Date: 25 May 2017
- Long form names do not look nice on some devices - #727 Long form names in the navigation drawer now have a small right margin.
- Pressing back with the navigation drawer shown closes app - #711 Fixed the issue with pressing the back button when the navigation drawer was being displayed.
- NumberFormatException: Invalid long: "21474836472147483647" - #701 Fixed issue with excessively long numbers which no longer wil be accepted.
- GeoQuestion Location Invalid Input - #679 Manually input coordinates are now verified before submission.
- Crash: NullPointerException when trying to open FormActivity - #637 Fixed a crash when trying to view a deleted datapoint.
Date: 27 April 2017
- Transmission History improved - #695 The transmission screen has been redesigned.
- App ToolBar color change - #668 The toolbar of the whole app has been redesigned respecting google material design and Akvo colors.
- Data point distances are back - #710 Restored display of distances to the datapoint list.
- Selected survey background no longer grey - #704 Removed grey background when a survey is selected.
Date: 13 April 2017
- Crash when loading geoquestion: NumberFormatException: Invalid double - #697 Fixed crash due to unexpected double formatting in some geolocation questions.
Date: 10 April 2017
- Improve UI for when searching for location - #673 Improved the look of geo question: it is now clearer when you can input the coordinates manually.
- Add dependency injection with dagger 2 - #534 First step to introduce dependency injection.
- Show Caddisfly result in more meaningful way - #470 Caddisfly test results are now displayed with the actual test values.
- GeoQuestion Location Timeout - #675 If the location fails to be retrieved, you will now see a SnackBar which will allow you to retry.
- Remove "searching" textView - #674 The "searching" text was confusing and has been removed.
- Simplify dialogue for failed GPS search - #672 The dialog prompting for enabling the GPS setting now has a clearer message.
- Date Picker using GMT formatting by default - #662 Fixed the issue where a wrong day was displayed for some timezones.
- Crash when attempting to display the gps dialog - #656 Fixed the crash when the device was rotated while the GPS prompt dialog was displayed.
Date: 16 March 2017
- Automate release note creation - #604 Release notes can now be generated faster with a script.
- Create 3 modules for the layers of the app - #535 This is the first step of refactoring the app to 3 layers app/domain/data.
- Review some exceptions being sent to sentry - #633 Filtered out exceptions that were not useful to reduce traffic.
- Data sync notifications phase 1 - #584 Removed notifications when datapoints are being sent to the server.
- Languages: Find a better way to handle languages - #576 Improved language settings per survey and moved languages to the language table.
- Languages: When switching surveys the previous survey languages are displayed - #575 Fixed issue when survey languages were displayed for all the surveys at the same time.
- Database refactor phase 1 - #544 User preferences have been moved out of database into SharedPreferences for faster access.
Date: 23 February 2017
- Improve crash reporting - #551 and #615 Crashes are now sent to sentry.io instead of google app engine. This will improve our crashes and error tracking to debug and fix issues faster.
Date: 15 February 2017
- Offline survey export: files folder missing - #614 Fixed the issue where for surveys with a slash in survey name, the collected data zip file was not generated.
Date: 19 January 2017
- Update play services - [#508] (#508) Using Google Play Services version 7.5.0 with new features and bug fixes.
- Add basic lint configuration - [#532] (#532) Lint can now be run before building the app.
- Move Version code and name to properties file - [#555] (#555) It is now easier to increase version name and code.
- Remove location beacon sending - [#550] (#550) The location beacon sending feature, disabled by default, has now been completely removed.
- Design changes after update of support library - [#559] (#559) The Android Support Library has been updated to version 25.0.1 with multiple cosmetic improvements and fixes.
- Replace Akvo FLOW by Akvo Flow string - [#564] (#564) The app naming is now consistent everywhere in the app.
- Pull latest translations from Transifex - [#589] (#589) The translations have been updated.
- Change the query type for the data point search - [#467] (#467) You can now easily search for a data point using any of the name fields, not just the first word.
- Error notification icon is shown as empty white circle - [#486] (#486) Notification look has been improved with new icon and colors.
- When notifications have long text, only one line is shown - [#519] (#519) Notifications can now be expanded on newer devices and the text has been made clearer and shorter.
- Error notification too long for unsuccessful syncing of data points - [#560] (#560) Notifications for data point syncing errors now have shorter text (similar to #519).
- Syncing imported data points - [#526] (#526) You will be notified if the data points were not synced correctly.
- When device is rotated user is shown the download update dialog again - [#499] (#499) You will no longer be constantly shown the update dialog when rotating the device.
- How to notify user of available updates - [#578] (#578) Related to #499, the update frequency and user notification of new updates has been reduced.
- Form name does not wrap - [#521] (#521) Long form names are now displayed correctly.
- "About Akvo" is outdated - [#545] (#545) The "About Akvo" screen now shows up to date information.
- Long cascade options do not wrap - [#568] (#568) Long cascade names are now visible in full.
Date: 24 November 2016
- Add possibility to update the app from the settings screen - [#500] You can now go to the Settings screen and check for updates for the app and whenever you chose so.
- Improvements to login screen [#469] - We have made it easier to navigate between text input fields. Use the softkeyboard keys to go the the next field and to send the data when all done.
- Remove the text input field for barcode questions when manual input disabled [#460] - We removed the confusing non editable text input when manual input is not allowed.
- Facilitate debugging using the same debug key [#509]
- Allow debugging the app directly from Android Studio [#491] - We have made it easier to debug directly using android studio and provided instructions in the wiki.
- Moved non translatable strings to a separate file [#480]
- Added unit tests support [#305] - You can now run unit tests, just follow instructions provided in the wiki.
- When device is rotated do not show the user is logged in [#498] - We no longer show the Toast message saying the user has been logged in every time the device is rotated.
- Surveys with the same name failed with manual transfer [#476] - We have fixed the issue and you can have multiple forms with the same name and manually transfer them with all the questions displayed correctly.
- Added translations when there was an error synchronising a file [#487] - We have provided translations for this error message.
- Do not check for notifications before deviceId is set [#484] - This is the second part of [#454] and prevents the device from syncing if there is no deviceId set.
Date: 8 November 2016
-
Nepali translations [#330] - We have introduced Nepali as a new language in the app, and in addition updated translations in a number of the other languages [#478]
-
Use new Flow app icon [#466] - We have updated the Flow icon in line with the new Akvo-wide design guidelines
-
Caddisfly question type [#421] - As part of the integration of the Akvo Caddisfly app with Akvo Flow, the app now recognises a
caddisfly question
as a new question type
-
Do not check for new surveys before Device ID is set [#454] - This fixes the issue where it was not possible to identify a device in the dashboard because it was missing the user-defined device identifier. This was caused by the app connecting to the dashboard before the identifier was setup correctly within the app, and as a result, transmitting an empty field instead of the device identifier
-
Remove unused geopoint code [#461] - A cleanup of the system to remove unused parts of the application
Date: 20 July 2016
- Added Khmer language to the list of available app languages [#447]
- Fixed a wrongly translated string in vietnamese [#452]
Date: 3 June 2016
- Improve data upload performance [#443]
- Add androidId to surveyedLocale sync requests [#441]
- Integrate TimedLocationListener on GeoLocation questions [#439]
Date: 6 May 2016
- Disable manual editing on locked barcode questions
Date: 20 April 2016
- Serialise image location as part of media question responses [#402]
- Fix date question GMT offsets [#403]
Date: 11 March 2016
- Ensure cascade responses are always complete [#425]
Date: 29 February 2016
- Indonesia Bahasa and Portuguese translations [#410]
- Automatically add geotagging to image responses [#402]
- Enforce Device ID setting on app's first run [#395]
- Ensure mandatory option questions are always filled in [#411]
- Device rotation flickering [#151]
Date: 4 January 2016
- Multiple barcode questions show each value's order within the response [#389]
- Location beacons are disabled by default [#384]
- Signature question type is now available [#380]
- Codes support in option questions [#367]
- Branded apps (SNV only) [#388]
- Vietnamese translation added [#372]
- Fix geoshape questions in repeatable question groups [#394]
- Handle invalid cascades more gracefully [#382]
Date: 30 November 2015
- Bring back manual survey deletion [#379]
Date: 11 November 2015
- Fix backwards compatibility in cascade questions [#371]
- Fix datapoint name generation in cascade questions [#373]
- Display form version [#365]
Date: 23 October 2015
- Usernames cannot be left empty. New users are automatically selected [#357]
- Fix number of datapoints synced in the notification [#358]
- Rearrange photo preview layout [#362]
Date: 19 October 2015
- Cascade codes: Cascade questions support user-defined codes [#317]
- Simplified UI/UX: The app interface has been overhauled, defining a simplified workflow for regular (non-monitoring) surveys. You can read more on this in the official documentation [#336]
- Disable edit features in read-only mode [#349]
Date: 9 September 2015
- Repeatable Questions Groups: Enumerators can make use of these dynamic groups. They provide a simple way of defining grid-like questions. For more details on this feature, see the documentation [#257]
Date: 18 August 2015
- Clicking on the map does not unselect a geoshape [#334]
- Improve notifications readability [#328]
- Unlimited response length [#326]
Date: 27 July 2015
- Cascade questions can now be flagged as datapoint name [#316]
- Improve notifications visibility in Android 4+ [#318]
- Send extra data to external sources intent (a.k.a Caddisfly) [#320]
Date: 8 July 2015
- Forms deleted in the dashboard are disabled in the app [#304]
- Hindi language can be selected for the app UI [#312]
- Multiple barcode questions can be answered with an external bluetooth scanner[#299]
- Submitted questions are not editable [#307]
- Handle registration form updates (monitoring surveys)[#310]
Date: 10 Jun 2015
Resolved issues:
- Reduce expected error (network issues) reports [#290]
Date: 14 May 2015
- Data is now serialized using JSON encoding [#291]
- Tetum language is now available in survey translations [#294]
- Date question responses cannot be modified on submitted forms [#295]
Date: 24 April 2015
- Fix two unexpected app crashes [#287 and #285]
#ver 2.1.4 Date: 2 April 2015
- Form download process display more meaningfull error messages [#276]
- Datapoint names are truncated if the resulting size is larger than 500 characters [#278]
- Prevent form imports from the wrong instance [#242]
#ver 2.1.3 Date: 17 March 2015
- Geoshapes editor displays a GPS position accuracy indicator, with a green/red color based on the accuracy threshold [#272]
- Datapoint name generation removes leading/trailing hyphens and space characters [#273]
#ver 2.1.2.1 Date: 24 February 2015
- This hotfix release fixes a monitoring survey sync issue that arises when no SIM card is present [#270]
#ver 2.1.2 Date: 20 February 2015
- Synchronised datapoints (monitoring surveys) can now get the media responses downloaded (images and videos) [#96]
- Lack of GPS results no longer in an app crash [#262]
- Option values trailing spaces are now handled correctly. This caused some dependent questions to not be displayed [#261]
- Manual entries in geoshape features display a confirmation dialog [#236]
- Add
androidId
unique identifier to device attributes [#259]
#ver 2.1.1 Date: 28 January 2015
- Integration of geographic shapes. This allows the user to collect points, lines and polygons in a map [#236]
- Missing (and invalid) responses shortcut from submit tab. Click the new edit button, which will take you directly to the relevant survey group [#251]
- Alphabetically order surveys and forms [#244]
- Alphabetically order cascade values [#245]
#ver 2.1.0.1 Date: 15 January 2015
- Dependent questions whose parent question allows multiple values had some hidden visibility issues. This is fixed now [#239]
- Cascade resource's inconsistent level number caused an app crash [#246]
#ver 2.1.0 Date: 15 December 2014
- Form download errors are more accurately displayed, showing plain English notifications depending on the error type [#206]
- Cascading question type is fully integrated, automatically managing dependent resources. Form offline synchronisation (bootstrap) also handles these resources [#204]
- 'Projects' are now called 'Surveys', according to the new project structure design in FLOW [#233]
- Minor wording regression [#216]
- Refactor HttpUtil [#217]
- Help icon is barely visible [#230]
- Read survey name from survey assignments [#232]
- Check connectivity status before issuing the location beacon [#223]
#ver 2.0.5.2
- Exported files are recreated if the app does not find them in the external storage [#222]
#ver 2.0.5.1
- Barcode questions allow batch scans, storing multiple, concatenated values in the same question response [#211]
#ver 2.0.5
- App warns users of date/time setting misconfiguration. An accurate date is mandatory for proper data synchronization [#205]
- History tab now displays form submitter name [#193]
- Clustering integration in the map tab. This makes data point browsing much friendlier [#186]
- Questions can define an external source attribute, which enables third party apps to answer FLOW questions. This has been primarily implemented to integrate the Caddisfly software workflow with FLOW [#164]
- App rotation bug [#200]
- Reload all surveys now handled any survey synced in the app, regardless of its original sync method (assignment, manual download or bootstrap) [#196]
- Clear answer on option questions [#209]
#ver 2.0.4
- #179 - Give user possibility to update later
- #191 - Validate username
- #187 - Response deletion bug
- #182 - More intuitive feedback on sync
- #181 - Fix geolocation question edge case bug
#ver 2.0.3.2
- #175 - Check file existence before sync (Fixes NPE)
#ver 2.0.3.1
- #173 - Make S3 communication stricter (Hotfix)
#ver 2.0.3
- #167 - Empty forms cannot be submitted
- #166 - Font colour blends with background
- #160 - Revert all-caps policy in projects/survey titles
#ver 2.0.2
- #160 - Display uppercase form titles
- #157 - Automatically refresh Data point list
- #155 - Enable double entry for number questions
- #153 - Workflow simplification
- #154 - Currently possible to submit multiple responses for non monitored surveys
- #121 - Reading data from S3 buckets requires authentication
#ver 2.0.1.1
- #151 - In-app locale change might end up in endless 'flickering'
#ver 2.0.1
- #144 - Do not reuse HTTP connections
#ver 2.0.0
- #126 - Bootstrap functionality is not ready yet in the new app
- #123 - NPE when the Question Group has no questions
- #122 - Survey Group does not get deleted on "Delete Everything"
- #120 - Bogus filesystem stats
- #119 - Provide alphabetical order option in Data Points list
- #117 - Immediately notify server after Device ID update
- #115 - Implement new file naming convention
- #113 - Resize of images removes rotation information
- #110 - Make Data Points synchronization atomic
- #108 - App crashes when opening a monitoring group and GPS is disabled
- #104 - Disallow question navigation through keyboard's 'Next' button
- #103 - Allow text-based server changed
- #100 - Split regular Survey Group's forms into different Projects
- #98 - Clicking cancel on "Other.." popup for option questions
- #97 - App Redesign
- #95 - Change 'Save and start new' to only 'Save'
- #94 - Force login to interact with the app
- #93 - Delete empty Records
- #92 - Delete empty SurveyInstances
- #91 - Update Record info through Registration Survey
- #90 - Port double entry functionality to Monitoring Features branch
- #89 - Display feedback on wrong answers
- #87 - Users can ignore number question invalid responses
- #85 - Disallow users from downloading monitoring surveys w/o assignment
- #79 - Select maximum image size from within the app
- #77 - Use a single 'Sync over 3G' preference
- #67 - Keep track of Survey Instances in exported zip files
- #58 - Add feedback in case of empty lists
- #52 - Monitoring Features: Provide 'Recently Used' records
- #51 - Rename application
- #43 - Refactor: Survey Display
- #32 - Point Updates
- #20 - Provide localized Strings
- #101 - Last Response time is null when a saved response is stored (Monitoring Features)
- #23 - Survey titles containing commas (,) are not parsed correctly
- #125 - Improve notifications readability
- #96 - Media files synchronization
- #59 - Change screen change animation to left-right movement
#ver 1.13.3
- Add 'Quiche' language support (#75)
- Fix 'Clear' menu option within a survey response (#74)
#ver 1.13.2
- Accurately compute survey duration (#69)
- Cleanup failed APK downloads (#71)
#ver 1.13.0
- Implement Double Entry functionality (#40)
- Handle app upgrade from within the app (#61)
- Improve reliability of data transfer to S3 (#56)
- Unused code and features clean up (#49 and #50)
- Images were always marked as 'Sent' (#55)
- Restrict the TEXT question length to 500 chars (#48)
- Add the proper Mime Type depending on the file (#64)
#ver 1.12.1
- Recompute survey langauges when upgrading from an old version (Issue #34)
- Fix memory leak in Dialogs (Issue #33)
#ver 1.12.0
- Data deletion option (partial or total) in Settings (#2)
- Remove unused assets and general cleanup (#4)
- Performance improvement in the communication between FLOW and Amazon S3 (#9)
- Remove duplicate images from DCIM directory in sd card (#11)
- Notify the user and close the app if no external storage is found (#21)
- Record survey duration (#28)
- Go back to Home Screen after survey submission (#30)
- GPS keeps working when the application is no longer active (#1)
- HttpUrlConnection converts request headers to lowercase (#13)
- File upload stalls at 99% (#15)
- Avoid recreating the list every 10 seconds in survey transmission history (#26)
#ver 1.11.1
- Change accuracy threshold of device GPS to 25 meters and stop checking for location after threshold is reached (#301)
- Check HTTP response's ETag to ensure an upload to Amazon S3 has been successful (#303)
#ver 1.11.0
- Update available survey languages on device to dynamic list that builds according to languages available in the survey xml for all surveys currently assigned to the device (#259)
#ver 1.10.6
- Fix bug where device ID and other fields would accept line breaks and tab characters, which could generate broken data.txt files (#255)
- Always include serverBase from survey.properties in server selection. Makes instance builds independent of res/values/arrays.xml
#ver 1.10.5
- Prevent display rotation from forgetting a taken photo (#118)
- Fix survey status partially-successful icon bug (#183)
#ver 1.10.4
- Notify user when SD card nearing capacity (#208)
#ver 1.10.3
- Report OS version to server in beacon call (#204)
#ver 1.10.2
- Automatically shrink photos (#188)
- Warn about large media files (#182)
- report IMEI to server (#xxx)
#ver 1.10.1
#ver 1.9.36 8 July 2012, co
This release contains improvements to the FLOW Field Survey application related to the storage of files on the device, a new keystore for app generation for easier installation of updates, and a new feature to allow users to scan barcodes from within a survey on the application.
A new question type that allows users to scan a barcode from inside their FLOW survey while collecting data in the field. The user selects the question type from the Survey Manager on the Dashboard when creating a survey, and then on the device this question prompts the user to "Scan Barcode," which calls an external barcode scanning app, and then populates the text field with the barcode number. REQUIRES an external barcode scanning app to be installed on the device. Barcode scanning apps that have been tested for this feature are: ZXing and QuickMark.
Users can now store very large numbers of survey zip files and photos on their device's SD card. This is necessary when data collectors are going for long periods offline, where surveys must be stored on the devices for later upload. Since there is a limit for the number of files that can be stored in each directory independent of SD card storage capacity, this is achieved using a new file structure that distributes the files into multiple directories, instead of just storing them in the SD card root directory as before.
GitHub issue: 16
Created and distributed a release keystore along with instructions for use so that there is a single signature for the Field Survey application. This solved the problem from previous versions where, when multiple keystores were used to generate the app, users would face a signature conflict when trying to update the app on the device that forced them to uninstall the existing app before installing an update.
GitHub issue: 21
GitHub issue: 51
Barcode Scanning External barcode scanning apps (QuickMark, ZXing) crash or freeze in Android OS 2.1. As a result, we have not made this feature available for the apk running on 2.1. You can still enter barcodes manually into surveys when a barcode question type is present.
GPS Status App Cannot reliably launch GPS Status app from inside the Field Survey application running on Android OS 2.1 (Settings > GPS Status).
#ver 1.9.35
- Gray out "Scan Barcode" button in apk running on OS 2.1 (#59)
- Fixed bug where email address of user not displayed correctly in user management
- Create initial test scripts for the apk (#37)
- Modify apk signature to eliminate signature conflicts that forced some users to uninstall before updating application (#21)
- Add ability to scan barcodes from app (#17)
- Fixed a defect where device users that exceeded the SD card file directory limits were losing data when directories were full (16)