Skip to content

[SPOCC] Bring last changes 3.3.1 - #305

Open
xurxodev wants to merge 390 commits into
feature-spocc/bring_last_changes_3_2_1_1from
feature-spocc/bring_last_changes_3_3_1
Open

[SPOCC] Bring last changes 3.3.1#305
xurxodev wants to merge 390 commits into
feature-spocc/bring_last_changes_3_2_1_1from
feature-spocc/bring_last_changes_3_3_1

Conversation

@xurxodev

@xurxodev xurxodev commented Mar 17, 2026

Copy link
Copy Markdown

📌 References

⚙️ branches

app:
Origin: feature-spocc/bring_last_changes_3_3_1 Target: feature-spocc/bring_last_changes_3_2_1_1
dhis2-android-SDK:

🎩 What is the goal?

Bring the last changes in 3.3.1

📝 How is it being implemented?

  • Merge conflicts
  • Custom features tested
    • Hide programs and datasets without write data access
    • Select UPG
    • Avoid resize images
    • Session format ui like in server year-nextYear
    • Hide Schedule menu in timeline view
    • Avoid change org unit in tracker events
    • Validate or hide orgunit by Teamprofile
    • Hide re-open menu always
    • Team change request
    • multiple SDS org unit selection
  • Reimplement or fix custom features in SPOCC
    • Multiple SDS org unit selection

News from this upgrade:

💥 How can it be tested?

The customizations in the app should work.

💾 Requires DB migration?

  • Nope, we can just merge this branch.
  • Yes, but we need to apply it before merging this branch.
  • Yes, it's already applied.

🎨 UI changes?

  • Nope, the UI remains as beautiful as it was before!
  • Yeap, here you have some screenshots-

dependabot Bot and others added 30 commits August 28, 2025 09:47
* deps: bump the gradle-updates group with 39 updates

Bumps the gradle-updates group with 39 updates:

| Package | From | To |
| --- | --- | --- |
| com.android.tools.build:gradle | `8.11.1` | `8.12.1` |
| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.2.10` |
| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.2.10` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.0` | `2.2.10` |
| androidx.fragment:fragment-ktx | `1.8.8` | `1.8.9` |
| androidx.compose.material:material | `1.8.3` | `1.9.0` |
| androidx.compose.ui:ui | `1.8.3` | `1.9.0` |
| androidx.compose.runtime:runtime-livedata | `1.8.3` | `1.9.0` |
| androidx.compose.ui:ui-tooling | `1.8.3` | `1.9.0` |
| androidx.compose.ui:ui-tooling-preview | `1.8.3` | `1.9.0` |
| androidx.compose.ui:ui-test-junit4 | `1.8.3` | `1.9.0` |
| androidx.compose.ui:ui-test-manifest | `1.8.3` | `1.9.0` |
| [org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose](https://github.com/JetBrains/compose-jb) | `2.9.1` | `2.10.0+dev2825` |
| [org.jetbrains.androidx.navigation:navigation-compose](https://github.com/JetBrains/compose-jb) | `2.9.0-beta04` | `2.9.10-alpha01` |
| androidx.core:core-ktx | `1.16.0` | `1.17.0` |
| androidx.work:work-runtime | `2.10.2` | `2.10.3` |
| androidx.work:work-rxjava2 | `2.10.2` | `2.10.3` |
| [org.jetbrains.compose.material3:material3-window-size-class](https://github.com/JetBrains/compose-jb) | `1.8.2` | `1.10.0+dev2825` |
| com.google.android.gms:play-services-auth | `21.3.0` | `21.4.0` |
| [com.google.dagger:dagger](https://github.com/google/dagger) | `2.57` | `2.57.1` |
| [com.google.dagger:dagger-compiler](https://github.com/google/dagger) | `2.57` | `2.57.1` |
| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.17.0` | `8.19.1` |
| [io.sentry:sentry-compose-android](https://github.com/getsentry/sentry-java) | `8.17.0` | `8.19.1` |
| androidx.test:core | `1.6.1` | `1.7.0` |
| androidx.test:rules | `1.6.1` | `1.7.0` |
| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.18.0` | `5.19.0` |
| [com.linkedin.dexmaker:dexmaker-mockito-inline](https://github.com/linkedin/dexmaker) | `2.28.5` | `2.28.6` |
| androidx.test:orchestrator | `1.5.1` | `1.6.1` |
| androidx.test:runner | `1.6.1` | `1.7.0` |
| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |
| androidx.test.espresso:espresso-idling-resource | `3.6.1` | `3.7.0` |
| androidx.test.espresso.idling:idling-concurrent | `3.6.1` | `3.7.0` |
| androidx.test.espresso:espresso-intents | `3.6.1` | `3.7.0` |
| androidx.test.espresso:espresso-contrib | `3.6.1` | `3.7.0` |
| androidx.test.ext:junit-ktx | `1.2.1` | `1.3.0` |
| androidx.test.ext:junit | `1.2.1` | `1.3.0` |
| [org.maplibre.gl:android-sdk](https://github.com/maplibre/maplibre-native) | `11.12.1` | `11.13.0` |
| org.jetbrains.compose | `1.8.2` | `1.10.0+dev2825` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.2.0-2.0.2` | `2.2.10-2.0.2` |


Updates `com.android.tools.build:gradle` from 8.11.1 to 8.12.1

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.2.0 to 2.2.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.2.10)

