conduit/test
cogwheel ee05ab89ce
Let the speaker button work from the start of Android voice calls (#849)
* Let the speaker button work from the start of Android voice calls

Since flutter_callkit_incoming 3.1.4, every Android voice call also runs as
a self-managed Telecom call. Telecom then owns the call's audio mode as a
privileged client, and Android ignores Conduit's own requests to move the
call to the loudspeaker, so the speaker button did nothing (issues #846 and
#716).

The call coordinator now asks the call's Telecom connection to change the
route first, then makes its own requests as before. Those hold the route if
Telecom lets go mid-call, and the read-back shows wherever Telecom put the
call.

Calls that marked themselves connected before Telecom had created the
connection stayed dialing: the plugin drops that signal. Standard calls do
this a few hundred milliseconds in. Telecom ends a call stuck dialing after
two minutes, which is when the speaker button started working, and until
then the dialing call blocked the user's own phone calls. Marking the call
connected now waits for Telecom's connection.

* Forget a call hung up from Android's call notification

Hanging up from the system UI ends the call without endCall, so the call
stayed tracked as live, and a connected signal still waiting on Telecom
would have gone out for a call that had ended. The CallKit events now drop
the call when the system ends, declines or times it out.
2026-10-16 23:49:18 +05:30
..
assets/fonts Use system fonts and preserve streaming state 2026-08-20 22:03:38 +05:30
core Let the speaker button work from the start of Android voice calls (#849) 2026-10-16 23:49:18 +05:30
features Let the speaker button work from the start of Android voice calls (#849) 2026-10-16 23:49:18 +05:30
platform Talk with a realtime voice in calls on Open WebUI, Hermes and Direct (#842) 2026-10-13 12:05:02 +05:30
regressions Move the chat library and Flutter-free app logic into conduit_core (#795) 2026-10-05 05:13:17 +05:30
shared Support Open WebUI 0.12.2 (#847) 2026-10-16 11:17:07 +05:30
support Move the chat library and Flutter-free app logic into conduit_core (#795) 2026-10-05 05:13:17 +05:30
tool Harden platform UI lint paths and baseline validation 2026-10-08 01:32:30 +05:30
flutter_test_config.dart Move the chat library and Flutter-free app logic into conduit_core (#795) 2026-10-05 05:13:17 +05:30