Skip to content

F-111: sample navigation ports + root adapter - #226

Merged
stepango merged 1 commit into
v2from
forma/F-111-sample-navigation-ports
Jul 27, 2026
Merged

F-111: sample navigation ports + root adapter#226
stepango merged 1 commit into
v2from
forma/F-111-sample-navigation-ports

Conversation

@stepango

Copy link
Copy Markdown
Collaborator

Summary

  • Implements F-111 (GH New navigation system #46 sample): presentation-layer navigation ports so feature impl/VM stay free of Jetpack Navigation / Safe Args.
  • Layer A: core/navigation/api — Navigator, AppDestination, HomeChromeMode, Bundle arg keys.
  • Adapter: root-app JetpackNavigator + JetpackHomeShellNavigation; multi-backstack helpers moved to core/navigation/android-util (HomeShellNavigation port without depending on api — matrix).
  • Layer B unchanged: core/navigation/res still Path B navigationRes.
  • Stripped feature → core/navigation/res / androidx.navigation; cargo-cult favorite deps cleaned; GH New navigation system #46 TODOs resolved.

Verify

  • source scripts/env-mac.sh && cd application && ./gradlew :binary:assembleDebug → BUILD SUCCESSFUL
  • No findNavController / FragmentDirections / navArgs / androidx.navigation under application/feature Kotlin sources

Test plan

  • assembleDebug green on worker host
  • CI Plugins + Application jobs on PR

Next board: F-103 hybrid targets example.

Apply F-102 Layer A/B to application/: Navigator/AppDestination ports,
root-owned JetpackNavigator + home shell binder, strip Nav/Safe Args from
feature impl/VM; keep Path B navigationRes.
@stepango
stepango merged commit 68d825b into v2 Jul 27, 2026
8 checks passed
@stepango
stepango deleted the forma/F-111-sample-navigation-ports branch July 27, 2026 04:06
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.

1 participant