Updates `org.jetbrains.kotlin:kotlin-serialization` from 2.2.0 to 2.2.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.2.10)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.2.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.2.10)

Updates `org.jetbrains.kotlin:kotlin-serialization` from 2.2.0 to 2.2.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.2.10)

Updates `androidx.fragment:fragment-ktx` from 1.8.8 to 1.8.9

Updates `androidx.compose.material:material` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui` from 1.8.3 to 1.9.0

Updates `androidx.compose.runtime:runtime-livedata` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-tooling` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-tooling-preview` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-test-junit4` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-test-manifest` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui` from 1.8.3 to 1.9.0

Updates `androidx.compose.runtime:runtime-livedata` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-tooling` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-tooling-preview` from 1.8.3 to 1.9.0

Updates `org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose` from 2.9.1 to 2.10.0+dev2825
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-jb/commits)

Updates `org.jetbrains.androidx.navigation:navigation-compose` from 2.9.0-beta04 to 2.9.10-alpha01
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-jb/commits)

Updates `androidx.core:core-ktx` from 1.16.0 to 1.17.0

Updates `androidx.work:work-runtime` from 2.10.2 to 2.10.3

Updates `androidx.work:work-rxjava2` from 2.10.2 to 2.10.3

Updates `androidx.work:work-rxjava2` from 2.10.2 to 2.10.3

Updates `org.jetbrains.compose.material3:material3-window-size-class` from 1.8.2 to 1.10.0+dev2825
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-jb/commits)

Updates `com.google.android.gms:play-services-auth` from 21.3.0 to 21.4.0

Updates `com.google.dagger:dagger` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.57...dagger-2.57.1)

Updates `com.google.dagger:dagger-compiler` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.57...dagger-2.57.1)

Updates `com.google.dagger:dagger-compiler` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.57...dagger-2.57.1)

Updates `io.sentry:sentry-android` from 8.17.0 to 8.19.1
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@8.17.0...8.19.1)

Updates `io.sentry:sentry-compose-android` from 8.17.0 to 8.19.1
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@8.17.0...8.19.1)

Updates `io.sentry:sentry-compose-android` from 8.17.0 to 8.19.1
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@8.17.0...8.19.1)

Updates `androidx.test:core` from 1.6.1 to 1.7.0

Updates `androidx.test:rules` from 1.6.1 to 1.7.0

Updates `org.mockito:mockito-core` from 5.18.0 to 5.19.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v5.18.0...v5.19.0)

