iris: move text state into shared resources

This commit is contained in:
iris committed 2026-09-12 14:18:12 -04:00
1 parent 4cbe7baea0
commit a8093b002b
26 files changed
+686 -467

No files matched your search

+7 -7
View File
@@ -144,7 +144,7 @@ impl BenchClient {
.any();
ui_state.set_root(rsc, tree);
let font = rsc.ui.text.font_diagnostics();
let font = rsc.ui.text.borrow_mut().font_diagnostics();
log::info!(
"iris fonts: {} families found, default={:?} mono={:?}, resolved regular={:?} \
bold={:?} italic={:?} mono={:?}",
@@ -400,7 +400,7 @@ impl BenchClient {
fn show_diagnostics(&mut self, rsc: &mut Rsc) {
let report = self.diagnostics_text(rsc);
self.report_display.edit(rsc).set(&report);
self.report_display(rsc).set(&report);
self.last_report = Some(report);
}
@@ -423,7 +423,7 @@ impl BenchClient {
/// the keyboard-open capture (which only logs it), so the two can
/// never drift into reporting different things.
fn diagnostics_text(&self, rsc: &mut Rsc) -> String {
let font = rsc.ui.text.font_diagnostics();
let font = rsc.ui.text.borrow_mut().font_diagnostics();
let frame_report = match self.android_state().frame_report.report() {
Some(stats) => format!("{stats}"),
None => "no frames recorded yet".to_string(),
@@ -481,7 +481,7 @@ impl BenchClient {
}
self.running = true;
self.android_state_mut().frame_report.reset();
self.report_display.edit(rsc).set("Running benchmark...");
self.report_display(rsc).set("Running benchmark...");
let platform = self.platform.clone();
let stream_tail = self.stream_tail.clone();
@@ -620,7 +620,7 @@ impl BenchClient {
{rss_line}\n{battery}"
);
log::info!("iris bench report: {report}");
state.report_display.edit(rsc).set(&report);
state.report_display(rsc).set(&report);
state.last_report = Some(report);
});
});
@@ -776,7 +776,7 @@ async fn run_type_phase(
let text = typed.clone();
ctx.update(move |state: &mut BenchClient, rsc| {
if let Some(screen) = &state.screen {
screen.composer.field.edit(rsc).set(&text);
(screen.composer.field)(rsc).set(&text);
}
});
tokio::time::sleep(Duration::from_millis(TYPE_CHAR_MS)).await;
@@ -787,7 +787,7 @@ async fn run_type_phase(
let text = typed.clone();
ctx.update(move |state: &mut BenchClient, rsc| {
if let Some(screen) = &state.screen {
screen.composer.field.edit(rsc).set(&text);
(screen.composer.field)(rsc).set(&text);
}
});
tokio::time::sleep(Duration::from_millis(TYPE_CHAR_MS)).await;
+3 -3
View File
@@ -245,19 +245,19 @@ impl TranscriptClient {
let in_progress = self
.screen
.as_ref()
.map(|screen| screen.composer.field.edit(rsc).text.text().to_string())
.map(|screen| (screen.composer.field)(rsc).text().to_string())
.filter(|t| !t.is_empty());
let rows = group_tool_runs(&self.items);
let (screen, tree) = ui::build_tree(rsc, rows);
if let Some(text) = in_progress {
screen.composer.field.edit(rsc).set(&text);
(screen.composer.field)(rsc).set(&text);
}
if let Some(session_id) = self.session_id.clone() {
let field = screen.composer.field;
rsc.register_event(field, Submit, move |ctx, rsc| {
let text = field.edit(rsc).take();
let text = field(rsc).take();
let text = text.trim().to_string();
if !text.is_empty() {
ctx.state.send_message(session_id.clone(), text);