~/talk

Migrating to a Single-Activity Architecture in a Modular App

Talkat droidcon Berlin 2025 · 2025-09-24..09-26· [android, frontend-architecture]
links:none on file
slides:none on file

Migration reduces a 60+ activity monolith to a small set of hosts using Android Navigation: teams convert flows into nav graphs, merge 60→~12 then replace many with subnavigation activity with dynamic nav graph IDs and a composable subnavigation activity, use Hilt and a GraphFactory interfaces in shared module to avoid cyclic deps, scope shared ViewModels to navGraphs, fix a navigateUp deep‑link relaunch bug by overriding behavior, and deliver faster builds and steadier releases over one year.

AI-written summary · about

  1. 0:00Single-activity architecture intro
  2. 3:13Why migrate to single activity
  3. 8:52Ownership mindset and tech debt
  4. 13:05Chain of pearls strategy
  5. 15:58Merging activities into nav graphs
  6. 18:07Subnavigation activity for modular flows
  7. 21:18Cyclic dependencies with shared interfaces
  8. 22:45Adopting Jetpack Compose
  9. 24:50Composable subnavigation activity
  10. 26:58Back stack challenges and fixes
  11. 30:51Shared ViewModels benefits
  12. 33:20Key takeaways from migration
  13. 34:46Communication during tech changes
  14. 36:11Adaptability and automation
  15. 37:35Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.