mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-02 00:17:02 +00:00
Merge commit '517b858168e94149b1cb5b453dc42e4b91a50aa5'
This commit is contained in:
commit
8201f8c497
@ -249,11 +249,15 @@ private final class ThemeSettingsThemeItemIconNode : ListViewItemNode {
|
|||||||
var updatedThemeReference = false
|
var updatedThemeReference = false
|
||||||
var updatedAccentColor = false
|
var updatedAccentColor = false
|
||||||
var updatedTheme = false
|
var updatedTheme = false
|
||||||
|
var updatedWallpaper = false
|
||||||
var updatedSelected = false
|
var updatedSelected = false
|
||||||
|
|
||||||
if currentItem?.themeReference != item.themeReference {
|
if currentItem?.themeReference != item.themeReference {
|
||||||
updatedThemeReference = true
|
updatedThemeReference = true
|
||||||
}
|
}
|
||||||
|
if currentItem?.wallpaper != item.wallpaper {
|
||||||
|
updatedWallpaper = true
|
||||||
|
}
|
||||||
if currentItem == nil || currentItem?.accentColor != item.accentColor {
|
if currentItem == nil || currentItem?.accentColor != item.accentColor {
|
||||||
updatedAccentColor = true
|
updatedAccentColor = true
|
||||||
}
|
}
|
||||||
@ -278,7 +282,7 @@ private final class ThemeSettingsThemeItemIconNode : ListViewItemNode {
|
|||||||
}
|
}
|
||||||
strongSelf.containerNode.isGestureEnabled = false
|
strongSelf.containerNode.isGestureEnabled = false
|
||||||
} else {
|
} else {
|
||||||
if updatedThemeReference || updatedAccentColor {
|
if updatedThemeReference || updatedAccentColor || updatedWallpaper {
|
||||||
strongSelf.imageNode.setSignal(themeIconImage(account: item.context.account, accountManager: item.context.sharedContext.accountManager, theme: item.themeReference, color: item.accentColor, wallpaper: item.wallpaper))
|
strongSelf.imageNode.setSignal(themeIconImage(account: item.context.account, accountManager: item.context.sharedContext.accountManager, theme: item.themeReference, color: item.accentColor, wallpaper: item.wallpaper))
|
||||||
}
|
}
|
||||||
strongSelf.containerNode.isGestureEnabled = true
|
strongSelf.containerNode.isGestureEnabled = true
|
||||||
@ -545,8 +549,6 @@ class ThemeSettingsThemeItemNode: ListViewItemNode, ItemListItemNode {
|
|||||||
|
|
||||||
return (layout, { [weak self] in
|
return (layout, { [weak self] in
|
||||||
if let strongSelf = self {
|
if let strongSelf = self {
|
||||||
let isFirstLayout = currentItem == nil
|
|
||||||
|
|
||||||
strongSelf.item = item
|
strongSelf.item = item
|
||||||
strongSelf.layoutParams = params
|
strongSelf.layoutParams = params
|
||||||
|
|
||||||
@ -636,14 +638,15 @@ class ThemeSettingsThemeItemNode: ListViewItemNode, ItemListItemNode {
|
|||||||
let customWallpaper = item.themeSpecificChatWallpapers[theme.generalThemeReference.index]
|
let customWallpaper = item.themeSpecificChatWallpapers[theme.generalThemeReference.index]
|
||||||
|
|
||||||
let wallpaper = accentColor?.wallpaper ?? customWallpaper ?? themeWallpaper
|
let wallpaper = accentColor?.wallpaper ?? customWallpaper ?? themeWallpaper
|
||||||
|
|
||||||
entries.append(ThemeSettingsThemeEntry(index: index, themeReference: theme, title: title, accentColor: accentColor, selected: item.currentTheme.index == theme.index, theme: item.theme, wallpaper: wallpaper))
|
entries.append(ThemeSettingsThemeEntry(index: index, themeReference: theme, title: title, accentColor: accentColor, selected: item.currentTheme.index == theme.index, theme: item.theme, wallpaper: wallpaper))
|
||||||
index += 1
|
index += 1
|
||||||
}
|
}
|
||||||
|
|
||||||
let action: (PresentationThemeReference) -> Void = { [weak self, weak item] themeReference in
|
let action: (PresentationThemeReference) -> Void = { [weak self] themeReference in
|
||||||
if let strongSelf = self {
|
if let strongSelf = self {
|
||||||
strongSelf.item?.updatedTheme(themeReference)
|
strongSelf.item?.updatedTheme(themeReference)
|
||||||
ensureThemeVisible(listNode: strongSelf.listNode, themeReference: themeReference, animated: true)
|
let _ = ensureThemeVisible(listNode: strongSelf.listNode, themeReference: themeReference, animated: true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let previousEntries = strongSelf.entries ?? []
|
let previousEntries = strongSelf.entries ?? []
|
||||||
|
@ -138,6 +138,7 @@ private class CallStatusBarBackgroundNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func setupGradientAnimations() {
|
private func setupGradientAnimations() {
|
||||||
|
return
|
||||||
if let _ = self.foregroundGradientLayer.animation(forKey: "movement") {
|
if let _ = self.foregroundGradientLayer.animation(forKey: "movement") {
|
||||||
} else {
|
} else {
|
||||||
let previousValue = self.foregroundGradientLayer.startPoint
|
let previousValue = self.foregroundGradientLayer.startPoint
|
||||||
|
@ -328,7 +328,6 @@ final class VoiceChatTileItemNode: ASDisplayNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let titleFont = Font.semibold(13.0)
|
let titleFont = Font.semibold(13.0)
|
||||||
let subtitleFont = Font.regular(13.0)
|
|
||||||
let titleColor = UIColor.white
|
let titleColor = UIColor.white
|
||||||
var titleAttributedString: NSAttributedString?
|
var titleAttributedString: NSAttributedString?
|
||||||
if let user = item.peer as? TelegramUser {
|
if let user = item.peer as? TelegramUser {
|
||||||
|
@ -1130,7 +1130,7 @@ public func themeImage(account: Account, accountManager: AccountManager, source:
|
|||||||
|
|
||||||
public func themeIconImage(account: Account, accountManager: AccountManager, theme: PresentationThemeReference, color: PresentationThemeAccentColor?, wallpaper: TelegramWallpaper? = nil) -> Signal<(TransformImageArguments) -> DrawingContext?, NoError> {
|
public func themeIconImage(account: Account, accountManager: AccountManager, theme: PresentationThemeReference, color: PresentationThemeAccentColor?, wallpaper: TelegramWallpaper? = nil) -> Signal<(TransformImageArguments) -> DrawingContext?, NoError> {
|
||||||
let colorsSignal: Signal<((UIColor, UIColor?, [UInt32]), (UIColor, UIColor), (UIColor, UIColor), UIImage?, Int32?), NoError>
|
let colorsSignal: Signal<((UIColor, UIColor?, [UInt32]), (UIColor, UIColor), (UIColor, UIColor), UIImage?, Int32?), NoError>
|
||||||
if case let .builtin(theme) = theme {
|
if false, case let .builtin(theme) = theme {
|
||||||
let incomingColor: UIColor
|
let incomingColor: UIColor
|
||||||
let outgoingColor: (UIColor, UIColor)
|
let outgoingColor: (UIColor, UIColor)
|
||||||
var accentColor = color?.color
|
var accentColor = color?.color
|
||||||
@ -1242,9 +1242,11 @@ public func themeIconImage(account: Account, accountManager: AccountManager, the
|
|||||||
} else if case let .cloud(theme) = theme, let resource = theme.theme.file?.resource {
|
} else if case let .cloud(theme) = theme, let resource = theme.theme.file?.resource {
|
||||||
reference = .theme(theme: .slug(theme.theme.slug), resource: resource)
|
reference = .theme(theme: .slug(theme.theme.slug), resource: resource)
|
||||||
}
|
}
|
||||||
|
|
||||||
let themeSignal: Signal<PresentationTheme?, NoError>
|
let themeSignal: Signal<PresentationTheme?, NoError>
|
||||||
if case let .cloud(theme) = theme, let settings = theme.theme.settings {
|
if case let .builtin(theme) = theme {
|
||||||
|
themeSignal = .single(makeDefaultPresentationTheme(reference: theme, serviceBackgroundColor: nil))
|
||||||
|
} else if case let .cloud(theme) = theme, let settings = theme.theme.settings {
|
||||||
themeSignal = Signal { subscriber in
|
themeSignal = Signal { subscriber in
|
||||||
let theme = makePresentationTheme(mediaBox: accountManager.mediaBox, themeReference: .builtin(PresentationBuiltinThemeReference(baseTheme: settings.baseTheme)), accentColor: UIColor(argb: settings.accentColor), backgroundColors: [], bubbleColors: settings.messageColors.flatMap { (UIColor(argb: $0.top), UIColor(argb: $0.bottom)) }, wallpaper: settings.wallpaper, serviceBackgroundColor: nil, preview: false)
|
let theme = makePresentationTheme(mediaBox: accountManager.mediaBox, themeReference: .builtin(PresentationBuiltinThemeReference(baseTheme: settings.baseTheme)), accentColor: UIColor(argb: settings.accentColor), backgroundColors: [], bubbleColors: settings.messageColors.flatMap { (UIColor(argb: $0.top), UIColor(argb: $0.bottom)) }, wallpaper: settings.wallpaper, serviceBackgroundColor: nil, preview: false)
|
||||||
subscriber.putNext(theme)
|
subscriber.putNext(theme)
|
||||||
@ -1273,7 +1275,8 @@ public func themeIconImage(account: Account, accountManager: AccountManager, the
|
|||||||
var backgroundColor: (UIColor, UIColor?, [UInt32])
|
var backgroundColor: (UIColor, UIColor?, [UInt32])
|
||||||
let incomingColor = (theme.chat.message.incoming.bubble.withoutWallpaper.fill, theme.chat.message.incoming.bubble.withoutWallpaper.gradientFill)
|
let incomingColor = (theme.chat.message.incoming.bubble.withoutWallpaper.fill, theme.chat.message.incoming.bubble.withoutWallpaper.gradientFill)
|
||||||
let outgoingColor = (theme.chat.message.outgoing.bubble.withoutWallpaper.fill, theme.chat.message.outgoing.bubble.withoutWallpaper.gradientFill)
|
let outgoingColor = (theme.chat.message.outgoing.bubble.withoutWallpaper.fill, theme.chat.message.outgoing.bubble.withoutWallpaper.gradientFill)
|
||||||
switch theme.chat.defaultWallpaper {
|
let wallpaper = wallpaper ?? theme.chat.defaultWallpaper
|
||||||
|
switch wallpaper {
|
||||||
case .builtin:
|
case .builtin:
|
||||||
backgroundColor = (UIColor(rgb: 0xd6e2ee), nil, [])
|
backgroundColor = (UIColor(rgb: 0xd6e2ee), nil, [])
|
||||||
case let .color(color):
|
case let .color(color):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user