mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 15:22:39 +00: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:
parent
ac3fcbd830
commit
c4387b9d84
2 changed files with 8 additions and 8 deletions
|
@ -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
|
Loading…
Reference in a new issue