feat(nav): group the drawer into the shard's sections and honor its added links (M12 phase 6)
Phase 6 of M12 (docs/android/THEMING_AND_NAV.md §6.3): the drawer gains the sections an admin grouped rows into and the links they added of their own, the last of the public nav the website publishes. buildNavTree ports the web's buildPublicNav and pruneNav; a link's path is validated by the website's own read rule and resolved through resolveWebPath, which the app has to answer for any page on the site rather than the nav's sixteen. A link the app can open natively does; one it cannot hands off to a Custom Tab, absolute against the configured base URL. Phase 6 does not re-implement phase 5: with no sections and no links stored, buildNavTree hands straight to applyNavOverrides, so an untouched instance still gets APP_MENU back by identity and AC-1's proof is unchanged. visibleEntries is split into isEntryVisible so pruneNav can apply the same predicate inside a section, and drop one the gates leave empty. 476 unit tests green (442 + 34); lintDebug and assembleDebug clean. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -37,6 +37,8 @@
|
||||
|
||||
<!-- ── Navigation menu (§5) ────────────────────────────────────────── -->
|
||||
<string name="nav_open_menu">Open navigation menu</string>
|
||||
<!-- On an admin-added link the app has no screen for; it opens in a browser (§6.3). -->
|
||||
<string name="nav_opens_in_browser">Opens in your browser</string>
|
||||
<string name="menu_home">Home</string>
|
||||
<string name="menu_news">News</string>
|
||||
<string name="menu_wiki">Wiki</string>
|
||||
|
||||
Reference in New Issue
Block a user