Skip to content

Commit

Permalink
Merge pull request #3186 from dhis2/release/2.8.1
Browse files Browse the repository at this point in the history
Release/2.8.1
  • Loading branch information
andresmr committed Jun 7, 2023
2 parents 5cd89e0 + cc2ab1e commit 5386ddf
Show file tree
Hide file tree
Showing 282 changed files with 2,290 additions and 2,215 deletions.
24 changes: 21 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ pipeline {
}
steps {
script {
echo 'Running unit tests'
echo 'Running unit tests on App Module'
sh './gradlew testDhisDebugUnitTestCoverage'
echo 'Running unit tests on all other modules'
sh './gradlew testDebugUnitTest'
}
}
}
Expand All @@ -49,7 +51,23 @@ pipeline {
steps {
script {
echo 'Building UI APKs'
sh './gradlew :app:assembleDhisUITestingDebug :app:assembleDhisUITestingDebugAndroidTest'
sh './gradlew :app:assembleDhisUITestingDebug :app:assembleDhisUITestingDebugAndroidTest :compose-table:assembleAndroidTest'
}
}
}
stage('Deploy compose-table module Tests') {
environment {
BROWSERSTACK = credentials('android-browserstack')
compose_table_apk = sh(returnStdout: true, script: 'find compose-table/build/outputs -iname "*.apk" | sed -n 1p')
compose_table_apk_path = "${env.WORKSPACE}/${compose_table_apk}"
}
steps {
dir("${env.WORKSPACE}/scripts"){
script {
echo 'Browserstack deployment and running compose-table module tests'
sh 'chmod +x browserstackJenkinsCompose.sh'
sh './browserstackJenkinsCompose.sh'
}
}
}
}
Expand All @@ -62,7 +80,7 @@ pipeline {
test_apk_path = "${env.WORKSPACE}/${test_apk}"
}
steps {
dir("${env.WORKSPACE}/scripts"){
dir("${env.WORKSPACE}/scripts"){
script {
echo 'Browserstack deployment and running tests'
sh 'chmod +x browserstackJenkins.sh'
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# README #

[![Build Status](https://app.bitrise.io/app/c9d408d1d812ee38/status.svg?token=rRrRhauf6lNbXWnIIVbjnw&branch=master)](https://app.bitrise.io/app/c9d408d1d812ee38)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=dhis2_dhis2-android-capture-app&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=dhis2_dhis2-android-capture-app)

Check the [Wiki](https://github.com/dhis2/dhis2-android-capture-app/wiki) for information about how to build the project and its architecture **(WIP)**

Expand Down
55 changes: 14 additions & 41 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,28 @@
Android Capture App for DHIS 2 (v2.8)
Android Capture App for DHIS 2 (v2.8.1) - Patch version
<table>
<tr>
<td>
<img src="https://s3-eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/android-chrome-384x384.png" width="800">
</td>
<td>
The new <strong>DHIS2 Android App</strong> allows offline data capture across all DHIS2 data models. Data and metadata are automatically synchronized whenever there is internet access, always keeping the most relevant data for the logged user in the device.
The app is compatible and we support <strong>2.40</strong>, <strong>2.39</strong>, <strong>2.38</strong>. And has no breaking changes with <strong>2.37</strong>, <strong>2.36</strong>, <strong>2.35</strong> and <strong>2.34</strong>.
This is a patch version of the DHIS2 Android App It builds upon the last version including bug fixes that couldn't wait to the next version. It includes no functional improvements neither changes in the User Interface. It means that yours users can update without experiencing any change in the UI.
</td>
</tr>
<tr>
<td colspan="2" bgcolor="white">

## USER EXPERIENCE

**Resized dataset tables:** This feature allows users to resize the columns in datasets, making it easier to view and work with larger tables. Now it is possible to resize all columns by clicking on the header of the column. The resizing can be done through drag and drop. A maximum and minimum size limit is given for the columns that can be resized to ensure a good layout. Users can resize all columns at once by clicking on the top left of the table. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5153) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-Resizing-tables.png)

**New sync error navigation:** This version of the app improves the navigation of sync errors on the user interface. The app will display the sync errors in a simple and clean manner allowing the user to navigate from the home screen to the exact field that is causing the error inside the event or data set. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5088) | Screenshot

**Collected handwritten signatures for image Data Elements:** This feature allows users to collect handwritten signatures from the device. The signatures will be saved as an image data elements in the app. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-4986) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-Handwritten-signatures.png)

**Made phone number and email Data Elements actionable in the form and allowed external actions for phone number, email and URL value types:** This feature enables users to take action on phone numbers, email addresses, and URLs directly from the app, such as dialing a phone number or opening a web page from the event or enrollment data entry form. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-4291) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-Action-buttons.png)

