forked from mirrors/linphone-iphone
Compare commits
1 commit
master
...
feature/ca
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66df197e08 |
29 changed files with 176 additions and 136 deletions
|
|
@ -7,7 +7,7 @@
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
4ED1F0A881A9ACB5977A8987 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
|
4ED1F0A881A9ACB5977A8987 /* (null) in Frameworks */ = {isa = PBXBuildFile; };
|
||||||
660AAF7F2B839272004C0FA6 /* msgNotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 660AAF7B2B839271004C0FA6 /* msgNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
660AAF7F2B839272004C0FA6 /* msgNotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 660AAF7B2B839271004C0FA6 /* msgNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
660D8A712B517D260092694D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 660D8A702B517D260092694D /* GoogleService-Info.plist */; };
|
660D8A712B517D260092694D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 660D8A702B517D260092694D /* GoogleService-Info.plist */; };
|
||||||
6613A0AE2BAEB7DF008923A4 /* MeetingFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6613A0AD2BAEB7DF008923A4 /* MeetingFragment.swift */; };
|
6613A0AE2BAEB7DF008923A4 /* MeetingFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6613A0AD2BAEB7DF008923A4 /* MeetingFragment.swift */; };
|
||||||
|
|
@ -43,8 +43,6 @@
|
||||||
66FBFC4B2B83BD7B00BC6AB1 /* CoreExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C491FA2B24D32600CEA16D /* CoreExtension.swift */; };
|
66FBFC4B2B83BD7B00BC6AB1 /* CoreExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C491FA2B24D32600CEA16D /* CoreExtension.swift */; };
|
||||||
66FDB7812C7C689A00561566 /* EventEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66FDB7802C7C689A00561566 /* EventEditViewController.swift */; };
|
66FDB7812C7C689A00561566 /* EventEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66FDB7802C7C689A00561566 /* EventEditViewController.swift */; };
|
||||||
C60E8F192C0F649200A06DB8 /* UIApplicationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60E8F182C0F649200A06DB8 /* UIApplicationExtension.swift */; };
|
C60E8F192C0F649200A06DB8 /* UIApplicationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C60E8F182C0F649200A06DB8 /* UIApplicationExtension.swift */; };
|
||||||
C618BF562D75CA03005A00E0 /* linphonesw in Frameworks */ = {isa = PBXBuildFile; productRef = C618BF552D75CA03005A00E0 /* linphonesw */; };
|
|
||||||
C618BF582D75CA0D005A00E0 /* linphonesw in Frameworks */ = {isa = PBXBuildFile; productRef = C618BF572D75CA0D005A00E0 /* linphonesw */; };
|
|
||||||
C62817282C1B389700DBA646 /* SideMenuAccountRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C62817272C1B389700DBA646 /* SideMenuAccountRow.swift */; };
|
C62817282C1B389700DBA646 /* SideMenuAccountRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C62817272C1B389700DBA646 /* SideMenuAccountRow.swift */; };
|
||||||
C628172E2C1C3A3600DBA646 /* AccountExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C628172D2C1C3A3600DBA646 /* AccountExtension.swift */; };
|
C628172E2C1C3A3600DBA646 /* AccountExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C628172D2C1C3A3600DBA646 /* AccountExtension.swift */; };
|
||||||
C62817302C1C3DCC00DBA646 /* AccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C628172F2C1C3DCC00DBA646 /* AccountModel.swift */; };
|
C62817302C1C3DCC00DBA646 /* AccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C628172F2C1C3DCC00DBA646 /* AccountModel.swift */; };
|
||||||
|
|
@ -407,7 +405,6 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
C618BF582D75CA0D005A00E0 /* linphonesw in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|
@ -415,8 +412,7 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
C618BF562D75CA03005A00E0 /* linphonesw in Frameworks */,
|
4ED1F0A881A9ACB5977A8987 /* (null) in Frameworks */,
|
||||||
4ED1F0A881A9ACB5977A8987 /* BuildFile in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|
@ -1070,7 +1066,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "linphone" */;
|
buildConfigurationList = D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "Linphone" */;
|
||||||
compatibilityVersion = "Xcode 14.0";
|
compatibilityVersion = "Xcode 14.0";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
|
|
@ -1079,9 +1075,6 @@
|
||||||
Base,
|
Base,
|
||||||
);
|
);
|
||||||
mainGroup = D719ABAA2ABC67BF00B41C10;
|
mainGroup = D719ABAA2ABC67BF00B41C10;
|
||||||
packageReferences = (
|
|
||||||
C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */,
|
|
||||||
);
|
|
||||||
productRefGroup = D719ABB42ABC67BF00B41C10 /* Products */;
|
productRefGroup = D719ABB42ABC67BF00B41C10 /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
|
|
@ -1716,7 +1709,7 @@
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "linphone" */ = {
|
D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "Linphone" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
D719ABC02ABC67BF00B41C10 /* Debug */,
|
D719ABC02ABC67BF00B41C10 /* Debug */,
|
||||||
|
|
@ -1735,30 +1728,6 @@
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
|
|
||||||
/* Begin XCRemoteSwiftPackageReference section */
|
|
||||||
C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */ = {
|
|
||||||
isa = XCRemoteSwiftPackageReference;
|
|
||||||
repositoryURL = "https://gitlab.linphone.org/BC/public/linphone-sdk-swift-ios.git";
|
|
||||||
requirement = {
|
|
||||||
branch = stable;
|
|
||||||
kind = branch;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
|
||||||
C618BF552D75CA03005A00E0 /* linphonesw */ = {
|
|
||||||
isa = XCSwiftPackageProductDependency;
|
|
||||||
package = C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */;
|
|
||||||
productName = linphonesw;
|
|
||||||
};
|
|
||||||
C618BF572D75CA0D005A00E0 /* linphonesw */ = {
|
|
||||||
isa = XCSwiftPackageProductDependency;
|
|
||||||
package = C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */;
|
|
||||||
productName = linphonesw;
|
|
||||||
};
|
|
||||||
/* End XCSwiftPackageProductDependency section */
|
|
||||||
};
|
};
|
||||||
rootObject = D719ABAB2ABC67BF00B41C10 /* Project object */;
|
rootObject = D719ABAB2ABC67BF00B41C10 /* Project object */;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
||||||
BuildableName = "Linphone.app"
|
BuildableName = "Linphone.app"
|
||||||
BlueprintName = "Linphone"
|
BlueprintName = "Linphone"
|
||||||
ReferencedContainer = "container:linphone.xcodeproj">
|
ReferencedContainer = "container:Linphone.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
||||||
BuildableName = "Linphone.app"
|
BuildableName = "Linphone.app"
|
||||||
BlueprintName = "Linphone"
|
BlueprintName = "Linphone"
|
||||||
ReferencedContainer = "container:linphone.xcodeproj">
|
ReferencedContainer = "container:Linphone.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
||||||
BuildableName = "Linphone.app"
|
BuildableName = "Linphone.app"
|
||||||
BlueprintName = "Linphone"
|
BlueprintName = "Linphone"
|
||||||
ReferencedContainer = "container:linphone.xcodeproj">
|
ReferencedContainer = "container:Linphone.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
</ProfileAction>
|
</ProfileAction>
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import linphone // needed for unwrapped function linphone_core_set_push_and_app_
|
||||||
import Combine
|
import Combine
|
||||||
import UniformTypeIdentifiers
|
import UniformTypeIdentifiers
|
||||||
import Network
|
import Network
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
#if USE_CRASHLYTICS
|
#if USE_CRASHLYTICS
|
||||||
import Firebase
|
import Firebase
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
import Foundation
|
import Foundation
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
// swiftlint:disable type_body_length
|
// swiftlint:disable type_body_length
|
||||||
|
|
|
||||||
|
|
@ -2031,21 +2031,17 @@ struct CallView: View {
|
||||||
if callViewModel.isOneOneCall {
|
if callViewModel.isOneOneCall {
|
||||||
VStack {
|
VStack {
|
||||||
Button {
|
Button {
|
||||||
if callViewModel.callsCounter < 2 {
|
withAnimation {
|
||||||
withAnimation {
|
callViewModel.isTransferInsteadCall = true
|
||||||
callViewModel.isTransferInsteadCall = true
|
MagicSearchSingleton.shared.searchForSuggestions()
|
||||||
MagicSearchSingleton.shared.searchForSuggestions()
|
isShowStartCallFragment.toggle()
|
||||||
isShowStartCallFragment.toggle()
|
}
|
||||||
|
|
||||||
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
||||||
|
telecomManager.callStarted = false
|
||||||
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
||||||
|
telecomManager.callStarted = true
|
||||||
}
|
}
|
||||||
|
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
|
||||||
telecomManager.callStarted = false
|
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
|
||||||
telecomManager.callStarted = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
callViewModel.transferClicked()
|
|
||||||
}
|
}
|
||||||
} label: {
|
} label: {
|
||||||
HStack {
|
HStack {
|
||||||
|
|
@ -2061,7 +2057,7 @@ struct CallView: View {
|
||||||
.background(Color.gray500)
|
.background(Color.gray500)
|
||||||
.cornerRadius(40)
|
.cornerRadius(40)
|
||||||
|
|
||||||
Text(callViewModel.callsCounter < 2 ? "call_action_blind_transfer" : "call_action_attended_transfer")
|
Text("call_action_blind_transfer")
|
||||||
.foregroundStyle(.white)
|
.foregroundStyle(.white)
|
||||||
.default_text_style(styleSize: 15)
|
.default_text_style(styleSize: 15)
|
||||||
}
|
}
|
||||||
|
|
@ -2402,21 +2398,17 @@ struct CallView: View {
|
||||||
if callViewModel.isOneOneCall {
|
if callViewModel.isOneOneCall {
|
||||||
VStack {
|
VStack {
|
||||||
Button {
|
Button {
|
||||||
if callViewModel.callsCounter < 2 {
|
withAnimation {
|
||||||
withAnimation {
|
callViewModel.isTransferInsteadCall = true
|
||||||
callViewModel.isTransferInsteadCall = true
|
MagicSearchSingleton.shared.searchForSuggestions()
|
||||||
MagicSearchSingleton.shared.searchForSuggestions()
|
isShowStartCallFragment.toggle()
|
||||||
isShowStartCallFragment.toggle()
|
}
|
||||||
|
|
||||||
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
||||||
|
telecomManager.callStarted = false
|
||||||
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
||||||
|
telecomManager.callStarted = true
|
||||||
}
|
}
|
||||||
|
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
|
||||||
telecomManager.callStarted = false
|
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
|
||||||
telecomManager.callStarted = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
callViewModel.transferClicked()
|
|
||||||
}
|
}
|
||||||
} label: {
|
} label: {
|
||||||
HStack {
|
HStack {
|
||||||
|
|
@ -2432,7 +2424,7 @@ struct CallView: View {
|
||||||
.background(Color.gray500)
|
.background(Color.gray500)
|
||||||
.cornerRadius(40)
|
.cornerRadius(40)
|
||||||
|
|
||||||
Text(callViewModel.callsCounter < 2 ? "call_action_blind_transfer" : "call_action_attended_transfer")
|
Text("call_action_blind_transfer")
|
||||||
.foregroundStyle(.white)
|
.foregroundStyle(.white)
|
||||||
.default_text_style(styleSize: 15)
|
.default_text_style(styleSize: 15)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -165,20 +165,20 @@ struct CallsListFragment: View {
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
||||||
callViewModel.resetCallView()
|
callViewModel.resetCallView()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, label: {
|
}, label: {
|
||||||
HStack {
|
HStack {
|
||||||
HStack {
|
HStack {
|
||||||
Image((callViewModel.selectedCall!.state == .PausedByRemote
|
Image((callViewModel.selectedCall!.state == .PausedByRemote
|
||||||
|| callViewModel.selectedCall!.state == .Pausing
|
|| callViewModel.selectedCall!.state == .Pausing
|
||||||
|| callViewModel.selectedCall!.state == .Paused) ? String(localized: "call_action_resume_call") : String(localized: "call_action_pause_call"))
|
|| callViewModel.selectedCall!.state == .Paused) ? String(localized: "call_action_resume_call") : String(localized: "call_action_pause_call"))
|
||||||
.resizable()
|
.resizable()
|
||||||
.frame(width: 30, height: 30)
|
.frame(width: 30, height: 30)
|
||||||
|
|
||||||
}
|
}
|
||||||
.frame(width: 35, height: 30)
|
.frame(width: 35, height: 30)
|
||||||
.background(.clear)
|
.background(.clear)
|
||||||
.cornerRadius(40)
|
.cornerRadius(40)
|
||||||
|
|
||||||
Text((callViewModel.selectedCall!.state == .PausedByRemote
|
Text((callViewModel.selectedCall!.state == .PausedByRemote
|
||||||
|| callViewModel.selectedCall!.state == .Pausing
|
|| callViewModel.selectedCall!.state == .Pausing
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class CallMediaEncryptionModel: ObservableObject {
|
class CallMediaEncryptionModel: ObservableObject {
|
||||||
var coreContext = CoreContext.shared
|
var coreContext = CoreContext.shared
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class SentVideoWindow: ObservableObject {
|
class SentVideoWindow: ObservableObject {
|
||||||
var widthFactor: CGFloat = 1
|
var widthFactor: CGFloat = 1
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class ParticipantModel: ObservableObject {
|
class ParticipantModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ import SwiftUI
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import AVFAudio
|
import AVFAudio
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
// swiftlint:disable type_body_length
|
// swiftlint:disable type_body_length
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
class ContactViewModel: ObservableObject {
|
class ContactViewModel: ObservableObject {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class ContactsListViewModel: ObservableObject {
|
class ContactsListViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class EditContactViewModel: ObservableObject {
|
class EditContactViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class FavoriteContactsListViewModel: ObservableObject {
|
class FavoriteContactsListViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
class ConversationForwardMessageViewModel: ObservableObject {
|
class ConversationForwardMessageViewModel: ObservableObject {
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
import Foundation
|
import Foundation
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
class ConversationsListViewModel: ObservableObject {
|
class ConversationsListViewModel: ObservableObject {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
class StartConversationViewModel: ObservableObject {
|
class StartConversationViewModel: ObservableObject {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class HelpViewModel: ObservableObject {
|
class HelpViewModel: ObservableObject {
|
||||||
private let TAG = "[HelpViewModel]"
|
private let TAG = "[HelpViewModel]"
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,98 @@ struct StartCallFragment: View {
|
||||||
.background(.white)
|
.background(.white)
|
||||||
|
|
||||||
VStack(spacing: 0) {
|
VStack(spacing: 0) {
|
||||||
|
if callViewModel.isTransferInsteadCall {
|
||||||
|
VStack {
|
||||||
|
HStack(alignment: .center) {
|
||||||
|
Text("contacts_list_all_contacts_title")
|
||||||
|
.default_text_style_800(styleSize: 16)
|
||||||
|
|
||||||
|
Spacer()
|
||||||
|
}
|
||||||
|
.padding(.vertical, 10)
|
||||||
|
.padding(.horizontal, 16)
|
||||||
|
|
||||||
|
if callViewModel.calls.count > 1 {
|
||||||
|
ForEach(0..<callViewModel.calls.count, id: \.self) { index in
|
||||||
|
HStack {
|
||||||
|
HStack {
|
||||||
|
if callViewModel.calls[index].callLog != nil && callViewModel.calls[index].callLog!.remoteAddress != nil {
|
||||||
|
if callViewModel.callsContactAvatarModel[index] != nil && callViewModel.calls[index].callLog?.conferenceInfo == nil {
|
||||||
|
Avatar(contactAvatarModel: callViewModel.callsContactAvatarModel[index]!, avatarSize: 50)
|
||||||
|
} else {
|
||||||
|
VStack {
|
||||||
|
Image("users-three-square")
|
||||||
|
.renderingMode(.template)
|
||||||
|
.resizable()
|
||||||
|
.frame(width: 28, height: 28)
|
||||||
|
.foregroundStyle(Color.grayMain2c600)
|
||||||
|
}
|
||||||
|
.frame(width: 50, height: 50)
|
||||||
|
.background(Color.grayMain2c200)
|
||||||
|
.clipShape(Circle())
|
||||||
|
}
|
||||||
|
|
||||||
|
if callViewModel.calls[index].callLog?.conferenceInfo == nil {
|
||||||
|
Text(callViewModel.callsContactAvatarModel[index]!.name)
|
||||||
|
.default_text_style(styleSize: 16)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
|
.lineLimit(1)
|
||||||
|
} else {
|
||||||
|
Text(callViewModel.calls[index].callLog!.conferenceInfo!.subject ?? String(localized: "conference_name_error"))
|
||||||
|
.default_text_style(styleSize: 16)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
|
.lineLimit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
Spacer()
|
||||||
|
|
||||||
|
HStack {
|
||||||
|
if callViewModel.calls[index].state == .PausedByRemote
|
||||||
|
|| callViewModel.calls[index].state == .Pausing
|
||||||
|
|| callViewModel.calls[index].state == .Paused
|
||||||
|
|| callViewModel.calls[index].state == .Resuming {
|
||||||
|
Text(callViewModel.calls[index].state == .Resuming ? String(localized: "call_state_resuming") : String(localized: "call_state_paused"))
|
||||||
|
.default_text_style_300(styleSize: 14)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .trailing)
|
||||||
|
.lineLimit(1)
|
||||||
|
.padding(.horizontal, 4)
|
||||||
|
|
||||||
|
Image("pause")
|
||||||
|
.resizable()
|
||||||
|
.frame(width: 25, height: 25)
|
||||||
|
} else {
|
||||||
|
Text("call_state_connected")
|
||||||
|
.default_text_style_300(styleSize: 14)
|
||||||
|
.frame(maxWidth: .infinity, alignment: .trailing)
|
||||||
|
.lineLimit(1)
|
||||||
|
.padding(.horizontal, 4)
|
||||||
|
|
||||||
|
Image("phone-call")
|
||||||
|
.resizable()
|
||||||
|
.frame(width: 25, height: 25)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.buttonStyle(.borderless)
|
||||||
|
.listRowInsets(EdgeInsets(top: 10, leading: 20, bottom: 10, trailing: 20))
|
||||||
|
.listRowSeparator(.hidden)
|
||||||
|
.background(.white)
|
||||||
|
.onTapGesture {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
HStack(alignment: .center) {
|
||||||
|
Text("contacts_list_all_contacts_title")
|
||||||
|
.default_text_style_800(styleSize: 16)
|
||||||
|
}
|
||||||
|
.padding(.vertical, 10)
|
||||||
|
.padding(.horizontal, 16)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ZStack(alignment: .trailing) {
|
ZStack(alignment: .trailing) {
|
||||||
TextField("history_call_start_search_bar_filter_hint", text: $startCallViewModel.searchField)
|
TextField("history_call_start_search_bar_filter_hint", text: $startCallViewModel.searchField)
|
||||||
.default_text_style(styleSize: 15)
|
.default_text_style(styleSize: 15)
|
||||||
|
|
@ -170,41 +262,44 @@ struct StartCallFragment: View {
|
||||||
.padding(.vertical)
|
.padding(.vertical)
|
||||||
.padding(.horizontal)
|
.padding(.horizontal)
|
||||||
|
|
||||||
NavigationLink(destination: {
|
|
||||||
StartGroupCallFragment(startCallViewModel: startCallViewModel)
|
if !callViewModel.isTransferInsteadCall {
|
||||||
}, label: {
|
NavigationLink(destination: {
|
||||||
HStack {
|
StartGroupCallFragment(startCallViewModel: startCallViewModel)
|
||||||
HStack(alignment: .center) {
|
}, label: {
|
||||||
Image("meetings")
|
HStack {
|
||||||
|
HStack(alignment: .center) {
|
||||||
|
Image("meetings")
|
||||||
|
.renderingMode(.template)
|
||||||
|
.resizable()
|
||||||
|
.foregroundStyle(.white)
|
||||||
|
.frame(width: 20, height: 20, alignment: .leading)
|
||||||
|
}
|
||||||
|
.padding(16)
|
||||||
|
.background(Color.orangeMain500)
|
||||||
|
.cornerRadius(40)
|
||||||
|
|
||||||
|
Text("history_call_start_create_group_call")
|
||||||
|
.foregroundStyle(.black)
|
||||||
|
.default_text_style_800(styleSize: 16)
|
||||||
|
|
||||||
|
Spacer()
|
||||||
|
|
||||||
|
Image("caret-right")
|
||||||
.renderingMode(.template)
|
.renderingMode(.template)
|
||||||
.resizable()
|
.resizable()
|
||||||
.foregroundStyle(.white)
|
.foregroundStyle(Color.grayMain2c500)
|
||||||
.frame(width: 20, height: 20, alignment: .leading)
|
.frame(width: 25, height: 25, alignment: .leading)
|
||||||
}
|
}
|
||||||
.padding(16)
|
})
|
||||||
.background(Color.orangeMain500)
|
.padding(.vertical, 10)
|
||||||
.cornerRadius(40)
|
.padding(.horizontal, 20)
|
||||||
|
.background(
|
||||||
Text("history_call_start_create_group_call")
|
LinearGradient(gradient: Gradient(colors: [.grayMain2c100, .white]), startPoint: .leading, endPoint: .trailing)
|
||||||
.foregroundStyle(.black)
|
.padding(.vertical, 10)
|
||||||
.default_text_style_800(styleSize: 16)
|
.padding(.horizontal, 40)
|
||||||
|
)
|
||||||
Spacer()
|
}
|
||||||
|
|
||||||
Image("caret-right")
|
|
||||||
.renderingMode(.template)
|
|
||||||
.resizable()
|
|
||||||
.foregroundStyle(Color.grayMain2c500)
|
|
||||||
.frame(width: 25, height: 25, alignment: .leading)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.padding(.vertical, 10)
|
|
||||||
.padding(.horizontal, 20)
|
|
||||||
.background(
|
|
||||||
LinearGradient(gradient: Gradient(colors: [.grayMain2c100, .white]), startPoint: .leading, endPoint: .trailing)
|
|
||||||
.padding(.vertical, 10)
|
|
||||||
.padding(.horizontal, 40)
|
|
||||||
)
|
|
||||||
|
|
||||||
ScrollView {
|
ScrollView {
|
||||||
if !ContactsManager.shared.lastSearch.isEmpty {
|
if !ContactsManager.shared.lastSearch.isEmpty {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class HistoryListViewModel: ObservableObject {
|
class HistoryListViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
// swiftlint:disable line_length
|
// swiftlint:disable line_length
|
||||||
class StartCallViewModel: ObservableObject {
|
class StartCallViewModel: ObservableObject {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class MeetingModel: ObservableObject {
|
class MeetingModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class AccountProfileViewModel: ObservableObject {
|
class AccountProfileViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class AccountSettingsViewModel: ObservableObject {
|
class AccountSettingsViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class SettingsViewModel: ObservableObject {
|
class SettingsViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
class SharedMainViewModel: ObservableObject {
|
class SharedMainViewModel: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ class Log: LoggingServiceDelegate {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
func onLogMessageWritten(logService: LoggingService, domain: String, level: LogLevel, message: String) {
|
func onLogMessageWritten(logService: linphonesw.LoggingService, domain: String, level: linphonesw.LogLevel, message: String) {
|
||||||
output(message, level.rawValue, domain)
|
output(message, level.rawValue, domain)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
|
|
||||||
import linphonesw
|
import linphonesw
|
||||||
import Combine
|
import Combine
|
||||||
import SwiftUI
|
|
||||||
|
|
||||||
final class MagicSearchSingleton: ObservableObject {
|
final class MagicSearchSingleton: ObservableObject {
|
||||||
|
|
||||||
|
|
|
||||||
6
Podfile
6
Podfile
|
|
@ -4,6 +4,12 @@ source "https://gitlab.linphone.org/BC/public/podspec.git"
|
||||||
source "https://github.com/CocoaPods/Specs.git"
|
source "https://github.com/CocoaPods/Specs.git"
|
||||||
|
|
||||||
def basic_pods
|
def basic_pods
|
||||||
|
if ENV['PODFILE_PATH'].nil?
|
||||||
|
pod 'linphone-sdk', '~> 5.4.0-alpha'
|
||||||
|
else
|
||||||
|
pod 'linphone-sdk', :path => ENV['PODFILE_PATH'] # local sdk
|
||||||
|
end
|
||||||
|
|
||||||
crashlytics
|
crashlytics
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue