makepad-android-state 0.9.0

Exposes access to Makepad's context states on Android
Documentation
# makepad-android-state

This crate is responsible for holding Makepad's Android-specific context states.
It exists solely to allow external crates to access those Android states
without depending on the entirety of Makepad.

These two states are:
1. The JavaVM instance initialized by the JNI layer.
  * This cannot be set by foreign code outside this crate,
    as it is only ever set once during the lifetime of the app process.
2. The current Makepad Activity instance.
  * This *can* be set by foreign code outside this crate,
    as the underlying Android platform may tear down and reconstruct
    the activity instance multiple times during the app's lifetime.
  * However, for safety reasons, we only permit a single caller
    to obtain the private "set_activity" function, which ensures that
    only the internal Makepad framework can set the activity instance.

## Usage
> Note: you probably want to use the [`robius-android-env`] crate instead of using this crate directly, or an even higher-level crate that depends on [`robius-android-env`].

External users of this crate should only care about two functions:
1. [`get_java_vm()`]: returns a pointer to the JavaVM instance,
   through which you can obtain the JNI environment.
2. [`get_activity()`]: returns a pointer to the current Makepad Activity instance.

All other functions are intended for Makepad-internal use only,
and will not be useful for external users.

[`robius-android-env`]: https://github.com/project-robius/robius-android-env
[`get_java_vm()`]: https://docs.rs/makepad-android-state/latest/makepad_android_state/fn.get_java_vm.html
[`get_activity()`]: https://docs.rs/makepad-android-state/latest/makepad_android_state/fn.get_activity.html