Phase 2: 10-icon menu ring

Rotating ring modeled after the watch Controls menu: UP/DOWN spin,
START/STOP selects. Selection point sits at −30° (≈ 2 o'clock) so it
lines up with the physical enter button on 5-button round Garmins.
Icons are rasterized at 80×80 with automaticPalette="false" and
scaled via drawBitmap2 to stay crisp at any display resolution. Long
German compounds ("Einsatzbeginn", "Beweismittel", "Letzten löschen")
wrap to two lines via a Config array so the center label never
overlaps the surrounding icons. Selected index is persisted in
Application.Storage and restored on next launch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
EiSiMo 2026-04-11 20:10:11 +02:00
parent 43f970d764
commit d3494acc0d
18 changed files with 203 additions and 75 deletions

View file

@ -1,13 +1,13 @@
<drawables>
<bitmap id="LauncherIcon" filename="launcher_icon.svg"/>
<bitmap id="IconHistory" filename="icon_history.svg"/>
<bitmap id="IconEvent" filename="icon_event.svg"/>
<bitmap id="IconStart" filename="icon_start.svg"/>
<bitmap id="IconEnd" filename="icon_end.svg"/>
<bitmap id="IconArrival" filename="icon_arrival.svg"/>
<bitmap id="IconArrest" filename="icon_arrest.svg"/>
<bitmap id="IconForce" filename="icon_force.svg"/>
<bitmap id="IconEvidence" filename="icon_evidence.svg"/>
<bitmap id="IconSighting" filename="icon_sighting.svg"/>
<bitmap id="IconDelete" filename="icon_delete.svg"/>
<bitmap id="IconHistory" filename="icon_history.svg" automaticPalette="false"/>
<bitmap id="IconEvent" filename="icon_event.svg" automaticPalette="false"/>
<bitmap id="IconStart" filename="icon_start.svg" automaticPalette="false"/>
<bitmap id="IconEnd" filename="icon_end.svg" automaticPalette="false"/>
<bitmap id="IconArrival" filename="icon_arrival.svg" automaticPalette="false"/>
<bitmap id="IconArrest" filename="icon_arrest.svg" automaticPalette="false"/>
<bitmap id="IconForce" filename="icon_force.svg" automaticPalette="false"/>
<bitmap id="IconEvidence" filename="icon_evidence.svg" automaticPalette="false"/>
<bitmap id="IconSighting" filename="icon_sighting.svg" automaticPalette="false"/>
<bitmap id="IconDelete" filename="icon_delete.svg" automaticPalette="false"/>
</drawables>