mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-06 16:07:42 +02:00
Merge pull request #4237 from vector-im/element_4236
Enable / Disable VoIP feature in Rooms
This commit is contained in:
@@ -6,6 +6,7 @@ Changes to be released in next version
|
||||
|
||||
🙌 Improvements
|
||||
* MasterTabBarController: Show/Hide Home Screen tabs (#4234).
|
||||
* RoomVC: Enable / Disable VoIP feature in Rooms (#4236).
|
||||
|
||||
🐛 Bugfix
|
||||
*
|
||||
|
||||
@@ -256,6 +256,11 @@ final class BuildSettings: NSObject {
|
||||
static let roomCreationScreenRoomIsEncrypted: Bool = true
|
||||
static let roomCreationScreenAllowRoomTypeConfiguration: Bool = true
|
||||
static let roomCreationScreenRoomIsPublic: Bool = false
|
||||
|
||||
// MARK: - Room Screen
|
||||
|
||||
static let roomScreenAllowVoIPForDirectRoom: Bool = true
|
||||
static let roomScreenAllowVoIPForNonDirectRoom: Bool = true
|
||||
|
||||
// MARK: - Room Settings Screen
|
||||
|
||||
|
||||
@@ -56,6 +56,8 @@ final class RiotSettings: NSObject {
|
||||
static let homeScreenShowPeopleTab = "homeScreenShowPeopleTab"
|
||||
static let homeScreenShowRoomsTab = "homeScreenShowRoomsTab"
|
||||
static let homeScreenShowCommunitiesTab = "homeScreenShowCommunitiesTab"
|
||||
static let roomScreenAllowVoIPForDirectRoom = "roomScreenAllowVoIPForDirectRoom"
|
||||
static let roomScreenAllowVoIPForNonDirectRoom = "roomScreenAllowVoIPForNonDirectRoom"
|
||||
}
|
||||
|
||||
static let shared = RiotSettings()
|
||||
@@ -246,6 +248,29 @@ final class RiotSettings: NSObject {
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Room Screen
|
||||
|
||||
var roomScreenAllowVoIPForDirectRoom: Bool {
|
||||
get {
|
||||
guard defaults.object(forKey: UserDefaultsKeys.roomScreenAllowVoIPForDirectRoom) != nil else {
|
||||
return BuildSettings.roomScreenAllowVoIPForDirectRoom
|
||||
}
|
||||
return defaults.bool(forKey: UserDefaultsKeys.roomScreenAllowVoIPForDirectRoom)
|
||||
} set {
|
||||
defaults.set(newValue, forKey: UserDefaultsKeys.roomScreenAllowVoIPForDirectRoom)
|
||||
}
|
||||
}
|
||||
var roomScreenAllowVoIPForNonDirectRoom: Bool {
|
||||
get {
|
||||
guard defaults.object(forKey: UserDefaultsKeys.roomScreenAllowVoIPForNonDirectRoom) != nil else {
|
||||
return BuildSettings.roomScreenAllowVoIPForNonDirectRoom
|
||||
}
|
||||
return defaults.bool(forKey: UserDefaultsKeys.roomScreenAllowVoIPForNonDirectRoom)
|
||||
} set {
|
||||
defaults.set(newValue, forKey: UserDefaultsKeys.roomScreenAllowVoIPForNonDirectRoom)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Room Creation Screen
|
||||
|
||||
var roomCreationScreenAllowEncryptionConfiguration: Bool {
|
||||
|
||||
@@ -1400,7 +1400,8 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
|
||||
|
||||
- (BOOL)supportCallOption
|
||||
{
|
||||
return BuildSettings.allowVoIPUsage && self.roomDataSource.mxSession.callManager && self.roomDataSource.room.summary.membersCount.joined >= 2;
|
||||
BOOL callOptionAllowed = (self.roomDataSource.room.isDirect && RiotSettings.shared.roomScreenAllowVoIPForDirectRoom) || (!self.roomDataSource.room.isDirect && RiotSettings.shared.roomScreenAllowVoIPForNonDirectRoom);
|
||||
return callOptionAllowed && BuildSettings.allowVoIPUsage && self.roomDataSource.mxSession.callManager && self.roomDataSource.room.summary.membersCount.joined >= 2;
|
||||
}
|
||||
|
||||
- (BOOL)isCallActive
|
||||
|
||||
Reference in New Issue
Block a user