* Add shared `removeCurrentCall` function to `DefaultActiveCallManager`
This centralises the shared call cancellation logic
* Add regression test for the issue
* Make sure the existing iterations of `flatMapLatest` in `observeRingingCall` get cancelled when the active call is null or not ringing anymore by passing null values, then filtering them out
Previously these kept running even if the `activeCall` was no longer valid
* Move the `timedOutCallJob` cancellation inside `removeCurrentCall` too
* Update metro to v0.6.7
* Replace `@Inject` with `@AssistedInject` where needed
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
* Update kotlin
* Upgrade Metro and add new `@Origin` annotation
* Suppress warnings in overridden method as nothing else would work
* "Fix" quality warnings about reusing the same string literal
* Don't use `compat` version for `datetime` dependency
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
* When joining a call, wait for the `content_loaded` action
This ensures the widget won't be disposed when the user joins a call and loads the lobby screen for room calls
* Upgrade Rust SDK bindings to `v25.09.15`:
This contains important changes to the APIs used to build the EC widget.
* Use the new `intent` parameter correctly, by calculating locally its behaviour based on whether the room is a DM and there is an ongoing call or not.
Using just the `intent` parameter is our end goal, but sadly this is not fully supported by the current EC embedded `v0.15.0`, so we need to add a workaround using the `skipLobby` and `preload` parameters.
* Stop sending call notifications manually: the Element Call widget can now assume responsibility for sending them when you start a call.
* Upgrade SDK version to `v25.8.5`, fix API breaks
* Upgrade Element Call embedded to `v0.14.1`
* Fix tests and lint issues
* Add `RoomListEntriesDynamicFilterKind.NonSpace` to avoid displaying spaces in the room list
---------
Co-authored-by: Robin <robin@robin.town>