Updates `com.linkedin.dexmaker:dexmaker-mockito-inline` from 2.28.5 to 2.28.6
- [Release notes](https://github.com/linkedin/dexmaker/releases)
- [Changelog](https://github.com/linkedin/dexmaker/blob/main/CHANGELOG.md)
- [Commits](linkedin/dexmaker@2.28.5...2.28.6)

Updates `androidx.test:orchestrator` from 1.5.1 to 1.6.1

Updates `androidx.test:runner` from 1.6.1 to 1.7.0

Updates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso:espresso-idling-resource` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso.idling:idling-concurrent` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso:espresso-intents` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso:espresso-contrib` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso:espresso-idling-resource` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso.idling:idling-concurrent` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso:espresso-intents` from 3.6.1 to 3.7.0

Updates `androidx.test.espresso:espresso-contrib` from 3.6.1 to 3.7.0

Updates `androidx.test:rules` from 1.6.1 to 1.7.0

Updates `androidx.test.ext:junit-ktx` from 1.2.1 to 1.3.0

Updates `androidx.test.ext:junit` from 1.2.1 to 1.3.0

Updates `androidx.test.ext:junit` from 1.2.1 to 1.3.0

Updates `androidx.compose.ui:ui-test-junit4` from 1.8.3 to 1.9.0

Updates `androidx.compose.ui:ui-test-manifest` from 1.8.3 to 1.9.0

Updates `org.maplibre.gl:android-sdk` from 11.12.1 to 11.13.0
- [Release notes](https://github.com/maplibre/maplibre-native/releases)
- [Changelog](https://github.com/maplibre/maplibre-native/blob/main/CHANGELOG.md)
- [Commits](maplibre/maplibre-native@android-v11.12.1...android-v11.13.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.2.0 to 2.2.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.2.0...v2.2.10)

Updates `org.jetbrains.compose` from 1.8.2 to 1.10.0+dev2825

Updates `com.google.devtools.ksp` from 2.2.0-2.0.2 to 2.2.10-2.0.2
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.2.0-2.0.2...2.2.10-2.0.2)

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-version: 8.12.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.kotlin:kotlin-serialization
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.kotlin:kotlin-serialization
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.fragment:fragment-ktx
  dependency-version: 1.8.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.compose.material:material
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.runtime:runtime-livedata
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-tooling
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-tooling-preview
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-test-junit4
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-test-manifest
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.runtime:runtime-livedata
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-tooling
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-tooling-preview
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose
  dependency-version: 2.10.0+dev2825
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.androidx.navigation:navigation-compose
  dependency-version: 2.9.10-alpha01
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.core:core-ktx
  dependency-version: 1.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.work:work-runtime
  dependency-version: 2.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.work:work-rxjava2
  dependency-version: 2.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.work:work-rxjava2
  dependency-version: 2.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.compose.material3:material3-window-size-class
  dependency-version: 1.10.0+dev2825
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: com.google.android.gms:play-services-auth
  dependency-version: 21.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: com.google.dagger:dagger
  dependency-version: 2.57.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: com.google.dagger:dagger-compiler
  dependency-version: 2.57.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: com.google.dagger:dagger-compiler
  dependency-version: 2.57.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.sentry:sentry-android
  dependency-version: 8.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: io.sentry:sentry-compose-android
  dependency-version: 8.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: io.sentry:sentry-compose-android
  dependency-version: 8.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test:core
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test:rules
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.mockito:mockito-core
  dependency-version: 5.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: com.linkedin.dexmaker:dexmaker-mockito-inline
  dependency-version: 2.28.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.test:orchestrator
  dependency-version: 1.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test:runner
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-core
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-idling-resource
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso.idling:idling-concurrent
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-intents
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-contrib
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-idling-resource
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso.idling:idling-concurrent
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-intents
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.espresso:espresso-contrib
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test:rules
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.ext:junit-ktx
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.ext:junit
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.test.ext:junit
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-test-junit4
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.compose.ui:ui-test-manifest
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.maplibre.gl:android-sdk
  dependency-version: 11.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.compose
  dependency-version: 1.10.0+dev2825
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: com.google.devtools.ksp
  dependency-version: 2.2.10-2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(dependabot): reverting dev versions

* fix: improve test assertions with hasAnyAncestor

* deps: update sentry to version 8.20.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: andresmr <andres@dhis2.org>
…4337)

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

* fix(translations): sync translations from transifex (develop)
* deps: [ANDROAPP-7209] Add material 2 to specific legacy modules

* deps: [ANDROAPP-7209] Remove material2 dependency and replace usages by material3
…idp/bring_las_changes_3_2_1_1

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/org/dhis2/data/service/SyncPresenterImpl.kt
#	app/src/main/java/org/dhis2/data/user/UserComponent.java
#	app/src/main/java/org/dhis2/usescases/general/ActivityGlobalAbstract.java
#	app/src/main/java/org/dhis2/usescases/login/LoginViewModel.kt
#	app/src/main/java/org/dhis2/usescases/main/program/ProgramModule.kt
#	app/src/main/java/org/dhis2/utils/granularsync/SyncStatusDialog.kt
#	app/src/main/res/values/strings.xml
#	app/src/test/java/org/dhis2/data/filter/EventProgramFilterSearchHelperTest.kt
#	commons/src/main/res/values/strings.xml
#	form/src/main/java/org/dhis2/form/data/EventRepository.kt
#	form/src/main/java/org/dhis2/form/data/metadata/EnrollmentConfiguration.kt
#	gradle/libs.versions.toml
#	settings.gradle.kts
* chore: update ktlint dependency to version 13.1.0

* chore: update gradle dependency to version 8.12.2

* chore: add .editorconfig to disable ktlint standard function naming

* chore: first ktlint format

* chore: final ktlint format

* chore: final ktlint format

* chore: reformat code for consistency and readability
…4347)

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

* fix(translations): sync translations from transifex (develop)
* fix: [ANDROAPP-6844] Adapt Search to use list of parameters

* feat: [ANDROAPP-6844] fix tests

* feat: [ANDROAPP-6844] Update and fix search list of items

* feat: [ANDROAPP-6844] add unit test for list functionality

* feat: [ANDROAPP-6844] more unit tests

* feat: [ANDROAPP-6844] add clarification  comments

* feat: [ANDROAPP-6844] Ktlint

* fix: [ANDROAPP-6844] Extract CustomIntent requests to commons module as interface

* feat: [ANDROAPP-6844] Make methods private

* feat: [ANDROAPP-6844] refactor to CustomIntentRepository

* feat: [ANDROAPP-6844] Fix unit tests

* feat: [ANDROAPP-6844] Fix unit tests

* feat: [ANDROAPP-6844] Ktlint

* feat: [ANDROAPP-6844] Update and fix search list of items

* fix: [ANDROAPP-6844] Extract CustomIntent requests to commons module as interface

* feat: [ANDROAPP-6844] refactor to CustomIntentRepository

* feat: [ANDROAPP-6844] Fix unit tests

* feat: [ANDROAPP-6844] implement call and ui rendering in search

* feat: [ANDROAPP-6844] Fix unit test

* feat: [ANDROAPP-6844] Ktlint

* feat: [ANDROAPP-6844] Ktlint and rebase fix

* feat: [ANDROAPP-6844] Ktlint

* feat: [ANDROAPP-6844] set state to unfocused after retrieving data
* deps: bump the gradle-updates group with 22 updates

Bumps the gradle-updates group with 22 updates:

| Package | From | To |
| --- | --- | --- |
| com.android.tools.build:gradle | `8.12.1` | `8.13.0` |
| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.2` | `2.9.3` |
| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.9.3` |
| [org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose](https://github.com/JetBrains/compose-jb) | `2.9.2` | `2.10.0+dev2904` |
| [org.jetbrains.androidx.navigation:navigation-compose](https://github.com/JetBrains/compose-jb) | `2.9.0-beta05` | `2.9.10-alpha01` |
| [org.jetbrains.compose.material3:material3-window-size-class](https://github.com/JetBrains/compose-jb) | `1.8.2` | `1.10.0+dev2904` |
| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |
| [com.github.bumptech.glide:glide](https://github.com/bumptech/glide) | `4.16.0` | `5.0.4` |
| [com.github.bumptech.glide:compiler](https://github.com/bumptech/glide) | `4.16.0` | `5.0.4` |
| [com.github.matomo-org:matomo-sdk-android](https://github.com/matomo-org/matomo-sdk-android) | `4.3.4` | `4.4` |
| [io.sentry:sentry-android](https://github.com/getsentry/sentry-java) | `8.20.0` | `8.21.0` |
| [io.sentry:sentry-compose-android](https://github.com/getsentry/sentry-java) | `8.20.0` | `8.21.0` |
| [org.maplibre.gl:android-sdk](https://github.com/maplibre/maplibre-native) | `11.13.0` | `11.13.1` |
| [io.insert-koin:koin-core](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-android](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-androidx-compose](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-compose](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-compose-viewmodel](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-test](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-test-junit5](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| [io.insert-koin:koin-test-junit4](https://github.com/InsertKoinIO/koin) | `4.1.0` | `4.1.1` |
| org.jetbrains.compose | `1.8.2` | `1.10.0+dev2904` |


Updates `com.android.tools.build:gradle` from 8.12.1 to 8.13.0

Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.2 to 2.9.3

Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.9.3

Updates `org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.10.0+dev2904
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-jb/commits)

Updates `org.jetbrains.androidx.navigation:navigation-compose` from 2.9.0-beta05 to 2.9.10-alpha01
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-jb/commits)

