1190ed3ce6
refresh_insets gated its loop on insets.is_populated(), so once insets resolved at first launch, rearm_on_resumed's poll-counter reset was a no-op and JNI was never queried again. Insets that changed while the app was backgrounded (fold/unfold, rotation, gesture/3-button nav switch) stayed stale until process restart. Gate the loop on the poll counter alone and settle a cycle by exhausting it once a populated reading arrives. The cached resource is rewritten only when the value actually differs, so resumes where nothing moved trigger no change detection and no relayout — preserving the no-flash resume behaviour. Also correct the stale on_app_resumed doc that still described the old inset-zeroing approach. Closes #116 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>