Support video streaming API (PoC)

This commit is contained in:
Ali
2021-08-13 23:35:56 +02:00
parent d331e943df
commit d1078f1e90
22 changed files with 465 additions and 141 deletions

View File

@@ -46,12 +46,8 @@ extension TelegramBaseTheme {
extension TelegramThemeSettings {
convenience init?(apiThemeSettings: Api.ThemeSettings) {
switch apiThemeSettings {
case let .themeSettings(_, baseTheme, accentColor, messageTopColor, messageBottomColor, wallpaper):
var messageColors: [UInt32] = []
if let messageTopColor = messageTopColor, let messageBottomColor = messageBottomColor {
messageColors = [UInt32(bitPattern: messageTopColor), UInt32(bitPattern: messageBottomColor)]
}
self.init(baseTheme: TelegramBaseTheme(apiBaseTheme: baseTheme), accentColor: UInt32(bitPattern: accentColor), messageColors: messageColors, wallpaper: wallpaper.flatMap(TelegramWallpaper.init(apiWallpaper:)))
case let .themeSettings(_, baseTheme, accentColor, messageColors, wallpaper):
self.init(baseTheme: TelegramBaseTheme(apiBaseTheme: baseTheme), accentColor: UInt32(bitPattern: accentColor), messageColors: messageColors?.map(UInt32.init(bitPattern:)) ?? [], wallpaper: wallpaper.flatMap(TelegramWallpaper.init(apiWallpaper:)))
}
}
@@ -69,16 +65,6 @@ extension TelegramThemeSettings {
flags |= 1 << 1
}
var messageTopColor: Int32?
var messageBottomColor: Int32?
if self.messageColors.count > 0 {
messageTopColor = Int32(bitPattern: self.messageColors[0])
messageBottomColor = messageTopColor
}
if self.messageColors.count > 1 {
messageBottomColor = Int32(bitPattern: self.messageColors[1])
}
return .inputThemeSettings(flags: flags, baseTheme: self.baseTheme.apiBaseTheme, accentColor: Int32(bitPattern: self.accentColor), messageTopColor: messageTopColor, messageBottomColor: messageBottomColor, wallpaper: inputWallpaper, wallpaperSettings: inputWallpaperSettings)
return .inputThemeSettings(flags: flags, baseTheme: self.baseTheme.apiBaseTheme, accentColor: Int32(bitPattern: self.accentColor), messageColors: self.messageColors.isEmpty ? nil : self.messageColors.map(Int32.init(bitPattern:)), wallpaper: inputWallpaper, wallpaperSettings: inputWallpaperSettings)
}
}