mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Show the call buttons on macOS when the experimental native calling feature is enabled. (#6183)
* Show the call buttons on macOS when the experimental native calling feature is enabled. * Start native calls in their own window on macOS. * Update the Enterprise submodule.
This commit is contained in:
@@ -11,6 +11,7 @@ import SwiftUI
|
|||||||
enum SecondaryWindowType: Hashable, Codable {
|
enum SecondaryWindowType: Hashable, Codable {
|
||||||
case room(roomID: String)
|
case room(roomID: String)
|
||||||
case settings
|
case settings
|
||||||
|
case call
|
||||||
}
|
}
|
||||||
|
|
||||||
protocol SecureWindowManagerDelegate: AnyObject {
|
protocol SecureWindowManagerDelegate: AnyObject {
|
||||||
|
|||||||
@@ -940,6 +940,7 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
private func presentRoomDetails(isRoot: Bool, animated: Bool) async {
|
private func presentRoomDetails(isRoot: Bool, animated: Bool) async {
|
||||||
let params = RoomDetailsScreenCoordinatorParameters(roomProxy: roomProxy,
|
let params = RoomDetailsScreenCoordinatorParameters(roomProxy: roomProxy,
|
||||||
userSession: userSession,
|
userSession: userSession,
|
||||||
|
appSettings: flowParameters.appSettings,
|
||||||
appHooks: flowParameters.appHooks,
|
appHooks: flowParameters.appHooks,
|
||||||
analyticsService: flowParameters.analytics,
|
analyticsService: flowParameters.analytics,
|
||||||
userIndicatorController: flowParameters.userIndicatorController,
|
userIndicatorController: flowParameters.userIndicatorController,
|
||||||
|
|||||||
@@ -211,6 +211,7 @@ final class SpaceSettingsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
private func presentSpaceSettings(animated: Bool) {
|
private func presentSpaceSettings(animated: Bool) {
|
||||||
let coordinator = RoomDetailsScreenCoordinator(parameters: .init(roomProxy: roomProxy,
|
let coordinator = RoomDetailsScreenCoordinator(parameters: .init(roomProxy: roomProxy,
|
||||||
userSession: flowParameters.userSession,
|
userSession: flowParameters.userSession,
|
||||||
|
appSettings: flowParameters.appSettings,
|
||||||
appHooks: flowParameters.appHooks,
|
appHooks: flowParameters.appHooks,
|
||||||
analyticsService: flowParameters.analytics,
|
analyticsService: flowParameters.analytics,
|
||||||
userIndicatorController: flowParameters.userIndicatorController,
|
userIndicatorController: flowParameters.userIndicatorController,
|
||||||
|
|||||||
@@ -578,8 +578,13 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let coordinator = NativeCallScreenCoordinator(parameters: .init(controller: controller))
|
let coordinator = NativeCallScreenCoordinator(parameters: .init(controller: controller))
|
||||||
navigationTabCoordinator.setOverlayCoordinator(coordinator, animated: true)
|
|
||||||
flowParameters.analytics.track(screen: .RoomCall)
|
if ProcessInfo.processInfo.isiOSAppOnMac {
|
||||||
|
flowParameters.appMediator.windowManager.registerCoordinator(coordinator, flowCoordinator: nil, forWindowType: .call)
|
||||||
|
} else {
|
||||||
|
navigationTabCoordinator.setOverlayCoordinator(coordinator, animated: true)
|
||||||
|
flowParameters.analytics.track(screen: .RoomCall)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func restoreNativeCallScreen() {
|
private func restoreNativeCallScreen() {
|
||||||
@@ -588,12 +593,16 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func dismissCallScreenIfNeeded() {
|
private func dismissCallScreenIfNeeded() {
|
||||||
guard navigationTabCoordinator.overlayCoordinator is CallScreenCoordinator
|
if ProcessInfo.processInfo.isiOSAppOnMac {
|
||||||
|| navigationTabCoordinator.overlayCoordinator is NativeCallScreenCoordinator else {
|
flowParameters.appMediator.windowManager.closeSecondaryWindow(forType: .call)
|
||||||
return
|
} else {
|
||||||
|
guard navigationTabCoordinator.overlayCoordinator is CallScreenCoordinator
|
||||||
|
|| navigationTabCoordinator.overlayCoordinator is NativeCallScreenCoordinator else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
navigationTabCoordinator.setOverlayCoordinator(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
navigationTabCoordinator.setOverlayCoordinator(nil)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Logout
|
// MARK: - Logout
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import SwiftUI
|
|||||||
struct RoomDetailsScreenCoordinatorParameters {
|
struct RoomDetailsScreenCoordinatorParameters {
|
||||||
let roomProxy: JoinedRoomProxyProtocol
|
let roomProxy: JoinedRoomProxyProtocol
|
||||||
let userSession: UserSessionProtocol
|
let userSession: UserSessionProtocol
|
||||||
|
let appSettings: AppSettings
|
||||||
let appHooks: AppHooks
|
let appHooks: AppHooks
|
||||||
let analyticsService: AnalyticsServiceProtocol
|
let analyticsService: AnalyticsServiceProtocol
|
||||||
let userIndicatorController: UserIndicatorControllerProtocol
|
let userIndicatorController: UserIndicatorControllerProtocol
|
||||||
@@ -53,6 +54,7 @@ final class RoomDetailsScreenCoordinator: CoordinatorProtocol {
|
|||||||
isSpace = parameters.roomProxy.infoPublisher.value.isSpace
|
isSpace = parameters.roomProxy.infoPublisher.value.isSpace
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: parameters.roomProxy,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: parameters.roomProxy,
|
||||||
userSession: parameters.userSession,
|
userSession: parameters.userSession,
|
||||||
|
appSettings: parameters.appSettings,
|
||||||
appHooks: parameters.appHooks,
|
appHooks: parameters.appHooks,
|
||||||
analyticsService: parameters.analyticsService,
|
analyticsService: parameters.analyticsService,
|
||||||
userIndicatorController: parameters.userIndicatorController,
|
userIndicatorController: parameters.userIndicatorController,
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ struct RoomDetailsScreenViewState: BindableState {
|
|||||||
var canBanUsers = false
|
var canBanUsers = false
|
||||||
var notificationSettingsState: RoomDetailsNotificationSettingsState = .loading
|
var notificationSettingsState: RoomDetailsNotificationSettingsState = .loading
|
||||||
var isCallingEnabled = true
|
var isCallingEnabled = true
|
||||||
|
var isNativeCallingEnabled = false
|
||||||
var canJoinCall = false
|
var canJoinCall = false
|
||||||
var pinnedEventsActionState = RoomDetailsScreenPinnedEventsActionState.loading
|
var pinnedEventsActionState = RoomDetailsScreenPinnedEventsActionState.loading
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ struct RoomDetailsScreenViewState: BindableState {
|
|||||||
|
|
||||||
var shortcuts: [RoomDetailsScreenViewShortcut] {
|
var shortcuts: [RoomDetailsScreenViewShortcut] {
|
||||||
var shortcuts: [RoomDetailsScreenViewShortcut] = [.mute]
|
var shortcuts: [RoomDetailsScreenViewShortcut] = [.mute]
|
||||||
if !ProcessInfo.processInfo.isiOSAppOnMac, isCallingEnabled, canJoinCall {
|
if !ProcessInfo.processInfo.isiOSAppOnMac || isNativeCallingEnabled, isCallingEnabled, canJoinCall {
|
||||||
if isDirect {
|
if isDirect {
|
||||||
shortcuts.append(.voiceCall)
|
shortcuts.append(.voiceCall)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
|
|||||||
|
|
||||||
init(roomProxy: JoinedRoomProxyProtocol,
|
init(roomProxy: JoinedRoomProxyProtocol,
|
||||||
userSession: UserSessionProtocol,
|
userSession: UserSessionProtocol,
|
||||||
|
appSettings: AppSettings,
|
||||||
appHooks: AppHooks,
|
appHooks: AppHooks,
|
||||||
analyticsService: AnalyticsServiceProtocol,
|
analyticsService: AnalyticsServiceProtocol,
|
||||||
userIndicatorController: UserIndicatorControllerProtocol,
|
userIndicatorController: UserIndicatorControllerProtocol,
|
||||||
@@ -66,6 +67,7 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
|
|||||||
topicSummary: topic?.unattributedStringByReplacingNewlinesWithSpaces(),
|
topicSummary: topic?.unattributedStringByReplacingNewlinesWithSpaces(),
|
||||||
joinedMembersCount: roomProxy.infoPublisher.value.joinedMembersCount,
|
joinedMembersCount: roomProxy.infoPublisher.value.joinedMembersCount,
|
||||||
notificationSettingsState: .loading,
|
notificationSettingsState: .loading,
|
||||||
|
isNativeCallingEnabled: appSettings.nativeCallEnabled,
|
||||||
bindings: .init())
|
bindings: .init())
|
||||||
super.init(initialViewState: appHooks.roomDetailsScreenHook.update(viewState),
|
super.init(initialViewState: appHooks.roomDetailsScreenHook.update(viewState),
|
||||||
mediaProvider: userSession.mediaProvider)
|
mediaProvider: userSession.mediaProvider)
|
||||||
|
|||||||
@@ -441,6 +441,7 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
|
|||||||
|
|
||||||
return .init(roomProxy: roomProxy,
|
return .init(roomProxy: roomProxy,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -469,6 +470,7 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
|
|||||||
|
|
||||||
return .init(roomProxy: roomProxy,
|
return .init(roomProxy: roomProxy,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -507,6 +509,7 @@ struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
|
|||||||
|
|
||||||
return .init(roomProxy: roomProxy,
|
return .init(roomProxy: roomProxy,
|
||||||
userSession: UserSessionMock(.init(clientProxy: clientProxyMock)),
|
userSession: UserSessionMock(.init(clientProxy: clientProxyMock)),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ struct RoomScreenViewState: BindableState {
|
|||||||
|
|
||||||
/// Whether or not starting a call is supported.
|
/// Whether or not starting a call is supported.
|
||||||
var isCallingEnabled = true
|
var isCallingEnabled = true
|
||||||
|
/// Whether or not calls are using the experimental native implementation.
|
||||||
|
var isNativeCallingEnabled = false
|
||||||
/// Whether or not the user is allowed to join calls in this room.
|
/// Whether or not the user is allowed to join calls in this room.
|
||||||
var canJoinCall = false
|
var canJoinCall = false
|
||||||
/// Whether or not this room currently has a call in progress.
|
/// Whether or not this room currently has a call in progress.
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol
|
|||||||
|
|
||||||
let viewState = RoomScreenViewState(roomTitle: roomProxy.infoPublisher.value.displayNameOrID,
|
let viewState = RoomScreenViewState(roomTitle: roomProxy.infoPublisher.value.displayNameOrID,
|
||||||
roomAvatar: roomProxy.infoPublisher.value.avatar,
|
roomAvatar: roomProxy.infoPublisher.value.avatar,
|
||||||
|
isNativeCallingEnabled: appSettings.nativeCallEnabled,
|
||||||
hasOngoingCall: roomProxy.infoPublisher.value.hasRoomCall,
|
hasOngoingCall: roomProxy.infoPublisher.value.hasRoomCall,
|
||||||
isDM: roomProxy.infoPublisher.value.isDM,
|
isDM: roomProxy.infoPublisher.value.isDM,
|
||||||
hasSuccessor: roomProxy.infoPublisher.value.successor != nil,
|
hasSuccessor: roomProxy.infoPublisher.value.successor != nil,
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ struct RoomScreen: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !ProcessInfo.processInfo.isiOSAppOnMac {
|
if !ProcessInfo.processInfo.isiOSAppOnMac || context.viewState.isNativeCallingEnabled {
|
||||||
if context.viewState.shouldShowCallButton {
|
if context.viewState.shouldShowCallButton {
|
||||||
RoomCallControlsToolbar(viewState: context.viewState) { isVoiceCall in
|
RoomCallControlsToolbar(viewState: context.viewState) { isVoiceCall in
|
||||||
context.send(viewAction: .displayCall(isVoiceCall: isVoiceCall))
|
context.send(viewAction: .displayCall(isVoiceCall: isVoiceCall))
|
||||||
|
|||||||
@@ -132,6 +132,7 @@ struct SpaceSettingsScreen_Previews: PreviewProvider, TestablePreview {
|
|||||||
canonicalAlias: "#space:matrix.org",
|
canonicalAlias: "#space:matrix.org",
|
||||||
members: members)),
|
members: members)),
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
|
|||||||
+1
-1
Submodule Enterprise updated: be536ca83c...0c0c2f79f1
@@ -30,6 +30,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
notificationSettingsProxyMock = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
|
notificationSettingsProxyMock = NotificationSettingsProxyMock(with: NotificationSettingsProxyMockConfiguration())
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -43,6 +44,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers, joinRule: .public))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers, joinRule: .public))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -63,6 +65,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -84,6 +87,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -142,6 +146,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -163,6 +168,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -195,6 +201,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
|
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -226,6 +233,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -258,6 +266,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, isEncrypted: true, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
|
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -291,6 +300,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
powerLevelsConfiguration: .init(canUserInvite: false)))
|
powerLevelsConfiguration: .init(canUserInvite: false)))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -308,6 +318,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers, joinRule: .public))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", members: mockedMembers, joinRule: .public))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -356,6 +367,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
|
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -391,6 +403,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
|
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -426,6 +439,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
|
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -446,6 +460,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -466,6 +481,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, members: mockedMembers))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, members: mockedMembers))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -484,6 +500,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
notificationSettingsProxyMock.getNotificationSettingsRoomIdIsEncryptedIsOneToOneThrowableError = NotificationSettingsError.Generic(msg: "error")
|
notificationSettingsProxyMock.getNotificationSettingsRoomIdIsEncryptedIsOneToOneThrowableError = NotificationSettingsError.Generic(msg: "error")
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -692,6 +709,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, knockRequestsState: .loaded(mockedRequests), joinRule: .knock))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, knockRequestsState: .loaded(mockedRequests), joinRule: .knock))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -713,6 +731,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, knockRequestsState: .loading, joinRule: .knock))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: false, knockRequestsState: .loading, joinRule: .knock))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -736,6 +755,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
powerLevelsConfiguration: .init(canUserInvite: false)))
|
powerLevelsConfiguration: .init(canUserInvite: false)))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -759,6 +779,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, members: mockedMembers, knockRequestsState: .loaded(mockedRequests), joinRule: .knock))
|
roomProxyMock = JoinedRoomProxyMock(.init(name: "Test", isDirect: true, members: mockedMembers, knockRequestsState: .loaded(mockedRequests), joinRule: .knock))
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
@@ -786,6 +807,7 @@ struct RoomDetailsScreenViewModelTests {
|
|||||||
|
|
||||||
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
viewModel = RoomDetailsScreenViewModel(roomProxy: roomProxyMock,
|
||||||
userSession: UserSessionMock(.init()),
|
userSession: UserSessionMock(.init()),
|
||||||
|
appSettings: AppSettings.volatile(),
|
||||||
appHooks: AppHooks(),
|
appHooks: AppHooks(),
|
||||||
analyticsService: AnalyticsServiceMock(.init()),
|
analyticsService: AnalyticsServiceMock(.init()),
|
||||||
userIndicatorController: UserIndicatorControllerMock(),
|
userIndicatorController: UserIndicatorControllerMock(),
|
||||||
|
|||||||
Reference in New Issue
Block a user