mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
54 lines
2.0 KiB
Swift
54 lines
2.0 KiB
Swift
import Foundation
|
|
import Postbox
|
|
import TelegramApi
|
|
|
|
|
|
extension MessageNotificationSettings {
|
|
init(apiSettings: Api.PeerNotifySettings) {
|
|
switch apiSettings {
|
|
case let .peerNotifySettings(_, showPreviews, _, muteUntil, iosSound, _, desktopSound, storiesMuted, storiesHideSender, storiesIosSound, _, storiesDesktopSound):
|
|
let sound: Api.NotificationSound?
|
|
let storiesSound: Api.NotificationSound?
|
|
#if os(iOS)
|
|
sound = iosSound
|
|
storiesSound = storiesIosSound
|
|
#elseif os(macOS)
|
|
sound = desktopSound
|
|
storiesSound = storiesDesktopSound
|
|
#endif
|
|
|
|
let displayPreviews: Bool
|
|
if let showPreviews = showPreviews, case .boolFalse = showPreviews {
|
|
displayPreviews = false
|
|
} else {
|
|
displayPreviews = true
|
|
}
|
|
|
|
let storiesMutedValue: PeerStoryNotificationSettings.Mute
|
|
if let storiesMuted = storiesMuted {
|
|
storiesMutedValue = storiesMuted == .boolTrue ? .muted : .unmuted
|
|
} else {
|
|
storiesMutedValue = .default
|
|
}
|
|
|
|
var storiesHideSenderValue: PeerStoryNotificationSettings.HideSender
|
|
if let storiesHideSender = storiesHideSender {
|
|
storiesHideSenderValue = storiesHideSender == .boolTrue ? .hide : .show
|
|
} else {
|
|
storiesHideSenderValue = .default
|
|
}
|
|
|
|
self = MessageNotificationSettings(
|
|
enabled: muteUntil == 0,
|
|
displayPreviews: displayPreviews,
|
|
sound: PeerMessageSound(apiSound: sound ?? .notificationSoundDefault),
|
|
storySettings: PeerStoryNotificationSettings(
|
|
mute: storiesMutedValue,
|
|
hideSender: storiesHideSenderValue,
|
|
sound: PeerMessageSound(apiSound: sound ?? .notificationSoundDefault)
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}
|