| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- //
- // NSUserActivity.swift
- // Runner
- //
- // Created by Hien Nguyen on 20/02/2022.
- //
- import Foundation
- import Intents
- extension NSUserActivity: StartCallConvertible {
- public var handle: String? {
- guard
- let interaction = interaction,
- let startCallIntent = interaction.intent as? SupportedStartCallIntent,
- let contact = startCallIntent.contacts?.first
- else {
- return nil
- }
- print(interaction.intent)
- return contact.personHandle?.value
- }
- public var isVideo: Bool? {
- guard
- let interaction = interaction,
- let startCallIntent = interaction.intent as? SupportedStartCallIntent
- else {
- return nil
- }
- return startCallIntent is INStartVideoCallIntent
- }
-
- }
- protocol StartCallConvertible {
- var handle: String? { get }
- var isVideo: Bool? { get }
- }
- extension StartCallConvertible {
- var isVideo: Bool? {
- return nil
- }
- }
- protocol SupportedStartCallIntent {
- var contacts: [INPerson]? { get }
- }
- extension INStartAudioCallIntent: SupportedStartCallIntent {}
- extension INStartVideoCallIntent: SupportedStartCallIntent {}
|