From 0ead062379743eb8ab7297b2e33055cd981814e9 Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Fri, 11 Sep 2026 12:36:50 -0400 Subject: [PATCH] Rename app_init to android_init --- docs/PLAN.md | 2 +- iris/cargo-iris/tests/fixture/src/lib.rs | 2 +- iris/examples/bench_images/android.rs | 2 +- iris/examples/message_list/android.rs | 2 +- iris/examples/minimal/android.rs | 2 +- iris/examples/tabs/android.rs | 2 +- iris/examples/task/android.rs | 2 +- iris/examples/view/android.rs | 2 +- iris/macro/src/lib.rs | 8 ++++---- iris/readme.md | 4 ++-- iris/src/android/mod.rs | 2 +- iris/src/lib.rs | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/PLAN.md b/docs/PLAN.md index d8b1069..66f584c 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -794,7 +794,7 @@ ssh case are one implementation. **An Iris Android application supplies an initialization function and its own state/resources; Iris supplies the JNI host and APK packager.** -`#[iris::app_init]` marks the initializer Android calls when it creates the Iris +`#[iris::android_init]` marks the initializer Android calls when it creates the Iris view. The macro target-gates the initializer and generates the single exported `JNI_OnLoad` plus the concrete `android-view` registration callback. The simple form mutates `AndroidUiState` through a reference. An application with diff --git a/iris/cargo-iris/tests/fixture/src/lib.rs b/iris/cargo-iris/tests/fixture/src/lib.rs index bd0e0a0..386c756 100644 --- a/iris/cargo-iris/tests/fixture/src/lib.rs +++ b/iris/cargo-iris/tests/fixture/src/lib.rs @@ -10,7 +10,7 @@ impl AndroidAppState for State { type Resources = Resources; } -#[iris::app_init] +#[iris::android_init] fn create(mut ui_state: AndroidUiState, rsc: &mut Resources) -> State { rsc.launches += 1; rect(PaintId::RED) diff --git a/iris/examples/bench_images/android.rs b/iris/examples/bench_images/android.rs index cfccdad..d561294 100644 --- a/iris/examples/bench_images/android.rs +++ b/iris/examples/bench_images/android.rs @@ -3,7 +3,7 @@ use iris::prelude::*; #[path = "lib.rs"] mod app; -#[iris::app_init] +#[iris::android_init] fn create( ui_state: &mut AndroidUiState, rsc: &mut StdRsc, diff --git a/iris/examples/message_list/android.rs b/iris/examples/message_list/android.rs index 773a3ac..d6d5b5f 100644 --- a/iris/examples/message_list/android.rs +++ b/iris/examples/message_list/android.rs @@ -3,7 +3,7 @@ use iris::prelude::*; #[path = "lib.rs"] mod app; -#[iris::app_init] +#[iris::android_init] fn create( ui_state: &mut AndroidUiState, rsc: &mut StdRsc, diff --git a/iris/examples/minimal/android.rs b/iris/examples/minimal/android.rs index 773a3ac..d6d5b5f 100644 --- a/iris/examples/minimal/android.rs +++ b/iris/examples/minimal/android.rs @@ -3,7 +3,7 @@ use iris::prelude::*; #[path = "lib.rs"] mod app; -#[iris::app_init] +#[iris::android_init] fn create( ui_state: &mut AndroidUiState, rsc: &mut StdRsc, diff --git a/iris/examples/tabs/android.rs b/iris/examples/tabs/android.rs index c5a46e5..6430598 100644 --- a/iris/examples/tabs/android.rs +++ b/iris/examples/tabs/android.rs @@ -22,7 +22,7 @@ impl AndroidAppState for Client { } } -#[iris::app_init] +#[iris::android_init] fn create(mut ui_state: AndroidUiState, rsc: &mut StdRsc) -> Client { let widgets = app::build(rsc, &mut ui_state); app::update_info(rsc, widgets.info, 0); diff --git a/iris/examples/task/android.rs b/iris/examples/task/android.rs index 773a3ac..d6d5b5f 100644 --- a/iris/examples/task/android.rs +++ b/iris/examples/task/android.rs @@ -3,7 +3,7 @@ use iris::prelude::*; #[path = "lib.rs"] mod app; -#[iris::app_init] +#[iris::android_init] fn create( ui_state: &mut AndroidUiState, rsc: &mut StdRsc, diff --git a/iris/examples/view/android.rs b/iris/examples/view/android.rs index 773a3ac..d6d5b5f 100644 --- a/iris/examples/view/android.rs +++ b/iris/examples/view/android.rs @@ -3,7 +3,7 @@ use iris::prelude::*; #[path = "lib.rs"] mod app; -#[iris::app_init] +#[iris::android_init] fn create( ui_state: &mut AndroidUiState, rsc: &mut StdRsc, diff --git a/iris/macro/src/lib.rs b/iris/macro/src/lib.rs index c06fa6c..382b1e2 100644 --- a/iris/macro/src/lib.rs +++ b/iris/macro/src/lib.rs @@ -19,11 +19,11 @@ use syn::{ /// JNI glue is Android-gated; the annotated function therefore does not need /// its own `cfg` attribute. #[proc_macro_attribute] -pub fn app_init(args: TokenStream, item: TokenStream) -> TokenStream { +pub fn android_init(args: TokenStream, item: TokenStream) -> TokenStream { if !args.is_empty() { return Error::new( proc_macro2::Span::call_site(), - "app_init takes no arguments", + "android_init takes no arguments", ) .into_compile_error() .into(); @@ -44,7 +44,7 @@ pub fn app_init(args: TokenStream, item: TokenStream) -> TokenStream { { return Error::new( function.sig.inputs.span(), - "an app_init function takes UI state and resources", + "an android_init function takes UI state and resources", ) .into_compile_error() .into(); @@ -56,7 +56,7 @@ pub fn app_init(args: TokenStream, item: TokenStream) -> TokenStream { { return Error::new( function.sig.span(), - "an app_init function must be a plain, non-generic synchronous function", + "an android_init function must be a plain, non-generic synchronous function", ) .into_compile_error() .into(); diff --git a/iris/readme.md b/iris/readme.md index 006cf50..ee955c8 100644 --- a/iris/readme.md +++ b/iris/readme.md @@ -25,7 +25,7 @@ application-id = "com.example.myapp" label = "My app" ``` -`#[iris::app_init]` marks the initializer called when Android creates the Iris +`#[iris::android_init]` marks the initializer called when Android creates the Iris view. The attribute supplies its own Android target gate and generates the JNI loader glue. An application with no state beyond the UI state receives `AndroidUiState` directly by mutable reference: @@ -37,7 +37,7 @@ fn build(rsc: &mut Rsc, ui_state: &mut impl HasRoot) { rect(PaintId::RED).set_root(rsc, ui_state); } -#[iris::app_init] +#[iris::android_init] fn create( ui_state: &mut AndroidUiState, rsc: &mut StdRsc, diff --git a/iris/src/android/mod.rs b/iris/src/android/mod.rs index 1a437a1..e533db3 100644 --- a/iris/src/android/mod.rs +++ b/iris/src/android/mod.rs @@ -14,7 +14,7 @@ pub use view::{ WindowInsets, new_peer, }; -/// Types used by `#[iris::app_init]`'s generated JNI boundary. +/// Types used by `#[iris::android_init]`'s generated JNI boundary. #[doc(hidden)] pub mod __private { pub use android_view::{Context, View, jni::JNIEnv}; diff --git a/iris/src/lib.rs b/iris/src/lib.rs index 24de0e1..3458323 100644 --- a/iris/src/lib.rs +++ b/iris/src/lib.rs @@ -27,7 +27,7 @@ mod layout_tests; pub use image; pub use iris_core as core; pub use iris_macro as macros; -pub use iris_macro::app_init; +pub use iris_macro::android_init; pub mod prelude { use super::*;