Updates `org.jetbrains.compose.material3:material3-window-size-class` from 1.8.2 to 1.10.0+dev2904
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-jb/commits)

Updates `com.google.android.material:material` from 1.12.0 to 1.13.0
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](material-components/material-components-android@1.12.0...1.13.0)

Updates `com.github.bumptech.glide:glide` from 4.16.0 to 5.0.4
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](bumptech/glide@v4.16.0...v5.0.4)

Updates `com.github.bumptech.glide:compiler` from 4.16.0 to 5.0.4
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](bumptech/glide@v4.16.0...v5.0.4)

Updates `com.github.bumptech.glide:compiler` from 4.16.0 to 5.0.4
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](bumptech/glide@v4.16.0...v5.0.4)

Updates `com.github.matomo-org:matomo-sdk-android` from 4.3.4 to 4.4
- [Release notes](https://github.com/matomo-org/matomo-sdk-android/releases)
- [Commits](matomo-org/matomo-sdk-android@4.3.4...4.4)

Updates `io.sentry:sentry-android` from 8.20.0 to 8.21.0
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@8.20.0...8.21.0)

Updates `io.sentry:sentry-compose-android` from 8.20.0 to 8.21.0
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@8.20.0...8.21.0)

Updates `io.sentry:sentry-compose-android` from 8.20.0 to 8.21.0
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](getsentry/sentry-java@8.20.0...8.21.0)

