Theming improvements

This commit is contained in:
Ilya Laktyushin
2019-12-18 09:43:40 +04:00
parent fccae60f77
commit fa3303be90
29 changed files with 3807 additions and 3093 deletions

View File

@@ -2,6 +2,7 @@ import Foundation
import UIKit
import TelegramCore
import SyncCore
import TelegramUIPreferences
public func encodePresentationTheme(_ theme: PresentationTheme) -> String? {
let encoding = PresentationThemeEncoding()
@@ -341,7 +342,7 @@ private class PresentationThemeDecodingLevel {
}
}
public func makePresentationTheme(data: Data, resolvedWallpaper: TelegramWallpaper? = nil) -> PresentationTheme? {
public func makePresentationTheme(data: Data, themeReference: PresentationThemeReference? = nil, resolvedWallpaper: TelegramWallpaper? = nil) -> PresentationTheme? {
guard let string = String(data: data, encoding: .utf8) else {
return nil
}
@@ -402,6 +403,7 @@ public func makePresentationTheme(data: Data, resolvedWallpaper: TelegramWallpap
}
let decoder = PresentationThemeDecoding(referencing: topLevel.data)
decoder.reference = themeReference
decoder.resolvedWallpaper = resolvedWallpaper
if let value = try? decoder.unbox(topLevel.data, as: PresentationTheme.self) {
return value
@@ -418,6 +420,7 @@ class PresentationThemeDecoding: Decoder {
return [:]
}
var reference: PresentationThemeReference?
var referenceTheme: PresentationTheme?
var serviceBackgroundColor: UIColor?
var resolvedWallpaper: TelegramWallpaper?