Add voice search filter

This commit is contained in:
Ilya Laktyushin 2020-09-09 22:27:11 +03:00
parent fb0d0cb90f
commit a05970c379
4 changed files with 24 additions and 1 deletions

View File

@ -1643,6 +1643,8 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo
messageTags = .file messageTags = .file
case .music: case .music:
messageTags = .music messageTags = .music
case .voice:
messageTags = .voiceOrInstantVideo
case let .date(date, _): case let .date(date, _):
messageTags = strongSelf.currentSearchOptions.messageTags messageTags = strongSelf.currentSearchOptions.messageTags
maxDate = date maxDate = date
@ -1757,6 +1759,9 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo
} else if messageTags == .music { } else if messageTags == .music {
title = self.presentationData.strings.ChatList_Search_FilterMusic title = self.presentationData.strings.ChatList_Search_FilterMusic
icon = UIImage(bundleImageName: "Chat List/Search/Music") 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 { if let title = title {
@ -2168,7 +2173,7 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo
let title = formatter.string(from: possibleDate) let title = formatter.string(from: possibleDate)
filters = [.date(Int32(possibleDate.timeIntervalSince1970), title)] filters = [.date(Int32(possibleDate.timeIntervalSince1970), title)]
} else { } 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)) 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))

View File

@ -12,6 +12,7 @@ enum ChatListSearchFilter: Equatable {
case links case links
case files case files
case music case music
case voice
case date(Int32, String) case date(Int32, String)
var id: Int32 { var id: Int32 {
@ -24,6 +25,8 @@ enum ChatListSearchFilter: Equatable {
return 2 return 2
case .music: case .music:
return 3 return 3
case .voice:
return 4
case let .date(date, _): case let .date(date, _):
return date return date
} }
@ -107,6 +110,9 @@ private final class ItemNode: ASDisplayNode {
case .music: case .music:
title = presentationData.strings.ChatList_Search_FilterMusic title = presentationData.strings.ChatList_Search_FilterMusic
icon = generateTintedImage(image: UIImage(bundleImageName: "Chat List/Search/Music"), color: color) 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): case let .date(_, dateTitle):
title = dateTitle title = dateTitle
icon = generateTintedImage(image: UIImage(bundleImageName: "Chat List/Search/Calendar"), color: color) icon = generateTintedImage(image: UIImage(bundleImageName: "Chat List/Search/Calendar"), color: color)

View File

@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "ic_search_voice.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}