From fc2b27c3b4c4968896cfb0f05def76874f6a0ea2 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 11 Feb 2020 19:55:31 +0100 Subject: [PATCH] create pdf overlay for pdf thumbs --- art/ic_received_indicator.svg | 76 ------------------ art/open_pdf_black.svg | 55 +++++++++++++ art/render.rb | 2 +- .../persistance/FileBackend.java | 1 + src/main/res/drawable-hdpi/open_pdf_black.png | Bin 0 -> 1499 bytes src/main/res/drawable-mdpi/open_pdf_black.png | Bin 0 -> 1168 bytes .../res/drawable-xhdpi/open_pdf_black.png | Bin 0 -> 2247 bytes .../res/drawable-xxhdpi/open_pdf_black.png | Bin 0 -> 3076 bytes .../res/drawable-xxxhdpi/open_pdf_black.png | Bin 0 -> 4626 bytes 9 files changed, 57 insertions(+), 77 deletions(-) delete mode 100644 art/ic_received_indicator.svg create mode 100644 art/open_pdf_black.svg create mode 100644 src/main/res/drawable-hdpi/open_pdf_black.png create mode 100644 src/main/res/drawable-mdpi/open_pdf_black.png create mode 100644 src/main/res/drawable-xhdpi/open_pdf_black.png create mode 100644 src/main/res/drawable-xxhdpi/open_pdf_black.png create mode 100644 src/main/res/drawable-xxxhdpi/open_pdf_black.png diff --git a/art/ic_received_indicator.svg b/art/ic_received_indicator.svg deleted file mode 100644 index 43689c267..000000000 --- a/art/ic_received_indicator.svg +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/art/open_pdf_black.svg b/art/open_pdf_black.svg new file mode 100644 index 000000000..0fa22285a --- /dev/null +++ b/art/open_pdf_black.svg @@ -0,0 +1,55 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/art/render.rb b/art/render.rb index 898ddbaa0..a8f8a6243 100755 --- a/art/render.rb +++ b/art/render.rb @@ -23,9 +23,9 @@ images = { 'play_gif_white.svg' => ['play_gif_white', 128], 'play_video_black.svg' => ['play_video_black', 128], 'play_gif_black.svg' => ['play_gif_black', 128], + 'open_pdf_black.svg' => ['open_pdf_black', 128], 'conversations_mono.svg' => ['conversations/ic_notification', 24], 'quicksy_mono.svg' => ['quicksy/ic_notification', 24], - 'ic_received_indicator.svg' => ['ic_received_indicator', 12], 'ic_send_text_offline.svg' => ['ic_send_text_offline', 36], 'ic_send_text_offline_white.svg' => ['ic_send_text_offline_white', 36], 'ic_send_text_online.svg' => ['ic_send_text_online', 36], diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index a7a5b470b..906277cea 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -926,6 +926,7 @@ public class FileBackend { Dimensions dimensions = scalePdfDimensions(new Dimensions(page.getHeight(), page.getWidth())); final Bitmap rendered = Bitmap.createBitmap(dimensions.width, dimensions.height, Bitmap.Config.ARGB_8888); page.render(rendered, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY); + drawOverlay(rendered, R.drawable.open_pdf_black, 0.75f); return rendered; } catch (IOException e) { Log.d(Config.LOGTAG, "unable to render PDF document preview", e); diff --git a/src/main/res/drawable-hdpi/open_pdf_black.png b/src/main/res/drawable-hdpi/open_pdf_black.png new file mode 100644 index 0000000000000000000000000000000000000000..a94935defb100e0a2523a787a966f180b035bd3d GIT binary patch literal 1499 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalEX7WqAsj$Z!;#Vf4nJ zl*xcF9gP2NHH+5MtHh7 zhE&XXd-r^IXsN{UkKcbJ?-HEVD>&s#<#9xrVxTts(kdZ?Bxm!|6I{q3qj0-u2A4 z7r8skW9XZZ-hJ)9Qh`Yo%ab1qr7!vwt(#xIlM8P}L@#1b;c(zeX3#pz z5HgE#g$Z*&CfkBbJPu1G8@!Aerlye~(fU7jTIi1zkJoSa*xi2B@0M;&97EZfhp$6# zm+$Yt{_}PDs(!|jT%JGsKD{@8ApJn~LGCU7*e!2$df!!!{^2yu$?ENY<5QdWOwEyhRxMezp<|}QD8HeEeMRh zmR;!#mvtH5KN4KvXw-00tfBnF*8d5i7J}QNlpomId@{~p`>=rZf#?I@nw!QIY#09h z`N4O~b6xY6>DF>@H5WNC?ERJF<<$J|-%qs&XhelQv~?(pTQ6`Ty&>`AhPQKg5+e4* zCHk=$=*-(XZ!#lK`*rO#O>n9i$eYCYWj>HUBVFyH)oNNk;0R^C3&FtQT|a&n4lW0~Sq^_v|6p05T6JRYCRT<5Sqn}Z z_BTBD7UjjT*r^_zdH;7R55ohow-;U*ebA{a&)TGVOZwh=&ksB2x1TJSej;-lqkH4w zEzxaS`wib({4W&xcWr;TJkyTsiDmQe)E>CJ<@YnYzVmz+r)A`4t-oY3f# hbb>{hisz|^@z*_OaqB#^hzAzL44$rjF6*2UngDDfhUowR literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-mdpi/open_pdf_black.png b/src/main/res/drawable-mdpi/open_pdf_black.png new file mode 100644 index 0000000000000000000000000000000000000000..0d71916039ede875b460caf1bec480bd4df1f244 GIT binary patch literal 1168 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf4nJ z`0WK@#^S6D5ul)CiEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb2=vJzX3_ zD(1YsYu_IdDslXyzRoGB*hmLwotO-k#+0SXQqBuI10;G|dl!BP{h^do%V>5iNH}@3 zsD@b7yD|qKm)>=Tfnhw6Cl$ofOe>)kQARED4 zw>EG?7{fgFxWoK)QOXa5ADn*SWNJ4dypj9BJ+7^7N%{ps6&yR{A~mcS^aJ>QXFZcB z;QnE^%Hc`2-mO0jH!?QdO+FxeAoGFF<-6+N{hF<~4+w2wnsald zd8W`=wx_kGTe)K9B>r~$Rd)T|d+YW24c-T&4-_+&zGE^kkCQ%d`9So6hYe9{UwsZg zko&;-K{wadea!cm>sAGCP#c z_t*V!)cd}lx0k#Y@tszf`P8O};z9IS` zX6e2^i&r!5xR@||oxkV(MK|>qENuHCTCn9U-xW%?bgMH zFKzxitnItAel=r6Vug0E-sOYepOmK;#o97mxsr0v;l!@JxgR(#oGH33J42j#L-pwc zlXJ_H;&=|co4a)G^0lo747-bGh}CWCO<`E}UE_ne@z5eEMefB1^hc1DP zKXg~zJ>&E(Glapc`PNyTl=*I~544`Hl%CZu2uXR{8ow^sW*nuS5hGeDw!zJFU7GQt zH>U+Ac5CMaUpr6X&sn45_vO_r`+&4dGTiHoL#8*Jp2(V|v%X4p2dho9_`GGN zOm<9m-FhL#+fF+^ut`1CVLa)WbRb(zc1V?$r}X8yVvWKF1W(2Me#32ZZ(+@i*;9gT l*Dvxy%8|g_nOXjiDQbDavbn1=C4i*|gQu&X%Q~loCIExf`)&XL literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xhdpi/open_pdf_black.png b/src/main/res/drawable-xhdpi/open_pdf_black.png new file mode 100644 index 0000000000000000000000000000000000000000..755a14e85a95f735a465ccba893be60e364aa47c GIT binary patch literal 2247 zcmcImX;f257Ot0s05KREWJw|c#3fN#1ZfB)686PGRuvH>2!en>2nb;_FO4Dy0!mtG zG(lOE78y4d9kF>fE-j)EL{S*wsZA3R5iuxRWa6CpF=zhFIelj8RGoXjujt`1LU=gG+Vs4%SeO9F6D#71rc=?MMYclKpK# ztg4JVDw3S$9+DQ69Fvw2$=?GqGBPaUk`hv*B6)i(lKHWxCRh{zG~B%1oP!0Y-@l9~ z4c|(JKgJG3Iuthr4F=?C9F_F?9QEy)Q?I>EJyv08fjAkgo@2~t56yl@^bJnhSV?Iv z+~97ya`%dZ;_9GU(_tP7d z6ga}kSki_zGs@H0BYf*jDgQXnJpHt+i3T$|cP$pl^5~MAa4zytmRDRo4OlMBCzkHl z%lSCormV8}@l0@-o-HKJ>%BGMLDvo0zom~C(72~!L?2`m3zQN@C$m0WmbcHd!4nMQ zCXUivLhUy1NSTXQnCyJ|nwBQL`kUv42YKSeYYcNd8acq`%Xq#|P|df`Fqg}(YP(*L zrTA!6%0j_J2Q@qR60?)9h-uP?&16`wQ+wm7iRM7PM!oF&D~4=jThlUlkRI`e>C=6p z{Kr@oQeGePn;vw2vF%h(AebniamMO@N^GtJ8*lUlGHkCkwk!h%i}iX^Y+0}q)?`%- zsJ%mk#T8JQjtvOhjpz7u0k1+bU~KpwZ(jUqc!P1CfvB9lY4|;ogz6&aMK#DTnyl_} z-I?U1XnX}$AI^q5#Qopf{xQn*o}E83m5YX;pT4XP0&}0+r|<7XHY1l9$tMnr<}ss` zyUo-0SE0s;F?fq9{9TD0;WPNtyHa;llPi?Fy-CruS7TvW_#BJ$<%x$z!S3~t z6aKLW$=c(j=sX+&HQc^dZ-&(#T|23Z-jF-r8}}3UPaja244j4vnh6U!GdmR~QR(_K zLnv3yc(Dy3W2bcf(#cV6mUVXUd9+ATy!hNN%?^HBG z?S(WKstwpbYjjyhMM!GGru`2QIpHTnCug#CW7!sF~9EZ-V{^zYMRQANysq*{1&M!nif3mY98= z#Ucy#_@5<^d;+6XHa$;dv%CEzA`*=8NxTe&c4r6Z8F1Ux}QRn||{;B*+_?E8Q5YoxF4g zveIQ2Oru5W(!OG!f602!WG+M_&wd)Ygj_r$32k0+tJe@}KP zuCJWUE*%U##KQPT#Ha*$M1<#FE0^k7gRzHe{)Md`J=+#=VGW*>Yk%a6Q}6>&Pl_m^ zaav=*#yEBQaPAob8Tj@tn+#EC4^%)sE7^pcwOJa8U0`ou2^3NE&pg?yQ-T@3dx_N` zeRs_^i3AP*YA4hs!uR%AjvO3TWkNs(o>MbN-*ahEFKqnDa_pJLin9yHW%udr(K!eC zlHm@eN3+5pgV-((O0?H(Gi19N>{9!Gzu5mM1fc|ES`O8gY^zq6U#J6Z25h)5z-BOh zGc=Q|0D+#5_BEKRp^04EER8tb2IQ{X^l$MDux_KmXr>|BD} zP(|`>qkJo1`tWvmoy^sXdfg?;@#kk4o{_**6#^?fdu4iUqZ&YoT9W7h$~weG=DKfd z5fp-#sxEa7b_!~Fbgsz|z)z47xoPeGhvLMm%tk!Ab}}f;uvUM6SpO%)l5PxD+8zWK zq1gV#%(AH~oJ#T5&d5auMfj=13d8HjME9fGR#a9|ejHhF1Ty!az8>NmOzuaWxefw- ztq#J7!(tqTJ=lKC6p!X-qB!32iX~F_#H^E7Tb(*M{SqP**p1^#E;{Lp)CR&A&pZgN z%lX))GjdLvy0N82*kFxA^UjHsND>$Cv^u)gg?UkUcPB0hkpQ#611ZL literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/open_pdf_black.png b/src/main/res/drawable-xxhdpi/open_pdf_black.png new file mode 100644 index 0000000000000000000000000000000000000000..952dc093214598f86f3d98f9e8f05e78f62fd6a8 GIT binary patch literal 3076 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 Df*AO7 literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxxhdpi/open_pdf_black.png b/src/main/res/drawable-xxxhdpi/open_pdf_black.png new file mode 100644 index 0000000000000000000000000000000000000000..361414e893e650b61250dff50fa5af0adc617e6d GIT binary patch literal 4626 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