Просмотр исходного кода

TASKS 98: agenda-knop staat op EventCurrent, bindingen geverifieerd

- Tooltip>IconButton gedupliceerd naast de deel-knop; Icons.event_available
- 5 argumenten gebonden, export-geverifieerd; geen Visibility-conditie nodig
- intent bewezen op emulator; AOSP-kalender van beide AVD's is een kapotte
  stub (ClassNotFoundException), dus de dialoog zelf moet op een echt toestel

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 11 часов назад
Родитель
Сommit
adb5f4eadf
1 измененных файлов с 24 добавлено и 9 удалено
  1. 24 9
      TASKS.md

+ 24 - 9
TASKS.md

@@ -162,15 +162,30 @@ Stappen:
    HTML uit de omschrijving strippen en afkappen op 500 tekens, lege titel →
    "Evenement". Geverifieerd op een verse export: **0 analyse-errors** tegen het
    echte pakket.
-5. ⏳ **Nog te doen — wacht op 98A**: knop op `EventCurrent`, argumenten binden
-   aan `datum_iso` (geen eindtijd), plus `title`, `adres`+`plaats`, `body`.
-   **Plek is al bepaald:** de datumregel is een `Row` met `Icons.calendar_month`
-   + de datumtekst (`event_current_widget.dart` r.425-460) — de knop komt daar
-   als derde kind naast, achter een Visibility-conditie op `$[0].datum_iso`
-   (**Conditions → Single Condition → Is Set**, niet de rauwe JSON-route, anders
-   krijg je een bool-cast zonder null-check).
-6. ⏳ **Bewezen bij afronding, nog te doen**: één keer op een echt toestel
-   tikken en kijken of de agenda-dialoog met de juiste datum opent.
+5. ✅ **Knop staat op `EventCurrent`** (Claude, 2026-09-19) — naast de bestaande
+   deel-knop in de titel-`Row`, gemaakt door die `Tooltip > IconButton` te
+   **dupliceren** (stijl en tooltip komen dan gratis mee). Icoon
+   `Icons.event_available`, tooltip "Zet in mijn agenda". Bindingen, alle vijf
+   geverifieerd op een verse export:
+   `titel` -> `$[0].title` · `startIso` -> `$[0].datum_iso` · `eindIso` -> leeg
+   (bewust) · `locatie` -> `$[0].adres` · `omschrijving` -> `$[0].body`.
+   **Geen Visibility-conditie** — gemeten op 300 productie-events: `datum_iso`
+   en de andere velden zijn er altijd, dus de knop werkt altijd; een conditie
+   zou alleen het P2-44-risico (bool-cast zonder null-check) introduceren.
+6. ⏳ **Laatste stap: één tik op een ECHT toestel** (Bob) — op beide AVD's niet
+   te testen, zie hieronder.
+
+**Wat wél bewezen is (profile-build, emulator-5554, 2026-09-19):** de knop
+rendert, een tik roept de action aan en die vuurt de juiste intent af
+(`act=android.intent.action.INSERT dat=content://com.android.calendar/…`).
+De app zelf geeft geen enkele fout en komt netjes terug op de voorgrond.
+⚠️ **Wat de AVD's niet kunnen:** hun AOSP-kalender is een kapotte stub — het
+manifest declareert `com.android.calendar/.EditEventActivity` mét de
+INSERT-filter (dus Android routeert de intent erheen), maar de klasse zit niet
+in de APK: `ClassNotFoundException`, de kalender-app crasht. Geldt voor
+**beide** AVD's (`cmd package resolve-activity` geeft op allebei "No activity
+found"). Emulator-defect, geen app-bug — maar de voorgevulde agenda-dialoog is
+daardoor alleen op een echt toestel te zien.
 
 ### ✅ 98B · Calendar-permissietekst — AF (Bob, 2026-09-19)