Try again

This commit is contained in:
Peter 2019-08-05 22:49:51 +03:00
parent fff7ae1a22
commit e9ee7d811b
6 changed files with 36 additions and 12 deletions

View File

@ -79,6 +79,7 @@
buildConfiguration = "DebugHockeyapp" buildConfiguration = "DebugHockeyapp"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
enableAddressSanitizer = "YES"
enableASanStackUseAfterReturn = "YES" enableASanStackUseAfterReturn = "YES"
launchStyle = "0" launchStyle = "0"
useCustomWorkingDirectory = "NO" useCustomWorkingDirectory = "NO"

View File

@ -178,7 +178,7 @@ public final class ChatListSearchRecentPeersNode: ASDisplayNode {
let unreadCount = values.count(for: .peer(peerView.peerId)) let unreadCount = values.count(for: .peer(peerView.peerId))
if let unreadCount = unreadCount, unreadCount > 0 { if let unreadCount = unreadCount, unreadCount > 0 {
unread[peerView.peerId] = UnreadSearchBadge(unreadCount: unreadCount, isMuted: isMuted) unread[peerView.peerId] = isMuted ? .muted(unreadCount) : .unmuted(unreadCount)
} }
if let presence = peerView.peerPresences[peer.id] { if let presence = peerView.peerPresences[peer.id] {

View File

@ -144,8 +144,16 @@ public final class HorizontalPeerItemNode: ListViewItemNode {
let badgeAttributedString: NSAttributedString let badgeAttributedString: NSAttributedString
if let unreadBadge = item.unreadBadge { if let unreadBadge = item.unreadBadge {
let badgeTextColor: UIColor let badgeTextColor: UIColor
let unreadCount: Int32 = unreadBadge.unreadCount let unreadCount: Int32
let isMuted: Bool = unreadBadge.isMuted let isMuted: Bool
switch unreadBadge {
case let .muted(_count):
unreadCount = _count
isMuted = true
case let .unmuted(_count):
unreadCount = _count
isMuted = false
}
if isMuted { if isMuted {
currentBadgeBackgroundImage = PresentationResourcesChatList.badgeBackgroundInactive(item.theme) currentBadgeBackgroundImage = PresentationResourcesChatList.badgeBackgroundInactive(item.theme)
badgeTextColor = item.theme.chatList.unreadBadgeInactiveTextColor badgeTextColor = item.theme.chatList.unreadBadgeInactiveTextColor

View File

@ -357,7 +357,7 @@ enum ChatListSearchEntry: Comparable, Identifiable {
var badge: ContactsPeerItemBadge? var badge: ContactsPeerItemBadge?
if let unreadBadge = unreadBadge { if let unreadBadge = unreadBadge {
badge = ContactsPeerItemBadge(count: unreadBadge.unreadCount, type: unreadBadge.isMuted ? .inactive : .active) badge = ContactsPeerItemBadge(count: unreadBadge.count, type: unreadBadge.isMuted ? .inactive : .active)
} }
let header:ChatListSearchItemHeader? let header:ChatListSearchItemHeader?
@ -401,7 +401,7 @@ enum ChatListSearchEntry: Comparable, Identifiable {
var badge: ContactsPeerItemBadge? var badge: ContactsPeerItemBadge?
if let unreadBadge = unreadBadge { if let unreadBadge = unreadBadge {
badge = ContactsPeerItemBadge(count: unreadBadge.unreadCount, type: unreadBadge.isMuted ? .inactive : .active) badge = ContactsPeerItemBadge(count: unreadBadge.count, type: unreadBadge.isMuted ? .inactive : .active)
} }
let header:ChatListSearchItemHeader? let header:ChatListSearchItemHeader?
@ -635,7 +635,7 @@ final class ChatListSearchContainerNode: SearchDisplayControllerContentNode {
let unreadCount = values.count(for: .peer(peerView.peerId)) let unreadCount = values.count(for: .peer(peerView.peerId))
if let unreadCount = unreadCount, unreadCount > 0 { if let unreadCount = unreadCount, unreadCount > 0 {
unread[peerView.peerId] = UnreadSearchBadge(unreadCount: unreadCount, isMuted: isMuted) unread[peerView.peerId] = isMuted ? .muted(unreadCount) : .unmuted(unreadCount)
} }
} }
return (peers: viewsAndPeers.1, unread: unread) return (peers: viewsAndPeers.1, unread: unread)

View File

@ -334,6 +334,7 @@
D0383EE4207D292800C45548 /* EmojisChatInputContextPanelNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383EE3207D292800C45548 /* EmojisChatInputContextPanelNode.swift */; }; D0383EE4207D292800C45548 /* EmojisChatInputContextPanelNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383EE3207D292800C45548 /* EmojisChatInputContextPanelNode.swift */; };
D0383EE6207D299600C45548 /* EmojisChatInputPanelItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383EE5207D299600C45548 /* EmojisChatInputPanelItem.swift */; }; D0383EE6207D299600C45548 /* EmojisChatInputPanelItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383EE5207D299600C45548 /* EmojisChatInputPanelItem.swift */; };
D038AC5322F88A3600320981 /* ImageBlur.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D038AC5222F88A3600320981 /* ImageBlur.framework */; }; D038AC5322F88A3600320981 /* ImageBlur.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D038AC5222F88A3600320981 /* ImageBlur.framework */; };
D038ACD722F8BE9700320981 /* UnreadSearchBadge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D038ACD622F8BE9700320981 /* UnreadSearchBadge.framework */; };
D039FB1921711B5D00BD1BAD /* PlatformVideoContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D039FB1821711B5D00BD1BAD /* PlatformVideoContent.swift */; }; D039FB1921711B5D00BD1BAD /* PlatformVideoContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D039FB1821711B5D00BD1BAD /* PlatformVideoContent.swift */; };
D03AA4DF202DBF6F0056C405 /* ChatContextResultPeekContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03AA4DE202DBF6F0056C405 /* ChatContextResultPeekContentNode.swift */; }; D03AA4DF202DBF6F0056C405 /* ChatContextResultPeekContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03AA4DE202DBF6F0056C405 /* ChatContextResultPeekContentNode.swift */; };
D03AA4E5202DF8840056C405 /* StickerPreviewPeekContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03AA4E4202DF8840056C405 /* StickerPreviewPeekContent.swift */; }; D03AA4E5202DF8840056C405 /* StickerPreviewPeekContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03AA4E4202DF8840056C405 /* StickerPreviewPeekContent.swift */; };
@ -1556,6 +1557,7 @@
D0383EE3207D292800C45548 /* EmojisChatInputContextPanelNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojisChatInputContextPanelNode.swift; sourceTree = "<group>"; }; D0383EE3207D292800C45548 /* EmojisChatInputContextPanelNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojisChatInputContextPanelNode.swift; sourceTree = "<group>"; };
D0383EE5207D299600C45548 /* EmojisChatInputPanelItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojisChatInputPanelItem.swift; sourceTree = "<group>"; }; D0383EE5207D299600C45548 /* EmojisChatInputPanelItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojisChatInputPanelItem.swift; sourceTree = "<group>"; };
D038AC5222F88A3600320981 /* ImageBlur.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ImageBlur.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D038AC5222F88A3600320981 /* ImageBlur.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ImageBlur.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D038ACD622F8BE9700320981 /* UnreadSearchBadge.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = UnreadSearchBadge.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D039EB021DEAEFEE00886EBC /* ChatTextInputAudioRecordingOverlayButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingOverlayButton.swift; sourceTree = "<group>"; }; D039EB021DEAEFEE00886EBC /* ChatTextInputAudioRecordingOverlayButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingOverlayButton.swift; sourceTree = "<group>"; };
D039EB071DEC725600886EBC /* ChatTextInputAudioRecordingTimeNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingTimeNode.swift; sourceTree = "<group>"; }; D039EB071DEC725600886EBC /* ChatTextInputAudioRecordingTimeNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingTimeNode.swift; sourceTree = "<group>"; };
D039EB091DEC7A8700886EBC /* ChatTextInputAudioRecordingCancelIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingCancelIndicator.swift; sourceTree = "<group>"; }; D039EB091DEC7A8700886EBC /* ChatTextInputAudioRecordingCancelIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingCancelIndicator.swift; sourceTree = "<group>"; };
@ -2344,6 +2346,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
D038ACD722F8BE9700320981 /* UnreadSearchBadge.framework in Frameworks */,
D038AC5322F88A3600320981 /* ImageBlur.framework in Frameworks */, D038AC5322F88A3600320981 /* ImageBlur.framework in Frameworks */,
D0879CCC22F876DD00C4D6B3 /* ChatListSearchRecentPeersNode.framework in Frameworks */, D0879CCC22F876DD00C4D6B3 /* ChatListSearchRecentPeersNode.framework in Frameworks */,
D0879C9622F875C000C4D6B3 /* PeerPresenceStatusManager.framework in Frameworks */, D0879C9622F875C000C4D6B3 /* PeerPresenceStatusManager.framework in Frameworks */,
@ -3427,6 +3430,7 @@
D08D45281D5E340200A7428A /* Frameworks */ = { D08D45281D5E340200A7428A /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
D038ACD622F8BE9700320981 /* UnreadSearchBadge.framework */,
D038AC5222F88A3600320981 /* ImageBlur.framework */, D038AC5222F88A3600320981 /* ImageBlur.framework */,
D0879CCB22F876DD00C4D6B3 /* ChatListSearchRecentPeersNode.framework */, D0879CCB22F876DD00C4D6B3 /* ChatListSearchRecentPeersNode.framework */,
D0879C9522F875C000C4D6B3 /* PeerPresenceStatusManager.framework */, D0879C9522F875C000C4D6B3 /* PeerPresenceStatusManager.framework */,

View File

@ -1,11 +1,22 @@
import Foundation import Foundation
public struct UnreadSearchBadge: Equatable { public enum UnreadSearchBadge: Equatable {
public var unreadCount: Int32 case muted(Int32)
public var isMuted: Bool case unmuted(Int32)
public init(unreadCount: Int32, isMuted: Bool) { public var count: Int32 {
self.unreadCount = unreadCount switch self {
self.isMuted = isMuted case let .muted(count), let .unmuted(count):
return count
}
}
public var isMuted: Bool {
switch self {
case .muted:
return true
case .unmuted:
return false
}
} }
} }