From 3022f929257879084fd4b37eca3fb648df9ed57e Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 22 Aug 2018 10:47:21 -0600 Subject: [PATCH] Tweak tint for search bar icons in dark theme --- Signal.xcodeproj/project.pbxproj | 4 +++ .../searchbar_clear.imageset/Contents.json | 23 ++++++++++++++ .../Search-clear_17x17_@1x.png | Bin 0 -> 3577 bytes .../Search-clear_17x17_@2x.png | Bin 0 -> 3806 bytes .../Search-clear_17x17_@3x.png | Bin 0 -> 4114 bytes .../searchbar_search.imageset/Contents.json | 23 ++++++++++++++ .../UIButtonBarSearch_18x18_@1x.png | Bin 0 -> 527 bytes .../UIButtonBarSearch_18x18_@2x.png | Bin 0 -> 1198 bytes .../UIButtonBarSearch_18x18_@3x.png | Bin 0 -> 1862 bytes SignalMessaging/Views/OWSSearchBar.m | 18 +++++++++++ SignalMessaging/utils/UIImage+OWS.swift | 30 ++++++++++++++++++ 11 files changed, 98 insertions(+) create mode 100644 Signal/Images.xcassets/searchbar_clear.imageset/Contents.json create mode 100644 Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@1x.png create mode 100644 Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@2x.png create mode 100644 Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@3x.png create mode 100644 Signal/Images.xcassets/searchbar_search.imageset/Contents.json create mode 100644 Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@1x.png create mode 100644 Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@2x.png create mode 100644 Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@3x.png create mode 100644 SignalMessaging/utils/UIImage+OWS.swift diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 600565cb3..65c0f8631 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -442,6 +442,7 @@ 4C4BC6C32102D697004040C9 /* ContactDiscoveryOperationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4BC6C22102D697004040C9 /* ContactDiscoveryOperationTest.swift */; }; 4C63CC00210A620B003AE45C /* SignalTSan.supp in Resources */ = {isa = PBXBuildFile; fileRef = 4C63CBFF210A620B003AE45C /* SignalTSan.supp */; }; 4C6F527C20FFE8400097DEEE /* SignalUBSan.supp in Resources */ = {isa = PBXBuildFile; fileRef = 4C6F527B20FFE8400097DEEE /* SignalUBSan.supp */; }; + 4C858A52212DC5E1001B45D3 /* UIImage+OWS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C858A51212DC5E1001B45D3 /* UIImage+OWS.swift */; }; 4CA5F793211E1F06008C2708 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA5F792211E1F06008C2708 /* Toast.swift */; }; 4CB5F26720F6E1E2004D1B42 /* MenuActionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF4C0920F55BBA005DA313 /* MenuActionsViewController.swift */; }; 4CB5F26920F7D060004D1B42 /* MessageActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB5F26820F7D060004D1B42 /* MessageActions.swift */; }; @@ -1131,6 +1132,7 @@ 4C4BC6C22102D697004040C9 /* ContactDiscoveryOperationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ContactDiscoveryOperationTest.swift; path = contact/ContactDiscoveryOperationTest.swift; sourceTree = ""; }; 4C63CBFF210A620B003AE45C /* SignalTSan.supp */ = {isa = PBXFileReference; lastKnownFileType = text; path = SignalTSan.supp; sourceTree = ""; }; 4C6F527B20FFE8400097DEEE /* SignalUBSan.supp */ = {isa = PBXFileReference; lastKnownFileType = text; path = SignalUBSan.supp; sourceTree = ""; }; + 4C858A51212DC5E1001B45D3 /* UIImage+OWS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+OWS.swift"; sourceTree = ""; }; 4CA5F792211E1F06008C2708 /* Toast.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toast.swift; sourceTree = ""; }; 4CB5F26820F7D060004D1B42 /* MessageActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageActions.swift; sourceTree = ""; }; 4CC0B59B20EC5F2E00CF6EE0 /* ConversationConfigurationSyncOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationConfigurationSyncOperation.swift; sourceTree = ""; }; @@ -1563,6 +1565,7 @@ B97940251832BD2400BD66CB /* UIUtil.h */, B97940261832BD2400BD66CB /* UIUtil.m */, 45F170D51E315310003FC1F2 /* Weak.swift */, + 4C858A51212DC5E1001B45D3 /* UIImage+OWS.swift */, ); path = utils; sourceTree = ""; @@ -3196,6 +3199,7 @@ 34AC09F7211B39B100997B47 /* MediaMessageView.swift in Sources */, 3461293A1FD1B47300532771 /* OWSPreferences.m in Sources */, 34AC09E6211B39B100997B47 /* SelectRecipientViewController.m in Sources */, + 4C858A52212DC5E1001B45D3 /* UIImage+OWS.swift in Sources */, 34480B671FD0AA9400BC14EF /* UIFont+OWS.m in Sources */, 346129E61FD5C0C600532771 /* OWSDatabaseMigrationRunner.m in Sources */, 34AC0A11211B39EA00997B47 /* OWSLayerView.swift in Sources */, diff --git a/Signal/Images.xcassets/searchbar_clear.imageset/Contents.json b/Signal/Images.xcassets/searchbar_clear.imageset/Contents.json new file mode 100644 index 000000000..0b4042676 --- /dev/null +++ b/Signal/Images.xcassets/searchbar_clear.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "Search-clear_17x17_@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Search-clear_17x17_@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Search-clear_17x17_@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@1x.png b/Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3310dbc4223d5e488e9997a2c8859ca4a0ac58bf GIT binary patch literal 3577 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 literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@2x.png b/Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f750f3eeaf2fa5fd46b2308898d75e498239a844 GIT binary patch literal 3806 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 Uq1K1T$N&HU07*qoM6N<$g5^6*UH||9 literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@3x.png b/Signal/Images.xcassets/searchbar_clear.imageset/Search-clear_17x17_@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..c367e8eb70f7b6c26ad0a5d7ebad9b23b43cfb5d GIT binary patch literal 4114 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 literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/searchbar_search.imageset/Contents.json b/Signal/Images.xcassets/searchbar_search.imageset/Contents.json new file mode 100644 index 000000000..b3a1189bc --- /dev/null +++ b/Signal/Images.xcassets/searchbar_search.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "UIButtonBarSearch_18x18_@1x.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "UIButtonBarSearch_18x18_@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "UIButtonBarSearch_18x18_@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@1x.png b/Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..0d99c7a9c32b9b806f5594aa98747e65d875b004 GIT binary patch literal 527 zcmV+q0`UEbP)Px$$w@>(R5%fxRKH8ZKoss>M4E)Qpok=mNU>e4Lv?Z1T|oqKa8*PQUHv!I!O5i# z&KB4DFF3R=jhj}`#nvX)P;-8-8cEN_UkAs%_r34Fdw1_8EEXD>OlH*cy!Dt6D}ZxC zhz?`ShFwxM?ZCF}hY-ETeF+gG#@Ghqd?>D}7VIr>hF#aavMg&k;P+ik z(_BoO=FPZi&h#Y!OsCTY(=hHL#ppT^dcd5H5(#jK%tGuwo6U{{Sgdna^9oO`)zwoKwdFT>VY? zsh5Zw*R=gFLe%!C+9pG0--&fagg6K95zirHA>i+WIu>ak!8?WUNh+19Ql!yn*ex+*9E2LaztUhleux7E;$_71m_1@WLJ0mi z=rGrDsH^kXTv2s>o-+Hh5S`S`+;PfysHs5gUqZ4NdT5uhe-FwG|FInscmpWzsE}^7 RPWS)-002ovPDHLkV1h%9_muzu literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@2x.png b/Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a2052f53c8c944019c12a554add3e92688f8b4e7 GIT binary patch literal 1198 zcmV;f1X25mP)Px(Xh}ptR9FeUS50UWK@{GZSgd~uibCCOBGi@~)QkAriWCu16wyOb+oFi##hV9z zz(c`H!Gj0ILl9K7wNeoj1@Ta*ASze{sfe@`ZQ3ZPXpO`|vO9in+|i`Xc6JlVLYd6G z?|bjfdv9i5nW6cF5Nw%cH93Z{8^6~H!-zA+7J|kw|7I{Y#0}$_!TG~vGWi5DKuZ6Z z7qz3KgC`P+LjatD;kXwre;v*Y1K)Y{*s-hNV-LZoOu;4V#JL``#>Wt!j3rAr0I zB%EufXib4ln>IH$&oWK(FgPjV;x7&E_Gv)PLP3Pc8N~TMb~+n^J9FmEJ2E^x{6nLo zKwMW>7nz)#yk-co2hqzi&UcTEjXf#=`I%6f@*;B;P8B%oM~A`?7rHL1NFj2*YLNIc z6{G+)a~)#@xxd%g)N~ZPEBUk#cWiw8ICgXwHs&K*U4GK8He^_qb9M(p_tsNBk)L6CuYrNnqsr)adBwH$Ox_n30i@2}JxXVG-^#e#(HyOtT626$tak znwpw!KZb%}8XFsLLU#(zERRN`n{`}n3$a6jgy`I&i6S z&iNPOqLvovbdW8G?z4i6t)mt4V=w1#Mv|O>SiJ zA5t3?O-+B#KWoK*$&@J(^}f^tWBwCP?LztnsVM!NJ~t|@aOMqhl}>jIp=-Q}EbO1M zK5beMAtjYPFce_E#$Ee>9roZ(=o6g3!BZgLJ-UJE(sS>b127sRJe2n1AIE!$_IXV6 zuM%yfiaJC}X~$O*iNiQ0r?KODTGM?<^J_%-JpP02qSGrQ@@HdHooYk+ZWq(%>5u}$ z874bD$JvQ~W+S4|0AmZ`Xb!(WL&1B@`;q&{qp8$W#ZzNYr?d_!#pR4}Y9E}Zu2CDQ zd_XxiXXK_)=nKMO`nP&7{?tLDaWActTq&rCLuAaaQx$W_uTvGNA(aj_&QMcpRX!EA zBBMO=jJ3ho-Ys)z$#MkrEv?{awSE_h)ozP`*fSLYl34L`liO}a!|r2qf` M07*qoM6N<$g7#rGZvX%Q literal 0 HcmV?d00001 diff --git a/Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@3x.png b/Signal/Images.xcassets/searchbar_search.imageset/UIButtonBarSearch_18x18_@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b017f2397b0f1ac355f36f13c0a990f3f129807c GIT binary patch literal 1862 zcmV-M2f6r(P)Px+07*naRA>d&S=~<@RTQ6@1yNc)w2jIF3pJo=NhJk?fr=3|RZEOoMgIa~tZg6a zgSJmRn5v0Q8nscM^ufedENYb2HjU*&B~hwkq^1!gUDzc>Nr45*vb!_>&M;>>EbQ*w zS(aUH0_X0XbI&=yd(J)g&KX&9*jidzTz!3gjhd$IlvH(xCP~{M>NZ)H3qfW41@LTK zlI6>aBn?Q4a-pE0pl@(+aKWKUp=o4*Q1f^^RgqBWfF{d(Bu(2aG8v#JG3O-ae(3l6 ze-)W4%4-{#4k#Rc3trd_CAR0qG6(|Bz>9}`KHoqro@B-o8dzRle)Gb@LK_$l0#tUC zvSEy$lU=S}m#SXMktDC0n;Qs+!*GsV5SgDZi73i;%xeH&GpIXiegxz1Was1@9v&W^ zk9wBWPsokk?sB_5^P1KHj#>*BB1vvnT(09IBO^VQ@wi=pl1oZTnn3p>9G?QSsT=YJ zWJPHi9Uc8Et`LETrts)Fo}!{!toygteFWxiB`a$m0R0ioFY+4z>oiq829WhU58x&M zZa2XF#AC_O6@itx-8ErJIuFISl5i*uf$`vo&vzVsB*5ewd9b*+_!TVN8<3V|NSr|= zJhB?#mI2elPm(UOrvT)dOOl@S`u#s74`;cA($dlg)kx$^%OaBJ>XQvi95FXqMMXsp z_S7j0s0p~MDOI3IGwoA&X%`l7ihcv&CWL7_B`x~xv@HQPKR5R}1l>o%plAUK_oONv zTMY)dendqxbcSdg;HpEx;1Mg2Xdm(x8#eTIRaHO6FC8qx;Z=mg3FC3f$y6XPl9!iv z9g21t%Ifk93cd;i0#}_VH$A3BB5y)~4ip>j=Z1!cV@?DnGY8Re6uP?%87^GaD6u$d zdh$SaszzM@W=K%st(vt6!Ido5j~Og1p6Rw_%W~}%zyFt&c;k&NdQ4UKG85wbRJuTs z4c@V_i?HEywkNDRL5Klr-cXB_Sw5_d8h5mD<4XWB?_HA|) z+>dIQ7fIts?q>k)V;g|7n)`OC0#{csGx|wgZduMM(Hk$Kns&FSOa&RJ$TDff(obs_ zcKyo+pnnJV?NajCMrJN7EDUfz-4tLZEH>m>`nI~{G1{nl3kHMwp~%0}Nm2NTuzoDQ zc|+o{M3g3&UQ*`fgjXh!0;kU>Cnrr?u=q2gawrtXc~Vf4Jlsz=gG=$=_C}*1+m&ezNmX(!lg$*sN4|U9sxGzF= zVDy0iD|6bIs6@iyw7rvsLm|?w+l4LC?zA|o3m`zKzaIk8PkXFbliTgyOXF+VP@;GV zx*sN;02RX9#$l)W%_`OO^z_yIygYj0tTzNdnxCJ49#x`Ir@}?%p-Of?-YTgowpbOG z<+o9yF!#QQEaEjiMnCAQ2Ubcy*RXOqQ1s1O>^FU1scNULlMIohncUpmBa2;U|Ca!x zPdRY^bBKfgNE{Sx!hY+~SJRpNgtJIC_Ej(GvM_I)o1HyLm1)bEPJTo*j6pY6g{VXOhVg$HK`al2!tThLf(lD~lyP_W} z=te<@FXYiVWsMe!4)cYVbX%JfaB+c=aQf;&9|&-FqZ^5tMGeLOK)_i5?Zw;bpP*iT z3#a!f0Pw(iI&d3}yWbXL9+NQk^HE9^2)h&Dd4eBAQ&DgUfw2O3?_R3!$5YO{b|@C% zYlQV{9M-g#XivqHF9OasFg6xRWQR;;XIXv$o>(lj^1}oaU?#!xDKhT|NK(H?v#%yN zVPI?wm7P(ctw+JN31L``By$f8za7u%m7e6z0=OSzf5Qv?$h18${QE=~+SLN*7#IUg z1zinr83~LQD_L+E3oKc184WBMa2XHGDLCutPckyH(RGThRq(=@SO(JhhjXxl_9pSH z3y(1vn+fIgoo@Hj>%wCU%#P=9ak$do-ydFA9%F#9JcrA``=dVJ%b=N29A$$=Xf!x0 zD3Y@-J;n=Qfa{>}V^8t3bx&(+YqN1DUFM+w0iz-Sz$oNpWdHyG07*qoM6N<$g6|?+ A#{d8T literal 0 HcmV?d00001 diff --git a/SignalMessaging/Views/OWSSearchBar.m b/SignalMessaging/Views/OWSSearchBar.m index 3f9f66be3..2dec4dd31 100644 --- a/SignalMessaging/Views/OWSSearchBar.m +++ b/SignalMessaging/Views/OWSSearchBar.m @@ -5,6 +5,7 @@ #import "OWSSearchBar.h" #import "Theme.h" #import "UIView+OWS.h" +#import NS_ASSUME_NONNULL_BEGIN @@ -56,6 +57,7 @@ NS_ASSUME_NONNULL_BEGIN { OWSAssertIsOnMainThread(); + UIColor *foregroundColor = Theme.placeholderColor; self.barTintColor = Theme.backgroundColor; self.barStyle = Theme.barStyle; @@ -65,6 +67,22 @@ NS_ASSUME_NONNULL_BEGIN // (regardless of our re-setting textfield.backgroundColor below). self.backgroundImage = [UIImage new]; + if (Theme.isDarkThemeEnabled) { + UIImage *clearImage = [UIImage imageNamed:@"searchbar_clear"]; + [self setImage:[clearImage templatedWithColor:foregroundColor] + forSearchBarIcon:UISearchBarIconClear + state:UIControlStateNormal]; + + UIImage *searchImage = [UIImage imageNamed:@"searchbar_search"]; + [self setImage:[searchImage templatedWithColor:foregroundColor] + forSearchBarIcon:UISearchBarIconSearch + state:UIControlStateNormal]; + } else { + [self setImage:nil forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal]; + + [self setImage:nil forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal]; + } + [self traverseViewHierarchyWithVisitor:^(UIView *view) { if ([view isKindOfClass:[UITextField class]]) { UITextField *textField = (UITextField *)view; diff --git a/SignalMessaging/utils/UIImage+OWS.swift b/SignalMessaging/utils/UIImage+OWS.swift new file mode 100644 index 000000000..e77a27e7b --- /dev/null +++ b/SignalMessaging/utils/UIImage+OWS.swift @@ -0,0 +1,30 @@ +// +// Copyright (c) 2018 Open Whisper Systems. All rights reserved. +// + +import Foundation + +extension UIImage { + + private func image(with view: UIView) -> UIImage? { + UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.isOpaque, 0.0) + defer { UIGraphicsEndImageContext() } + + guard let context = UIGraphicsGetCurrentContext() else { + return nil + } + + view.layer.render(in: context) + let image = UIGraphicsGetImageFromCurrentImageContext() + return image + } + + @objc + public func templated(color: UIColor) -> UIImage? { + let template = self.withRenderingMode(.alwaysTemplate) + let imageView = UIImageView(image: template) + imageView.tintColor = color + + return image(with: imageView) + } +}