Turn persistence: onTurnEnd handler creates conversation if needed, adds user + assistant messages to UI list, caches in Room. Server already persists via WS-Server — app only needs local state sync. Model check: CallButton only triggers Live Call when a vertex:*live* model is in the catalog (liveAvailable). Falls back to PTT otherwise. Permission: RECORD_AUDIO runtime request via ActivityResultContracts before starting the call. Denied → toast, no crash. Title generation: endLiveCall triggers generateTitle + sidebar refresh, same pattern as text chat. |
||
|---|---|---|
| .. | ||
| java/dev/kaizen/app | ||
| res | ||
| AndroidManifest.xml | ||