diff --git a/Session/Conversations/Message Cells/Content Views/DocumentView.swift b/Session/Conversations/Message Cells/Content Views/DocumentView.swift index 372befc8c..5f0717ae6 100644 --- a/Session/Conversations/Message Cells/Content Views/DocumentView.swift +++ b/Session/Conversations/Message Cells/Content Views/DocumentView.swift @@ -4,7 +4,7 @@ final class DocumentView : UIView { private let textColor: UIColor // MARK: Settings - private static let iconImageViewSize: CGSize = CGSize(width: 26, height: 40) + private static let iconImageViewSize: CGSize = CGSize(width: 31, height: 40) // MARK: Lifecycle init(viewItem: ConversationViewItem, textColor: UIColor) { @@ -36,11 +36,21 @@ final class DocumentView : UIView { titleLabel.lineBreakMode = .byTruncatingTail titleLabel.text = attachment.sourceFilename ?? "File" titleLabel.textColor = textColor - titleLabel.font = .systemFont(ofSize: Values.mediumFontSize, weight: .light) + titleLabel.font = .systemFont(ofSize: Values.smallFontSize, weight: .light) + // Size label + let sizeLabel = UILabel() + sizeLabel.lineBreakMode = .byTruncatingTail + sizeLabel.text = OWSFormat.formatFileSize(UInt(attachment.byteCount)) + sizeLabel.textColor = textColor + sizeLabel.font = .systemFont(ofSize: Values.verySmallFontSize) + // Label stack view + let labelStackView = UIStackView(arrangedSubviews: [ titleLabel, sizeLabel ]) + labelStackView.axis = .vertical // Stack view - let stackView = UIStackView(arrangedSubviews: [ imageView, titleLabel ]) + let stackView = UIStackView(arrangedSubviews: [ imageView, labelStackView ]) stackView.axis = .horizontal stackView.spacing = Values.verySmallSpacing + stackView.alignment = .center addSubview(stackView) stackView.pin(to: self) } diff --git a/Session/Meta/Images.xcassets/Session/File.imageset/doc.pdf b/Session/Meta/Images.xcassets/Session/File.imageset/doc.pdf index 4338f23a1..50b0bb95e 100644 Binary files a/Session/Meta/Images.xcassets/Session/File.imageset/doc.pdf and b/Session/Meta/Images.xcassets/Session/File.imageset/doc.pdf differ diff --git a/Session/Meta/Images.xcassets/Session/FileLarge.imageset/Contents.json b/Session/Meta/Images.xcassets/Session/FileLarge.imageset/Contents.json new file mode 100644 index 000000000..667dcde62 --- /dev/null +++ b/Session/Meta/Images.xcassets/Session/FileLarge.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "doc_large.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Session/Meta/Images.xcassets/Session/FileLarge.imageset/doc_large.pdf b/Session/Meta/Images.xcassets/Session/FileLarge.imageset/doc_large.pdf new file mode 100644 index 000000000..d9dd80473 Binary files /dev/null and b/Session/Meta/Images.xcassets/Session/FileLarge.imageset/doc_large.pdf differ diff --git a/SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift b/SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift index 443f5fc80..75e41f937 100644 --- a/SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift +++ b/SignalUtilitiesKit/Media Viewing & Editing/MediaMessageView.swift @@ -269,7 +269,8 @@ public class MediaMessageView: UIView, OWSAudioPlayerDelegate { private func createGenericPreview() { var subviews = [UIView]() - let imageView = createHeroImageView(imageName: "actionsheet_document_black") + let imageView = createHeroImageView(imageName: "FileLarge") + imageView.contentMode = .center subviews.append(imageView) let fileNameLabel = createFileNameLabel() diff --git a/SignalUtilitiesKit/Utilities/OWSFormat.m b/SignalUtilitiesKit/Utilities/OWSFormat.m index effb40f4e..db48cb8c7 100644 --- a/SignalUtilitiesKit/Utilities/OWSFormat.m +++ b/SignalUtilitiesKit/Utilities/OWSFormat.m @@ -31,11 +31,11 @@ NS_ASSUME_NONNULL_BEGIN const unsigned long kOneKilobyte = 1024; const unsigned long kOneMegabyte = kOneKilobyte * kOneKilobyte; - if (fileSize > kOneMegabyte * 10) { - return [[formatter stringFromNumber:@((int)round(fileSize / (CGFloat)kOneMegabyte))] + if (fileSize > kOneMegabyte) { + return [[formatter stringFromNumber:@((double)lround(fileSize * 100 / (CGFloat)kOneMegabyte) / 100)] stringByAppendingString:@" MB"]; - } else if (fileSize > kOneKilobyte * 10) { - return [[formatter stringFromNumber:@((int)round(fileSize / (CGFloat)kOneKilobyte))] + } else if (fileSize > kOneKilobyte) { + return [[formatter stringFromNumber:@((double)lround(fileSize * 100 / (CGFloat)kOneKilobyte) / 100)] stringByAppendingString:@" KB"]; } else { return [NSString stringWithFormat:@"%lu Bytes", fileSize];