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 = {
|
||||
|
||||
/* 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, ); }; };
|
||||
660D8A712B517D260092694D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 660D8A702B517D260092694D /* GoogleService-Info.plist */; };
|
||||
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 */; };
|
||||
66FDB7812C7C689A00561566 /* EventEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66FDB7802C7C689A00561566 /* EventEditViewController.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 */; };
|
||||
C628172E2C1C3A3600DBA646 /* AccountExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C628172D2C1C3A3600DBA646 /* AccountExtension.swift */; };
|
||||
C62817302C1C3DCC00DBA646 /* AccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C628172F2C1C3DCC00DBA646 /* AccountModel.swift */; };
|
||||
|
|
@ -407,7 +405,6 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C618BF582D75CA0D005A00E0 /* linphonesw in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -415,8 +412,7 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C618BF562D75CA03005A00E0 /* linphonesw in Frameworks */,
|
||||
4ED1F0A881A9ACB5977A8987 /* BuildFile in Frameworks */,
|
||||
4ED1F0A881A9ACB5977A8987 /* (null) in Frameworks */,
|
||||
);
|
||||
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";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
|
|
@ -1079,9 +1075,6 @@
|
|||
Base,
|
||||
);
|
||||
mainGroup = D719ABAA2ABC67BF00B41C10;
|
||||
packageReferences = (
|
||||
C618BF542D75CA03005A00E0 /* XCRemoteSwiftPackageReference "linphone-sdk-swift-ios" */,
|
||||
);
|
||||
productRefGroup = D719ABB42ABC67BF00B41C10 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
|
|
@ -1716,7 +1709,7 @@
|
|||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "linphone" */ = {
|
||||
D719ABAE2ABC67BF00B41C10 /* Build configuration list for PBXProject "Linphone" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D719ABC02ABC67BF00B41C10 /* Debug */,
|
||||
|
|
@ -1735,30 +1728,6 @@
|
|||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* 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 */;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
||||
BuildableName = "Linphone.app"
|
||||
BlueprintName = "Linphone"
|
||||
ReferencedContainer = "container:linphone.xcodeproj">
|
||||
ReferencedContainer = "container:Linphone.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
||||
BuildableName = "Linphone.app"
|
||||
BlueprintName = "Linphone"
|
||||
ReferencedContainer = "container:linphone.xcodeproj">
|
||||
ReferencedContainer = "container:Linphone.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
BlueprintIdentifier = "D719ABB22ABC67BF00B41C10"
|
||||
BuildableName = "Linphone.app"
|
||||
BlueprintName = "Linphone"
|
||||
ReferencedContainer = "container:linphone.xcodeproj">
|
||||
ReferencedContainer = "container:Linphone.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ import linphone // needed for unwrapped function linphone_core_set_push_and_app_
|
|||
import Combine
|
||||
import UniformTypeIdentifiers
|
||||
import Network
|
||||
import SwiftUI
|
||||
|
||||
#if USE_CRASHLYTICS
|
||||
import Firebase
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
import Foundation
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
// swiftlint:disable type_body_length
|
||||
|
|
|
|||
|
|
@ -2031,21 +2031,17 @@ struct CallView: View {
|
|||
if callViewModel.isOneOneCall {
|
||||
VStack {
|
||||
Button {
|
||||
if callViewModel.callsCounter < 2 {
|
||||
withAnimation {
|
||||
callViewModel.isTransferInsteadCall = true
|
||||
MagicSearchSingleton.shared.searchForSuggestions()
|
||||
isShowStartCallFragment.toggle()
|
||||
withAnimation {
|
||||
callViewModel.isTransferInsteadCall = true
|
||||
MagicSearchSingleton.shared.searchForSuggestions()
|
||||
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: {
|
||||
HStack {
|
||||
|
|
@ -2061,7 +2057,7 @@ struct CallView: View {
|
|||
.background(Color.gray500)
|
||||
.cornerRadius(40)
|
||||
|
||||
Text(callViewModel.callsCounter < 2 ? "call_action_blind_transfer" : "call_action_attended_transfer")
|
||||
Text("call_action_blind_transfer")
|
||||
.foregroundStyle(.white)
|
||||
.default_text_style(styleSize: 15)
|
||||
}
|
||||
|
|
@ -2402,21 +2398,17 @@ struct CallView: View {
|
|||
if callViewModel.isOneOneCall {
|
||||
VStack {
|
||||
Button {
|
||||
if callViewModel.callsCounter < 2 {
|
||||
withAnimation {
|
||||
callViewModel.isTransferInsteadCall = true
|
||||
MagicSearchSingleton.shared.searchForSuggestions()
|
||||
isShowStartCallFragment.toggle()
|
||||
withAnimation {
|
||||
callViewModel.isTransferInsteadCall = true
|
||||
MagicSearchSingleton.shared.searchForSuggestions()
|
||||
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: {
|
||||
HStack {
|
||||
|
|
@ -2432,7 +2424,7 @@ struct CallView: View {
|
|||
.background(Color.gray500)
|
||||
.cornerRadius(40)
|
||||
|
||||
Text(callViewModel.callsCounter < 2 ? "call_action_blind_transfer" : "call_action_attended_transfer")
|
||||
Text("call_action_blind_transfer")
|
||||
.foregroundStyle(.white)
|
||||
.default_text_style(styleSize: 15)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -165,20 +165,20 @@ struct CallsListFragment: View {
|
|||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
||||
callViewModel.resetCallView()
|
||||
}
|
||||
}
|
||||
}, label: {
|
||||
HStack {
|
||||
HStack {
|
||||
Image((callViewModel.selectedCall!.state == .PausedByRemote
|
||||
|| callViewModel.selectedCall!.state == .Pausing
|
||||
}
|
||||
}, label: {
|
||||
HStack {
|
||||
HStack {
|
||||
Image((callViewModel.selectedCall!.state == .PausedByRemote
|
||||
|| callViewModel.selectedCall!.state == .Pausing
|
||||
|| callViewModel.selectedCall!.state == .Paused) ? String(localized: "call_action_resume_call") : String(localized: "call_action_pause_call"))
|
||||
.resizable()
|
||||
.frame(width: 30, height: 30)
|
||||
|
||||
}
|
||||
.frame(width: 35, height: 30)
|
||||
.background(.clear)
|
||||
.cornerRadius(40)
|
||||
.resizable()
|
||||
.frame(width: 30, height: 30)
|
||||
|
||||
}
|
||||
.frame(width: 35, height: 30)
|
||||
.background(.clear)
|
||||
.cornerRadius(40)
|
||||
|
||||
Text((callViewModel.selectedCall!.state == .PausedByRemote
|
||||
|| callViewModel.selectedCall!.state == .Pausing
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import Foundation
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class CallMediaEncryptionModel: ObservableObject {
|
||||
var coreContext = CoreContext.shared
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import Foundation
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class SentVideoWindow: ObservableObject {
|
||||
var widthFactor: CGFloat = 1
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import Foundation
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class ParticipantModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ import SwiftUI
|
|||
import linphonesw
|
||||
import AVFAudio
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
// swiftlint:disable type_body_length
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
class ContactViewModel: ObservableObject {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class ContactsListViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class EditContactViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class FavoriteContactsListViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
class ConversationForwardMessageViewModel: ObservableObject {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
import Foundation
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
class ConversationsListViewModel: ObservableObject {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
class StartConversationViewModel: ObservableObject {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class HelpViewModel: ObservableObject {
|
||||
private let TAG = "[HelpViewModel]"
|
||||
|
|
|
|||
|
|
@ -96,6 +96,98 @@ struct StartCallFragment: View {
|
|||
.background(.white)
|
||||
|
||||
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) {
|
||||
TextField("history_call_start_search_bar_filter_hint", text: $startCallViewModel.searchField)
|
||||
.default_text_style(styleSize: 15)
|
||||
|
|
@ -170,41 +262,44 @@ struct StartCallFragment: View {
|
|||
.padding(.vertical)
|
||||
.padding(.horizontal)
|
||||
|
||||
NavigationLink(destination: {
|
||||
StartGroupCallFragment(startCallViewModel: startCallViewModel)
|
||||
}, label: {
|
||||
HStack {
|
||||
HStack(alignment: .center) {
|
||||
Image("meetings")
|
||||
|
||||
if !callViewModel.isTransferInsteadCall {
|
||||
NavigationLink(destination: {
|
||||
StartGroupCallFragment(startCallViewModel: startCallViewModel)
|
||||
}, label: {
|
||||
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)
|
||||
.resizable()
|
||||
.foregroundStyle(.white)
|
||||
.frame(width: 20, height: 20, alignment: .leading)
|
||||
.foregroundStyle(Color.grayMain2c500)
|
||||
.frame(width: 25, height: 25, 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)
|
||||
.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)
|
||||
)
|
||||
})
|
||||
.padding(.vertical, 10)
|
||||
.padding(.horizontal, 20)
|
||||
.background(
|
||||
LinearGradient(gradient: Gradient(colors: [.grayMain2c100, .white]), startPoint: .leading, endPoint: .trailing)
|
||||
.padding(.vertical, 10)
|
||||
.padding(.horizontal, 40)
|
||||
)
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
if !ContactsManager.shared.lastSearch.isEmpty {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
class HistoryListViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
// swiftlint:disable line_length
|
||||
class StartCallViewModel: ObservableObject {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class MeetingModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class AccountProfileViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class AccountSettingsViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class SettingsViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
|
||||
import linphonesw
|
||||
import SwiftUI
|
||||
|
||||
class SharedMainViewModel: ObservableObject {
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ class Log: LoggingServiceDelegate {
|
|||
#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)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
import linphonesw
|
||||
import Combine
|
||||
import SwiftUI
|
||||
|
||||
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"
|
||||
|
||||
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
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue