Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@ class UITestCallingSDKWrapper: NSObject, CallingSDKWrapperProtocol {
func setupCall() async throws {
try await setupCallClientAndDeviceManager()
}
/* <CALL_START_TIME>
/* <CALL_START_TIME> */
func callStartTime() -> Date? {
return nil
}
</CALL_START_TIME> */
/* </CALL_START_TIME> */

func removeParticipant(_ participantId: String) async throws {
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -599,15 +599,15 @@ extension CallingDemoView {
identifiers: ids)
}

/* <CALL_START_TIME>
/* <CALL_START_TIME> */
let onCallStartTimeUpdated: (Date) -> Void = { [] startTime in
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = TimeZone.current
let systemTimeZoneDateString = dateFormatter.string(from: startTime)
print("::::CallingDemoView startTime event call start time \(systemTimeZoneDateString)")
}
</CALL_START_TIME> */
/* </CALL_START_TIME> */

callComposite.events.onRemoteParticipantJoined = onRemoteParticipantJoinedHandler
callComposite.events.onError = onErrorHandler
Expand All @@ -619,9 +619,9 @@ extension CallingDemoView {
callComposite.events.onIncomingCall = onIncomingCall
callComposite.events.onIncomingCallCancelled = onIncomingCallCancelled
callComposite.events.onRemoteParticipantLeft = onRemoteParticipantLeftHandler
/* <CALL_START_TIME>
/* <CALL_START_TIME> */
callComposite.events.onCallStartTimeUpdated = onCallStartTimeUpdated
</CALL_START_TIME> */
/* </CALL_START_TIME> */
}

func getLocalOptions(callComposite: CallComposite? = nil) -> LocalOptions {
Expand Down Expand Up @@ -798,6 +798,7 @@ extension CallingDemoView {
headerViewData = headerViewData ?? CallScreenHeaderViewData()
headerViewData?.subtitle = envConfigSubject.callInformationSubtitle
}
headerViewData?.showCallDuration = true
return CallScreenOptions(controlBarOptions: callScreenControlBarOptions,
headerViewData: headerViewData)
}
Expand Down Expand Up @@ -1093,15 +1094,15 @@ extension CallingDemoView {

private func onCallStateChanged(_ callState: CallState, callComposite: CallComposite) {
print("::::CallingDemoView::getEventsHandler::onCallStateChanged \(callState.requestString)")
/* <CALL_START_TIME>
/* <CALL_START_TIME> */
if let date = callComposite.callStartTime() {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = TimeZone.current
let systemTimeZoneDateString = dateFormatter.string(from: date)
print("::::CallingDemoView call start time \(systemTimeZoneDateString)")
}
</CALL_START_TIME> */
/* </CALL_START_TIME> */
self.callState = "\(callState.requestString) \(callState.callEndReasonCodeInt) \(callState.callId)"
}

Expand Down
6 changes: 3 additions & 3 deletions AzureCommunicationUI/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ project 'AzureCommunicationUIDemoApp/AzureCommunicationUIDemoApp.xcodeproj'
target 'AzureCommunicationUICalling' do
project 'sdk/AzureCommunicationUICalling/AzureCommunicationUICalling.xcodeproj'
use_frameworks!
pod 'AzureCore', '1.0.0-beta.15'
pod 'AzureCore', '1.0.0-beta.16'
pod 'AzureCommunicationCalling', '2.15.0'
pod 'MicrosoftFluentUI/Avatar_ios', '0.10.0'
pod 'MicrosoftFluentUI/BottomSheet_ios', '0.10.0'
Expand All @@ -30,7 +30,7 @@ end
target 'AzureCommunicationUIChat' do
project 'sdk/AzureCommunicationUIChat/AzureCommunicationUIChat.xcodeproj'
use_frameworks!
pod 'AzureCommunicationChat', '1.3.6'
pod 'AzureCommunicationChat', '1.3.7'
pod 'MicrosoftFluentUI/Avatar_ios', '0.10.0'
pod 'MicrosoftFluentUI/BottomSheet_ios', '0.10.0'
pod 'MicrosoftFluentUI/Button_ios', '0.10.0'
Expand All @@ -49,7 +49,7 @@ target 'AzureCommunicationUIDemoApp' do
project 'AzureCommunicationUIDemoApp/AzureCommunicationUIDemoApp.xcodeproj'
use_frameworks!
pod 'AzureCommunicationCalling', '2.15.0'
pod 'AzureCommunicationChat', '1.3.6'
pod 'AzureCommunicationChat', '1.3.7'
pod 'MicrosoftFluentUI/Avatar_ios', '0.10.0'
pod 'MicrosoftFluentUI/BottomSheet_ios', '0.10.0'
pod 'MicrosoftFluentUI/Button_ios', '0.10.0'
Expand Down
16 changes: 8 additions & 8 deletions AzureCommunicationUI/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ PODS:
- AppCenter/Core
- AzureCommunicationCalling (2.15.0):
- AzureCommunicationCommon (~> 1.0)
- AzureCommunicationChat (1.3.6):
- AzureCommunicationChat (1.3.7):
- AzureCommunicationCommon (~> 1.2.0)
- AzureCore (= 1.0.0-beta.15)
- AzureCore (= 1.0.0-beta.16)
- Trouter (= 0.2.0)
- AzureCommunicationCommon (1.2.0)
- AzureCore (1.0.0-beta.15)
- AzureCore (1.0.0-beta.16)
- MicrosoftFluentUI/ActivityIndicator_ios (0.10.0):
- MicrosoftFluentUI/Core_ios
- MicrosoftFluentUI/Avatar_ios (0.10.0):
Expand Down Expand Up @@ -51,8 +51,8 @@ PODS:
DEPENDENCIES:
- AppCenter/Crashes (= 4.4.1)
- AzureCommunicationCalling (= 2.15.0)
- AzureCommunicationChat (= 1.3.6)
- AzureCore (= 1.0.0-beta.15)
- AzureCommunicationChat (= 1.3.7)
- AzureCore (= 1.0.0-beta.16)
- MicrosoftFluentUI/ActivityIndicator_ios (= 0.10.0)
- MicrosoftFluentUI/Avatar_ios (= 0.10.0)
- MicrosoftFluentUI/AvatarGroup_ios (= 0.10.0)
Expand All @@ -75,13 +75,13 @@ SPEC REPOS:
SPEC CHECKSUMS:
AppCenter: b0b6f1190215b5f983c42934db718f3b46fff3c0
AzureCommunicationCalling: 96df4da223a0faa2926ff7a99c6960ee1eec14a3
AzureCommunicationChat: 1e10f873c4eb7c41f4e7fd2bce1fc7c7020fddd9
AzureCommunicationChat: 2997f9ce17f7663e503684f7aa4312f6954a65ee
AzureCommunicationCommon: 130a21be2be889f83dc4adbf994af6285f962de8
AzureCore: ebbf7cf4dfe72afc7584088c38d1c99f5a35d647
AzureCore: 1e940658808f94fdf6a23264febfc516fb59fe3e
MicrosoftFluentUI: f6db695718efb93f4ca9bdc366c00b80a1f91dba
SwiftLint: 5ce4d6a8ff83f1b5fd5ad5dbf30965d35af65e44
Trouter: 7eab36954ad740e32db3ff9f6025b0dff92193d7

PODFILE CHECKSUM: 08062a259826c034168d700fabdbd291565ed2e3
PODFILE CHECKSUM: 67d6f29e288e23c5a36728c6998718bdaf749fb6

COCOAPODS: 1.16.2
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Pod::Spec.new do |spec|
spec.name = "AzureCommunicationUICalling"
spec.version = "1.14.0"
spec.version = "1.14.1"
spec.summary = "UI Library to quickly integrate Azure Communication Calling Services experiences into your applications."
spec.homepage = "https://github.com/Azure/communication-ui-library-ios"
spec.license = { :type => 'MIT' }
spec.author = 'Microsoft'
spec.source = { :git => 'https://github.com/Azure/communication-ui-library-ios.git', :tag => 'AzureCommunicationUICalling_1.14.0' }
spec.source = { :git => 'https://github.com/Azure/communication-ui-library-ios.git', :tag => 'AzureCommunicationUICalling_1.14.1' }
spec.module_name = 'AzureCommunicationUICalling'
spec.swift_version = '5.8'

Expand All @@ -17,7 +17,7 @@ Pod::Spec.new do |spec|
spec.info_plist = {'UILibrarySemVersion' => "#{spec.version}"}

spec.dependency 'AzureCommunicationCalling', '2.15.0'
spec.dependency 'AzureCore', '1.0.0-beta.15'
spec.dependency 'AzureCore', '1.0.0-beta.16'
spec.dependency 'MicrosoftFluentUI/Avatar_ios', '0.10.0'
spec.dependency 'MicrosoftFluentUI/BottomSheet_ios', '0.10.0'
spec.dependency 'MicrosoftFluentUI/Button_ios', '0.10.0'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Azure Communication UI Calling Release History
## 1.14.1 (2025-05-02)

### Bugfixes
- Xcode 16.3 compiling issue

## 1.14.0 (2025-04-17)

### Features
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ public class CallComposite {
public var onIncomingCallAcceptedFromCallKit: ((_ callId: String) -> Void)?
/// Closure to execute when participant has left a call inside Call Composite
public var onRemoteParticipantLeft: (([CommunicationIdentifier]) -> Void)?
/* <CALL_START_TIME>
/* <CALL_START_TIME> */
/// Closure to call start time updated.
public var onCallStartTimeUpdated: ((Date) -> Void)?
</CALL_START_TIME> */
/* </CALL_START_TIME> */
}

/// The events handler for Call Composite
Expand Down Expand Up @@ -102,9 +102,9 @@ public class CallComposite {
private var videoViewManager: VideoViewManager?
private var callingSDKEventsHandler: CallingSDKEventsHandler?
private var callingSDKWrapper: CallingSDKWrapperProtocol?
/* <CALL_START_TIME>
/* <CALL_START_TIME> */
private var callStartTimeInternal: Date?
</CALL_START_TIME> */
/* </CALL_START_TIME> */

/// Get debug information for the Call Composite.
public var debugInfo: DebugInfo {
Expand Down Expand Up @@ -306,15 +306,15 @@ public class CallComposite {
}
}

/* <CALL_START_TIME>
/* <CALL_START_TIME> */
/// Get call start time
public func callStartTime() -> Date? {
guard let callingSDKWrapper = callingSDKWrapper else {
return nil
}
return callingSDKWrapper.callStartTime()
}
</CALL_START_TIME> */
/* </CALL_START_TIME> */

convenience init(withOptions options: CallCompositeOptions? = nil,
callingSDKWrapperProtocol: CallingSDKWrapperProtocol? = nil) {
Expand Down Expand Up @@ -754,14 +754,14 @@ extension CallComposite {
store?.dispatch(action: .visibilityAction(.hideEntered))
hide()
}
/* <CALL_START_TIME>
/* <CALL_START_TIME> */
if let onCallStartTimeUpdated = events.onCallStartTimeUpdated,
let newCallStartTime = state.callingState.callStartTime,
callStartTimeInternal != newCallStartTime {
self.callStartTimeInternal = newCallStartTime
onCallStartTimeUpdated(newCallStartTime)
}
</CALL_START_TIME> */
/* </CALL_START_TIME> */
}

private func makeToolkitHostingController(router: NavigationRouter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ public class CallScreenHeaderViewData: ObservableObject {
/// Subtitle is the header message in the InfoHeader with a user injected custom subtitle message.
/// The subtitle message is updatable even after launching the composite.
@Published public var subtitle: String?
/// ShowCallDuration is for the InfoHeader with a user injected custom signal for the UI to show call time.
/// The call duration show signal is not updatable after launching the composite.
@Published public var showCallDuration: Bool?

/// Custom buttons.
public let customButtons: [CustomButtonViewData]
Expand All @@ -26,10 +29,12 @@ public class CallScreenHeaderViewData: ObservableObject {
/// - Parameter customButtons: An array of custom button options. Default is an empty array.
public init(title: String? = nil,
subtitle: String? = nil,
showCallDuration: Bool? = nil,
customButtons: [CustomButtonViewData] = []
) {
self.title = title
self.subtitle = subtitle
self.showCallDuration = showCallDuration
self.customButtons = customButtons
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>UILibrarySemVersion</key>
<string>1.14.0</string>
<string>1.14.1</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@
"AzureCommunicationUICalling.CallingView.Button.More.AccessibilityLabel" = "المزيد";
"AzureCommunicationUICalling.CallingView.MoreCallOptionsList.ShareDiagnosticsInfo" = "مشاركة معلومات التشخيص";
"AzureCommunicationUICalling.CallingView.GridView.Calling"="Calling...";
/* Action button label to remove a participant from a call. */
"AzureCommunicationUICalling.CallingView.ParticipantRemove"="إزالة";


/* ComplianceBanner title */
Expand Down Expand Up @@ -168,27 +170,40 @@
"AzureCommunicationUICalling.ReportAProblem.Text"="الإبلاغ عن مشكلة";
"AzureCommunicationUICalling.SendFeedback.Text"="إرسال";

/* Label for a button to enable live captions during a call. */
"AzureCommunicationUICalling.Captions.Text.LiveCaptions"="نص الكلام";
/* Title label indicating both Live Captions and Real-Time Text (RTT) features are available. */
"AzureCommunicationUICalling.Captions.Text.LiveCaptionsAndRTT"="نص الكلام وعرض الكتابة في الوقت الحقيقي";
"AzureCommunicationUICalling.Captions.Text.SpokenLanguage"="اللغة المنطوقة";
"AzureCommunicationUICalling.Captions.Text.CaptionLanguage"="لغة التسمية التوضيحية";
"AzureCommunicationUICalling.Captions.Text.StartingCaptions"="يتم الآن بدء تشغيل التسميات التوضيحية...";
"AzureCommunicationUICalling.Captions.Text.TurnOnCaptions" ="تشغيل التسميات التوضيحية";
"AzureCommunicationUICalling.Captions.Text.TurnOffCaptions" ="إيقاف تشغيل التسميات التوضيحية";
"AzureCommunicationUICalling.Captions.ActionError.StartCaptions"="يتعذّر بدء تشغيل التسميات التوضيحية";
"AzureCommunicationUICalling.Captions.ActionError.StopCaptions"="يتعذّر إيقاف التسميات التوضيحية";
"AzureCommunicationUICalling.Captions.ActionError.ChangeCaptionsLanguage"="يتعذر تغيير لغة التسميات التوضيحية";
"AzureCommunicationUICalling.Captions.ActionError.ChangeSpokenLanguage"="يتعذّر تغيير اللغة المنطوقة";

/* Full label or title for the RTT (Real-Time Text) feature. */
"AzureCommunicationUICalling.RTT.Title.RTT"="عرض الكتابة في الوقت الحقيقي";
/* Prompt title asking the user to confirm enabling Real-Time Text (RTT) for a call. */
"AzureCommunicationUICalling.RTT.Alert.Title"="هل تريد تشغيل عرض الكتابة في الوقت الحقيقي؟";
"AzureCommunicationUICalling.RTT.Alert.Message"="سيتم تشغيل النص في الوقت الحقيقي (RTT) لكل شخص في المكالمة.";
/* Confirmation button label to enable Real-Time Text (RTT) in a dialog. */
"AzureCommunicationUICalling.RTT.Alert.TurnOn"="تشغيل";
"AzureCommunicationUICalling.RTT.Alert.Dismiss"="تجاهل";
"AzureCommunicationUICalling.RTT.TurnOn.Text"="تشغيل RTT لهذه المكالمة";
"AzureCommunicationUICalling.RTT.WarningMessage.Text"="تم تمكين النص في الوقت الحقيقي (RTT) طوال مدة هذا الاجتماع ويمكن لجميع المشاركين مشاهدته.";
/* Link label directing the user to more information about Real-Time Text (RTT). */
"AzureCommunicationUICalling.RTT.WarningMessage.LearnMore"="تعرّف على المزيد";
/* Indicator shown while the other user is typing using Real-Time Text. */
"AzureCommunicationUICalling.RTT.Text.RTTTyping"="عرض الكتابة في الوقت الحقيقي (RTT) قيد الكتابة";
/* Short label representing Real-Time Text feature. */
"AzureCommunicationUICalling.RTT.RTTLable"="RTT";
/* Placeholder text shown in the RTT input box to guide the user to type in real-time. */
"AzureCommunicationUICalling.RTT.TextBox.Hint"="اكتب رسالة في الوقت الحقيقي";
"AzureCommunicationUICalling.RTT.Maximize.CaptionsRTT"= "تكبير التسميات التوضيحية وRTT";
"AzureCommunicationUICalling.RTT.Minimize.CaptionsRTT"= "تصغير التسميات التوضيحية وRTT";

"AzureCommunicationUICalling.CallingView.ParticipantMenu.Mute"="كتم الصوت";
"AzureCommunicationUICalling.CallingView.ParticipantMenu.Mute.AccessibilityLabel"="قائمة كتم صوت المشارك.";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@
"AzureCommunicationUICalling.CallingView.Button.More.AccessibilityLabel" = "Mehr";
"AzureCommunicationUICalling.CallingView.MoreCallOptionsList.ShareDiagnosticsInfo" = "Diagnoseinformationen freigeben";
"AzureCommunicationUICalling.CallingView.GridView.Calling"="Calling...";
/* Action button label to remove a participant from a call. */
"AzureCommunicationUICalling.CallingView.ParticipantRemove"="Entfernen";


/* ComplianceBanner title */
Expand Down Expand Up @@ -168,27 +170,40 @@
"AzureCommunicationUICalling.ReportAProblem.Text"="Ein Problem melden";
"AzureCommunicationUICalling.SendFeedback.Text"="Senden";

/* Label for a button to enable live captions during a call. */
"AzureCommunicationUICalling.Captions.Text.LiveCaptions"="Untertitel";
/* Title label indicating both Live Captions and Real-Time Text (RTT) features are available. */
"AzureCommunicationUICalling.Captions.Text.LiveCaptionsAndRTT"="Untertitel und RTT";
"AzureCommunicationUICalling.Captions.Text.SpokenLanguage"="Gesprochene Sprache";
"AzureCommunicationUICalling.Captions.Text.CaptionLanguage"="Sprache für Untertitel";
"AzureCommunicationUICalling.Captions.Text.StartingCaptions"="Untertitel werden gestartet...";
"AzureCommunicationUICalling.Captions.Text.TurnOnCaptions" ="Untertitel aktivieren";
"AzureCommunicationUICalling.Captions.Text.TurnOffCaptions" ="Untertitel deaktivieren";
"AzureCommunicationUICalling.Captions.ActionError.StartCaptions"="Untertitel können nicht gestartet werden.";
"AzureCommunicationUICalling.Captions.ActionError.StopCaptions"="Untertitel können nicht beendet werden.";
"AzureCommunicationUICalling.Captions.ActionError.ChangeCaptionsLanguage"="Die Sprache der Untertitel kann nicht geändert werden.";
"AzureCommunicationUICalling.Captions.ActionError.ChangeSpokenLanguage"="Die gesprochene Sprache kann nicht geändert werden";

/* Full label or title for the RTT (Real-Time Text) feature. */
"AzureCommunicationUICalling.RTT.Title.RTT"="Echtzeittext";
/* Prompt title asking the user to confirm enabling Real-Time Text (RTT) for a call. */
"AzureCommunicationUICalling.RTT.Alert.Title"="RTT aktivieren?";
"AzureCommunicationUICalling.RTT.Alert.Message"="Echtzeittext (RTT) wird für alle Teilnehmer des Anrufs aktiviert.";
/* Confirmation button label to enable Real-Time Text (RTT) in a dialog. */
"AzureCommunicationUICalling.RTT.Alert.TurnOn"="Aktivieren";
"AzureCommunicationUICalling.RTT.Alert.Dismiss"="Schließen";
"AzureCommunicationUICalling.RTT.TurnOn.Text"="RTT für diesen Anruf aktivieren";
"AzureCommunicationUICalling.RTT.WarningMessage.Text"="Echtzeittext (RTT) ist für die gesamte Dauer dieser Besprechung aktiviert und wird von allen Teilnehmern angezeigt.";
/* Link label directing the user to more information about Real-Time Text (RTT). */
"AzureCommunicationUICalling.RTT.WarningMessage.LearnMore"="Weitere Informationen";
/* Indicator shown while the other user is typing using Real-Time Text. */
"AzureCommunicationUICalling.RTT.Text.RTTTyping"="RTT-Eingabe";
/* Short label representing Real-Time Text feature. */
"AzureCommunicationUICalling.RTT.RTTLable"="RTT";
/* Placeholder text shown in the RTT input box to guide the user to type in real-time. */
"AzureCommunicationUICalling.RTT.TextBox.Hint"="Nachricht in Echtzeit eingeben";
"AzureCommunicationUICalling.RTT.Maximize.CaptionsRTT"= "Untertitel und RTT maximieren";
"AzureCommunicationUICalling.RTT.Minimize.CaptionsRTT"= "Untertitel und RTT minimieren";

"AzureCommunicationUICalling.CallingView.ParticipantMenu.Mute"="Stummschalten";
"AzureCommunicationUICalling.CallingView.ParticipantMenu.Mute.AccessibilityLabel"="Schalten Sie das Teilnehmermenü stumm.";
Expand Down
Loading