OverlayCoordinator
Singleton that mediates between the accessibility service and the overlay UI.
It holds the currently attached AccessibilityService, the active FocusTarget, and serializes overlay actions through a mutex with a minimum gap to avoid double-fires. All crypto runs off the main thread; cached passphrases are read from OverlayPassphraseSession and wiped after use.
Constructors
Functions
Binds the live AccessibilityService used to render and act on the overlay.
Removes the overlay and detaches the service (e.g. on service destroy).
Returns true when there is a currently tracked editable focus target.
Records node as the active editable target (copying it defensively) so subsequent encrypt/decrypt actions operate on the right field.
Reacts to a foreground app change by showing or hiding the overlay based on the per-app configuration and global settings.
Handles a click that may be a "send" action; when auto-send is configured and node looks like a send control, encrypts the focused field first.
Rescans the accessibility tree from root to (re)locate the best editable field and update the tracked focus target.