**Improved visual configuration and rendering of option sets:** This feature improves the way option sets are displayed and configured when configured visualy by enabling render option sets with any value type as Radio buttons or check box and supporting other value types for visual data entry. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-4623) | [Jira2](https://dhis2.atlassian.net/browse/ANDROAPP-3370) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-Rendering-options-configuration.png)

**Added loading banners when actions take a long time to improve user experience:** This feature provides visual annimations to users when they perform actions that take longer than usual to complete, such loading maps or searching, so that they know that the system is processing their request. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5012) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-Loading-banners.png)

**Improved user experience for better functionality when offline:** This feature enhances the functionality of the app when it is used offline, ensuring that menus are disabled when the online actions are not available. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5032)

**Improved management of long texts:** This feature enables users to view long text in fields that are limited in size, such as a stage names or datasets headers. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5080) | [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5080)


## SUPPORT MOBILE IMPLEMENTATIONS

**Provided support for Android app version control from DHIS2 user interface:** This feature enables implementation administrators to manage and control the version of the Android app from the DHIS2 user web interface, making it easier to manage app updates and ensure compatibility with the DHIS2 system. Managers will be able to upload the desired version and users will get a prompt message to update when they are not in the last updated version. The management of versions is made through a new Web App. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-3288) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-APK-Version.png)

**Removed the maximum number of offline accounts**: This feature removes the limitation on the number of offline accounts that users can create, allowing them to work with as many offline accounts as needed. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-5011)

## WEB PARITY

**Supported file value type:** This feature adds support for file value type in the Android app, allowing users to attach files to their data elements or attributes. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-1992) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-File-value-type.png)

**Supported new tracker working lists (filter by DE):** This feature adds support for new tracker working lists that allow users to filter by data elements. The working lists need to be configured in web using the web Capture App. The Android app will download the working lists that are configured and saved on the server side. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-740)

## LMIS

