fix(multi): resolve 3 remaining Android UI bugs
Android Release / build-apk (push) Successful in 3m33s

- radial_menu: replace active_id.unwrap() with let Some guard — no
  runtime panic possible even if DragState races (§2.3)
- card_plugin: add bottom-right AndroidCornerBg overlay to mask the
  rotated baked-in text on classic PNG cards (mirrors top-left treatment)
- hud_plugin: bump Android action button min_width 44→52 px to give
  ~22px glyphs adequate padding after dynamic font-size increase
- layout: fix doc-lazy-continuation clippy lint in BOTTOM_BAR_HEIGHT comment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-05-19 15:16:24 -07:00
parent ec94cb34aa
commit 6cd8c6c013
4 changed files with 23 additions and 5 deletions
+6 -3
View File
@@ -473,8 +473,11 @@ fn radial_open_on_long_press(
mut state: ResMut<RightClickRadialState>,
) {
// Guard: only count while a touch is down, uncommitted, and radial is idle.
let active_id = drag.active_touch_id;
if active_id.is_none() || drag.committed || state.is_active() || paused.is_some_and(|p| p.0) {
let Some(active_id) = drag.active_touch_id else {
*hold_timer = 0.0;
return;
};
if drag.committed || state.is_active() || paused.is_some_and(|p| p.0) {
*hold_timer = 0.0;
return;
}
@@ -487,7 +490,7 @@ fn radial_open_on_long_press(
// Resolve current touch world position.
let Some(touches) = touches else { return };
let Some(touch) = touches.iter().find(|t| t.id() == active_id.unwrap()) else {
let Some(touch) = touches.iter().find(|t| t.id() == active_id) else {
return;
};
let Some((camera, cam_xf)) = cameras.single().ok() else { return };