mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix bubbles in photo gallery wallpaper preview
This commit is contained in:
parent
01c5299c00
commit
d9905be2c5
@ -330,6 +330,11 @@ final class WallpaperGalleryItemNode: GalleryItemNode {
|
|||||||
self.patternButtonNode.isSelected = false
|
self.patternButtonNode.isSelected = false
|
||||||
self.playButtonNode.setImage(self.playButtonRotateImage, for: [])
|
self.playButtonNode.setImage(self.playButtonRotateImage, for: [])
|
||||||
}
|
}
|
||||||
|
case .asset:
|
||||||
|
self.nativeNode._internalUpdateIsSettingUpWallpaper()
|
||||||
|
self.nativeNode.isHidden = true
|
||||||
|
self.patternButtonNode.isSelected = false
|
||||||
|
self.playButtonNode.setImage(self.playButtonRotateImage, for: [])
|
||||||
default:
|
default:
|
||||||
self.nativeNode.isHidden = true
|
self.nativeNode.isHidden = true
|
||||||
self.patternButtonNode.isSelected = false
|
self.patternButtonNode.isSelected = false
|
||||||
|
@ -86,7 +86,9 @@ public final class WallpaperBackgroundNode: ASDisplayNode {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if let bubbleTheme = backgroundNode.bubbleTheme, let wallpaper = backgroundNode.wallpaper, let bubbleCorners = backgroundNode.bubbleCorners {
|
if let bubbleTheme = backgroundNode.bubbleTheme, let bubbleCorners = backgroundNode.bubbleCorners {
|
||||||
|
let wallpaper = backgroundNode.wallpaper ?? bubbleTheme.chat.defaultWallpaper
|
||||||
|
|
||||||
let graphics = PresentationResourcesChat.principalGraphics(theme: bubbleTheme, wallpaper: wallpaper, bubbleCorners: bubbleCorners)
|
let graphics = PresentationResourcesChat.principalGraphics(theme: bubbleTheme, wallpaper: wallpaper, bubbleCorners: bubbleCorners)
|
||||||
var needsCleanBackground = false
|
var needsCleanBackground = false
|
||||||
switch self.bubbleType {
|
switch self.bubbleType {
|
||||||
@ -280,6 +282,7 @@ public final class WallpaperBackgroundNode: ASDisplayNode {
|
|||||||
|
|
||||||
private var validLayout: CGSize?
|
private var validLayout: CGSize?
|
||||||
private var wallpaper: TelegramWallpaper?
|
private var wallpaper: TelegramWallpaper?
|
||||||
|
private var isSettingUpWallpaper: Bool = false
|
||||||
|
|
||||||
private struct CachedValidPatternImage {
|
private struct CachedValidPatternImage {
|
||||||
let generate: (TransformImageArguments) -> DrawingContext?
|
let generate: (TransformImageArguments) -> DrawingContext?
|
||||||
@ -513,6 +516,10 @@ public final class WallpaperBackgroundNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func _internalUpdateIsSettingUpWallpaper() {
|
||||||
|
self.isSettingUpWallpaper = true
|
||||||
|
}
|
||||||
|
|
||||||
private func loadPatternForSizeIfNeeded(size: CGSize, transition: ContainedViewLayoutTransition) {
|
private func loadPatternForSizeIfNeeded(size: CGSize, transition: ContainedViewLayoutTransition) {
|
||||||
guard let wallpaper = self.wallpaper else {
|
guard let wallpaper = self.wallpaper else {
|
||||||
return
|
return
|
||||||
@ -711,19 +718,28 @@ public final class WallpaperBackgroundNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func hasBubbleBackground(for type: WallpaperBackgroundNode.BubbleBackgroundNode.BubbleType) -> Bool {
|
public func hasBubbleBackground(for type: WallpaperBackgroundNode.BubbleBackgroundNode.BubbleType) -> Bool {
|
||||||
guard let bubbleTheme = self.bubbleTheme, let wallpaper = self.wallpaper, let bubbleCorners = self.bubbleCorners else {
|
guard let bubbleTheme = self.bubbleTheme, let bubbleCorners = self.bubbleCorners else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if self.wallpaper == nil && !self.isSettingUpWallpaper {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
var hasPlainWallpaper = false
|
var hasPlainWallpaper = false
|
||||||
switch wallpaper {
|
let graphicsWallpaper: TelegramWallpaper
|
||||||
case .color:
|
if let wallpaper = self.wallpaper {
|
||||||
hasPlainWallpaper = true
|
switch wallpaper {
|
||||||
default:
|
case .color:
|
||||||
break
|
hasPlainWallpaper = true
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
graphicsWallpaper = wallpaper
|
||||||
|
} else {
|
||||||
|
graphicsWallpaper = bubbleTheme.chat.defaultWallpaper
|
||||||
}
|
}
|
||||||
|
|
||||||
let graphics = PresentationResourcesChat.principalGraphics(theme: bubbleTheme, wallpaper: wallpaper, bubbleCorners: bubbleCorners)
|
let graphics = PresentationResourcesChat.principalGraphics(theme: bubbleTheme, wallpaper: graphicsWallpaper, bubbleCorners: bubbleCorners)
|
||||||
switch type {
|
switch type {
|
||||||
case .incoming:
|
case .incoming:
|
||||||
if graphics.incomingBubbleGradientImage != nil {
|
if graphics.incomingBubbleGradientImage != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user