Skip to content

ADFA-4593: wire three-tier help to all native controls (conexión total)#152

Merged
luisguzman-adfa merged 1 commit into
mainfrom
feat/ADFA-4593-wire-all-tooltips
Jul 8, 2026
Merged

ADFA-4593: wire three-tier help to all native controls (conexión total)#152
luisguzman-adfa merged 1 commit into
mainfrom
feat/ADFA-4593-wire-all-tooltips

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

ADFA-4593 — Conexión total (wiring)

Wires the three-tier help mechanism (merged in the mechanism PR) to all native controls. No help content is added here — that lands in the follow-up content + l10n PR.

Approach — central registry, one line per screen

  • TooltipWiring.wireAll(root) iterates a central R.id -> tag map (74 controls across 12 screens) and attaches the long-press tooltip to each control present in that view tree. Null-safe: a control absent from the current screen is skipped, so one shared map works everywhere.
    • TooltipTag is the full tag registry (one constant per control) — single source of truth, matched by the content PR's .po tags.
    • wireAll(...) is called once in each Fragment.onViewCreated (Sync, Feedback, SetupSection, About, Usage, Dashboard, Deploy) and each Activity.onCreate after setContentView (Setup, Qr, Portal, CrashReport). MainActivity switched from its 4 individual calls to wireAll(decorView).

Behavior

  • Controls with content in the DB show the tooltip; controls without content yet show nothing on long-press (getTooltip null, logged — no crash). Today only the 4 Main tooltips (seeded in the mechanism PR) have content; the rest light up when the content PR lands.
    • dash_tunnel excluded (removed by the tunnel cleanup). No new dependencies.

Scope / next

  • Native UI only. Tier-3 serving is ADFA-4594.
    • Follow-up PR: tier 1+2 content for all 74 tags + translations (en/es/fr/hi/pt/ru) — concludes ADFA-4593.

Testing

  • Builds locally (testDebugUnitTest, :app:lintDebug, assembleDebug); long-press verified on device.
    Relates to ADFA-4536; sibling of ADFA-4594.

Central registry + one-line-per-screen wiring:
- TooltipWiring.wireAll(root): iterates a central R.id -> tag map (74 controls
  across 12 screens) and attaches the long-press tooltip to each control present
  in that view tree (null-safe; absent controls skipped).
- TooltipTag: full tag registry (one constant per control), single source of truth.
- wireAll(view) called once in each Fragment.onViewCreated (Sync, Feedback,
  SetupSection, About, Usage, Dashboard, Deploy) and each Activity.onCreate after
  setContentView (Setup, Qr, Portal, CrashReport). MainActivity switched from the
  4 individual calls to wireAll(decorView).

No content changes: controls without help text in the DB simply show nothing on
long-press. The 4 Main tooltips (seeded in #151) still work. All 74 tags' content
+ translations land in the follow-up PR. dash_tunnel excluded (tunnel cleanup).
No new dependencies.
@luisguzman-adfa luisguzman-adfa marked this pull request as ready for review July 8, 2026 08:58
@luisguzman-adfa luisguzman-adfa merged commit 195fbc5 into main Jul 8, 2026
1 check passed
@luisguzman-adfa luisguzman-adfa deleted the feat/ADFA-4593-wire-all-tooltips branch July 8, 2026 08:58
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