Skip to content

[MS-1485] MFID, "Skip reason" screen rework. Its visibility and contents can be controlled with custom config#1730

Merged
alexandr-simprints merged 3 commits into
release/2026.2.1from
MS-1485-mfid-make-skip-reasons-customisable
Jun 30, 2026
Merged

[MS-1485] MFID, "Skip reason" screen rework. Its visibility and contents can be controlled with custom config#1730
alexandr-simprints merged 3 commits into
release/2026.2.1from
MS-1485-mfid-make-skip-reasons-customisable

Conversation

@alexandr-simprints

@alexandr-simprints alexandr-simprints commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

JIRA ticket
Will be released in: 2026.2.1

Notable changes

1. Controlling visibility of GG2-specific MFID skip reason with the mfidSkipReasonsHideHasNumber flag

mfidSkipReasonsHideHasNumber is a boolean flag with false as default value. When set to true, HAS_NUMBER_NO_ID ("Has number, no document (Booklet)") reason is hidden. The remaining 7 reasons are shown.

mfidSkipReasonsHideHasNumber = true
skip-screen-hide-gg2

mfidSkipReasonsHideHasNumber = false
image

2. "Skip Reason" screen can be bypassed with the mfidDefaultSkipReason string

This flag specifies the default MFID skip reason. If not empty, the "Skip Reason" screen is bypassed within the MFID flow, and ExternalCredentialSelectionEvent is saved with skipReason = “OTHER” and skipOther=flag-value

In both cases the ExternalCredentialSelectionEvent is saved with skipReason = “OTHER” and skipOther=Test MFID Default Skip Reason.
image

Testing guidance

Test the behaviour of the "Skip Reason" screen using these flags in your custom project configuration:

{"mfidDefaultSkipReason":"anything","mfidSkipReasonsHideHasNumber":true}

Additional work checklist

  • Effect on other features and security has been considered
  • Design document marked as "In development" (if applicable)
  • External (Gitbook) and internal (Confluence) Documentation is up to date (or ticket created)
  • Test cases in Testiny are up to date (or ticket created)

…trolled by 'mfidDefaultSkipReason' and 'mfidSkipReasonsHideHasNumber' flags

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds experimental project configuration flags to control MFID “Skip reason” behavior in the external-credential flow: optionally hiding the GG2-specific “Has number, no document” reason and optionally bypassing the skip-reason screen entirely by auto-recording an OTHER skip reason with a configured free-text value.

Changes:

  • Added mfidDefaultSkipReason (string) and mfidSkipReasonsHideHasNumber (boolean) parsing in ExperimentalProjectConfiguration, plus unit tests.
  • Updated MFID external-credential UI/flow to (a) hide the “Has number, no document (Booklet)” option when configured and (b) bypass the skip-reason screen when a default skip reason is configured.
  • Refactored skip confirmation bottom sheet into a reusable SkipScanConfirmationDialog and extended ViewModel tests for the new behavior.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
infra/config-store/src/main/java/com/simprints/infra/config/store/models/ExperimentalProjectConfiguration.kt Adds typed accessors + keys for the two new experimental MFID flags.
infra/config-store/src/test/java/com/simprints/infra/config/store/models/ExperimentalProjectConfigurationTest.kt Adds coverage ensuring the new flags parse safely from custom config.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialViewModel.kt Reads experimental flags and implements bypassSkipScreen() to emit a skipped result with OTHER.
feature/external-credential/src/test/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialViewModelTest.kt Adds tests for bypass behavior and config reads.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/view/SkipScanConfirmationDialog.kt Introduces a dedicated bottom-sheet dialog for skip confirmation.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/select/ExternalCredentialSelectFragment.kt Uses the new dialog and bypasses skip screen when mfidDefaultSkipReason is set.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/search/ExternalCredentialSearchFragment.kt Adds back-press handling to show confirmation / bypass (or navigate to skip screen when not configured).
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/skip/ExternalCredentialSkipFragment.kt Hides the “has number, no document” reason based on the experimental flag.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialControllerFragment.kt Removes controller-level back handling for search, delegating to the search screen.

@sonarqubecloud

Copy link
Copy Markdown

@alexandr-simprints alexandr-simprints merged commit 5826d75 into release/2026.2.1 Jun 30, 2026
14 checks passed
@alexandr-simprints alexandr-simprints deleted the MS-1485-mfid-make-skip-reasons-customisable branch June 30, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants