Skip to content

Merge/main/2026.2.1#1732

Merged
meladRaouf merged 21 commits into
mainfrom
merge/main/2026.2.1
Jul 11, 2026
Merged

Merge/main/2026.2.1#1732
meladRaouf merged 21 commits into
mainfrom
merge/main/2026.2.1

Conversation

@meladRaouf

Copy link
Copy Markdown
Collaborator

No description provided.

meladRaouf and others added 21 commits June 22, 2026 18:12
Change ORDER BY in SessionScopeRoomDao.loadClosed from DESC to ASC
so older sessions are prioritised over newer ones during upload.

Add SessionScopeRoomDaoTest to verify FIFO ordering is preserved.
100% translated source file: 'strings.xml'
on 'am'.
fix: upload session events in FIFO order
…-build-apk.yml

- Extract version code generation and validation into a reusable shell script
- Add unit tests for the version generation script
- Add test-version-generation workflow

Cherry-picked from 23a5f42 and 27741c1
…release

- Add reusable-upload-to-internal-and-release.yml: uploads AAB via
  TianchenWei/upload-aab-google-play, downloads the Play-signed universal
  APK, and creates a draft GitHub release with the APK attached
- Update pipeline-deploy-to-internal.yml: replace deploy-internal-build
  and tag-release jobs with the new upload-to-internal-and-release job
… workflow

- Mask the derived base64 credential with ::add-mask:: to prevent it
  leaking in debug logs; use printf instead of echo to avoid content
  mangling
- Pin TianchenWei/upload-aab-google-play to commit SHA
  1b070738058f58636b4a5c92ece8bc89fc7e4910 (main) instead of the
  moving branch ref to prevent unreviewed breaking changes
inputs.version-name and inputs.mapping-file were interpolated directly
into run scripts, allowing script injection if the workflow is triggered
with crafted values. Move all user-controlled inputs and step outputs to
env: so they are referenced as shell variables instead.
Cover the 4-digit/5-digit boundary (9999 → 10000) and a large 5-digit
run number (99999) to confirm VERSION_CODE is computed correctly when
run_number exceeds four digits.
The formula and re-run policy are already documented in
generate-version.sh, which is the single source of truth.
Keeping a copy in the workflow risks the two drifting apart.
…load script

TianchenWei/upload-aab-google-play is an unmaintained personal repo.
Replace it with:
- r0adkll/upload-google-play@v1 (already used in reusable-promote-artifact)
  for uploading the AAB to the internal track
- download-universal-apk.py (our own script) for fetching the Play-signed
  universal APK

Also expose version-code as an output of reusable-build-apk.yml so the
download script can look up the correct APK in the Play generatedApks API.
Apk versiong + download apk from google play
Update universal APK download ID key to `generatedUniversalApk`
Delete existing draft release to avoid conflicts during upload
…nts can be controlled with custom config (#1730)

* [MS-1485] MFID: "Skip reason" screen visiblity and content is now controlled by 'mfidDefaultSkipReason' and 'mfidSkipReasonsHideHasNumber' flags

* [MS-1485] Destroying dialog in 'onDestroyView' instead of 'onDestroy'

* [MS-1485] Fixing failing tests
- String resource conflicts: none (auto-merged cleanly)
- test-generate-version.sh: kept additive test cases from release branch
- test-version-generation.yml: kept main's actions/checkout@v7
- reusable-build-apk.yml: kept main's VERSION_CODE comments

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@cla-bot cla-bot Bot added the ... label Jul 5, 2026
@meladRaouf meladRaouf requested a review from alex-vt July 5, 2026 16:22
@sonarqubecloud

sonarqubecloud Bot commented Jul 5, 2026

Copy link
Copy Markdown

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 appears to be a release-merge for 2026.2.1, combining (1) UX/config updates to the External Credential (MFID) flow, (2) a small Amharic string-format fix, and (3) CI/CD workflow changes to upload an internal build and draft a GitHub release asset (universal APK).

Changes:

  • Add experimental config parsing for MFID “default skip reason” and a flag to hide one of the skip options; wire these into the external-credential UI and add unit tests.
  • Refactor the “skip scan” confirmation bottom sheet into a reusable dialog and adjust navigation/back handling in the external-credential flow.
  • Introduce a reusable GitHub Actions workflow + Python helper script to upload to Internal track and attach a Play-signed universal APK to a draft GitHub release (plus extend version-generation boundary tests).

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
infra/resources/src/main/res/values-am/strings.xml Fix multiline formatting and a string placeholder formatting issue.
infra/config-store/src/main/java/com/simprints/infra/config/store/models/ExperimentalProjectConfiguration.kt Add new experimental config keys for MFID skip behavior.
infra/config-store/src/test/java/com/simprints/infra/config/store/models/ExperimentalProjectConfigurationTest.kt Add tests for new MFID experimental config parsing.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialViewModel.kt Read new experimental config and add bypassSkipScreen() for default skip reason.
feature/external-credential/src/test/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialViewModelTest.kt Add tests for new default skip/bool flag behavior.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/view/SkipScanConfirmationDialog.kt New bottom-sheet dialog for skip confirmation.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/select/ExternalCredentialSelectFragment.kt Use the new dialog and optionally bypass skip screen when configured.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/search/model/SearchCredentialState.kt Add state flags to disable edit/confirm for non-OCR (QR) credentials.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/search/ExternalCredentialSearchFragment.kt Add back-press handling and integrate the new dialog + state flags.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/skip/ExternalCredentialSkipFragment.kt Hide a skip reason UI element based on new experimental flag.
feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/controller/ExternalCredentialControllerFragment.kt Remove controller-level “search back goes to skip” handling (now handled in fragment).
.github/workflows/reusable-upload-to-internal-and-release.yml New reusable workflow to upload Internal + create a draft GH release with universal APK.
.github/workflows/pipeline-deploy-to-internal.yml Switch pipeline to use the new reusable workflow and pass version inputs.
.github/scripts/test-generate-version.sh Add version-code generation boundary tests for larger run numbers.
.github/scripts/download-universal-apk.py New Python script to poll Google Play for and download the universal APK.

Comment on lines +14 to +16
@ExcludedFromGeneratedTestCoverageReports("UI class")
class SkipScanConfirmationDialog(
context: Context,
Comment on lines +77 to +82
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
if (mainViewModel.defaultSkipReason != null) {
showSkipConfirmationDialog()
} else {
findNavController().navigate(R.id.externalCredentialSkip)
}
Comment on lines +34 to +36
- name: Checkout
uses: actions/checkout@v6

Comment on lines 25 to 28
upload-artifact: ${{ needs.build-internal-aab.outputs.build-artifact }}
version-name: ${{ needs.get-version.outputs.version-name }}
version-code: ${{ needs.build-internal-aab.outputs.version-code }}
mapping-file: ${{ needs.build-internal-aab.outputs.optional-mapping-file }}
@meladRaouf meladRaouf merged commit e20e901 into main Jul 11, 2026
16 checks passed
@meladRaouf meladRaouf deleted the merge/main/2026.2.1 branch July 11, 2026 06:45
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