Updates `org.maplibre.gl:android-sdk` from 11.13.0 to 11.13.1
- [Release notes](https://github.com/maplibre/maplibre-native/releases)
- [Changelog](https://github.com/maplibre/maplibre-native/blob/main/CHANGELOG.md)
- [Commits](maplibre/maplibre-native@android-v11.13.0...android-v11.13.1)

Updates `io.insert-koin:koin-core` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-android` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-androidx-compose` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-compose` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-compose-viewmodel` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-test` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-test-junit5` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-test-junit4` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-android` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-androidx-compose` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-compose` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-compose-viewmodel` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-test` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-test-junit5` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `io.insert-koin:koin-test-junit4` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Changelog](https://github.com/InsertKoinIO/koin/blob/main/CHANGELOG.md)
- [Commits](InsertKoinIO/koin@4.1.0...4.1.1)

Updates `org.jetbrains.compose` from 1.8.2 to 1.10.0+dev2904

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-version: 8.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
  dependency-version: 2.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
  dependency-version: 2.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose
  dependency-version: 2.10.0+dev2904
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.androidx.navigation:navigation-compose
  dependency-version: 2.9.10-alpha01
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.compose.material3:material3-window-size-class
  dependency-version: 1.10.0+dev2904
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: com.google.android.material:material
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: com.github.bumptech.glide:glide
  dependency-version: 5.0.4
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-updates
- dependency-name: com.github.bumptech.glide:compiler
  dependency-version: 5.0.4
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-updates
- dependency-name: com.github.bumptech.glide:compiler
  dependency-version: 5.0.4
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: gradle-updates
- dependency-name: com.github.matomo-org:matomo-sdk-android
  dependency-version: '4.4'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: io.sentry:sentry-android
  dependency-version: 8.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: io.sentry:sentry-compose-android
  dependency-version: 8.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: io.sentry:sentry-compose-android
  dependency-version: 8.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
- dependency-name: org.maplibre.gl:android-sdk
  dependency-version: 11.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-core
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-android
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-androidx-compose
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-compose
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-compose-viewmodel
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-test
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-test-junit5
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-test-junit4
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-android
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-androidx-compose
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-compose
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-compose-viewmodel
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-test
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-test-junit5
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: io.insert-koin:koin-test-junit4
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gradle-updates
- dependency-name: org.jetbrains.compose
  dependency-version: 1.10.0+dev2904
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gradle-updates
...

Signed-off-by: dependabot[bot] <support@github.com>

* deps: update SonarQube plugin and various library versions

* deps: remove Gradle Versions Plugin

* fix(date formatting): update dayOfMonth to use zero-padding in dateTimeFormat and dateFormat

* deps: update SonarQube plugin version to 6.3.1.5724

* cleanup: remove unused clean task from build.gradle.kts

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: andresmr <andres@dhis2.org>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…_3_2_1_1

[WIDP] Bring las changes 3 2.1.1
* feat: [ANDROAPP-7200] add 'Add new account' string to support OAuth login flow

* feat: [ANDROAPP-7200] Create WebAuthenticator.kt component

* feat: [ANDROAPP-7200] Add AppLink to LoginActivity

* feat: [ANDROAPP-7200] Handle App link

* feat: [ANDROAPP-7200] Handle OAuth flow cancellation

* feat: [ANDROAPP-7200] handle applink errors

* feat: [ANDROAPP-7200] ktlintFormat

* test: [ANDROAPP-7200] Add Tests to LoginViewModel.kt
* fix: [ANDROAPP-7182] Set correct error message

* fix: parse d2Error message

* fix design review comments

* fix disabled icon color

* set cursor at the end when selecting autocomplete item

* fix: refactor server validation logic and state management in login flow

* fix: [ANDROAPP-7182] improve login view model tests and streamline test execution

---------

Co-authored-by: andresmr <andres@dhis2.org>
* fix: [ANDROAPP-7182] Set correct error message

* fix: parse d2Error message

* fix design review comments

* fix disabled icon color

* feat: [ANDROAPP-7123] add disable 2FA screen

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

* feat: [ANDROAPP-7123] add integration tests

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

* ktlint

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

* feat: [ANDROAPP-7123] add disable 2FA screen

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

* feat: [ANDROAPP-7123] add integration tests

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

* fix rebase

* feat: [ANDROAPP-7123] add disable 2FA screen

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

* feat: [ANDROAPP-7123] add integration tests

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

* Enable two-factor authentication feature with new use cases, UI implementation, and repository updates

* fix rebase

* fix sonarqube analysis

* feat: [ANDROAPP-7123] add disable 2FA screen

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

* feat: [ANDROAPP-7123] add integration tests

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

* Enable two-factor authentication feature with new use cases, UI implementation, and repository updates

* Enable two-factor authentication feature with new use cases, UI implementation, and repository updates

* feat: [ANDROAPP-7122] Added tests

* feat: [ANDROAPP-7122] fix rebase for tests

* fix rebase

* feat: [ANDROAPP-7122] Added tests

* feat: [ANDROAPP-7122] fix rebase for tests

* refactor: [ANDROAPP-7213] Join 2FA ui statuses

* fix comments

* ktlint

* fix states

* fix rebase

* fix: parse d2Error message

* fix: pixel perfect

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

* ktlint

* fix typo

* fix: [ANDROAPP-7182] Remove unnecessary IO asynchronous operation and ktlintFormat

* fix: [ANDROAPP-7213] Design review fixes

* fix: [ANDROAPP-7213] SettingsProgramPresenterTest

---------

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: FerdyRod <ferdy@dhis2.org>
Co-authored-by: andresmr <andres@dhis2.org>
xurxodev added 25 commits March 8, 2026 18:32
…spocc/bring_last_changes_3_3_1

# Conflicts:
#	aggregates/src/androidMain/kotlin/org/dhis2/mobile/aggregates/data/mappers/DataSetInstanceToDataSetDetails.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/di/AggregateModule.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/domain/GetDataValueData.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/domain/GetDataValueInput.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/ui/inputs/InputProvider.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/ui/inputs/UiAction.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/ui/provider/DataSetModalDialogProvider.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/ui/states/mapper/InputDataUiStateMapper.kt
#	aggregates/src/commonMain/kotlin/org/dhis2/mobile/aggregates/ui/viewModel/DataSetTableViewModel.kt
#	aggregates/src/commonTest/kotlin/org/dhis2/mobile/aggregates/ui/viewModel/DataSetTableViewModelTest.kt
#	app/build.gradle.kts
#	app/src/main/java/org/dhis2/data/dhislogic/DhisProgramUtils.kt
#	app/src/main/java/org/dhis2/data/server/ServerModule.kt
#	app/src/main/java/org/dhis2/data/service/SyncPresenterImpl.kt
#	app/src/main/java/org/dhis2/usescases/datasets/datasetInitial/DataSetInitialModel.java
#	app/src/main/java/org/dhis2/usescases/datasets/datasetInitial/DataSetInitialRepositoryImpl.java
#	app/src/main/java/org/dhis2/usescases/enrollment/EnrollmentActivity.kt
#	app/src/main/java/org/dhis2/usescases/enrollment/EnrollmentPresenterImpl.kt
#	app/src/main/java/org/dhis2/usescases/enrollment/FormInjector.kt
#	app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/EventCaptureRepositoryImpl.java
#	app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/eventCaptureFragment/EventCaptureFormFragment.kt
#	app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventCapture/eventCaptureFragment/EventCaptureFormPresenter.kt
#	app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/data/EventDetailsRepository.kt
#	app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/domain/ConfigureEventDetails.kt
#	app/src/main/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/ui/EventDetailsFragment.kt
#	app/src/main/java/org/dhis2/usescases/login/LoginActivity.kt
#	app/src/main/java/org/dhis2/usescases/login/LoginViewModel.kt
#	app/src/main/java/org/dhis2/usescases/main/program/ProgramFragment.kt
#	app/src/main/java/org/dhis2/usescases/main/program/ProgramModule.kt
#	app/src/main/java/org/dhis2/usescases/main/program/ProgramRepositoryImpl.kt
#	app/src/main/java/org/dhis2/usescases/programEventDetail/ProgramEventDetailActivity.kt
#	app/src/main/java/org/dhis2/usescases/programEventDetail/ProgramEventDetailModule.kt
#	app/src/main/java/org/dhis2/usescases/programStageSelection/ProgramStageSelectionActivity.kt
#	app/src/main/java/org/dhis2/usescases/searchTrackEntity/SearchTEPresenter.java
#	app/src/main/java/org/dhis2/usescases/teiDashboard/TeiDashboardMobileActivity.kt
#	app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/TEIDataPresenter.kt
#	app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/teidata/TeiDataRepositoryImpl.kt
#	app/src/main/java/org/dhis2/usescases/teiDashboard/ui/TeiDashboardMenu.kt
#	app/src/main/java/org/dhis2/utils/granularsync/SyncStatusDialog.kt
#	app/src/main/res/values/strings.xml
#	app/src/test/java/org/dhis2/usescases/datasets/dataSetInitial/DataSetInitialPresenterTest.kt
#	app/src/test/java/org/dhis2/usescases/datasets/dataSetInitial/DataSetInitialRepositoryImplTest.kt
#	app/src/test/java/org/dhis2/usescases/eventsWithoutRegistration/eventDetails/domain/ConfigureEventDetailsTest.kt
#	app/src/test/java/org/dhis2/usescases/main/program/ProgramRepositoryImplTest.kt
#	build.gradle.kts
#	commons/src/main/java/org/dhis2/commons/orgunitselector/OURepositoryConfiguration.kt
#	commons/src/main/java/org/dhis2/commons/orgunitselector/OUTreeFragment.kt
#	commons/src/main/java/org/dhis2/commons/orgunitselector/OUTreeModule.kt
#	commons/src/main/java/org/dhis2/commons/resources/DhisPeriodUtils.kt
#	commons/src/main/res/values/strings.xml
#	commonskmm/build.gradle.kts
#	dhis2-android-sdk
#	form/src/main/java/org/dhis2/form/data/EventRepository.kt
#	form/src/main/java/org/dhis2/form/data/metadata/EnrollmentConfiguration.kt
#	form/src/main/java/org/dhis2/form/model/FieldUiModel.kt
#	form/src/main/java/org/dhis2/form/model/FieldUiModelImpl.kt
#	form/src/main/java/org/dhis2/form/model/SectionUiModelImpl.kt
#	form/src/main/java/org/dhis2/form/ui/Form.kt
#	form/src/main/java/org/dhis2/form/ui/FormView.kt
#	form/src/main/java/org/dhis2/form/ui/FormViewFragmentFactory.kt
#	form/src/main/java/org/dhis2/form/ui/FormViewModel.kt
#	form/src/main/java/org/dhis2/form/ui/event/RecyclerViewUiEvents.kt
#	gradle/libs.versions.toml
#	settings.gradle.kts
#	tracker/src/main/kotlin/org/dhis2/tracker/relationships/data/RelationshipsRepository.kt
@xurxodev xurxodev changed the title Feature spocc/bring last changes 3 3 1 [SPOCC] Bring last changes 3.3.1 Mar 17, 2026
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.