**Integrated a new module for real stock monitoring use case:** This feature adds a new module for real stock monitoring use case to the app, enabling users to manage and monitor their stock levels in real-time. Integrating a module implies that the app will open a completely new and different user interface and experience to respond to a different data entry flow. To use this modules the program will need to be configured using the new web app for program use case configuration. [Jira](https://dhis2.atlassian.net/browse/ANDROAPP-4498) | [Screenshot](https://s3.eu-west-1.amazonaws.com/content.dhis2.org/dhis2-android/release+notes+2.8/release+feature+cards/Android-2-8-stock-management-tool.png)

## MAINTENANCE

**Bug fixing:** You can find the list of bugs fixed [here](https://dhis2.atlassian.net/issues/?filter=10402).
## Bugs fixed
* [ANDROAPP-5367](https://dhis2.atlassian.net/browse/ANDROAPP-5367) Analytics: verify support for Calculations
* [ANDROAPP-5365](https://dhis2.atlassian.net/browse/ANDROAPP-5365) Update rule engine to 2.1.8
* [ANDROAPP-5364](https://dhis2.atlassian.net/browse/ANDROAPP-5364) Handle map API calls when device doesn't have internet access but can access the dhis server
* [ANDROAPP-5361](https://dhis2.atlassian.net/browse/ANDROAPP-5361) Tracker infinite loading for program stage
* [ANDROAPP-5360](https://dhis2.atlassian.net/browse/ANDROAPP-5360) ForegroundServiceStartNotAllowedException
* [ANDROAPP-5359](https://dhis2.atlassian.net/browse/ANDROAPP-5359) RuntimeException: Unable to resume activity
* [ANDROAPP-5358](https://dhis2.atlassian.net/browse/ANDROAPP-5358) NumberFormatException: For input string: "No"
* [ANDROAPP-5356](https://dhis2.atlassian.net/browse/ANDROAPP-5356) LMIS back miss behavior
* This patch release updates the [Android SDK](https://github.com/dhis2/dhis2-android-sdk) to version 1.8.1.

**Bug fixing:** You can find the list of bugs fixed [here](https://dhis2.atlassian.net/issues/?filter=10417).

</td>
</tr>
Expand Down
40 changes: 9 additions & 31 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
plugins{
plugins {
id 'com.autonomousapps.dependency-analysis' version "1.19.0"
}
apply plugin: 'com.android.application'
Expand Down Expand Up @@ -46,8 +46,8 @@ android {

sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/src']
resources.srcDirs = ['src/androidTest/src']
java.srcDirs = ['src/androidTest/java']
resources.srcDirs = ['src/androidTest/java']
}
}

Expand Down Expand Up @@ -75,12 +75,14 @@ android {
setProperty("archivesBaseName", "dhis2-v" + versions.vName)

def mapboxAccessToken = System.getenv("MAPBOX_ACCESS_TOKEN") != null ? System.getenv("MAPBOX_ACCESS_TOKEN") : "pk.eyJ1IjoiZGhpczJhbmRyb2lkIiwiYSI6ImNrcWt1a2hzYzE5Ymsyb254MWtlbGt4Y28ifQ.JrP61q9BFTVEKO4SwRUwDw"
def bitriseSentryDSN = System.getenv("SENTRY_DSN") != null ? System.getenv("SENTRY_DSN") : ""

buildConfigField "String", "SDK_VERSION", "\"" + versions.dhis2AndroidSDK + "\""
buildConfigField "String", "MAPBOX_ACCESS_TOKEN", "\"" + mapboxAccessToken + "\""
buildConfigField "String", "MATOMO_URL", "\"https://usage.analytics.dhis2.org/matomo.php\""
buildConfigField("long", "VERSION_CODE", "${defaultConfig.versionCode}")
buildConfigField("String", "VERSION_NAME", "\"${defaultConfig.versionName}\"")
buildConfigField("String", "SENTRY_DSN", "\"${bitriseSentryDSN}\"")

manifestPlaceholders = [
appAuthRedirectScheme: ''
Expand Down Expand Up @@ -108,8 +110,6 @@ android {

buildTypes {

def bitriseSentryDSN = System.getenv("SENTRY_DSN") != null ? System.getenv("SENTRY_DSN") : ""

debug {
// custom application suffix which allows to
// install debug and release builds at the same time
Expand All @@ -123,38 +123,16 @@ android {
signingConfig = signingConfigs.debug

buildConfigField "int", "MATOMO_ID", "2"
buildConfigField "String", "BUILD_DATE", "\""+getBuildDate()+"\""
buildConfigField "String", "GIT_SHA", "\""+getCommitHash()+"\""

applicationVariants.all { variant ->
if (variant.getFlavorName() == "dhisUITesting") {
bitriseSentryDSN = ""
}
}

//Sentry variables
manifestPlaceholders = [
sentry_dsn : bitriseSentryDSN,
sentry_environment: "debug",
sentry_debug : "true",
sentry_sample_rate: "1.0"
]
buildConfigField "String", "BUILD_DATE", "\"" + getBuildDate() + "\""
buildConfigField "String", "GIT_SHA", "\"" + getCommitHash() + "\""
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

buildConfigField "int", "MATOMO_ID", "1"
buildConfigField "String", "BUILD_DATE", "\""+getBuildDate()+"\""
buildConfigField "String", "GIT_SHA", "\""+getCommitHash()+"\""

//Sentry variables
manifestPlaceholders = [
sentry_dsn : bitriseSentryDSN,
sentry_environment: "production",
sentry_debug : "false",
sentry_sample_rate: "0.1"
]
buildConfigField "String", "BUILD_DATE", "\"" + getBuildDate() + "\""
buildConfigField "String", "GIT_SHA", "\"" + getCommitHash() + "\""
}
}

Expand Down

0 comments on commit 5386ddf

Please sign in to comment.