stream-video-swift icon indicating copy to clipboard operation
stream-video-swift copied to clipboard

[Enhancement]Allow CallKitService to handle multiple calls

Open ipavlidakis opened this issue 1 year ago • 2 comments

🎯 Goal

Simplify, verify and improve Calling state observation and reaction, from CallKit.

📝 Summary

The PR is improving the existing CallKitService by allowing it to handle multiple calls at the same time. This is quite important as while in a call, user may receive another incoming call. CallKitService should be able to reliably report each of those calls and differentiate user action on a call from the others.

🛠 Implementation

Calls are being received in a serial manner. For that purpose we are using a Stack implementation. The first entry on the stack will always be the latest call (active or ringing).

🎨 Showcase

https://github.com/GetStream/stream-video-swift/assets/472467/b6f06d61-ea0d-4549-b0a9-2848acc5c112

🧪 Manual Testing Notes

Explain how this change can be tested manually, if applicable.

☑️ Contributor Checklist

  • [x] I have signed the Stream CLA (required)
  • [x] This change follows zero ⚠️ policy (required)
  • [x] This change should receive manual QA
  • [ ] Changelog is updated with client-facing changes
  • [x] New code is covered by unit tests
  • [ ] Comparison screenshots added for visual changes
  • [ ] Affected documentation updated (Docusaurus, tutorial, CMS)

ipavlidakis avatar May 15 '24 10:05 ipavlidakis

1 Warning
:warning: Big PR

Generated by :no_entry_sign: Danger

github-actions[bot] avatar May 15 '24 10:05 github-actions[bot]