pub struct InjectingAdapter { /* private fields */ }Expand description
High-level AccessKit Android adapter that injects itself into an Android view without requiring the view class to be modified for accessibility.
This depends on the Java dev.accesskit.android.Delegate class, the source
code for which is in this crate’s java directory. If the embedded-dex
feature is enabled, then that class is loaded from a prebuilt .dex file
that this crate embeds. Otherwise, it’s simply assumed that the class
is in the application package. None of this type’s public functions
make assumptions about whether they’re called from the Android UI thread.
As such, some requests are posted to the UI thread and handled
asynchronously.
Implementations§
Source§impl InjectingAdapter
impl InjectingAdapter
pub fn new( env: &mut JNIEnv<'_>, host: &JObject<'_>, activation_handler: impl 'static + ActivationHandler + Send, action_handler: impl 'static + ActionHandler + Send, ) -> Self
Sourcepub fn update_if_active(&mut self, update_factory: impl FnOnce() -> TreeUpdate)
pub fn update_if_active(&mut self, update_factory: impl FnOnce() -> TreeUpdate)
If and only if the tree has been initialized, call the provided function
and apply the resulting update. Note: If the caller’s implementation of
ActivationHandler::request_initial_tree initially returned None,
the TreeUpdate returned by the provided function must contain
a full tree.