Skip to content

Simprints/SimCapture

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11,114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimCapture

DHIS2 data and tracker capture app for Android to support integration with SimprintsID.

Changes

Summary of changes comparing to upstream dhis2/dhis2-android-capture-app:

Feature File / line of code Type of change Description
Infra: fork sync from upstream simcapture-sync-fork-upstream-main.yml New file GitHub Action to sync upstream's main to this repo's upstream-main nightly on Mon-Fri
Infra: automatic PR on upstream release simcapture-upstream-release-pr.yml New file GitHub Action to open a PR when upstream-main has an upstream release newly merged into it
Infra: signed APK releases simcapture-github-release-signed-apk.yml New file GitHub Action to create a GitHub Release on a merge to main
Infra: signed APK releases app/build.gradle.kts#L85 Code change App's Package ID set to com.simprints.simcapture
Infra: GitHub Actions filtering simcapture-disable-upstream-workflows.yml New file GitHub Action to limit allowed Actions to the ones starting with simcapture- or copilot-
Docs: fork-specific README README.md#L1-L70 Code change This section in README
Enrolment+ Possible Duplicates CustomIntentActivityResultContract.kt#L68 Code addition Treats non-identify Simprints callouts that return identification matches as PossibleDuplicates results
Enrolment+ Possible Duplicates FormView.kt#L654 Code addition Stores the returned SID session and hands the enrolment form off to the possible duplicates search flow
Enrolment+ Possible Duplicates EnrollmentActivity.kt#L281 Code addition Launches possible duplicates search from the enrolment form, carrying the biometric field and returned GUID matches
Enrolment+ Possible Duplicates SimprintsLoadPossibleDuplicatesSearchResultsUseCase.kt New file Resolves returned GUIDs one by one into TEI search results for the possible duplicates review list
Enrolment+ Possible Duplicates SearchTEIViewModel.kt#L554 Code addition Switches search loading into possible-duplicates mode and auto-falls back to Enrol Last when no matching TEIs exist in DHIS2
Enrolment+ Possible Duplicates SearchTEList.kt#L307 Code addition Replaces the default "+ New" action button with None of the above while reviewing possible duplicates
Enrolment+ Enrol Last SearchTEIViewModel.kt#L502 Code addition Marks None of the above as a pending enrolment action and closes the possible duplicates search
Enrolment+ Enrol Last SearchTEActivity.kt#L655 Code addition Returns possible duplicates search with an auto-enrol-last signal when the flow should continue to REGISTER_LAST_BIOMETRICS
Enrolment+ Enrol Last EnrollmentActivity.kt#L145 Code addition Receives the possible duplicates return flow and launches save-time Enrol Last before enrolment finishes
Enrolment+ Enrol Last SimprintsEnrollmentViewModel.kt#L41 Code addition Builds the auto-enrol-last intent from the stored session and restores pending actions across lifecycle interruptions
Enrolment+ Enrol Last SimprintsSessionRepository.kt#L29 Code addition Keeps separate pending Enrol Last source state for possible-duplicates returns
Enrolment+ Enrol Last SimprintsRememberCustomIntentFormPresenter.kt#L32 Code change Shows (Using last biometrics) when Enrol Last is resumed after returning from possible duplicates
Identification+ Enrol Last EnrollmentActivity.kt#L83 Code addition Launches Enrol Last before completing a valid enrollment save and resumes finish after SID returns
Identification+ Enrol Last EnrollmentPresenterImpl.kt#L163 Code addition Delegates save-time Enrol Last resolution and result handling
Identification+ Enrol Last EnrollmentModule.kt#L182 Code addition DI for separate Simprints-specific components for Identification+ Enrol Last
Identification+ Enrol Last SimprintsEnrollmentViewModelFactory.kt New file Creates activity-scoped Simprints Enrol Last ViewModel so pending save-time state survives configuration changes
Identification+ Enrol Last SearchTEActivity.kt#L571 Code change Carries biometric search context into create/enroll actions via prepared enrollment query data
Identification+ Enrol Last SimprintsSearchViewModel.kt#L96 Code addition Prepares Simprints enrollment query data and tracks whether the create action should use last biometrics
Identification+ Enrol Last SearchTEIViewModel.kt#L1266 Code change Preserves existing search parameter values when fields reload so pending Enrol Last state survives configuration changes
Identification+ Enrol Last SearchTEList.kt#L289 Code addition Observes the Simprints create-action label state for if the new TEI enrollment button in the result list should use Enrol Last
Identification+ Enrol Last SearchTEUi.kt#L688 Code change Switches the new TEI enrollment button text to the last-biometrics label when a pending biometric session exists
Identification+ Enrol Last FormRepositoryImpl.kt#L61 Code change Counts pending Enrol Last values as present for form completion, sections, and mandatory validation
Identification+ Enrol Last Injector.kt#L268 Code addition DI for separate Simprints-specific components for Identification+ Enrol Last
Identification+ Enrol Last CustomIntentProvider.kt#L75 Code addition Shows pending biometric placeholder state, clears it on user clear, and routes Simprints enrollment results
Identification+ Enrol Last SimprintsCustomIntentResultMapper.kt New file Maps SID result intents through the existing custom-intent response contract
Identification+ Enrol Last SimprintsEnrollmentViewModel.kt New file Coordinates pending Enrol Last launch, save-time result persistence, and session clearing
Identification+ Enrol Last SimprintsD2Repository.kt New file Provides D2 access for enrollment context and TEA value reads/writes used by Simprints flows
Identification+ Enrol Last SimprintsSessionRepository.kt New file Persists last identification session and pending Enrol Last state in shared preferences
Identification+ Enrol Last SimprintsResolvePendingEnrollmentActionUseCase.kt New file Finds the configured register callout and prepares REGISTER_LAST_BIOMETRICS for the pending enrollment
Identification+ Enrol Last SimprintsIntentUtils.kt New file Centralizes Simprints callout detection, request preparation, session extraction, and pending placeholder checks
Identification+ Enrol Last SimprintsSearchUtils.kt New file Detects biometric identification queries and filters biometric GUIDs before carrying enrollment data
Identification+ Enrol Last SimprintsCustomIntentFormPresenter.kt New file Handles Simprints form callout launch, session capture, placeholder display, and pending-state clearing
Identification+ Enrol Last SimprintsRememberCustomIntentFormPresenter.kt New file Builds the Simprints form presenter from Compose field state and placeholder resources
Identification Confirm Identity SearchTEActivity.kt#L128 Code addition Registers the confirm-identity SID launcher and waits for Simprints navigation before opening dashboards
Identification Confirm Identity SearchTEIViewModel.kt#L824 Code addition Intercepts TEI openings from biometric search to launch Confirm Identity when required
Identification Confirm Identity SearchTEModule.java#L358 Code addition DI for separate Simprints-specific components for Identification Confirm Identity
Identification Confirm Identity SearchTeiViewModelFactory.kt#L46 Code addition Passes Simprints search state into SearchTEIViewModel
Identification Confirm Identity SimprintsSearchViewModelFactory.kt New file Creates activity-scoped Simprints search ViewModel so Confirm Identity and Enrol Last state survives configuration changes
Identification Confirm Identity SimprintsSearchViewModel.kt New file Coordinates biometric search handoff for Enrol Last labels and Confirm Identity navigation
Identification Confirm Identity SimprintsResolveConfirmIdentityCalloutUseCase.kt New file Resolves the selected TEI's biometric GUID and prepares the CONFIRM_IDENTITY callout
ModuleID in Identification CustomIntentRepositoryImpl.kt#L105 Code addition Overrides moduleId for Simprints identification intents with the current user's Org Unit value
Identification result ordering by score SearchTEIViewModel.kt#L692 Code addition Routes biometric search loading through SID-order-aware lookup so results follow identification match score order
Identification result ordering by score SearchTEModule.java#L350 Code change DI for separate Simprints-specific components for Identification result ordering by score
Identification result ordering by score SearchTeiViewModelFactory.kt#L47 Code addition Passes the ordered-result use case into SearchTEIViewModel
Identification result ordering by score SimprintsOrderSearchResultsByIdentifyResponseUseCase.kt New file Orders matching TEIs to follow the SID identification response order
Identification with less buttons ParameterSelectorItemProvider.kt#L92 Code addition Starts Simprints identification callout immediately on biometric search field click instead of expanding the field
Identification with less buttons SearchTEUi.kt#L211 Code change Keeps the Biometric search label read-only
Identification with less buttons SearchParametersScreen.kt#L140 Code addition Treats a successful Simprints identification return as an immediate search command instead of waiting for a manual extra step
Identification with less buttons SearchTEIViewModel.kt#L1231 Code addition Rehydrates carried query values and performs the search immediately when biometric query data is present
Identification with less buttons SearchTEActivity.kt#L620 Code addition Skips the transient search editor and jumps straight to the biometric result list without backdrop animation
MFID Auto-Open Record SearchParametersScreen.kt#L498 Code addition Detects credential-linked identification results that qualify for the MFID direct-open shortcut
MFID Auto-Open Record SimprintsSearchViewModel.kt#L187 Code addition Consumes an eligible single MFID identification to open the matched record directly instead of showing the result list
MFID Auto-Open Record SimprintsResolveSingleBiometricSearchNavigationUseCase.kt New file Resolves the biometric search to exactly one TEI before auto-opening the record

Releases

SimCapture releases have the following naming scheme: SimCapture-DHIS2-<upstream_DHIS2_version>-fork-<SimCapture_version>. An example of a release APK name: SimCapture-DHIS2-v3.3.1-fork-1-signed-release.apk.

GitHub Actions

The workflows of this fork repo should start with simcapture-.

The upstream README is preserved below.

README

Lines of Code Reliability Rating

Check the Wiki for information about how to build the project and its architecture (WIP)

What is this repository for?

DHIS2 Android application.

About

DHIS2 data and tracker capture app for Android to support integration with SimprintsID

Resources

License

Stars

Watchers

Forks

Contributors

Languages

  • Kotlin 92.5%
  • Java 7.2%
  • Other 0.3%