Various fixes

This commit is contained in:
Ilya Laktyushin 2023-07-19 16:45:01 +02:00
parent 8e941b324b
commit a5d5a34d1b
2 changed files with 32 additions and 27 deletions

View File

@ -141,7 +141,7 @@ final class AssetDownloadManager {
} else { } else {
return EmptyDisposable return EmptyDisposable
} }
} } |> runOn(self.queue)
} }
} }

View File

@ -516,40 +516,45 @@ final class MediaPickerGridItemNode: GridItemNode {
self.currentDraftState = nil self.currentDraftState = nil
} }
var typeIcon: UIImage?
var duration: String?
if asset.isFavorite { if asset.isFavorite {
self.typeIconNode.image = generateTintedImage(image: UIImage(bundleImageName: "Media Grid/Favorite"), color: .white) typeIcon = generateTintedImage(image: UIImage(bundleImageName: "Media Grid/Favorite"), color: .white)
if self.typeIconNode.supernode == nil { } else if asset.mediaType == .video {
self.addSubnode(self.gradientNode) if asset.mediaSubtypes.contains(.videoHighFrameRate) {
self.addSubnode(self.typeIconNode) typeIcon = UIImage(bundleImageName: "Media Editor/MediaSlomo")
self.setNeedsLayout() } else if asset.mediaSubtypes.contains(.videoTimelapse) {
typeIcon = UIImage(bundleImageName: "Media Editor/MediaTimelapse")
} else {
typeIcon = UIImage(bundleImageName: "Media Editor/MediaVideo")
} }
duration = stringForDuration(Int32(asset.duration))
} }
if asset.mediaType == .video { if typeIcon != nil || duration != nil {
if !asset.isFavorite { if self.gradientNode.supernode == nil {
if asset.mediaSubtypes.contains(.videoHighFrameRate) {
self.typeIconNode.image = UIImage(bundleImageName: "Media Editor/MediaSlomo")
} else if asset.mediaSubtypes.contains(.videoTimelapse) {
self.typeIconNode.image = UIImage(bundleImageName: "Media Editor/MediaTimelapse")
} else {
self.typeIconNode.image = UIImage(bundleImageName: "Media Editor/MediaVideo")
}
}
self.durationNode.attributedText = NSAttributedString(string: stringForDuration(Int32(asset.duration)), font: Font.semibold(12.0), textColor: .white)
if self.durationNode.supernode == nil {
self.addSubnode(self.gradientNode) self.addSubnode(self.gradientNode)
}
} else if self.gradientNode.supernode != nil {
self.gradientNode.removeFromSupernode()
}
if let typeIcon {
self.typeIconNode.image = typeIcon
if self.typeIconNode.supernode == nil {
self.addSubnode(self.typeIconNode) self.addSubnode(self.typeIconNode)
}
} else if self.typeIconNode.supernode != nil {
self.typeIconNode.removeFromSupernode()
}
if let duration {
self.durationNode.attributedText = NSAttributedString(string: duration, font: Font.semibold(12.0), textColor: .white)
if self.durationNode.supernode == nil {
self.addSubnode(self.durationNode) self.addSubnode(self.durationNode)
self.setNeedsLayout()
}
} else {
if self.typeIconNode.supernode != nil {
self.gradientNode.removeFromSupernode()
self.typeIconNode.removeFromSupernode()
self.durationNode.removeFromSupernode()
} }
} else if self.durationNode.supernode != nil {
self.durationNode.removeFromSupernode()
} }
self.currentAssetState = (fetchResult, index) self.currentAssetState = (fetchResult, index)