From e2f741290d2c09f52dee8ce6308d6b6cfd4c18c6 Mon Sep 17 00:00:00 2001 From: Michael Gordeev Date: Mon, 24 Dec 2018 20:02:32 +0300 Subject: [PATCH] Added live tiles and corrected tiles' icons Related Work Items: #213 --- FoxTube.Background/BackgroundProcessor.cs | 16 ++ FoxTube.Background/FoxTube.Background.csproj | 2 +- .../{Notification.cs => ResourceCreators.cs} | 182 +++++++++++------- FoxTube/Assets/StoreLogo.scale-100.png | Bin 1038 -> 1038 bytes FoxTube/Assets/StoreLogo.scale-125.png | Bin 1220 -> 1220 bytes FoxTube/Assets/StoreLogo.scale-150.png | Bin 1485 -> 1485 bytes FoxTube/Assets/StoreLogo.scale-200.png | Bin 1809 -> 1809 bytes FoxTube/Assets/StoreLogo.scale-400.png | Bin 3740 -> 3740 bytes FoxTube/Package.appxmanifest | 2 +- Src/FoxTubeLogoPadding.png | Bin 0 -> 19100 bytes 10 files changed, 133 insertions(+), 69 deletions(-) rename FoxTube.Background/{Notification.cs => ResourceCreators.cs} (57%) create mode 100644 Src/FoxTubeLogoPadding.png diff --git a/FoxTube.Background/BackgroundProcessor.cs b/FoxTube.Background/BackgroundProcessor.cs index 51ca404..97ca597 100644 --- a/FoxTube.Background/BackgroundProcessor.cs +++ b/FoxTube.Background/BackgroundProcessor.cs @@ -4,6 +4,7 @@ using Google.Apis.YouTube.v3.Data; using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using System.Xml; using Windows.ApplicationModel.Background; @@ -57,6 +58,9 @@ namespace FoxTube.Background try { Dictionary subscriptions = JsonConvert.DeserializeObject>(await FileIO.ReadTextAsync(await ApplicationData.Current.RoamingFolder.GetFileAsync("background.json"))); + + List results = new List(); + foreach (var s in subscriptions) { SearchResource.ListRequest request = Service.Search.List("snippet"); @@ -67,9 +71,21 @@ namespace FoxTube.Background SearchListResponse response = await request.ExecuteAsync(); foreach (SearchResult i in response.Items) + { + results.Add(i); + ToastNotificationManager.CreateToastNotifier().Show( Notification.GetVideoToast(i.Id.VideoId, i.Snippet.ChannelId, i.Snippet.Title, i.Snippet.ChannelTitle, i.Snippet.Thumbnails.Medium.Url, s.Value)); + } } + + results.OrderBy(i => i.Snippet.PublishedAt); + + TileUpdater updater = TileUpdateManager.CreateTileUpdaterForApplication(); + updater.EnableNotificationQueue(true); + updater.Clear(); + for (int i = 0; i < 5; i++) + updater.Update(Tiles.GetTileLayout(results[i].Snippet.Title, results[i].Snippet.ChannelTitle, results[i].Snippet.Thumbnails.Medium.Url, subscriptions[results[i].Snippet.ChannelId])); } catch { } } diff --git a/FoxTube.Background/FoxTube.Background.csproj b/FoxTube.Background/FoxTube.Background.csproj index fee00da..41111b2 100644 --- a/FoxTube.Background/FoxTube.Background.csproj +++ b/FoxTube.Background/FoxTube.Background.csproj @@ -108,7 +108,7 @@ - + diff --git a/FoxTube.Background/Notification.cs b/FoxTube.Background/ResourceCreators.cs similarity index 57% rename from FoxTube.Background/Notification.cs rename to FoxTube.Background/ResourceCreators.cs index 4071a4b..0fd4c6f 100644 --- a/FoxTube.Background/Notification.cs +++ b/FoxTube.Background/ResourceCreators.cs @@ -1,67 +1,115 @@ -using Windows.Data.Xml.Dom; -using Windows.UI.Notifications; - -namespace FoxTube.Background -{ - public static class Notification - { - public static ToastNotification GetChangelogToast(string version) - { - XmlDocument template = new XmlDocument(); - - template.LoadXml($@" - - - - - Changelog - See what's new in version {version} - - - "); - - return new ToastNotification(template); - } - - public static ToastNotification GetVideoToast(string id, string channelId, string title, string channel, string thumbnail, string avatar) - { - XmlDocument template = new XmlDocument(); - - template.LoadXml($@" - - - - - {title} - {channel} uploaded a new video - - - - - - - - "); - - return new ToastNotification(template); - } - - public static ToastNotification GetInternalToast(string id, string header, string content, string thumbnail, string avatar) - { - XmlDocument template = new XmlDocument(); - - template.LoadXml($@" - - - - - {header} - {content} - - - "); - - return new ToastNotification(template); - } - } -} +using Windows.Data.Xml.Dom; +using Windows.UI.Notifications; + +namespace FoxTube.Background +{ + public static class Notification + { + public static ToastNotification GetChangelogToast(string version) + { + XmlDocument template = new XmlDocument(); + + template.LoadXml($@" + + + + + Changelog + See what's new in version {version} + + + "); + + return new ToastNotification(template); + } + + public static ToastNotification GetVideoToast(string id, string channelId, string title, string channel, string thumbnail, string avatar) + { + XmlDocument template = new XmlDocument(); + + template.LoadXml($@" + + + + + {title} + {channel} uploaded a new video + + + + + + + + "); + + return new ToastNotification(template); + } + + public static ToastNotification GetInternalToast(string id, string header, string content, string thumbnail, string avatar) + { + XmlDocument template = new XmlDocument(); + + template.LoadXml($@" + + + + + {header} + {content} + + + "); + + return new ToastNotification(template); + } + } + + public static class Tiles + { + public static TileNotification GetTileLayout(string title, string channel, string thumbnail, string avatar) + { + XmlDocument doc = new XmlDocument(); + + doc.LoadXml($@" + + + + + + {channel} + {title} + + + + + + + + + + {channel} + {title} + + + + + + + + + + + + {channel} + {title} + + + + + "); + + return new TileNotification(doc); + } + } +} diff --git a/FoxTube/Assets/StoreLogo.scale-100.png b/FoxTube/Assets/StoreLogo.scale-100.png index 9d3b85fb2712059e871c9f9458daf4d196836416..3ab11f522a605981c17220c9e663aa7df01a1304 100644 GIT binary patch delta 730 zcmV<00ww*92#yGlIDZ1ONklso4g?kgd63lEB27{nd^h+~_`d%ca)J=+k!(wvVdD=5$!N8jPyd-CDIuN+3EdM2 zimQleTt!Ud{}AbRyD#?p{e8V&zmIA{=i-$}vs^AeACJc$cYnKGyIQUOj$~G6;3YCi zfLt#3W;UBOA=EKd$V())-EPHnIu*%eGQ&cn(WrxxGfK$UVvogQf`lL-g$jj&aS5H& zwcJ9K(0o3BiQivzC!`d?-4=(#K@O5&TtarSSkzu}N)g;~5s$~^K1q=P55lC9Q;L*I zB{|tjr6N|Vm46(Y%|_s^%j3s{bTkEDYb2FQ$&t_JWil+aUazG9l^$^{AriuQx3yaB zk2VoZa_{_YS(eCTGIEdrCFD$tOOW;maFiqtWm!r2WH+yC6X&h|dNaH?IXR`Cx^ZFCpzBPMohncxKtyw2<2C<#PEQ z<@gS5{D0T6bBz*t47BzXk}9HEBvpSG*<$w#uSr~Yhs_Omafj>r z5@56^;!J=A@Qm>-z-Uk8QUNCNM1o4dP2`CLEx<(9e!~)ALKg{JfC)_`Dgh>Nk*Ecj zz(jNjFc*tBUnO)1FlURL`zjF@CySVpfE%R?e?}iW*nSm;CE&)Z zw7x;&EfV+<$!sn_DFT5{QBCAhjQ`a2%T>fQt|F%KWJDeS^Svm3{>hEM00000NkvXX Mu0mjfvjGDQ0oQC!NdN!< delta 730 zcmV<00ww*92#yGlIDZ4cNkl|>ObfmwTfl%LDYN?|OQA zUQJF;ZmKSpmrA9cj*X2yJ32brxxKwDPEAd1#hp|u@(|_I(|^-ke}Dg6rBay#&~~+2 zE#`8$?YNU`Ms!30pmK6@qSDal=;%CtohOiSs4IXxJbkdF(geb5Wq?$-0nriUU#-X+ z4p7aZgM))@e71s;+le#bda60%eo)V$qyl-5UC^N9w#-mS1P~nwbfFK>0)Q3>baQi4 zoSvSJ6-YaRgnx7}Sw8JLpCifKkvBd*t|89P&lR4mek}<%g7O2pySs}G z$m{Lx)kzHu3@D6Qb#-;6O zYos8ym>e2f$H>TtcE&D2Ldx{B9piiDa#?^D@c^|M zzk%TZE#aD_uz^|vvBl*2`ucQG1ffeTL%y~L1_3(-M34t(t#%~?L)>x)2Hmk7N?Smi zoN}!K5r4$@tQCe>f*k7%ChwLY-NIDU*Wt_EGTvKm6)1E^8c7Dm@bK_|1LOGkm`^lK zAUG#LEV=JN?%h#G8ves|cGlV1nTEt3(hlLY&Hqby6i7FFRF2dW2Z1{<2nE12+*`)r zAkYTC;LXg;_yT$6Mv*(xNIW(%C=Lj-mLKu#cl6=!E>9{{yIemgBGL5jVFD4_HT zI5})wTwK%~N<4_4IOQ<53k;Otd&Kju1ffh{ucHKC?(OaUO+>Q?k@PWhMXciY687n? Me4fZ=vjGDQ0sa|TnE(I) diff --git a/FoxTube/Assets/StoreLogo.scale-125.png b/FoxTube/Assets/StoreLogo.scale-125.png index c3c56109d32dc306746314cd8976203c54008afa..cb504c8f137f23c4afc98d5133a12b6154abcc99 100644 GIT binary patch delta 848 zcmV-W1F!tV3B(DIIDZ2uNklU279LZQ%)YPI@X#-L>BMRE5-`vNNPjfJ)ZK)Oy1ktVI+nv#Q{90H5#3C1WS+M(L5Fe>g5PepIN!5C&|}iA zCkVk83I!t?jei>9aG1fN$OJnxbm<8~@G!qKpi-%1ESF1Tu~@Kx1rNn=hagz7!v zteVGvK9NYUK&@7*y%A{2F(Xd(1TgS@rBeClAd|4JYIs-*7@16l!Jz^3`J5dwE2u~C zVN(uwaNYtVn_$9!r@%zy*sd-Ti5SUbk_AHZ<$)P;n12<#3AtR(noK4Q*(SKMrA4@S zJkA1z@MH!a`KE~(0_pFG2~zg+R36wkF$3(%0}bL$z{UtBJh^Ft^qU!c(@So>gr#1Yg&?GJ4uZ1RQ z1@9CzNeg(Vp-D=^!|DyYx8u+xCE@9xhE0tt&?Kec-AeCcQUYE!G|5wVub@euzkds4f(O_l z-b4+(6=;&sv$t^g3h@BY-`yXQJPAE}3x~H7#v)xx?CQKy0Pj}?@P1VQ?^pR6{uu>> aYsu-sK@tD}002ovPDHLkV1l!D15N?5zmwPi delta 848 zcmV-W1F!tV3B(DIIDZ6ZNkl#*-qO)7=;a(H37mF5Er~e?|a22u+;Y=H8H8<0RfW(#Y8}-|_#S87Jn^(a~qqG(Q!K#XaMd z$;7Y8jk2`|EnyiBlzF|{T%g%>rc1P0?_m=g^{zTrh4ChXhokQx(Oh8MY*um}?t z(`15)2`h+p<$q?v{r$Z%;r8~nG&3`kSQE^?zCHy&6DZ#1XjN_|^!D~jB`_1d2R->t zWnxka{Oan;xW2wNZf39*~d5O|y@E^^f1o+H>N}1die1VO0fE z6+H63{#q|HoF9rScVD9Fkz3C026+8Oy!rS-8XXL{r&xFPM=Mts0P9OtR77&fte7v38BF2B9z`9 zgxA}{ZBOB5!pX_WE?!#-(uC0A8@|vEO?^+Hw})O84ii>k!YV3Z*Up5FO^6&`m)|`F zk71Y)E4(g0dkVG)%3o!QZURhM8y_G4-RgHH27lhEW_t?k5S0mqLP42;`#a2pVzKDk zgv7$@^4e2y$H3dLVH+PEq3bldTDNM?%9M)!8^sOpln0< zheWJ(etyoM+BXrTUos8vCbY*}w80;=$lj}g2W%OKO%8-*m5*f}9?RY_4x7k>4J?^e a{khD-3p5gc6FbI=+iNlhkMgs215N?t%AS1y diff --git a/FoxTube/Assets/StoreLogo.scale-150.png b/FoxTube/Assets/StoreLogo.scale-150.png index a541ede6ac4b98ac4179ac58a87bc0026c7a928f..8b8b63b2ea052c5bd0e241a0da47cf21c0b54582 100644 GIT binary patch delta 1035 zcmV+m1oZpO3(X6VIDZ4nNklLzcGW%tV#5N71R@p?a-ruRaoVXBr#{4E&)D-xBU_M!@u&aH92=+yp2XDi zo`6euSpvK)0bZ5>FH3-zCBVxP;AIK$vIHcS_4xQ$tyC%_lYf)3oy4-v&(B|8TwJ`L znVEUJzP|p+|4&a*ZA%(n69JQhA=xw{w@4 z$&=E0y{^Xm{JcsSmn#NDMpI|2w9FqX7WFg&88Xvvh>tJTBp-d zf|r+x3Eo|=udkI{)6$%grK4{WdQXSjFeH%HKO?)Rld^Qi^>h%2 z^ic{!N?v$*d3l06f~~EssgmZrtSDTr0K#}9pnsB8Nh6WZmR2}fIuM1#fv2(!=``$i zyDDjCXJ@C|+uMW5pYoSN%ZdX@qeDn*+X1b4uc?%WN#0jVStRHu9o|stJ|-0fN+pZd zuwNwSkj8P6C%jQgA&Vu^8ulznOrd3^C5b7dth6ODg_31T5>p6SPrKWZDM^gevXCSa zb$>`5`*9XO&q-NXB`JzivLK1lbX2R=GL^(QA&VttRc>)uEsM(y9XCHo$dmkMFowL# zEe@+>>3ve(a~X#fvhv#9q~t2g)^dv@7g^j)LXr&&cTzH)sVn6cM<%jdE4Mg|%F>@q zx>Rm)7`X!1%Po#nW$7Jvkt8vx$eQ*S0e`L_mG#em4VZp1X&Vw*5Y@s-*(5QEWs#Hy ztw}# delta 1035 zcmV+m1oZpO3(X6VIDZ8yNkl5VZ-kA?*hU+29i(AvPlxu^IY5SNEXHWEOioW8Yc+(rCsDX6Bc3 z&m4;w+uPf}XEK?e`}_M}r;<3vz&4%B<$l=T-(SP=EYRLG`+uZ#4PhM~A0H27v)KnX zH#ZOV_V(7&>2!i-5yDE}-rlCl<#MW}r6rZm=MyxW7<>SjlocA5=j!$Kb#ZujIQD3U z`3VcOhd_InpjlvXoY3(6?7+al+eV(K4zb1J*rB1Pt>Wcap}Asl94hTCo-f7$t!gZe z1==H^Jt8#O(|;n1Rx=hSj%c2-I8JEtMzHF~iRzHLu{d!+^9_q*g;uFl2b3kHa}uU>*?v4LNA*lw5zMD;>gHI=+F#&_eTXJ@Cty12Ly+vVlu9iks_R+YwRvVW(o`Efx(=3dV-3`1;PU0tHW zR5*g9i>1_qXRb75dHyAPnzm@R4W2HfqoYG?ba7ZRcX)JM?{c+3dknP4I-^x}H>3-r z@~g*rMSb1t-HHhK=E?rn*_%V&jRfk(4L{vR;Z^n1I>3VHLb0!_ihpd##LAC zOs5lCpjc|?qSfVE>rAHuTEnou`NbY*Iwv$do`3D@>w6#AIS2K@wZzLzXNQJ4ZJBNa zLqkKpqiKPq#%`ultB&8tn+a_iXwyNUX@_Nw+f1h}S1U9u&t?3aFKF6hsd1X=2#=R5 z?Nv0q<_lV=u*`9r>F7BOvtoqt11;28YTRZz^f2+B-rin;hQ~{?r~O;)?}!YR8mF1= z=zr))VCM7r0+w+Bm9``+%@r+@Smu~#I$o}Xi02A8F6{2^F41u7gcb`dHPrO8*{s-j zrlTFH^4Y;5d5et)d7 z%%Q5I$bR=6aL>=q&i=;pb9lUxV7Ua#^M5<^xgi{;6D*qm=mUCM3FF2q+#JN$gapeJ z0DS`IG^i?3#8W^TNEM&z*=X<=c(GZH7VSd1ilQe8-#$YG%;eN=jqFG!roV6!j; FodF^A22%h4 diff --git a/FoxTube/Assets/StoreLogo.scale-200.png b/FoxTube/Assets/StoreLogo.scale-200.png index 2fe564ea5158c5a6dea79b0c68b9e2f4cd251974..4e8cf4769deff115a44a0e070fcb09c8ed3b38db 100644 GIT binary patch delta 1213 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 delta 2356 zcmV-43Cs4J9h@DIIDZZMNklo_^n|shEkH9>}NO_wBcPlAD~Ie6Opk>u7&}|8G+Wp??R;(c_u!?(XfyV(}06 z?%f+38XEeY>VrZ^mvWg*W~Njs4R&^RZllk)0SZDtmb-udewrSs`T6-&I-O4S^z>{? z2`JTS^}yP-Yu{6SkO-+N=l>)O%GA`dJ*Z8Gy2tp4wU{6h5Qp z_hUpsE)@zy27f5X_38qV`Jwdo_HLy`{8pNJ@nRlp6l8S`0g*A3xw$zBWg7wE#r&tV zm>&ZaWMfSMkp-YUMo=E35#>`cqF^zPtf?g+GC)DL*A@_2EhzN){(*sk52E-U2&pI% zAhJ3m3ZL}?6l7eH0+9g6#WmWVN7FDwX}i!^0n{K0f4LS^<%TL7~Mwk0^kG5=~1WGC)D9(;A2jP>`yO03u^3 zv$M0QOn)ZhK_MUv8tA|HMMlhl{6oAx7jwpcQcDZ}^?xpy_KMeds zfqxz>IQ5c?d4lpGUp)*cc9-k#?@vi2^cU|v$v+6d^3(i_d4lrH-Me?6nVOp7HVd(1WO5M40Cw2SwZSN!f<$FI69KigT98r8wo~1vlX92~|me(Nsm%U=e z3h%)&5XQm}{%4v_c+UgN57mRh`zSQ^0)G?>s<}w-=;-hst5&V@aLCbxAN;vov$&4M zznB+mlw~Nqk1{kg^oi9UaA4FAdV-Vt>V2doFS+X7fUyUlWh0ekk<1w-<}Wcj>k78y+71 zqv~UHIW2(rb9K)p1j_UDx}T>J&>gF>(O7c`>$ zN%b+hl-59kHL~Zz*#M^2h*BsNe#5^N7*LYQC?Ni7?YS@-e%LY<3qtAZ>wkM;adGhl zg7OYMKL#lAW-JhYVN)^xLf?jqD1he&MS}7opv0RMK!OGLT!IUIlc!>}pcIS6 zclh-1$jHc_RUe~GSqa1+PsKVrJG}>I%brU;DB|sk{-XLAZOD2c!ED=esW!7C zZR8vff5APM;N>qSE%X5;o`0MM;*Wp8{8KUio(p3!<>JaZQ?Iwhn{)$869Gt#Oy6?} zf$|bTd5K1px9Mwu(qI76Kql|G)Ph1I%3Jh0`08OmsS|)SnW=j&Ay9S@lpTOlKLBYn z)An2drMUnk!c5w8sRxB{^Zh7)ReFG$1RybH!k$YQ6gsXQw3vU3-+utlbtnLmP`cme z;)lXh#@^muZ$xn&3V{3r@WV%1%12ol{d&Z-`rgt%d?18pl7Ja-kpg-eO7a zxyTWPMi2?*<#M_FvVZMR0K}le_FVjHmn8OF9s-4@UVn?_8!HMx3{CZ(OArbz=3k~Y ziU&o!Q{>+x|E3B85KB_E=Mp^Ym zec3oD0OD9l-RDwgG5FlwGA#X_qNb0DlB|#eJVk7!(>&JSe;~ zzi!<+EujDi3a#Fr3*%{Zba}{#!fTX&#Pyn52|&<8i(}8F78F|CpIcg5;t@p)C;)<* zF3LTZAe5e-p565MZW>X}iK&-TC;)=mD(pU&R(^47$cVC=Mif3h{ATKh)5A)j00@e# zuwUHT?4C;iN`FR7y>^NX$FZcL00@e$cJ^FCpm-ySSj>+n1qDD*BDK2b5&~t9JnKdO z-FVz<6aYbq*UFxYDkuPgl;_`b@n2k7YtJPJWqy8s4?%fNtWo|M>9IxmKSQY9f)`iT z+jH@s^;)%R6+`hx6#gBKYuB#57{&1b2-3Pn_FVX*9Dh-KP~N2HC))juTL6NLDeOKM z35G`(eh>@~N^fuPuEoX0U4=s79RJ3xR!0;7K}P1EiiPdDFcdy>*5BX1yId~s6jQIU zW}yHGvZ7jhE;QZZ(I!hH$}4>J@XebyU#EY)VJHBCtjoXW!bvQ&mdSQ?b-gk>JIhec z@!J)xUw^;8E))Pk))(A!S-pC7mOkG*Jw3gfq0m}o{EQIRHV2~GvFR&Htl diff --git a/FoxTube/Package.appxmanifest b/FoxTube/Package.appxmanifest index 3a8f43c..6223f4b 100644 --- a/FoxTube/Package.appxmanifest +++ b/FoxTube/Package.appxmanifest @@ -15,7 +15,7 @@ - + diff --git a/Src/FoxTubeLogoPadding.png b/Src/FoxTubeLogoPadding.png new file mode 100644 index 0000000000000000000000000000000000000000..5a80f211a6e1cc5918588f3b681a32079463afe8 GIT binary patch literal 19100 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