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.
881 KiB
1440x3120px
881 KiB
1440x3120px