From 146db1984b75dab5689df284111025bd49c13026 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Mon, 16 Apr 2018 15:36:02 -0400 Subject: [PATCH] Apply attachment type assets. --- .../attachment_audio.imageset/Contents.json | 23 ++++++++ .../attachment_audio@1x.png | Bin 0 -> 318 bytes .../attachment_audio@2x.png | Bin 0 -> 573 bytes .../attachment_audio@3x.png | Bin 0 -> 959 bytes .../attachment_file.imageset/Contents.json | 23 ++++++++ .../attachment_file@1x.png | Bin 0 -> 198 bytes .../attachment_file@2x.png | Bin 0 -> 312 bytes .../attachment_file@3x.png | Bin 0 -> 436 bytes .../Contents.json | 23 ++++++++ .../attachment_play_button@1x.png | Bin 0 -> 203 bytes .../attachment_play_button@2x.png | Bin 0 -> 365 bytes .../attachment_play_button@3x.png | Bin 0 -> 547 bytes .../Cells/OWSQuotedMessageView.m | 52 +++++++++++++++--- 13 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 Signal/Images.xcassets/attachment_audio.imageset/Contents.json create mode 100644 Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@1x.png create mode 100644 Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@2x.png create mode 100644 Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@3x.png create mode 100644 Signal/Images.xcassets/attachment_file.imageset/Contents.json create mode 100644 Signal/Images.xcassets/attachment_file.imageset/attachment_file@1x.png create mode 100644 Signal/Images.xcassets/attachment_file.imageset/attachment_file@2x.png create mode 100644 Signal/Images.xcassets/attachment_file.imageset/attachment_file@3x.png create mode 100644 Signal/Images.xcassets/attachment_play_button.imageset/Contents.json create mode 100644 Signal/Images.xcassets/attachment_play_button.imageset/attachment_play_button@1x.png create mode 100644 Signal/Images.xcassets/attachment_play_button.imageset/attachment_play_button@2x.png create mode 100644 Signal/Images.xcassets/attachment_play_button.imageset/attachment_play_button@3x.png diff --git a/Signal/Images.xcassets/attachment_audio.imageset/Contents.json b/Signal/Images.xcassets/attachment_audio.imageset/Contents.json new file mode 100644 index 000000000..18722cdf0 --- /dev/null +++ b/Signal/Images.xcassets/attachment_audio.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "attachment_audio@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "attachment_audio@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "attachment_audio@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@1x.png b/Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..53c019a7656506366f30be8a18e2457cc499e1c1 GIT binary patch literal 318 zcmV-E0m1%>P)Px#_(?=TR7efol(7xMFcd@$4KqN;4y-`Q4sKu#DyE8Ps91oSjtMBBf_ub~TsV$@ zAO$(;g!y;h-#XBDZeUCd_b=sL2Y;o{tD(2k>g9NduRzXT{0Vq@e0e+sEsJSZtwmy) zC4AJH$P#j0DjBe7?RGAwecDO}WbW^l#yx<4ODS5t@YY_zYPj QrT_o{07*qoM6N<$f_syQk^lez literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@2x.png b/Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4625ebffa0df4d77e08aedfe69315d7d0b0629bf GIT binary patch literal 573 zcmV-D0>b@?P)Px$_en%SRA>e5nafQBF%X6WXDEP(8xj>zK?+C#w1C8o0;q!yIB?)V8*oJeX-^bD zI3ZsDCp^+^jNk zfY66cl_0SX$x!mvj!kugU}3zAd@fD?ZiWPMO3eZgy%9qEx9N0ZsZIsm9At%n}L$m zC-z3pz)Pt5j;p@4xu#Lo``Fu=ZyP1RAY}%g0`t^GcyM~G>V5WtlX1s#Bn{v(uphZ7 z*G`XBy^nDjcPvMe-HE)o>0CPR+?RT|;DmeS*jI!%$*bhRMVm=a`K$s5TyVm@7F;L_ z6}#$1V-TIh9t-+c`mphU13Ng^1~%}sgurLLs4OQwnee4z?9(E?aKPmc1^rw-<_hs1 zq(6w5==hjFTt#rIs3buZSqgqn=;x2X23vgag`+6uif+q^&B%#zEIE{LvqR8nqYoQf zHuzS7sj^@ba*~kTZ-NcB_*4guLC*3U$-Tq|f=(NKYdb0xD;qX|Y@#88lxLwKt|IMi z07c5~g0>lO#VDe-87NYA7c~1HlEB4zpMvc8|9%OjRIT~^Wd*(fc-XpkMm>oX00000 LNkvXXu0mjfDu)D| literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@3x.png b/Signal/Images.xcassets/attachment_audio.imageset/attachment_audio@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..4adf408bd80c0e711fe3cc1fe18a6f3ce64f7426 GIT binary patch literal 959 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-HD>V6OCZaSW+o zd^>A@c8H_E@yGld0s{mb4_xpQykE*EW~M6i{$S@w67D|S zVAj;?+9L4ydvRLAo!w`jyxUt|{yvYbZSMBX)}Qa@t5yGgSC*@*D(S&Csqv>_K~~+$ z|EFt${kJc@-dDAMFM<4jLb8=tpTi;CnP^HEYH;LtW8naderZ>P_pKC6|>u!o|?}EvtK^h;lFxP z!;6^_-l}to7rFYsQcrtcwCgj^f1v`7oakL0mQ96WEH^nTSsa@C^pg4x%oKGLcQZ17 z|3c{*$Erv{lSw=DWjzBvO!sPG(~3?H12~R*BbsO+B4nvspqrHoj9iF=GXWpc&_{RL85+ z;#XA9m%esFC;8W$rTMR1a)rL!UAW^_j*p(pR^3#e`InP3r)>9avU%{yTsyBDS*T2Q zlJ&V`Pqgk%U$p+D^2SrIE6ZaKtUs5Rvd#0tH0Mt@Zl>)sTijX}v&LO--SJ1eo@d7e z{i@Z>zrub=J4pY|OGyv)y-Nc6)Y&%fnb19_hm|=(ENENnDX}kEJcrih&6s%lQ&VE% z)6NN!7i@1{KdzAbyHCmTL~7;14HrH+zTkN?n=42w^TDy3KcY@YJnIoIx?xkKzvqs) z6SL3nMNKnmQ-IO<_3_@`e#58p7Oz_Lpbkp8R-A<=hV~Q|6AL#Q>*6C4`qj)4<_3QFE*ba7HZa4STN!Cw0GYAUR=pDjXyg- z*i*-NHLCr+H~&?;37dZ2n-n)q$$rWFCA%-_zKnk9|I+KU_u6|}T-Az8&aSr>OLEL@ z_Gn^qn~a_~IJqP^?nF9z1{`pBaE^ literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/attachment_file.imageset/Contents.json b/Signal/Images.xcassets/attachment_file.imageset/Contents.json new file mode 100644 index 000000000..243216bf7 --- /dev/null +++ b/Signal/Images.xcassets/attachment_file.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "attachment_file@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "attachment_file@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "attachment_file@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/attachment_file.imageset/attachment_file@1x.png b/Signal/Images.xcassets/attachment_file.imageset/attachment_file@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..bed7d752c511a59a188b2e270ed1197c0b36c9ae GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjjKx9jP7LeL$-D$|8a!PbLp*rj z21RonFyMH7jPKo9^B|2adLgdI>O_8BlE~e#wg0WcAM=ly;-@dq_-D8B`g0NaH@%1W z*R<*+uuNYO`K048o8K?(4ZTP1a_+L!WBjLDs5bNcE{3EnCq!4S*|5$tNugx&##UqF wW$V;dHE0HVh6v5%n$a+8(SKDV>k~|J2PBLtzP+rs0J??2)78&qol`;+0NY4RxBvhE literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/attachment_file.imageset/attachment_file@2x.png b/Signal/Images.xcassets/attachment_file.imageset/attachment_file@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fa215952db4247982a49f903f49de28d051615df GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}pFCY0Lo!(3 zPCLkT*nr1*_eTEn^Yecs6ePZmiIWiySfHXgF~`&LiG@j(Y=z3H{le)+?nYaUY?d3J zznpj2x4mKGE%n__#&+*-?`X>pJ7YY{oKOCo`5*VMZ&+WxsdbyDs+8oo>7UwxAE#U= zEK~kAy`e~OBj=`lLIGM$CbApm8wwMb}zCUoj6n9-Oo) zT+&?U(z(K$kH2wxI6S|*>6VuRrvrOQ>w-p!bu1fNCjfcOhB2H8+=`7t4Qxp}gbs)~ zF{v`}9w|_5&~0JyVvy>1=*1At!8wJ&MBwmte+Fv>rWXg;Z`oX})SEeNHPH7Ap00i_ I>zopr0H8y6U;qFB literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/attachment_file.imageset/attachment_file@3x.png b/Signal/Images.xcassets/attachment_file.imageset/attachment_file@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab33f021b5a47c0c686c6b484762f6235092324 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-D%z^E_P~Ln;{G z-Z+?b*g(YP;+7|e|324^QaN+zZExzluRPZSetk$dX*IKK;_<`YjI3O&`_!)en^}?e zZQ{)Dv+rhq-}(OT?t3-d9AB2*kblRr<*od}`*%OuzgRWj=I@Q-)6%ieR~H$fcI9L?6IWjde z95M4y5NNo;#>v7Ya9g3#fgwp+MS#O0rCpjmOALTo}Tc7-{g<7Kstk=vaSwOB*S6%h8*9lXeMJBxBo0r0sKdDu598+ zGq9@V&1f_=)p0bJnE9VS<6w!xv&Bc0QkV-j&S%o)IFiOGZ01Ygr+AsMW1 zr=R9MWFX+e%-&b9oH=U&*RBSw1zazhv{p3o?KnJ<+rTcOYfZ&t-bs74eV2sV#c3Mr zpSd)#X-99VN_f8v9Vs0u@&*5$vg zd2(!Lc(i^$Z*NfGrmHLclKY&jeL_O|RTsZ67fL5jv{nh(_3hAP1JRw6A~MhTJn>RG ze$2<^-Ha2HJ}#RWt+Zi@y30G(P}?H!Bbikp6Ro$;I%`^*`NC`ON71OOBJ%H4JGEqs ze+#xt*e;y4F2-APd2OEhrVUdp7M%IBcWKJf;_cm*q1zt647scF$WUta`E^oEmdw73 zKgu(!Eh=2aXnb*nX~H{w@8kn1CRscirn7i7fKh^0qkPH***&|T*hK-ukHOQ`&t;uc GLK6V_>XM-V literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/attachment_play_button.imageset/attachment_play_button@3x.png b/Signal/Images.xcassets/attachment_play_button.imageset/attachment_play_button@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..4c6e2658d9b20dcc46e3a1d8b480ead1cb771816 GIT binary patch literal 547 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-D%z?|Qm8hEy=V zoq5*xhyzcnIG@ZzKlUpOt`4FOq5-S{tRjr27Z}SeiWu+7=(q;f9eaF}-0xFnou}f!gcW%)oj+k8dToi<|JGanM@%0nO#S4wk#)im?Y{F`uP-g(l(|{& z{8RRk25+P2LZ-Am_3n3ndgXS#G@SA9xx7GygUoUTL**illy^Uvw@x?y`mp`^0-xUH zTUde>rXA~2-Ql=oBa64ev}gAiG+R|8nl_kCKP0rqam7sjT+S?pD^FUsvY0+HwLB^m zqj)Gs>f@|C2Gbmrqh|kZJ$+)Y>V>YnljXUbQ7qf9?AXepo1|;{PN&f|Cp&i|OFxJB zYL>N1)mLWf9!!)lei-4=ukBdfSJZ8*=x0-Kxoh*Y>Gm(V`4gU4N3mYNHr=egzu>#k zg0Kau{ceKc$3zZ%T2a_tu=kgR>YC#>xDT{cEWOKo?1M~NKJ$kES<+pbWxB1)F77hj z-@w{+WmomSTU--vU)#&7aD8p{{065j?`j#jHlMpA9kAotUG526^2E8Lr7q5j$-Mfw z_Qkba#wm+Rw=;QN-nF&CY0rbp9oL>L%egD%a7L9;NC6Wy@^b!RJkL8RbmRVn&%jt` N@O1TaS?83{1ORJz->d)t literal 0 HcmV?d00001 diff --git a/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m b/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m index c5c03315e..972955740 100644 --- a/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m +++ b/Signal/src/ViewControllers/ConversationView/Cells/OWSQuotedMessageView.m @@ -104,8 +104,7 @@ NS_ASSUME_NONNULL_BEGIN - (UIColor *)highlightColor { BOOL isQuotingSelf = [NSObject isNullableObject:self.quotedMessage.authorId equalTo:TSAccountManager.localNumber]; - return (isQuotingSelf ? OWSMessagesBubbleImageFactory.bubbleColorOutgoingSent - : OWSMessagesBubbleImageFactory.bubbleColorIncoming); + return (isQuotingSelf ? OWSMessagesBubbleImageFactory.bubbleColorOutgoingSent : [UIColor colorWithRGBHex:0xB5B5B5]); } #pragma mark - @@ -140,6 +139,17 @@ NS_ASSUME_NONNULL_BEGIN quotedAttachmentView.layer.cornerRadius = 2.f; quotedAttachmentView.clipsToBounds = YES; quotedAttachmentView.backgroundColor = [UIColor whiteColor]; + + if (self.isVideoAttachment) { + UIImage *contentIcon = [UIImage imageNamed:@"attachment_play_button"]; + contentIcon = [contentIcon imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + UIImageView *contentImageView = [self imageViewForImage:contentIcon]; + contentImageView.tintColor = [UIColor whiteColor]; + [quotedAttachmentView addSubview:contentImageView]; + [contentImageView autoCenterInSuperview]; + [contentImageView setContentHuggingHigh]; + [contentImageView setCompressionResistanceHigh]; + } } else if (self.quotedMessage.thumbnailDownloadFailed) { // TODO design review icon and color UIImage *contentIcon = @@ -162,17 +172,19 @@ NS_ASSUME_NONNULL_BEGIN [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapFailedThumbnailDownload:)]; [quotedAttachmentView addGestureRecognizer:tapGesture]; } else { - // TODO: This asset is wrong. - // TODO: There's a special asset for audio files. - UIImage *contentIcon = [UIImage imageNamed:@"file-thin-black-filled-large"]; - UIImageView *contentImageView = [self imageViewForImage:contentIcon]; quotedAttachmentView = [UIView containerView]; - [quotedAttachmentView addSubview:contentImageView]; quotedAttachmentView.backgroundColor = self.highlightColor; quotedAttachmentView.layer.cornerRadius = self.quotedAttachmentSize * 0.5f; + + UIImage *contentIcon = + [UIImage imageNamed:(self.isAudioAttachment ? @"attachment_audio" : @"attachment_file")]; + contentIcon = [contentIcon imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + UIImageView *contentImageView = [self imageViewForImage:contentIcon]; + contentImageView.tintColor = [UIColor whiteColor]; + [quotedAttachmentView addSubview:contentImageView]; [contentImageView autoCenterInSuperview]; - [contentImageView - autoSetDimensionsToSize:CGSizeMake(self.quotedAttachmentSize * 0.5f, self.quotedAttachmentSize * 0.5f)]; + [contentImageView setContentHuggingHigh]; + [contentImageView setCompressionResistanceHigh]; } quotedAttachmentView.userInteractionEnabled = YES; @@ -354,6 +366,28 @@ NS_ASSUME_NONNULL_BEGIN return nil; } +- (BOOL)isAudioAttachment +{ + // TODO: Are we going to use the filename? For all mimetypes? + NSString *_Nullable contentType = self.quotedMessage.contentType; + if (contentType.length < 1) { + return NO; + } + + return [MIMETypeUtil isAudio:contentType]; +} + +- (BOOL)isVideoAttachment +{ + // TODO: Are we going to use the filename? For all mimetypes? + NSString *_Nullable contentType = self.quotedMessage.contentType; + if (contentType.length < 1) { + return NO; + } + + return [MIMETypeUtil isVideo:contentType]; +} + - (UILabel *)configureQuotedAuthorLabel { OWSAssert(self.quotedAuthorLabel);