From 406fcac64e28e09f404cf435a433c8fa2fa6e935 Mon Sep 17 00:00:00 2001 From: Nicolas Mauri Date: Mon, 20 Mar 2023 10:42:21 +0100 Subject: [PATCH] Fix: default pill icon for an unknown user --- .../Images.xcassets/Room/Pill/Contents.json | 6 ++++ .../Pill/pill_user.imageset/Contents.json | 23 ++++++++++++++ .../Pill/pill_user.imageset/pill_user.png | Bin 0 -> 754 bytes .../Pill/pill_user.imageset/pill_user@2x.png | Bin 0 -> 1392 bytes .../Pill/pill_user.imageset/pill_user@3x.png | Bin 0 -> 1925 bytes Riot/Generated/Images.swift | 1 + Riot/Modules/Pills/PillAttachmentView.swift | 16 +++++----- Riot/Modules/Pills/PillProvider.swift | 28 ++++++++++++++---- .../Pills/PillTextAttachmentData.swift | 23 +++++++++++++- 9 files changed, 82 insertions(+), 15 deletions(-) create mode 100644 Riot/Assets/Images.xcassets/Room/Pill/Contents.json create mode 100644 Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/Contents.json create mode 100644 Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user.png create mode 100644 Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user@2x.png create mode 100644 Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user@3x.png diff --git a/Riot/Assets/Images.xcassets/Room/Pill/Contents.json b/Riot/Assets/Images.xcassets/Room/Pill/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/Riot/Assets/Images.xcassets/Room/Pill/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/Contents.json b/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/Contents.json new file mode 100644 index 000000000..3a4181e5d --- /dev/null +++ b/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "pill_user.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "pill_user@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "pill_user@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user.png b/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user.png new file mode 100644 index 0000000000000000000000000000000000000000..abe8be2888e7f314f8b566df25d71e135f1ad962 GIT binary patch literal 754 zcmVXUB=Pt>laRxifE$zfIRo24MF8Bn7CjbLD7D-r4bTSi2@Cn4uGPGK_*u+lWzSh0e=W}7G zqWHzx`_~isY%sl}^*5j_=_{CSIL>3qiIOiC-mwXfm3op17YvwD?%2GkK|wh!62P=# zet{7<>>oF4c`qE+0T9$pocA2(zWN(SRj`0v92?&VCpO+|9W@kZe%D4spv%TL)Gkag>hh6 zBpJ+O1BZib7R8QJyG?)u!y>|OD?v>k77XMCBuAAI5Meia=en)RjDms?TEd&A!&rAS z0~c0i>)_1igwLCb&;F)TpG-UVW@keqo5qCHJ%8Kw=gO9uxH1}u)LH8AfbYggDoj0m zL_jiPyg3DjMJ(^VYcCW{?$S>dN)-G2x@OkQg#;1jF)wduV-!Uy)>R%@yBw|x*L&&} k_lGnn_mGr%T8X*%4;CvWBT2&TiU0rr07*qoM6N<$f|y58&j0`b literal 0 HcmV?d00001 diff --git a/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user@2x.png b/Riot/Assets/Images.xcassets/Room/Pill/pill_user.imageset/pill_user@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b047760db065486b6f189519b0f873ef4b862a54 GIT binary patch literal 1392 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 String { diff --git a/Riot/Modules/Pills/PillTextAttachmentData.swift b/Riot/Modules/Pills/PillTextAttachmentData.swift index c83958455..52ef4f852 100644 --- a/Riot/Modules/Pills/PillTextAttachmentData.swift +++ b/Riot/Modules/Pills/PillTextAttachmentData.swift @@ -17,12 +17,33 @@ import Foundation import UIKit +@available (iOS 15.0, *) +struct PillAssetColor: Codable { + var red: CGFloat = 0.0, green: CGFloat = 0.0, blue: CGFloat = 0.0, alpha: CGFloat = 0.0 + + var uiColor: UIColor { + return UIColor(red: red, green: green, blue: blue, alpha: alpha) + } + + init(uiColor: UIColor) { + uiColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha) + } +} + +@available (iOS 15.0, *) +struct PillAssetParameter: Codable { + var tintColor: PillAssetColor? + var backgroundColor: PillAssetColor? + var rawRenderingMode: Int = UIImage.RenderingMode.automatic.rawValue + var padding: CGFloat = 2.0 +} + @available (iOS 15.0, *) enum PillTextAttachmentItem: Codable { case text(String) case avatar(url: String?, string: String?, matrixId: String) case spaceAvatar(url: String?, string: String?, matrixId: String) - case asset(named: String) + case asset(named: String, parameters: PillAssetParameter) } @available (iOS 15.0, *)