Replace legacy background with vector one

This commit is contained in:
Ilya Laktyushin 2023-03-09 23:52:56 +04:00
parent b39238c6db
commit 7fcce53b2c
7 changed files with 48 additions and 3 deletions

View File

@ -375,6 +375,16 @@ final class ThemeGridControllerNode: ASDisplayNode {
sortedWallpapers = wallpapers.map(\.wallpaper) sortedWallpapers = wallpapers.map(\.wallpaper)
} }
if let builtinIndex = sortedWallpapers.firstIndex(where: { wallpaper in
if case .builtin = wallpaper {
return true
} else {
return false
}
}) {
sortedWallpapers[builtinIndex] = defaultBuiltinWallpaper(data: .legacy, colors: legacyBuiltinWallpaperGradientColors.map(\.rgb))
}
for wallpaper in sortedWallpapers { for wallpaper in sortedWallpapers {
if case let .file(file) = wallpaper, (wallpaper.isPattern && file.settings.colors.isEmpty) { if case let .file(file) = wallpaper, (wallpaper.isPattern && file.settings.colors.isEmpty) {
continue continue

View File

@ -1049,6 +1049,10 @@ public func makeDefaultDayPresentationTheme(extendingThemeReference: Presentatio
) )
} }
public let legacyBuiltinWallpaperGradientColors: [UIColor] = [
UIColor(rgb: 0xd6e2ee)
]
public let defaultBuiltinWallpaperGradientColors: [UIColor] = [ public let defaultBuiltinWallpaperGradientColors: [UIColor] = [
UIColor(rgb: 0xdbddbb), UIColor(rgb: 0xdbddbb),
UIColor(rgb: 0x6ba587), UIColor(rgb: 0x6ba587),
@ -1076,6 +1080,15 @@ public extension BuiltinWallpaperData {
datacenterId: 4, datacenterId: 4,
fileSize: 183832 fileSize: 183832
) )
static let legacy = BuiltinWallpaperData(
wallpaperId: 5911458201550716931,
wallpaperAccessHash: -5164387148619674119,
slug: "Ye7DfT2kCVIKAAAAhzXfrkdOjxs",
fileId: 5911315028815907420,
fileAccessHash: 5205407890340371688,
datacenterId: 2,
fileSize: 71715
)
static let variant1 = BuiltinWallpaperData( static let variant1 = BuiltinWallpaperData(
wallpaperId: 5784984711902265347, wallpaperId: 5784984711902265347,
wallpaperAccessHash: -7073897034484875424, wallpaperAccessHash: -7073897034484875424,
@ -1206,6 +1219,7 @@ public extension BuiltinWallpaperData {
static func generate(account: Account) { static func generate(account: Account) {
let slugToName: [(String, String)] = [ let slugToName: [(String, String)] = [
("fqv01SQemVIBAAAApND8LDRUhRU", "`default`"), ("fqv01SQemVIBAAAApND8LDRUhRU", "`default`"),
("Ye7DfT2kCVIKAAAAhzXfrkdOjxs", "legacy"),
("RlZs2PJkSFADAAAAElGaGwgJBgU", "variant1"), ("RlZs2PJkSFADAAAAElGaGwgJBgU", "variant1"),
("9LW_RcoOSVACAAAAFTk3DTyXN-M", "variant2"), ("9LW_RcoOSVACAAAAFTk3DTyXN-M", "variant2"),
("CJNyxPMgSVAEAAAAvW9sMwc51cw", "variant3"), ("CJNyxPMgSVAEAAAAvW9sMwc51cw", "variant3"),

View File

@ -383,7 +383,10 @@ public func currentPresentationDataAndSettings(accountManager: AccountManager<Te
let effectiveColors = themeSettings.themeSpecificAccentColors[effectiveTheme.index] let effectiveColors = themeSettings.themeSpecificAccentColors[effectiveTheme.index]
let theme = makePresentationTheme(mediaBox: accountManager.mediaBox, themeReference: effectiveTheme, baseTheme: preferredBaseTheme, accentColor: effectiveColors?.colorFor(baseTheme: preferredBaseTheme ?? .day), bubbleColors: effectiveColors?.customBubbleColors ?? [], baseColor: effectiveColors?.baseColor) ?? defaultPresentationTheme let theme = makePresentationTheme(mediaBox: accountManager.mediaBox, themeReference: effectiveTheme, baseTheme: preferredBaseTheme, accentColor: effectiveColors?.colorFor(baseTheme: preferredBaseTheme ?? .day), bubbleColors: effectiveColors?.customBubbleColors ?? [], baseColor: effectiveColors?.baseColor) ?? defaultPresentationTheme
let effectiveChatWallpaper: TelegramWallpaper = (themeSettings.themeSpecificChatWallpapers[coloredThemeIndex(reference: effectiveTheme, accentColor: effectiveColors)] ?? themeSettings.themeSpecificChatWallpapers[effectiveTheme.index]) ?? theme.chat.defaultWallpaper var effectiveChatWallpaper: TelegramWallpaper = (themeSettings.themeSpecificChatWallpapers[coloredThemeIndex(reference: effectiveTheme, accentColor: effectiveColors)] ?? themeSettings.themeSpecificChatWallpapers[effectiveTheme.index]) ?? theme.chat.defaultWallpaper
if case .builtin = effectiveChatWallpaper {
effectiveChatWallpaper = defaultBuiltinWallpaper(data: .legacy, colors: legacyBuiltinWallpaperGradientColors.map(\.rgb))
}
let dateTimeFormat = currentDateTimeFormat() let dateTimeFormat = currentDateTimeFormat()
let stringsValue: PresentationStrings let stringsValue: PresentationStrings
@ -763,6 +766,10 @@ public func updatedPresentationData(accountManager: AccountManager<TelegramAccou
} }
} }
if case .builtin = effectiveChatWallpaper {
effectiveChatWallpaper = defaultBuiltinWallpaper(data: .legacy, colors: legacyBuiltinWallpaperGradientColors.map(\.rgb))
}
if let colors = effectiveColors, colors.baseColor == .theme { if let colors = effectiveColors, colors.baseColor == .theme {
effectiveColors = nil effectiveColors = nil
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 KiB

View File

@ -36,7 +36,8 @@ func makeTelegramAccountAuxiliaryMethods(appDelegate: AppDelegate?) -> AccountAu
} }
} else if let wallpaperResource = resource as? WallpaperDataResource { } else if let wallpaperResource = resource as? WallpaperDataResource {
let builtinWallpapers: [String] = [ let builtinWallpapers: [String] = [
"fqv01SQemVIBAAAApND8LDRUhRU" "fqv01SQemVIBAAAApND8LDRUhRU",
"Ye7DfT2kCVIKAAAAhzXfrkdOjxs"
] ]
if builtinWallpapers.contains(wallpaperResource.slug) { if builtinWallpapers.contains(wallpaperResource.slug) {
if let url = getAppBundle().url(forResource: wallpaperResource.slug, withExtension: "tgv") { if let url = getAppBundle().url(forResource: wallpaperResource.slug, withExtension: "tgv") {
@ -67,6 +68,19 @@ func makeTelegramAccountAuxiliaryMethods(appDelegate: AppDelegate?) -> AccountAu
} else { } else {
return nil return nil
} }
} else if cloudDocumentMediaResource.fileId == 5911315028815907420 {
if let url = getAppBundle().url(forResource: "Ye7DfT2kCVIKAAAAhzXfrkdOjxs", withExtension: "tgv") {
return Signal { subscriber in
subscriber.putNext(.reset)
if let data = try? Data(contentsOf: url, options: .mappedRead) {
subscriber.putNext(.dataPart(resourceOffset: 0, data: data, range: 0 ..< Int64(data.count), complete: true))
}
return EmptyDisposable
}
} else {
return nil
}
} }
} else if let cloudDocumentSizeMediaResource = resource as? CloudDocumentSizeMediaResource { } else if let cloudDocumentSizeMediaResource = resource as? CloudDocumentSizeMediaResource {
if cloudDocumentSizeMediaResource.documentId == 5789658100176783156 && cloudDocumentSizeMediaResource.sizeSpec == "m" { if cloudDocumentSizeMediaResource.documentId == 5789658100176783156 && cloudDocumentSizeMediaResource.sizeSpec == "m" {

View File

@ -1035,7 +1035,7 @@ final class WallpaperBackgroundNodeImpl: ASDisplayNode, WallpaperBackgroundNode
if patternIsBlack { if patternIsBlack {
self.patternImageLayer.softlightMode = .never self.patternImageLayer.softlightMode = .never
} else { } else {
if self.useSharedAnimationPhase { if self.useSharedAnimationPhase && file.settings.colors.count > 2 {
self.patternImageLayer.softlightMode = .whileAnimating self.patternImageLayer.softlightMode = .whileAnimating
} else { } else {
self.patternImageLayer.softlightMode = .always self.patternImageLayer.softlightMode = .always