From a05970c3796abfee7c74abc7fb10615ff42ba761 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Wed, 9 Sep 2020 22:27:11 +0300 Subject: [PATCH] Add voice search filter --- .../Sources/ChatListSearchContainerNode.swift | 7 ++++++- .../ChatListSearchFiltersContainerNode.swift | 6 ++++++ .../Search/Voice.imageset/Contents.json | 12 ++++++++++++ .../Search/Voice.imageset/ic_search_voice.pdf | Bin 0 -> 4187 bytes 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/Contents.json create mode 100644 submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/ic_search_voice.pdf diff --git a/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift b/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift index 0d1d5c3bb9..4f187d809c 100644 --- a/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift +++ b/submodules/ChatListUI/Sources/ChatListSearchContainerNode.swift @@ -1643,6 +1643,8 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo messageTags = .file case .music: messageTags = .music + case .voice: + messageTags = .voiceOrInstantVideo case let .date(date, _): messageTags = strongSelf.currentSearchOptions.messageTags maxDate = date @@ -1757,6 +1759,9 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo } else if messageTags == .music { title = self.presentationData.strings.ChatList_Search_FilterMusic icon = UIImage(bundleImageName: "Chat List/Search/Music") + } else if messageTags == .voiceOrInstantVideo { + title = self.presentationData.strings.ChatList_Search_FilterVoice + icon = UIImage(bundleImageName: "Chat List/Search/Voice") } if let title = title { @@ -2168,7 +2173,7 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo let title = formatter.string(from: possibleDate) filters = [.date(Int32(possibleDate.timeIntervalSince1970), title)] } else { - filters = [.media, .links, .files, .music] + filters = [.media, .links, .files, .music, .voice] } self.filterContainerNode.update(size: CGSize(width: layout.size.width, height: 37.0), sideInset: layout.safeInsets.left, filters: filters.map { .filter($0) }, presentationData: self.presentationData, transition: .animated(duration: 0.4, curve: .spring)) diff --git a/submodules/ChatListUI/Sources/ChatListSearchFiltersContainerNode.swift b/submodules/ChatListUI/Sources/ChatListSearchFiltersContainerNode.swift index 1c47321aa0..d127df42ed 100644 --- a/submodules/ChatListUI/Sources/ChatListSearchFiltersContainerNode.swift +++ b/submodules/ChatListUI/Sources/ChatListSearchFiltersContainerNode.swift @@ -12,6 +12,7 @@ enum ChatListSearchFilter: Equatable { case links case files case music + case voice case date(Int32, String) var id: Int32 { @@ -24,6 +25,8 @@ enum ChatListSearchFilter: Equatable { return 2 case .music: return 3 + case .voice: + return 4 case let .date(date, _): return date } @@ -107,6 +110,9 @@ private final class ItemNode: ASDisplayNode { case .music: title = presentationData.strings.ChatList_Search_FilterMusic icon = generateTintedImage(image: UIImage(bundleImageName: "Chat List/Search/Music"), color: color) + case .voice: + title = presentationData.strings.ChatList_Search_FilterVoice + icon = generateTintedImage(image: UIImage(bundleImageName: "Chat List/Search/Voice"), color: color) case let .date(_, dateTitle): title = dateTitle icon = generateTintedImage(image: UIImage(bundleImageName: "Chat List/Search/Calendar"), color: color) diff --git a/submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/Contents.json new file mode 100644 index 0000000000..af6b364c2d --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_search_voice.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/ic_search_voice.pdf b/submodules/TelegramUI/Images.xcassets/Chat List/Search/Voice.imageset/ic_search_voice.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a35719c77e138e2f765dc63d6b34d2ad3875d83a GIT binary patch literal 4187 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 UYAt^pw9Hu;6f7d5sjmh87o$@_>Hq)$ literal 0 HcmV?d00001