Skip to content

[Automatic] Upstream release 3.4.1#30

Merged
alex-vt merged 273 commits into
mainfrom
upstream-release/3.4.1
Jul 6, 2026
Merged

[Automatic] Upstream release 3.4.1#30
alex-vt merged 273 commits into
mainfrom
upstream-release/3.4.1

Conversation

@alex-vt

@alex-vt alex-vt commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

This PR brings upstream-tracking release/3.4.1 branch to be merged into main.

Release merge commit in the upstream-tracking upstream-main branch of this (fork) repo: 3802288b0ff15a4c2beb3a78ab71dfd5dee7bd1e.
Release merge commit in the main branch of the dhis2/dhis2-android-capture-app upstream repo: 3802288b0ff15a4c2beb3a78ab71dfd5dee7bd1e.

For your reference, this Action's config can be viewed here, and the run logs here.

xavimolloy and others added 30 commits January 20, 2026 09:06
chore: Update develop with Release 3.3.1 [skip size]
* fix: Manage Invalid configuration d2 error

* fix: Update deprecated sdk methods

* fix: fix unit tests
…his2#4603)

* updates continues delivery workflow

* updates continues delivery workflow

* Add debug suffix to apk name

* Add config for using debug keystore store in the CI

* change debug keystore name and extension

* change debug keystore name and extension
* refactor(tests): integrate ComposeTestRule into homeRobot for improved UI testing

* tests: create shouldLoginWithoutOauth test

* refactor(tests): remove redundant home screen checks in login tests

* refactor(tests): Editing test to finish after accepting Tracking Permission

* test: For landscape testing, close keyboard after entering credentials

* test: keep waitUntilAtLeastOneExists on MainRobot.kt
* chore: [ANDROAPP-7387] Update README.md

* chore: [ANDROAPP-7387] Update README.md
…his2#4586)

* feat(search): Add ParameterSelectorItemProvider in tracker module

* feat(search): Add ParameterInputModel.kt for tracker UI

* feat(search): Add ParameterSelectorItemProviderTest.kt

* feat(search): Add ParameterInputProvider.kt

* refactor(search): Move search parameter provider to tracker component

* refactor(search): Remove ParameterRenderingType

* refactor(search): unify scan callback methods

* refactor(search): Improve parameter mapping and component stubs

* refactor(search): Extract ParameterInputType.kt

* refactor(search): Rename parameter input components

* refactor(search): delete `ParameterSelectorItemProviderTest`

The tests for `ParameterSelectorItemProvider` are no longer needed and have been removed. This is part of a refactoring effort to move search-related UI components to the design system library.

* refactor(search): Add missing properties to TrackerInputModel.kt

* refactor(search): Rename to TrackerInputModel.kt

* refactor(search): Add InputDropdown

* refactor(search): Add Not supported input types

* feat(search): Add ParameterInputModel.kt for tracker UI

* feat(search): Add ParameterSelectorItemProviderTest.kt

* feat(search): Add ParameterInputProvider.kt

* refactor(search): Remove ParameterRenderingType

* refactor(search): Improve parameter mapping and component stubs

* refactor(search): Extract ParameterInputType.kt

* refactor(search): Rename parameter input components

* refactor(search): delete `ParameterSelectorItemProviderTest`

The tests for `ParameterSelectorItemProvider` are no longer needed and have been removed. This is part of a refactoring effort to move search-related UI components to the design system library.

* refactor(search): Add missing properties to TrackerInputModel.kt

* refactor(search): Rename to TrackerInputModel.kt

