feat(navigation): floating 3+1 chrome, lighter type, App Links - #949
Conversation
Ship Google Photos-style Home/Explore/Library pill + Lore FAB with a Classic fallback, soften Google Sans Flex emphasis and default lettering to Round, and make share App Links HTTPS-only so Play domain verification matches the live DAL.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (155)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis pull request adds floating and classic navigation styles, persisted navigation-style preferences, centralized Google Sans typography and variable-font handling, updated player and briefing behavior, and revised CI documentation so Roborazzi screenshot verification is local and optional. ChangesNavigation and app chrome
Typography and UI styling
Briefing and player behavior
CI and documentation
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
Comment |
|




Closes #944
Summary
autoVerify), after fixing Digital Asset Links onaswin.cxwith the Play App signing certificate.Motivation
Listeners spend most of their time moving between Home, Explore, Library, and Lore. The old equal-weight tab bar treated Lore like every other destination and competed with the mini-player for space. We want navigation that feels modern, leaves more room for content, and still lets people who prefer the classic bar switch back.
Typography was reading too heavy on many screens (especially on HyperOS), and share links from the web were failing Play domain ownership checks, so tapping a share URL often opened a browser or app picker instead of boxlore.
What changed
Navigation & shell
Typography & lettering
GoogleSansWeightscale: lighter emphasis (roughly 400 / 400 / 500 / 600 instead of heavy Medium/SemiBold/Bold).Briefing / playback polish
App Links
aswin.cx/boxlore/shareand/boxcast/share.https://aswin.cx/.well-known/assetlinks.jsonupdated with Play App signing (+ upload) SHA-256 forcx.aswin.boxlore(deployed separately on Firebase Hosting).CI / maintainer
:feature:home:verifyRoborazziDebugfromunit-tests.yml.Behavior & compatibility
navigation_style:floating(default) /classichttp+httpsautoVerify; DAL fingerprints mismatched PlayOlder clients keep working; users need an updated install for verified App Links opens and the new chrome. Play Console may still show stale
boxcastactivity rows until a store build with this manifest is published.Impact (required)
User impact — pick exactly one
user-impact-highuser-impact-mediumuser-impact-lowno-user-impactListener impact — required when
user-impact-highoruser-impact-mediumWhat changes in the user’s life:
Opening boxlore now feels different at the bottom of the screen. Instead of four same-looking tabs, Home, Explore, and Library sit together in a floating pill, while Lore stands alone as its own circular button—closer to how people already think about “browse vs Lore.” There’s more breathing room above the chrome, and the mini-player lines up with whichever navigation style you pick.
If you like the old bar, nothing is forced forever: Settings → Appearance → Navigation still offers Classic.
Text across the app is calmer. Titles and buttons don’t shout as hard; the default lettering is a rounder Google Sans Flex look (you can still choose Crisp or Soft). On phones that used to flatten bold vs regular (some HyperOS devices), weights should finally look different again.
Sharing an episode or show link should open straight into boxlore more often after this version is on the store and Play re-checks the domain—fewer “open in browser / pick an app” dead ends for
https://aswin.cx/boxlore/share…links.Daily Briefing playback is a bit more reliable when starting or scrubbing stories.
Backend — optional
backend-change(Hosting DAL on
aswin.cxwas updated outside this Android PR; no boxlore backend/API change.)Test plan
./gradlew installDebug) when UI or app behavior changedhttps://aswin.cx/boxlore/share…on a device with this build (and after Play re-verify)aswin.cx+/boxlore/shareNotes (optional)
floating-nav-review.png/legacy-navbar-review.pngleft untracked on purpose.assetlinks.jsonalready live onaswin.cx; Play may need a new store build before Web links rows refresh away from legacycx.aswin.boxcast.MainActivity.screenshots/baselines/can still be recorded locally; they are no longer merge-blocking.