Skip to content

CCCT-2457 PersonalId Profile Screen Phase Two#3772

Merged
conroy-ricketts merged 1 commit into
masterfrom
CCCT-2457-personalid-profile-screen-phase-two
Jun 24, 2026
Merged

CCCT-2457 PersonalId Profile Screen Phase Two#3772
conroy-ricketts merged 1 commit into
masterfrom
CCCT-2457-personalid-profile-screen-phase-two

Conversation

@conroy-ricketts

@conroy-ricketts conroy-ricketts commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

CCCT-2457

Technical Summary

Phase 2 of the Manage Profile feature: sets up the navigation scaffolding that later phases build on.

There's not really much new UI to show for this.

Safety Assurance

Safety story

What gives me confidence:

  • I ran the app on an emulator, temporarily revealing the drawer link, and confirmed the Profile screen opens.
  • The change is additive and dark-launched — the new activity is not reachable through the UI until a later phase reveals the drawer link.

Risks to review:

  • Shared Safe Args class: this graph and nav_graph_personalid.xml both define the PersonalIdEmailVerificationFragment destination, and their argument sets must stay in sync or the build breaks. Nothing automated guards this coupling.
  • The screen fragments are placeholders rendering empty views; there is no screen behavior to verify in this phase.

[AI] Added PersonalIdProfileActivity as a navigation host with a profile/edit-profile/email-verification nav graph and placeholder fragments, so later phases can build out the screens.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@conroy-ricketts conroy-ricketts self-assigned this Jun 23, 2026
@conroy-ricketts

Copy link
Copy Markdown
Contributor Author

Suggested Review Order

  • app/res/navigation/nav_graph_personalid_profile.xml — defines the destinations, actions, and the shared-Args constraint; the crux of the change
  • app/res/layout/activity_personalid_profile.xml — host layout: appbar include + nav-host container
  • app/src/org/commcare/activities/connect/PersonalIdProfileActivity.kt — wires the host to the graph and action bar
  • app/src/org/commcare/fragments/personalId/PersonalIdProfileFragment.kt — placeholder start destination
  • app/src/org/commcare/fragments/personalId/PersonalIdEditProfileFragment.kt — placeholder edit destination

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

PersonalIdProfileActivity is refactored from CommCareActivity to NavigationHostCommCareActivity, gaining a layout resource (activity_personalid_profile) and a nav host fragment (profile_nav_host). A new layout file adds a toolbar and FragmentContainerView/NavHostFragment. A new navigation graph defines three destinations—PersonalIdProfileFragment, PersonalIdEditProfileFragment, and PersonalIdEmailVerificationFragment—connected by two actions, with typed arguments on the email verification destination. Two stub fragments (PersonalIdProfileFragment, PersonalIdEditProfileFragment) are added, each returning a bare View from onCreateView.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • dimagi/commcare-android#3761: Introduced the initial stub PersonalIdProfileActivity extending CommCareActivity, which this PR refactors into a navigation-host activity with a full nav graph.
  • dimagi/commcare-android#3770: Uses the workflow argument on PersonalIdEmailVerificationFragment that this PR declares in nav_graph_personalid_profile.xml.

Suggested labels

skip-integration-tests

Suggested reviewers

  • shubham1g5
  • OrangeAndGreen
  • Jignesh-dimagi
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description includes a clear technical summary referencing the feature phase and architecture, safety assurance with both confidence factors and known risks, but lacks explicit sections for Product Description and the Labels and Review checklist.
Title check ✅ Passed The title 'CCCT-2457 PersonalId Profile Screen Phase Two' directly corresponds to the PR's main objective of adding navigation scaffolding and UI infrastructure for Phase 2 of the Manage Profile feature, establishing a new PersonalIdProfileActivity with its navigation graph and placeholder fragments.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch CCCT-2457-personalid-profile-screen-phase-two

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@conroy-ricketts conroy-ricketts marked this pull request as ready for review June 23, 2026 18:07
@conroy-ricketts conroy-ricketts requested review from a team, Jignesh-dimagi, OrangeAndGreen and shubham1g5 and removed request for a team June 23, 2026 18:07
@conroy-ricketts conroy-ricketts changed the title CCCT-2457 Add Profile Navigation Host And Graph CCCT-2457 PersonalId Profile Screen Phase Two Jun 23, 2026
@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 25.97%. Comparing base (87d4bf2) to head (d3802e1).
⚠️ Report is 40 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3772      +/-   ##
============================================
+ Coverage     25.96%   25.97%   +0.01%     
- Complexity     4408     4420      +12     
============================================
  Files           953      958       +5     
  Lines         57366    57485     +119     
  Branches       6824     6852      +28     
============================================
+ Hits          14893    14932      +39     
- Misses        40640    40714      +74     
- Partials       1833     1839       +6     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@conroy-ricketts conroy-ricketts merged commit ceca07d into master Jun 24, 2026
64 of 65 checks passed
@conroy-ricketts conroy-ricketts deleted the CCCT-2457-personalid-profile-screen-phase-two branch June 24, 2026 15:45
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.

4 participants