* feat: [ANDROAPP-7451] implement multiselection in tracker input provider (dhis2#4594)

* feat: [ANDROAPP-7251] implement multiselection in tracker input provider

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>

* onItemSelected

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>

* fix: take option only if not empty

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: propagate editable value

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: updated value to null if emtpy

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat(search): Set non supported types

---------

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Andrés Miguel Rubio <andres@dhis2.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: [ANDROAPP-7450] Implement age and date time inputs in new tracker input provider (dhis2#4601)

* feat(search): Add ParameterSelectorItemProvider in tracker module

* feat(search): Add ParameterInputModel.kt for tracker UI

* feat(search): Add ParameterSelectorItemProviderTest.kt

* feat(search): Add ParameterInputProvider.kt

* refactor(search): Move search parameter provider to tracker component

* refactor(search): Remove ParameterRenderingType

* refactor(search): unify scan callback methods

* refactor(search): Improve parameter mapping and component stubs

* refactor(search): Extract ParameterInputType.kt

* refactor(search): Rename parameter input components

* refactor(search): delete `ParameterSelectorItemProviderTest`

The tests for `ParameterSelectorItemProvider` are no longer needed and have been removed. This is part of a refactoring effort to move search-related UI components to the design system library.

* refactor(search): Add missing properties to TrackerInputModel.kt

* refactor(search): Rename to TrackerInputModel.kt

* refactor(search): Add InputDropdown

* refactor(search): Add Not supported input types

* chore: [ANDROAPP-7435] fix kapt error

* chore: [ANDROAPP-7450] Implement Input age and date time inputs in new tracker Input provider

* fix: [ANDROAPP-7450] fix rebase conflict changes

* fix: [ANDROAPP-7450] resolve sonar code smells

---------

Co-authored-by: andresmr <andres@dhis2.org>
Co-authored-by: danielTari <daniel@dhis2.org>

* feat: [ANDROAPP-7452] Implement radioButtonInput and checkboxInput in search screen (dhis2#4591)

* feat: [ANDROAPP-7452] Implement radioButtonInput and checkboxInput for search screen

* fix: add options for boolean valueType and orientation

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>

* import

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>

* remove unused import

---------

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Pablo Pajuelo Cabezas <ppajueloc@gmail.com>

* task: [ANDROAPP-7449] Add InputCustomIntent to TrackerInputProvider (dhis2#4602)

* refactor: Move specific providers to provider package

* refactor: Rename SearchAction.kt to TrackerInputAction.kt

* refactor: Rename TrackerInputProvider.kt

* refactor: Extract onItemClick and OnValueChange to TrackerInputUiEvent.kt

* feat: Implement InputOrgUnit

* refactor: remove RecyclerViewUiEvents handling from SearchParametersScreen.kt

* refactor: code review fixes

* refactor: code review fixes

* fix: sonarcloud comments

* fix: remove redundant focusRequester on ParameterSelectorItemProvider.kt

* Add unit tests for ParameterInputModelMapper (dhis2#4615)

* Update tracker/src/commonMain/kotlin/org/dhis2/tracker/ui/input/provider/TrackerInputProvider.kt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update tracker/src/commonMain/kotlin/org/dhis2/tracker/ui/input/provider/TrackerInputProvider.kt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Initial plan

* Add comprehensive unit tests for ParameterInputModelMapper

Co-authored-by: andresmr <3330344+andresmr@users.noreply.github.com>

* Remove unused imports from test file

Co-authored-by: andresmr <3330344+andresmr@users.noreply.github.com>

* fix: rename library properties

* fix: update test signature

---------

Co-authored-by: Andrés Miguel Rubio <andres@dhis2.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: andresmr <3330344+andresmr@users.noreply.github.com>

---------

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Xavier Molloy <xavi@dhis2.org>
Co-authored-by: danielTari <daniel@dhis2.org>
Co-authored-by: Pablo Pajuelo Cabezas <ppajueloc@gmail.com>
Co-authored-by: Pablo <pablo@dhis2.org>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: andresmr <3330344+andresmr@users.noreply.github.com>
* feat: Group dhis2-android-core dependabot updates

* deps: create a specific group for rule engine ad expression parser
…is2#4621)

* Logs apk path's and use the path to upload the artifacts

* Removes steps that are not needed

* tries to get the correct branch name on pull requests
…his2#4622)

* feat: [ANDROAPP-7472] Clean up old search repository

* feat: [ANDROAPP-7472] Add Paging data and dependency verification

* fix: [ANDROAPP-7472] fix compilation error

* feat: [ANDROAPP-7472] fix unit test

* feat: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] revert library update

* fix: [ANDROAPP-7472] fix sonar code smells
Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
* feat: [ANDROAPP-7472] data models and mappers

* feat: [ANDROAPP-7472] ktlint and copilot review comments

* feat: [ANDROAPP-7472] correct geometry mapping

* feat: [ANDROAPP-7472] remove verbose imports

* feat: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] sonar smell

* fix: [ANDROAPP-7472] code review comments
…ctually closed (dhis2#4628)

* chore: [ANDROAPP-7465] add new DataSetNonEditableReason PERIOD_NOT_IN_DATA_INPUT_PERIODS

* chore: [ANDROAPP-7465] fix sdk version

* chore: [ANDROAPP-7465] fix ktlint format

---------

Co-authored-by: Andrés Miguel Rubio <andres@dhis2.org>
…ize] (dhis2#4614)

* fix(translations): sync translations from transifex (develop)

* fix(translations): sync translations from transifex (develop)

* fix: remove escaped characters

---------

Co-authored-by: andresmr <andres@andresmr.com>
* chore: [ANDROAPP-7472] Update Paging data and dependency verification file

* chore: [ANDROAPP-7472] Fix login without oath test

* chore: [ANDROAPP-7472] remove duplicate dependency

* chore: [ANDROAPP-7472] Use different compose paging version for tracker module

* Revert "chore: [ANDROAPP-7472] Fix login without oath test"

This reverts commit 7a4170a.

* chore: [ANDROAPP-7472] Use different compose paging version for tracker module

* chore: [ANDROAPP-7472] Force compose animation version
…refactor in updated android sdk [skip size] (dhis2#4633)

* chore: [ANDROAPP-7484] adapt to ktor upgrade

* chore: [ANDROAPP-7484] adapt to ktor upgrade

* chore: [ANDROAPP-7465] fix sdk version

* feat: [ANDROAPP-7472] I Clean up old search repository [skip size] I (dhis2#4622)

* feat: [ANDROAPP-7472] Clean up old search repository

* feat: [ANDROAPP-7472] Add Paging data and dependency verification

* fix: [ANDROAPP-7472] fix compilation error

* feat: [ANDROAPP-7472] fix unit test

* feat: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] revert library update

* fix: [ANDROAPP-7472] fix sonar code smells

* chore: [ANDROAPP-7483] Add missing categoryCombo to DataElement builders in tests

* chore: [ANDROAPP-7483] add categoryCombo to Program builders in tests

* chore: [ANDROAPP-7483] update dhis2sdk lib version

* chore: [ANDROAPP-7483] Add to list to deviceProviders

* chore: [ANDROAPP-7483] KtlintFormat

---------

Co-authored-by: danielTari <daniel@dhis2.org>
Co-authored-by: Xavier Molloy <xavi@dhis2.org>
…#4624)

* feat: [ANDROAPP-7472] copilot review

* feat: [ANDROAPP-7472] Repositories and usecase

* feat: [ANDROAPP-7472] refactor prepare query

* fix: [ANDROAPP-7472] make fetch results not suspend

* fix: [ANDROAPP-7472] Code review comments

* fix: [ANDROAPP-7472] Code review comments

* feat: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] Code review comments

* chore: [ANDROAPP-7472] reduce cognitive complexity

* chore: [ANDROAPP-7472] Address final copilot review comments

* feat: [ANDROAPP-7472] Add tests for new repository and usecases (dhis2#4625)

* feat: [ANDROAPP-7472] IV Koin injection for implementation  (dhis2#4626)

* feat: [ANDROAPP-7472] Koin injection for implementation

* feat: [ANDROAPP-7472] Remove verbose import

* feat: [ANDROAPP-7472] Add usecase to viewmodel and its factory

* feat: [ANDROAPP-7472] Fix compilation error, unit tests

* fix: [ANDROAPP-7472] Code review comments

* chore: [ANDROAPP-7472] Small code review improvements
…el [skip size] (dhis2#4627)

* feat: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] Code review comments

* feat: [ANDROAPP-7472] copilot review

* fix: [ANDROAPP-7472] Code review comments

* feat: [ANDROAPP-7472] Add tests for new repository and usecases (dhis2#4625)

* chore: [ANDROAPP-7472] Small code review improvements

* feat: [ANDROAPP-7472] Load search results with new use case, map to old model

* fix: [ANDROAPP-7472] Code review comments

* chore: [ANDROAPP-7472] Replace old repository calls with new usecase

* chore: [ANDROAPP-7472] Adapt tests to new usecase

* chore: [ANDROAPP-7472] Adapt usecase to return unpaginated results, fix sonar code smells
* feat: [ANDROAPP-7370] Support 6 and 12 hours metadata sync

* fix tests

* ktlint

* ktlint

* fix: [ANDROAPP-7370] ktlint

* fix test

* restore ui when selecting sync period

---------

Co-authored-by: Xavier Molloy <xavi@dhis2.org>
…4634)

* fix(translations): sync translations from transifex (develop)

* fix(translations): sync translations from transifex (develop)

* fix: remove unescaped characters

* fix(translations): sync translations from transifex (develop)

---------

Co-authored-by: andresmr <andres@dhis2.org>
xavimolloy and others added 23 commits May 25, 2026 10:37
…installed (dhis2#4875)

* fix: [ANDROAPP-7634] SMS module is accidentally enabled when ASWA is installed

* fix: fix sms sync workflow

* Add blockingAwait to deleteGatewayNumber call
build: 3.4.0.1 hotfix release
* fix: [ANDROAPP-7572] Use owner org unit if assigned for creating new events

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: [ANDROAPP-7572] Create tests, ktlint

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
# Conflicts:
#	app/src/main/res/values-cs/strings.xml
#	app/src/main/res/values-es-rES/strings.xml
#	app/src/main/res/values-es/strings.xml
#	app/src/main/res/values-fr/strings.xml
#	app/src/main/res/values-hi-rIN/strings.xml
#	app/src/main/res/values-id/strings.xml
#	app/src/main/res/values-lo/strings.xml
#	app/src/main/res/values-nb/strings.xml
#	app/src/main/res/values-nl/strings.xml
#	app/src/main/res/values-pt/strings.xml
#	app/src/main/res/values-ru/strings.xml
#	app/src/main/res/values-uk/strings.xml
#	app/src/main/res/values-ur/strings.xml
#	app/src/main/res/values-uz-rUZ/strings.xml
#	app/src/main/res/values-uz/strings.xml
#	app/src/main/res/values-vi/strings.xml
#	commonskmm/src/commonMain/composeResources/values-bn/strings.xml
#	commonskmm/src/commonMain/composeResources/values-hi-rIN/strings.xml
#	commonskmm/src/commonMain/composeResources/values-si/strings.xml
#	dhis_android_analytics/src/main/res/values-hi-rIN/strings.xml
#	form/src/main/res/values-cs/strings.xml
#	form/src/main/res/values-en-rUS/strings.xml
#	form/src/main/res/values-es-rES/strings.xml
#	form/src/main/res/values-es/strings.xml
#	form/src/main/res/values-fr/strings.xml
#	form/src/main/res/values-hi-rIN/strings.xml
#	form/src/main/res/values-lo/strings.xml
#	form/src/main/res/values-nl/strings.xml
#	form/src/main/res/values-pt/strings.xml
#	form/src/main/res/values-ru/strings.xml
#	form/src/main/res/values-uk/strings.xml
#	form/src/main/res/values-vi/strings.xml
#	form/src/main/res/values-zh-rCN/strings.xml
#	form/src/main/res/values-zh/strings.xml
#	gradle/libs.versions.toml
Signed-off-by: Pablo Pajuelo Cabezas <pablo@dhis2.org>
…ng on refresh data (dhis2#4852)

* validates the setting can create without searching on refresh data

* Updates test

* fix: [ANDROAPP-7446] Adapt loadSearchResults logic

* fix: [ANDROAPP-7446] Display front page list correctly

* fix: [ANDROAPP-7446] fix test

---------

Co-authored-by: Xavier Molloy <xavi@dhis2.org>
* fix: [ANDROAPP-7398] Use correct snackbar colors

* fix: [ANDROAPP-7398] delete unused imports
@alex-vt alex-vt force-pushed the upstream-release/3.4.1 branch from 067d1fb to 33424f5 Compare July 6, 2026 11:42

@alex-vt alex-vt left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since upstream 3.3.1 til this newly merged 3.4.1, we should watch out for https://dhis2.atlassian.net/browse/ANDROAPP-7682, that isn't expected to be a blocker for the upstream update merge.

The SimCapture biometric features are still passing testing, incl. with the "Don't keep activities" and "No background processes" options enabled in the Developer options.

@alex-vt alex-vt merged commit 1e1d3af into main Jul 6, 2026
1 of 2 checks passed
@github-actions github-actions Bot deleted the upstream-release/3.4.1 branch July 6, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.