~/talk

Android Navigation at scale

Talkat Mobius 2022 Autumn · 2022-11-09..11-21· [android, frontend-architecture]
links:none on file
links:none on file
slides:none on file

Jetpack Navigation proves inadequate in a large multi-module app, so a custom navigation engine is built: single-source state-of-stacks model with renderer, actions/reducer and a router that dispatches navigation; it preserves fragment lifecycle, supports saving/restoring stacks, and avoids fragile per-feature hacks. Deep links are handled by generated registries + bytecode patching via колонист, plus a tree-based deeplink matcher that validates conflicts and reduces matching from full-graph scans; the implementation is already migrating real features and shows measurable performance and correctness gains.

AI-written summary · about

  1. 0:00Introduction
  2. 2:53Navigation problems in large projects
  3. 4:39Jetpack Navigation limitations
  4. 7:28Fragment issues and solutions
  5. 10:34Custom navigation library
  6. 12:00New library architecture
  7. 15:14Fragment management
  8. 18:09Root Render and stack handling
  9. 21:51Actions and reducers in navigation
  10. 23:18Entry point: controller and host
  11. 27:22Deep link implementation
  12. 29:40Deep link targets and components
  13. 33:55Deep link code generation
  14. 37:27Handling default parameters
  15. 40:36Deep link to graph mapping
  16. 44:08Regex issues
  17. 45:34Optimization with trees
  18. 48:05Summary and library adoption
  19. 48:51Q&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.