mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-17 15:09:31 +02:00
Check power level before starting live sharing location (#7832)
Update RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift Use local var `roomPowerLevels` Co-authored-by: Nicolas Buquet <nbuquet@buquet-net.com>
This commit is contained in:
@@ -166,17 +166,16 @@ final class LocationSharingCoordinator: Coordinator, Presentable {
|
||||
|
||||
// Check if user can send beacon info state event
|
||||
private func canShareLiveLocation() -> Bool {
|
||||
guard let myUserId = parameters.roomDataSource.mxSession.myUserId else {
|
||||
guard let myUserId = parameters.roomDataSource.mxSession.myUserId,
|
||||
let roomPowerLevels = parameters.roomDataSource.roomState.powerLevels,
|
||||
let userPowerLevel = RoomPowerLevel(rawValue: roomPowerLevels.powerLevelOfUser(withUserID: myUserId)) else {
|
||||
return false
|
||||
}
|
||||
|
||||
let userPowerLevelRawValue = parameters.roomDataSource.roomState.powerLevels.powerLevelOfUser(withUserID: myUserId)
|
||||
|
||||
guard let userPowerLevel = RoomPowerLevel(rawValue: userPowerLevelRawValue) else {
|
||||
return false
|
||||
}
|
||||
|
||||
return userPowerLevel.rawValue >= RoomPowerLevel.moderator.rawValue
|
||||
// CHeck user power level in room against power level needed to post geolocation state event.
|
||||
let liveSharingPowerLevel = roomPowerLevels.minimumPowerLevelForSendingStateEvent(.beaconInfo)
|
||||
|
||||
return userPowerLevel.rawValue >= liveSharingPowerLevel
|
||||
}
|
||||
|
||||
private func showLabFlagPromotionIfNeeded(completion: @escaping ((Bool) -> Void)) {
|
||||
|
||||
1
changelog.d/pr-7808.change
Normal file
1
changelog.d/pr-7808.change
Normal file
@@ -0,0 +1 @@
|
||||
Check power level before starting live sharing location
|
||||
Reference in New Issue
Block a user