Skip to content

User Screens Update#4

Merged
aysegulsum merged 3 commits into
mainfrom
design
Feb 2, 2026
Merged

User Screens Update#4
aysegulsum merged 3 commits into
mainfrom
design

Conversation

@Aysenur15

Copy link
Copy Markdown
Contributor

I have added some user screens for mobile app.

@aysegulsum aysegulsum merged commit 0afd4df into main Feb 2, 2026
ahmetabdullahgultekin added a commit that referenced this pull request May 30, 2026
…le (#45)

* feat(mobile): wire NFC card enrollment + CI unit tests + docs reconcile

WS2 P0 slice of task #4 — the fully-unblocked, concrete work.

NFC enroll wiring:
- NfcReadScreen now offers a "Register this card" action on a successful
  read → EnrollNfcCardUseCase → POST /api/v1/nfc/enroll. There was NO
  shared NFC enrollment client before (only the push-approval API existed).
- New shared client end-to-end: NfcEnrollmentApi(Impl),
  NfcEnrollmentRepository(Impl), NfcEnroll/Verify DTOs, EnrollNfcCardUseCase,
  DI in Network/Repository/UseCase modules.
- Serial normalized to the API-canonical UPPERHEX-no-separators form
  (normalizeCardSerial), aligned with identity-core-api (agent-api contract)
  so a mobile-enrolled card matches a web verify and vice-versa. Android
  Tag.getId() already yields canonical UPPERHEX; the normalizer guards
  opaque UIDs and guarantees we never emit separators.
- i18n EN+TR (NFC_REGISTER_CARD_* keys), no hardcoded UI strings.

CI: android-build.yml now runs :shared:test + :androidApp:testDebugUnitTest
before assembling (CI previously only assembled; the Kotlin unit tests never
ran). Instrumented androidTest still needs an emulator — not run in CI.

Docs: corrected README "thin OAuth client" → full native client framing;
docs/TODO.md records enroll as done and passive-auth/CSCA/PACE as deferred
(operator-blocked: needs ICAO-PKD CSCA roots + physical test cards).

Tests: NfcSerialTest (canonicalization), EnrollNfcCardUseCaseTest (normalize
+ blank-fast-fail + failure propagation). ./gradlew :shared:test
:androidApp:testDebugUnitTest green.

Deferred to follow-ups (operator-blocked / large): passive auth SOD→server
+ CscaCertificateStore population, PACE, linkedAccounts/accountSwitcher
parity, desktop installers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* test(android): add kotlin-test-junit to androidTest classpath

The instrumented androidTest source set used kotlin.test.* assertions
(TotpVaultTest, ThemePreferencesTest, LoginScreenTest) but only the JVM
unit-test set had kotlin-test-junit — so androidTest never compiled. Add it
to androidTestImplementation. compileDebugAndroidTestKotlin now succeeds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

2 participants