From 0b27456fcf8edcecaa7935232f361d4bfc5183f4 Mon Sep 17 00:00:00 2001 From: shabinder Date: Sat, 25 Jul 2020 19:04:39 +0530 Subject: [PATCH] App Name Set To SpotiFlyer! and Separated Download Directories.Ready for release! --- .idea/dictionaries/shabinder.xml | 4 + ScreenShots/HomeScreen.png | Bin 52269 -> 59367 bytes ScreenShots/Playlist.png | Bin 79428 -> 0 bytes app/build.gradle | 27 ++++- .../ExampleInstrumentedTest.kt | 22 ---- .../spotiflyer/ExampleInstrumentedTest.kt | 39 ++++++ app/src/main/AndroidManifest.xml | 23 +++- .../musicForEveryone/utils/BindingAdapter.kt | 21 ---- .../MainActivity.kt | 33 +++-- .../SharedViewModel.kt | 13 +- .../downloadHelper/DownloadHelper.kt | 29 +++-- .../fragments/MainFragment.kt | 36 ++++-- .../fragments/MainViewModel.kt | 5 +- .../models/Album.kt | 0 .../models/Artist.kt | 2 +- .../models/Copyright.kt | 2 +- .../models/Episodes.kt | 2 +- .../models/Followers.kt | 2 +- .../models/Image.kt | 2 +- .../models/LinkedTrack.kt | 2 +- .../models/PagingObject.kt | 2 +- .../models/Playlist.kt | 2 +- .../models/PlaylistTrack.kt | 2 +- .../models/Token.kt | 2 +- .../models/Track.kt | 2 +- .../models/UserPrivate.kt | 2 +- .../models/UserPublic.kt | 2 +- .../recyclerView/TrackListAdapter.kt | 16 +-- .../samples/response examples.txt | 0 .../splash/SplashScreen.kt | 6 +- .../spotiflyer/utils/BindingAdapter.kt | 38 ++++++ .../utils/SpotifyService.kt | 4 +- .../utils/YoutubeInterface.kt | 21 +++- app/src/main/res/font/amita.xml | 24 ++++ app/src/main/res/layout/main_fragment.xml | 114 +++++++++++++----- app/src/main/res/navigation/navigation.xml | 19 ++- app/src/main/res/values/preloaded_fonts.xml | 18 +++ app/src/main/res/values/strings.xml | 19 ++- .../musicForEveryone/ExampleUnitTest.kt | 16 --- .../shabinder/spotiflyer/ExampleUnitTest.kt | 33 +++++ settings.gradle | 19 ++- 41 files changed, 455 insertions(+), 170 deletions(-) delete mode 100644 ScreenShots/Playlist.png delete mode 100644 app/src/androidTest/java/com/shabinder/musicForEveryone/ExampleInstrumentedTest.kt create mode 100644 app/src/androidTest/java/com/shabinder/spotiflyer/ExampleInstrumentedTest.kt delete mode 100644 app/src/main/java/com/shabinder/musicForEveryone/utils/BindingAdapter.kt rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/MainActivity.kt (91%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/SharedViewModel.kt (88%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/downloadHelper/DownloadHelper.kt (85%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/fragments/MainFragment.kt (89%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/fragments/MainViewModel.kt (89%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Album.kt (100%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Artist.kt (95%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Copyright.kt (94%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Episodes.kt (96%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Followers.kt (94%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Image.kt (94%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/LinkedTrack.kt (95%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/PagingObject.kt (95%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Playlist.kt (96%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/PlaylistTrack.kt (94%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Token.kt (94%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/Track.kt (96%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/UserPrivate.kt (95%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/models/UserPublic.kt (95%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/recyclerView/TrackListAdapter.kt (83%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/samples/response examples.txt (100%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/splash/SplashScreen.kt (90%) create mode 100644 app/src/main/java/com/shabinder/spotiflyer/utils/BindingAdapter.kt rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/utils/SpotifyService.kt (95%) rename app/src/main/java/com/shabinder/{musicForEveryone => spotiflyer}/utils/YoutubeInterface.kt (73%) create mode 100644 app/src/main/res/font/amita.xml delete mode 100644 app/src/test/java/com/shabinder/musicForEveryone/ExampleUnitTest.kt create mode 100644 app/src/test/java/com/shabinder/spotiflyer/ExampleUnitTest.kt diff --git a/.idea/dictionaries/shabinder.xml b/.idea/dictionaries/shabinder.xml index eae09e67..16f2713a 100644 --- a/.idea/dictionaries/shabinder.xml +++ b/.idea/dictionaries/shabinder.xml @@ -1,13 +1,17 @@ + flyer moshi musicforeveryone musicplaceholder shabinder singh + spoti + spotiflyer spotify spotifydownloader + spotifyler \ No newline at end of file diff --git a/ScreenShots/HomeScreen.png b/ScreenShots/HomeScreen.png index 48da7f45aabba229c22eb3170b027aa1979b172d..0804cea72beebdb28a9c26162094351ba5ad9cf2 100644 GIT binary patch literal 59367 zcmeFZcU%-(5-;9lB`ctSz<{9SoCJX(ND>jrL6RU@lH@o95y=@9NrFfQk(?DIspK34 z9CBuWAq>Ot8ol>=@4nr)yKncs-|vq%e46g*KHaCPPMuR#->RO|vC~odM&OfwpF$WuMgPZGPuyX*wdI%mDcT~#~!Xuu3($av-ajrkI#;$z+(yfM{Z|*oqf(ICbn?U)&%!@ z;6?|y02+WIAPXM6iroH;@2;6Z`9&*-HSZ4gmn_iC^bfG68_>2>?{}Iz4#& z;0H0d;D2mOO90r(1ppF#0HEjt0K)sf6Z-4kUt{qPcx43dp#%AJ1plmnM}P&u2q*&% zfH}Ye9ti+^06!pdItj=D=kW0f@bS(O5D=U{e~yrtl7yIuh?wRg1sNqhErfxdmX3~* zg@={#Di<>y9h)dS7azZnkPw7bO!9_+1dpJQz}Z8v&YwR|OhimgLP9OTM8_oXZ+}id z02j{T0oa>3SXTk;3s^W8uueY#5ODnPK)pUw?cY9F*f_X&_yp(96B2<9D#-zCEF2tc zTpT<+Tu^vee&BTg_X6HUCVm-w3iSsBSDh&Z0^?qvW0o!ZNTt!g%_3;_IOsg#rOVVb zwAZe)vaxdr35$r{5EGZXC9j~UqwRJ76pW50xI=em(3=R#CjE;>@e234? zFDx!CudE_=cK49`2Zu+fGrq6@oS$s{!P(#NbphlH8y6P`m*9*qENl;O!?}Qq$Hb3+ zQAVBMfiuNbfxvT=vT?7=KAvY5)Yzsnd)!ZWiACu9HN+WfKREl>7z_H};_MH`e(^N{ z5aVEhgNJhgfC5LDaJEeB|F`}BR0fswAw$iNFLmTo_bwTTq+c3#R4}cImnJ29enm>E z20wtGt)zq(Si4x_8%F6Zjt4zNQ1PNUi_K{!vN5SO4^6bx+y zJf{5L>E5Fd#rs$K>W5D*|DPj26cm|B{~z2L*-qp*IQthxIae`#=}cLMllJIY|i+Bjn6^ z{!zTa%DO7)*UK^kpK2(V>^ z|3@49YR(IeAmtk$XmUT|J{Nd4M8LOJnb7aZ*_LW&b`?CwJ>-$;*-i%`pED zbm=kQRpoRtzJy;kk4(Co=^gK>jx6bx;LSXA=R=KT2C1I{T=wrw5N2e{P}*kFoPxvH zG|raftkye`Nj_0E^xg?W8J|*?U7LXw@!MBk?eIDTOzlq5r2T+RvV)yNB3`4eO zLLvh$ge^ptb#BtUSDclDaj2U>^WvPkN|* zu4$BmyXQK6(w~%ZNQ=N;hf)Nh?&0@u=RR9t>4je;)3~4p`J8~cK(9nx{mem`0i02z zC0Cc)CXj;`NcKdS8(*fsY@SGdUgzV3QDUD2X2_bXv^S@x!5-NW**E`;Id##eTe=wY zQCRFLK)YL2U+Yj!0V&KtynXfZ6j-XrIOqq@1ACYH91~B0PWNSu$((vsgm1$sU_XU1 ztD$ffMeiqIP|!KW3=!B!^T{5pJ>cfkfvr&}LcA7Db_y83JW0!g_1UiNfe(V;890bL z1-7y=LS6%>K(8XY8*pzPADzRPdq7`+4WQ*)&C8-LM=^*J&YtHO@8(78-5lr+NQ9s? zed!o)D7t+U%8wE93p&OGdq58Q&K~MJ4sDuwncbamym6EQZ1}hOLKlUd!DnQzi_YxP zf~#p$=;7$)#ZFjM^H#Rf;BUg9m`3NPiqLlO zabICu)r;0R<-e{#%$w+7_J;oEXuHT=$XREq-6#8JEMz=vIt4O^I~JksG4D-4Zs#zl zQ($eBnm*vTV^=6-68xV@I=EhaMh?2;uz&yl7K&ub->q%aaSQUbzXp{8tT%muodPoT zF<)U(tmCC+rvOuZ%<(cT%6VMsZDfX~G<|5CH+1oLf_F-x%fdg2FOhSBdH#6DTBK+; zD9WF5ktm!&kr={ekmp? z^kfg(9@~|-6lLq!*8E{qKov&_Yk-cRb}zzO4AeGAtYKdj)Q(Zm_OjhA#W`u(C5;i-GLz^DnzDC8)fDyx4L(}OWKLO{ zHe+I<1APjBw8IDv2k({@k{$VHU@$rkY;AxIy_F6Q)Zt8B@}bqjCP$~h*>Sg(`9yL6 zFR1XV&AX=n^yJ{S@P;1b@D#|v91Ca219rJ#$QPK6-PoIa1SsuEM>;#cjFelk4Ck0> zAb}+g;lP?^o48w7+kO)DrU6q$MhTx9T$SvNwRpQ~(m)40%{VUs^d7;EaF=?g7;bQC zr28AZ6SY>|6rY55Ns@vy%ifT|6}`wDy+Z7B62V41X>gVLTRWCl7ss~yJ6!_TRZVIK zx!elPopa;$h$|GgUhg9z^H%Q&DCG6)%Hs!AOKwO~y9yfw5VB?c`&%-#ftQXDUD=kp zuHP(_tT z)R0TdCxO(sbTWyco5A;KbKZ!KTS>s>Lr6mrG$Ih^>pi^cc%UvpWb=D*9J=rURY#M3w?Mn5zW z+mtvj795rHt!{b}N;-d_f*bS{yA-b`n0%|XVRBUlzg+jZxG+^`3z%Y(!7H=9;mq>K7c*ynI*6-td>aXG@|xSqc3d?6u+1R2*eSNVrDIGPq7niY}C;RH#3EQVa4zVRub%q7{%>@iGgZ-D4!WHzn`)%pDSk6dF1 z9YaI-v4r@ZIUjrYl^R{t2*&Pxc(A5?+j~Is50S1quW6iXbUB(s(VDW5`*Fa;xgOKe zJ;p!RyGV9~dH~F@`+=74HHOklW!Yt2@lX@JT)Tk4fPnyH_sDcNs{?VuCw2nsT|9^D zZ?KdNS{e2`DqDwf7|K&XgxtINWasSaQbKp=FlZVu&?RIh{*g-RgYr$qLk%xE+yEFK zEC<>X0ba#}%wb?$_3Q9r+tZ@I+Obn{cL%Sp{pXy0&-Wvv;zI7`t%FVd-`Pbx{UX zDFd=;z{Tro4$WV}7gqkK;riR*`|Ec#+aQ&i*aPPy%K*vy(vjBF*fq7Y%1*xTWIj%$ z#wyk_j&!uXi0^IH^)5ow%zM$q99(Af&&0Te!QDlq2nRQ`@T3$Laq=x$b`Q-e-NayJ z{udQ5&P&9yc+ub8Ie&6KlZ<_6YesXJ$MGRc#lU5;buyVlV#0iR$`5}#TYvw~{&`ZZ z>}|g^MK(i$+K^_tqA3o4$7=~~TmCI2g8F$=*SD78Y)XJ@t`+3AJwXa!{5Jm2ikk9Y zf&z+dRv8e?(2gYNv#SNe5!c8499&KT?#oBvz)1Dc`kc;^DSxa_teVM(@P!3Ax{}ZW ze!~;aqKEt@#_r?7~yW8cOA5ERt3kY_FRXWhC`(cw`Wnw-j z!0R!)DiIRr#>)-^r5Rl0DK&vNTm@n`^5$RJwCvc{UW-=ldV{+-OG@c~JzG#rQW~Y@ zdJhNP0sRCMSKT<7JLUf(q!AX_fl6HccDIF{F=V(w%x7QHxc$CzUEtO2 z)?uaZp*7b71U;$`VwM!n`dO*Chg1FkzMV-zTjiZLZo&sZSJiQQt^Kmj7YSpArkybh z55;%y_6cw?T3BBlK_9m#>P-5>uQtRF?$p`cKUUswpxBa^u%PynDM5uZW(=bpGgz7F6B{5zAU0u4QL@Es4@EOjzMPl0(+d(2@bnJi)p z9m)lU4h68=q3~+-6W8x6L@<6$&jXBHG7LEk&5=RqVq^_qC(e#b(hM+lRVI@}H(?%W z!}O_Pk!vp!hWc>q`Z3hj6ORtpv{dGK_8Ge{*|dgOnr3B;b~k)Y zLKI#vDX382hfHI$O;P?lWTiX?rLSxewJ>sd)zY}vq*A4 znr79TG^u4(O0;a)&Aq06d!r%6m-fM6#WAmBnJvMT-`LTZOKM>1e!FdZ%v>Yw=fOMi zAXw&p;9ZjZ%AO}XwWT=d_R9+jbip%>>6i+vLL140KnWbLqR9?QW2X8Mma_QobGmk} zQ62($i~;&#JvaUEEDsO93^xdWkD*c~zPC!7=+fr3z^I)Bcgng$OdRXgradU({g(c2 z$EOqnTagUdo(-kO z>jl<^&1XE2ru*h?668=BgYT(nf}r#^?iFEUu1eV%k8~)S7a4FOb4Yb96)IIngti?Z zbOVbU#OrPw)E)WzW*HVfTBdU1PYCY1vC?Y*?2572SlC>ld8{{U>aSfpn|7VVrF}x= zm0L`CuWJM&>y<>hq~3fSNR-R4Wa~JZy0j? zI>N7Vy=q`exPq=h$G|K|hb?*lums}AKg>-<_zU%!mJc>4fA>gNDdd)F6ZR8Op7EJL zFBmX(#OKoC49*mrjUU$EYI-*$pImE`-C9tVaIYV!!desDZ7Qlvk=aQ=(_tnV;*2T{ z)4e-@RK-ypf>l0f*wIndkau+t=i?{W5hEmpVh#4;MEsk+<{wVf-?kfg2|d`NaEeb17^SRBsBs$tH`+rbkjrd+c6o5*FA*%1U3@Isjpj!9ntIP$f^7);@)BveeVpAO6w#(JDRzXE* z$&#;*$ac3{Y}m`av1gqz9@A5;xcMw>9l$7oxrIx*eT#`9@D;c&50_j_oh1i`G2rjH+KwoCD6zJZ*L5BOVh_b)!zs6 z2p)jp?%i#**2yag1&6_R9523a(7lp_I~n&e%#Y8LwYD_1a0vF@)S5vt?4rt*Fsq?0 zUaN{aJ5Lq;q5|o58J1?kRwzeIVuB&;38dB8F0L0I?7mMPH7#H9AhM$`zSR~rmoON) z2nOzF^Oz5jx4-=%mLI zUXzp}WnjW(z3mOAM$kU9DBo+oZ(Tx1_!43^;+3%FH%kR08%&FD@W z<7!FO`y}Qma?XaK=bw^O@XIe%7xw10=6U+@HhGQ6>-!#t0(2#P?n}VMD>NTF2xjSB zRJWHR*DEEB32FxWuPeiE=}wnYycH<}f@>Z!jISAmEJgdWHQ@}q=3Q;58Q#oP(Q_~! zX4adPePxb&le|Xb6KRnu;3cX5RJGNP!OymmjfE~8sK2Y$AeHr^xK@VpdupWjAWq>Z zblwu?NrBSkFFpl2R$-(3=x*1EC3NK0DPVZ1Hq8+O)x^}sEZShbl&8Fh^{;LQ{$M&F z_FMHayqr_5^%U5-QgsUW-XnPJxs~Sr2{xz&$pf_%bol3)b3r5zggp8RdZWRwP!Pm5 zn!}hCpf$vX9zoX(r43!3NQ_-I#@#LiODAoTz+b(fWGM2(Q+>TpUIf_`q z_*Xgljz1iS1FMz2M>H9j8s5DUtNW)w%+M)NVt$meQVB9o#R)-qn5-D~RD&T97^E12 zNZEf!oLQc07`c52ass-dg<&&Y6=B7^6x}UM2LtK2pjJ$M#|cNwr>&!NHeg`==@d8< zCFnU9q4DH3dNJkOd1sO3zZEP0H``+?HIEb<7-z3(gJW(0rLAaG90?FFcEl)v*`?Bl z!rgW-1S$jh6((rJQw#du?BH3q61zW17x?<`kY5ZX1Cd>a$rFTrQttOt;D}@r*2IR> zF9C{#87}~t0$tiV29i={0X(hhjKl4rMAqYLOu1 zjcpEQ)bhw4XddbJs2f4hj1#8-`dIE12;>KIXIiipl2QI0H+_--Ijgfn}VtE z=s!IYw#@-P@;Qdw9)|G)<^JJC^I-v3+q$j0l~_hG4Qf;oB#h^burk;Wx>(VSbzmnb zP>%!oVF;}wJsAI&S1Q50-k+#k@C#XA8e8I5;Curzbomoxca02#dzJ%K2fN^X z23;C~pwEL$g=fbb1&{ZZb@v;Aoi#C@aSoEn`-5{|8ITkZ{GQb^L2FAXyI*Fhr<<8m zoI7j!2VLqQUCrA;hrz#C61z4gW@4VwMqQGCAy*@Z^;STC3Plmkn10rUHSC9QGs>So z&`ABz_}X-%82aphhpR1SJi4W-f|L*3Gs)7cg^YaXHJ)`HB8Lk7Y~0`66r%^#xNax?9Y91?;g6RB@whOwvmPGyc!>lvqo4cm|hc0(wG>6I_-yWaLR&$zumYqBI;mx>HaAKmm`JI0IxiZ?Sa%Oq6 zyH~@YBZd(9J%%^^Zt(i{nDq(U>#wYDT$tSMI9Xg(RUfJJa*No1nW%U%D)v^hyAT~7 zcDZ+;d{mC^^Qqiw|034}WzJ+Tny~}RuDl&TRm#L3_p#a^84G235UTm@2+R4gpDK+M zh=gE&Pgqk>D+aCRKijALLaZasa6Uu49uk`s6sGVkpUCq;h3rEj2Ti1A$BKTUHoI_v zsat?!ME!_7 zVM~#)1279h7$4rFu4qWheChYgff&kWt6+>LxNP{wZ0EC;c*)Z{z3VOicnU~>iqfQb zsJ{R6_D=BjSari4MJ?{Ju;NTpIT;#)GHIC;PR@JV$zl2I7sooT?8lQ|2yLc=e4?Gm zq3UIE&6BkqP>k_>_0hwd_SK8?HSc>-AEc~z$3u}Tdn<;oQKS8iv?^B=uRc}8)7Jx& z667vJ7mRu5NN|n`bUDeP4__@kL6OdFLkHeV__hLhn4R8t`VJpE#V%m#& z)sY3@YEcY{I8hlH-Zz*q(d z{tm|dEBinBS~?ashcJws`^;82u;=(=W<3CBmN_OV3Bink7Bz#e6~94~DCjAKw_@r# zKtaKwXxKPxR0LxdaO3{V_I|!@7;i~31qKeL_E>a9 zII|nBpwH(D>_uGeUbZ4 z{SB_y_flijqbvJ7O)%2_*FYhHf_$y>w7AHY)+(eyJXw_2aq)inO$GOI)9v&0wGuvk z_>iYUHEvJ}gO$+&xF`?3Oe--noxiEh?Uv2nh3uvtW%X1t%?;zY3%mZzp6&|)yCtp* z$vQY!Qrj3==9&O>A?qi860+8j{S=iqRig4C!+TcOZ75?kp)J{|q^H13Mmo1QSA9B} z%%tPxWfdQ#>Z<22V=fI;(yTl1R?2a4SBA?z@yCr@GaPvdA|dzHQ0p0Ab*tW$aO;8`ATmcEDwAOB!?BSx^Uw z74@8AZuRxOQkzU1a@OJQOv`#@CwS^3uFSbAw)^p~>Qy??U%ap%yzs#F4j;sfRf|-i z9K-g)Qa@7bIWS8Zc0nA-h$T7Y6#Lt8%8)%f~gP{9i*m4w~m$I@pS$9g7T2YIy^F7=4>boZ3Eh{-88rRsvqP-5vcgv&oYho@c<@Zazn0H3k zMW(5niK=p!WN;_dGUnBI+n$Jx5h;n@@WcU275 z^b(_2UZHe(f7o0iBZ6Qa`R1?gm-4zkzNgoX%9grj!Wd8RyD}+dLw%Dfbi;+Q zo>3FTCbKy!F1ki+)@4wVGnU;ebGg}ZU<=;VpGa_NltX|r?%@8YWHkTES_#urTX~0y?#6W&A904(%s~*C44MSZRM$R^!z7w z&r^+T83d~RM7GwsuP468x0XZa>{b&54*44+%U~WJnTHOW@clibDMl&7AjX&60ogdg z!98{_RjVew>G=|-p5H-SE6FdMw&~~OoOFHce@H;ASOrTHIR!om7_2ehsUEbbd-ZuY z<~bw4<99;J8C_LNtGIuycZ_$|?y-4YvghsWFjBSd8C*olL^EapN-mgllKAxzzW-po z!?&6BgC3~CqKkw0D}}$%o+nbXK%AsmK?@)#hq<^i!M3#bcDo*tvN{3L<8TLKnqDdDoT9w80`30bl{w|Q``i;w){~vMcwLP45~TclxmWCECp!$p zXI8Nhks4GF&c)ym43^l5xOQBSY#3d3M|Szjm)*}G5pKsnwjw1J``8kPiuqjEug4%_ z+C)Bdex*{nw?0xwK+&Ix{a%XSOE~CT6Lf_9hAsSbldYZPe|pJ%8=%<+!*^!LN&U57 zSolvT8H^7czWgP+-^90|R9C|OS8?)xfRW21nt!;-LZm z=@4LEDV}gL!+Ft9xK6S`jGPWcQ~pj|ic^@=Pq3d6DlExD+|9r<%aG&gytR{#=b}(z zQ@yj25-FP8aq-i*iQHK5p|kQU^^{2DSnkYpG`|r;eU6+2WHROUVvFYS*pQ3EQbF99 z)$3D$H8pE~={zs3E)w(9e%Lno@|&U3-LmiacQIsGwXJyqfu;^|Iy4BwO(={^T3 zHONpIl~2#$$?&nDM@G~neD+{dM_K4SzOkm4cn^Ou8;;*_Ovh)?VPkGRnN=MXwj{=q z(8Wq`Q%$=&b@;~aDV{C`OOwtf>6CMZuMRgQR<%`WV@CMh8b%!#!7mG!7=1s?TTKc_ zZyG2#ZqW_0Ws)XIs5!dW6C1S0k!Ef)MvFC!MD0fhK0E&4Gm;!!+*RZ`qrh;-eShRA z`W$o5*r<)9Px?#AwP(566_0523Q3>P(E_Urh&z`q>%P}p-rq+hhRliDF_YKc;L7h; z8{FxjdX=-5)vK1E*7!ae)i$Mc)q_JF5m`v8NN-0Te^-s=;7uk;nu(G9-77wN+}Y)2 zRlP}$G+bDc%B=Bf#fEhVS)*y2>h8Dg)gv)9UQdd{WU&Htsp)G=Y{P-6Y6Q{8eB041 zJXZCm)-OFSlz$cLz3XhiaIUI8SXWh#r(0^+aO&=i6VJ4+WLM`2XF|U33hwm_%tsIB z-)<#lU@T#dcV9WALx){w-tX%e(p5YaqvCvp-G-tsrUQ(aLnf`HTU^% z2Y%e@y&*OC`haQ|>5e&v(6EU*dF6MVn?)>I)-x)`eBI9nQerpo1woiPb*)@5)v-WQ zCQ*RO^c*wpg^#`W>?kngC*)u1*Ne;Dx7d`XjlEB%=C<28?ezqnYMhe@B9$Si$tB#k zl@<7gOOuf2>8LWasRLiVBv5c}=uKn|4l5nGc)}eu!WDM1c&6BnMXq`SE5@Xr^Ic-A z{*~qOE_V}oedwL6gZ4kqsF(YwxyoykfoIdiOdi9r_J-pWMxB=XKQ_PO9_t@QF(XILLL=CkFeVIx8`B!xP z&+Ebl!N?Q+bfbBO>g6vCJ3#Vs2V{qD43w%KSgThQ^Q>W2Bm)VCoXgt9bI}rVX0VkC z*jF9JPjYDreXv16FeJH0a2|^4ZOO{Ff;6BxB<^9WtAz8P!82e1-ZjdaY)Y)$oHbEz ziT3-t_o&U3#w=KjzXz@vG2h5V9UhB6#ZdC8j zATZ+pN*n!B9F+r>mKtinT4+E}xz`SYCQ?I`_^=KQAh#5AhHp;-D>aXS;0YU9Dlu^NV>A)8^(d^&%w;C*6| zcQcx+@iNA5t9k3mZ%tpGH6_|Q-p@d5dnvGWG^(@>SroiiEP}Os?T0N*p8}YZToB|| zM00ijymJDE&|aW4dkw#SAf%U{J>2`Lo6@zq391El_8v(V*3+qZx9ps^SAxhKh$f*< zluIQ#8mSp7QwzEh5lJQ*U<_!q`kchY>*g2s&5r6!`p`;^oHpvb+OLxd^;ga&E;fj% zs)qx&*_{>Gu)u}l4AJ?4>=3N!gqDKIi$*()0u_i!Xkn7RuKmhhfbcyt0G_^uN&1!4 zkfureH%il}{>WHx3jA^x0dLmm=6R@@-!-*G&MR=5Qy?rY7qSB`OyXmR8QP8KCvM<{ z%WyJu2sdo)IWm)!!{K4x%FYR>fiLg2JdmeUHwDXOBhD(-^gwqt>jUTnUph`#04(F|F;^snyg($V6^Qr(a;?2h!Zmm^m7sF1e${*UJMEr?{6hchg6gn~t z7I&Rhr?CF4P7(Q6z3#JizeM?$>J&M|5<2uz%!#ntie580shf%kY95yM=x}e&uv{ws zHAXvZZUFFU>K%Ut5g*pU?cfEcA;=@vXKJ5#43?o*&JQ#?6CP%?Jq_=m_4%h6KZTd z0?(96_1^?pN?7K z-pCeETEdb)Z!}KAS%0+#FB)Ju_9*F)-R5qC7q@2_OyhiR$ER;@MJ(2tkRINhR3vhi z8ZUJ|h~b31UutgNDTxuDR3X}blPi0*BJk=xeD`RzAtdXXjw%hM zWu2JD7&6H)B@?(wk zCugJ|)P`J(MC#H&)R+C*oKm&|(isnERW7T?o0{*!KB&QRcS~iYDk@1?rC13RDXys6 z&E(I%S3oG4$K4i4rE)m;HXL~ZYrT{*Z_!EqEv8-|x~Y2&-LYbPKX1juKzs7OQAgQm zu2X9nLsqu=0)MUF9nMkhscf(m!t49LSPy{%8Z*7-n4LoAN}b=JKkJ`4mO9-+B%6?VH7G0v(}%@7M}4U9Yn zty&D5F$k5tcx)8OB*nrNBaxADQE^&PY@{@wuA{vLRv!BFKTn%Kn-p`jiR8JzwWsPzGRRep`yA0?!%(9;={YMZ?(OVs_+-Gntq-A zu(jA~6(w0xY1wC3+8v~Ehon<&Z>7!JSzb;q(OiQ^Kvyx`7Nyz~<85D}OHfcl$A`o( zKj9p&+#n@+{PA@x-b)#N(rPzna3mr&&3=OgJ74TE?6~sO>_p$ zo_GYl4)*;{p&aN${PWmq3r&)Vr(S57%leEmI=%RWU~a?kZE%iMc|n^k)(&Pb5*ngt zvWOBRYm zQCtdV%d_t1>!!&H2M7PM5G@=2>+D+}Xa!{`wS??wh~z1?Dy(0qr?3@GfJ+EFJGi1~ z5Z)Q+*RQaB@v=mveFA7M7Z0g}y^(Fc0cj5|g+qI7*KE$=l1sPq$!y(&D_nhIH|V-B zwEf6+F^KH;48k(p)z7HqI``WzpPWA+A%U3m$^aSs%tM2roZAi;znuryg@>R6^}l@c zK%5sD0nT!ca*VLSABRFOqD%F`3AheJE;s)v@ox8aqQsW=Y%Rlt(kL&-SBBt>Wtjb_gfgL0q5q?CJqMw?B zhKuOL&gTql+&BfM!Bv7m2z>8R4Fzu=Nx@0{lWob#Z271D7sp73_2@z0BUL&%!c2FZ04S4&?tsRd z{ExTxY)bUT@hEjKz`;VYUYo}gZV~IIP#?DAapugux#pd`Vs(ueK^|=_s`2q&7rghE z(yiepx=z_h;W#&V_r;;u(J#!T{p^nO{HW0cWuf25zdO?$g{yAG2qK*u zpDqP2M}Z|H+BUu}#hnZBo^XPweA+lvu;DNj!$|hGSOk?17!_YXD__Bso}kpWvoRE4 zISx!0gU&tFl{{2G)Ywnhgy!OKB+3}c_mks5E$YU z9L?%7+_gqqYqL(}gcnuCO@BntJv_e$Cvc%_?u%J7i1j>HObSToeR9AP5O{PEc6(=n zBgv+?`}>R0nEUCYb|p3*0bZB4#T)?M%9vRv*zG>*c9%9!9;e5g3LQp6dvK|49}YGQ z@dAvwO{4f5ed4ZvLd=wpDlnQ3mXwiiGBXJiStNO1j#zNarziU!zUDe}(Z>7jC8C^* zbpD%aNln2L6noc;Z}XZDy^hM(waPDIw-K;@(?9ismfeN}H0w*~2VixOt@UF89;@n; zRp;Isw1OJF6K9v*^fO%3XmRqhm)?TaFkeSD?Gqp1SU|r?#0oU&|I) z&I(uT4f!V(fuz3~-BTdycl*nb#HDz@7}oh1g4#1#GA`S;!LgZ$QA5u3=_c4gc4$K} zjh7l7XFJfrZV(ix^zXxy3A$bX$&~){l>Y}2n@977=6O~}%+4urdkJj;PP9aDc5#AL zmyiq5!qjT7HBp31zNRikU>w&5je8rgc>Ng3K%y)Pf=Suk26Du-eAeAGZ?S?ENNBQ! z0Mq_p1?z5rTFA6NMNk@_gj&clvhVL-BnmdN3V8GhH95t1WIxAZHM9-AGs+2=A%V=SQRM>m1{wh98!ThWw(Nv6%Z~YuY`tZl7*1FgOk6XhLDSbPUw1%{+iUF06 zkCm&4G8#-`7E%VP4n6w5nVjgbU~ZlLLIe?!e!bqJmL-brI=fh@R`5q!F6PB>{g@M> z1kfzCS+{1|ko$Fu&%|t9-&#r;H|21%>~HDX?7cGKN1_y~!qlR$sdykGyb-5ADJ>H| zL5=7udf>eG0sgjIcgVy=J7}|)?3k(-ecTO({+)T5v`SFaO@|NIRx=z81vDE#>oKWd5Ey*M~4OMm$Oc{Fdc4>_Rr4@^lUUn>EH}C>Kq8OgOPrOFo-z`qXgt!__!p6dI9y!~uoRYx&X291X z-{uW-^MvWjLg!TAI;^wgSP7xXw$On zpLzP#w%^@h`5-b}fD@-hync1!hG3OdNEJV8!m?WJ%2xO^epTggKT^w%BUaN$zEtWk z!YXWoSIcjKze=)}22HkN9GJ3*c7DVoA-sWOFcNhhzx0R*m`0aUW-~?q6|1esA+fB=r}V_hxSxWQROrwYgLG zCVU541rjibi>d7QRR(KR4x0+W*I?4QmUKb0m(e*W?IQTYIo445nh_#UK`X1S07AQz z>LALCM`;!b7KT!1gJIs^JK4B4;tRQ)^gTkRT~F|$WY^lESwl+Wb6IU8{0|(nUgw-7 zmAar|*BcEBMDu3ioTmEUWDDt5_4l1cJtVZ(DJ!~Il(KDDEN)3FTiyWN#Cl~6zs*Ef z6q423|Wl9#Az2MG;!*J7S|a5>vs5Sx!EaHGrgT|5U36Bisb z_?P2Kku)V@=6S_osIM1RD|Dlw&)lAii6`})0`9WVxPk%O%LBDuJd5sw| z1(K7`IHQk>1dnJN$-*mZ)V|~?jWeQWMR&WeMZ{>?(D{02kFpU|*>!WH{R%n)x!iY2 zpS+J%o0oqyftIasjwlqnDk*pcA2N_{#$KL9J)x$O_ChGSU{!laApIOO<1xASi2d_t zu7&7xyv*NHaa}6I_6cavoOfvJ^B=j(I>+}%4@ zl`vsrEoF?^?$#>X=6P<%7OxXO9~=w8f|28^EgAMaNhn*AD5(}sZt)~-QIVuyO1k|j zlsFSb8Vb>{D|}lJa<2dY-vrOZ$;5sxTo;uTlhrz?m7m8GG~!=R{Ys`u7VG2-#6bY| zqL{F-z;s148;3z|+y7~nikv~+VEm4R1X4&NuIo*k3xxcK!Ucu%|EL88!AZ7kN;A+E zZ=(i_w*Gn&avAmUaA+wP&T;N+#=V0T->SYay!Ll(-Hz(n{DX~xajW=WCYtn7$v^e) z{`A`C-^bTTcj0PiSR2x0o-+kuNm|m31T9_3bGUNbo=NCViB;PzdL!6cIE=%Z)Z3(4 zeJGwR{bhJRH=)uQ^2$Eu{sV^PI;(J15C4~Tg!@Jm7-_KLbTgwIqCXnCJ(K^*?XmBVnA)dFG!=KW&y_Mj2aD& zd96O&SQ2Tga92T;p`t-o+kRG3;~sH0E{;T@h!Q#wQfw=?y~7kNl{xQmo*I%59jMI? zF6P#tv{Bx>LC86ny?s44cuDl4pCPGVO`+ZF#yK{~gDJl|r5UBTgu@m{@3H;|Z+ltW zsMcn-Bds&dkHvXASiqq(Kh%^ zOPj&{4<#^O1%kd(gQ@k%=*))DK53oVWKkU~|(u>;%WA z`6q&U&(mp#*K3nM%VtA`Je>pABH?98G##!M98}D80yhx`D335VRZ;9KPai^ddemMz zuk@<5ymwNx70Xl2eSIM@YcnlIX`sQw!ma8i_!=1lQS`lxMX15*T)bHJ#ZPNjML9ly z2;Sr$X%J*c%70@wIw4VDzhKVbZ~X#YjPbL}qM9C%q@{V1og+7JJV1btlUK_F5 z`8pItPYhkr9JVXpj2Na^QdEJQH(5E^T5b3RtFRqH@CRK=$j~5e?_H1EUwZ$>CsIit z+8z~|?&C;=+|YpLv-ttDnsr}`Cucd32)uuL7pi#BF{eozM$iMLO&n6TRZ-LjEtVw& zwfoaz5f3Szh(J*1N|}d2c#xmq#4E>p=3~qefh`m{23x-RdXstazmT!K*&GH%oLv46 znk-{BC_)qhPO-fUM!cUg4lxni7}?qwidZ)=H)f~_{uB#kAGO-SN`Q;ngI!H0JL`4p zLZ09{YOKyy465*9x3@|8`y zs3g4JI%g{wtqXaZcKMZ?xI$yK8&p~h8c_6RK-c1J1b(1lV{i1{ z*n7rso0t-j;Gm%NL}^o@bHOcuMDl3#cfS9(|OS5@ynFRYtb6jLNPH_p5&9@Ac- z%_RA9knmmd*Qcj|{9q*ur<>gs{v}Up=XUW(D+KF`VRHT~J2SqKfC(Sz9S!m;+md7} zMhjGFx5?9&S!L7Y3nVla2YkdLbuS1xh(D#y8xTzzX4cT#CMfn1Ud*t`Q(X8q`KCbJ zfiC7XUCf7JA9^Cy!H2ut#TQJr#V+DGVO<8g8(%;cJ!e(Es#_}!oyrWfF zC$fR}>GLWs1;ZU^)s5cb6qxuP_kBA1XouR!3N7!JOuSC_gS=? zw4a&UJbNbpWb&I1p}CO+ss^2>2m_Kf>Rhu(ZPL~=bCyks_Y@wfS*E~7^z;0^OIO1A z?}8SbOO(6h}zZf3ZhuCtur$-M+igeRf@v9eH_Y_uNU@o z-5h6eNnS<372nuIVn9Q4dnoi{iiEUdxN^+nO~suyPsEos$-Rqjd->aV290Y;gL9;7 zRHbGx_<=DP$pjtwkd#=R0jy}53wg{dZMN^b+$=b_H$6uNmu>j`NPMgkGp0;FXNg>j zZc7=#R%3bbk>wa6_r+xQGSUYrVU9BpNr*hE;O1~^UD*eN2McVl4&z4AWDK4S1zEh< z1F_W@j9Ae^Kwg!Zr;V$`=Zq^2cW6Z)KIqH;Skk`xL6D8x#yy^Fv$JMyt;a64so#x6 zXmNG8AJ&AgyGujWEiTMdCz!I^v`BY@l9EHWARt}R-8mrLf(i^Fozl_`LrL%V zLHFM7eST-3z0dic_q^x*e1HGUFwZgh_2hE~Paa|Vbur6`s3J=$(S&VlkUUyc1l`>B%N zRDV^>`GAZlSt2L8P<3_<06YYRr8_AGDR}b#1k$$%POx~ZZn?vepCH;OtucqYLdyE? z+@zVVuv63mmNi^tcUp=asJ6icod0jK|-%)0pxsU-;zlonfSj#$b4UhuApFmIIPti8Ls3C4? zt-u=hs_x4^3Z#gAFhL0#RA{H`fK)BgD5b^R} z%6}kqJYh!jOnPB!Om_b)JUxC>Cl%&*q(N=C+%Z_t74L!`-n=<%iLK|#lr|;pA6z|b zB0&=Ac(EDqjx@Et&>knqGctQgU*sHTp^s^T{msr8@b`Et^u%U- z(KxhZ8HjPT(I|ImN9f2Wi}*l1xP99~_nTc!Jd@-qanVy;Kk=0x1AtAnN>Uz_q{l&( zCwC8JV6Kg66m7o(P~y=C#`?^Iw$P$9`) z6M=1N*-6DnR6O2T`*{D2FV-;bFeRI9#;brb&i>V=XbH9rTk@nH%#bvR= zLZJoU^LP0O;m<#YD~Xe_k-|8YC7V)B;$`0%j4NOi0|XV7EwAk0b$?Cq{eJ6Jfpv`z zxM`qACsp%XrTpFgyQ^4N10-y0kkg|+7h*fTSrGxFrpmTS^<%xaYr)8DUi&P3Aa^e? zMbmT-TK4(G#ix3GW%O?@Ur%c5e`q;K85xHh&4pNE8YZ*r6JMYGt5z4+e(2Kwr z>_?Nu4h-v<|CqA!E*&*k4BEpRj6hK_7$pZsF$t(ReXBoJ0hN#I zDpXd?UhcPQ)HBV6#dhZkQt>AGyXV%Y5hrTR&&+^cc(O5-aAyg~ksf^r-ZqYsyIJPSw4E8 z+Za=H8bozlbiKn()stSzQ^-ANrO`6c1PvVrefZ_{@s(;@u5;m_)~i&xDxg*5+1pcD zOHjml<4vsba7$tl4nd0<1D=W|YK&)l5hHif_2sXs9XJzT1Tcxgj*8z@t zKhV-c+y3L%{HrD)HlQpoCU3YuV!9KvWtmpG%Bfm7x&d5i9DsRMM)kX%@pVVz)ThH& zO+)oSr}=kn150eme}kkA5Dn@BB%}dgQ_#!t9v0qC0>ToCM&Tf_OV(?fU#KQdE;$1L zl{JbaMC3K|iG?VkZN5hG<`HL6_kwTVyW-n+@ed9BA6ybvZMS=`X@;KNsd-jKvl1~p z?LNjW!@8~dG^em9iCMv}ep9X1R&T20c%LDv*4E9_6Xk0myxmnVxk%R>a$2)bOx6^* z^Y&}$S7|tIUO`dgD|M1Z zcSfS7F3#1N9weu7MU~L>P&0M(QmYQzERMX0cIl@wd~>8ct=a%rnRGI3>CVTc-J-VV zj#nR_rK%~flOmUTa5rzuj~raSN`pJDdP`j1h~YvTL0F>|J&rTX216ffeUsK0};a*F!rrIE^9;3Ca=8(eX;M z`E#ab7sp!?G_tC~Yhzn(;q`{Qu<`Zaxk(5;Wq590y>ZKu*;=i7Z4HI{gwg}Z8#LDa zw7_V2&c2iVb(zUYUv7-fj{^>5V-4p)3)MBQc?MAuZ1RTNM{A%X&Sk#bgAKRPTIQ(c zI^;v3qKOb(bYvwTx!l(NNTAF<;CcZZ^buXB0)Ok>{=tv`-6dk!G+3~Il^@D8+$W`D z$_QSD!ilTLn;f;ufWj@{=6@eFsjMnh3Drnh{w9(tXZ?5do9?`$2DX?3q8+lwxrgjb1#s@AX{#l$(*I?Yjd{j87#5c{WeR z4EtPZ;H7j4=j+Ir#cK}q3x<{@f}<%6ar%71E6 zymTYnR}kilLtU0NNo%*|E%E9kpICTIIxMt?_Qr}aXB(duxJExuE#lL7e_y7qwgMmwQ zpL;|_3@S%{IpygM72zAF_I|zC#_Y1;sDFy0={}LaUm_=SBW@lK%nw@Ju!N{0Z3BuS z3$f|8FPFe1AV8<_WzXRMocK56@dU_7s?V^N=mP)-fu8(1xtDKadXUFV#xa0Ipxb)8 zryE{A%pkdaDohwt&35O!r7ve&_wWkGO(nkWI?pI5=J+S0s(;{jSf&5Z@a#J_cpbm~ zx|RI``uu!${58oq@)X|zj)!2SP|~f!5-UT z(v5LmoV2_X<`ejK+X>J}sVB;yvgKu~?U(S=!Ed)?;y9j0x_+BVTb8GAZx1gA*Xvuy zC~-24c!RT%M#3u({W-E!(r>rV6eWST5UOVCXi2~K6}Bq*?N$><@hHd%>;JwnZ1w+M zivOuqRLF$k4SZbRRNZLO-;`iiqv!2Uok5u|LQgew;3P;csg# z`r_Ou2{GmR^M284`s>8Ff5tKV#dCkw0#ViYCJCYdRxR>|UB+L!u==v zdDO1{p(MnTf9e_`xbEu3c@b-%Hu0rf*LURMciXl+pkRiPHbL~v``r$e;SaEx06~k- z72a(nT$0IGm8@?L7ss1zM2E*yf({&b^>NnVW~5Y2!{o6`;fR^K@R(R|ihI%~hw!Vf zU&o}K3ul?q!ZYJ2lIO^_F??E{O6{&|-rg9Sr94SBE$BfFAWH6(k89&Xnam*NMShvI zEyTEfHacJF&SOn8JV?|lC29a2hahy}6W`@|zn6t;WoUlsE5R-Vj|47ZgFRw(0=j$Dz zYDyjXQp;k-t=zoE6jU-KVOALKn;BkaN6lDV>PB|6GNpGXG8CiHJe)T}#;g_j;;sNVSGt=#Ln*o4 zk<-!YJfaf3E6vY5*!RZrBJe^ML>Y%}O&k~}7z=)wf0^Rtx#?HGw>7CAG(W@{fLAn3 z(R4~AP+`}E9nPB8%-TV54KH7vi_F_G$gbUWB=55Hj zTQbLCbZ$&AOi(T_QdF0TKN_RJUa8N8gFk3F`|GuuAILLLBKu#AgNd9L@sUQx^8EH{ zNK8elM#U(O?_0(*EJ1sc90e!10?I2x(;x&)4i7cM@B$V z_YRO*531sekHm90J+dFvj1~U!RLgtdBS0Pk1ASsTE9D z^tl)(EwY*I_8LDNw&>Z18rOz&-PP7sOj$J3G%C>!y}PK$Fg7@nymec%?3)-N$R%PCR~HE1~0%FE)WO zn_8};jzrbNhpp(SWV?Lf`6)L@T!m6udtZpnGox&j9ybUFh0KQfRKyyz+1s+@){%(v zKvhw@bkZCmn6j#?w{L#^*bwtszXMN%t)!{A%mfSs&6SNOdiqa>o)0rUNLo0|v?E8L zQ1VYmaR7SLSf@uiLYE!lK0>7CInM2z3$>>BZ&%8cM+>4NHq%}(54U__Ae5ZiX(}uC z%=fzIw0&+jj1Lp4j#%(UpKy5~_rRsBcX^?Y)U2ZTL!`vLXoMw*7R^Em+1{I5`sZ|V zzWrOX`YG&Rznb#9Id#xm*u7#ZvVNSBTOu#eQj3=q)>{$%;h`Rjyb=OM(br<`am4+r zg(apzj)g1ET<|TIE_E>yP?Z5U9TO2LIe5T!2(G%6`0wy=nBTLoIH| zzwpwy20=#wbqj!IjX*XQ(7FUrNdNL2o0me8Yu^i+O4$&%2N4B-VTlad6cz&hQ47b7KW@J`Flyi?-Vm6*?My#L3tzm)Hw4C&JUa zzh@IcjprOk%dBIiS{F*60(s@gd%=c!Sc=r{1|9SgCEY+*pStKX4X#R-3 z()^FY=uC&HMstcIN9a~@rBo`f%BLj-;*gLyBNoeUYg_8^4&SecdhR>)Se{e9`;!i~ z-+C)qs*TbPnksH;XUJD5NmyCvcc38e+ii+};f*Q}yzt_E^O5s1$?!ccdqB zt~N#OkdkR_A~Ss9cyv4_Nh2wI0we%*8jH11rB;KZ$k5>dC9mK~2k!ItCjyn}hqM-}mlSIXfrz!z13KOsyjvwEK2O-g@PqciY+ zj!@c1q;#EeRf=_hcHTsdCTSmO5jSC!gOR<6fwEcMu;hkWM^UPz{ALkcd{<4n62@`9 z8OE*6^_*@^N}n=kxkO9gErt;`u1#!AK&bWC#njO(4V?pQJ*ktlrAiY zl|pLOPmuNb4+UE~-jT$p4VF|DTRk0rS{ZuL^>C634Wz(2VK4t;q0YsN zK-P*)4lC$zZ8^-3zIZ{)m=emAMyFX@H%eB8zTZW2HJ6sN)BFNito6RpdHC1d* zTJ7%ZXRWN|=@Y)MIRT|tSxJ5)9r~iAt#EtCq$)wyh9gR*#c|On$BQB(t6VPMK{Fpx zws~*hlv^uzX^<36V5{33<3O{@C_33{2aie9!ubrsTG3orGxN2nP?P=WeO|x2BgAgC zAHq@T6g3@(|5aerf_BASM~zWee^%e>TzC2_5u~;^D%skTeYpDJNLf<1!J6hZ`5 z_Y`Z&<@7?4!H}ZUbrD)*uzIXomi7r=L)i44yV6p*&-FZC7V}B?6}zNuJbU|ky3a=- zbiaUyhJgBYuklz~M45#a^1fW2E|GJTQ#~5A&T;3Kj+PZ<>p>%F;lj8)*n_iXkTO>8 z(*^~p}BwXrS^r(~{ElIK!Qc~g*^n*!Ua(dU^^U^SSG$ft{ zB$}g1oO$Jwz@0xYzfPnAkDG7sId7`y^{w!D9M{Gg_024!=$x63HD(&#i3gX)`?LW%8#p)&W>bRjBM;&bP>88U0%vf?h$>U{>2@ZQW@)p={)xP9sP zuHfLLWXCjYDH!$Hb3Bj^e+^wP^3L!wZl+HDvKelHQ2{(@=A?2 z(n~csvgzrckj~)22?Dhb7hZFyM+K&0KYq))A&pf#6`ozgulVT$j}%RD%VzE&Z^$k1 zxy;w6)xJ)14!JpucM!?3gm-O)h3L}qjd4?2)^-Knl19s-M$pu4c((9uJ3OQcQQj*m zt_ZA7)IstQVY2lEW=4t|ugeJsSuq_J2Tf|nP)v(aL1Uu!>$*1g0i2`NOvzwx&raGy z{vzh`sp^7D_v!1dI%@*_PC;0;gT0H5d~NWAj-{QbogG?tdDE>bYl8QN!^63zE&*^G z&cr8@m!u40C?trqtw23wZtU=uyh^-m+|b}s$QDakf)sirZRoD5OSh{) zcF)`y4GWw6E&}tBm#>g_`pF{{ByNdP$9}S}vazCTxb-O)h1@OOVz+%rPAJM~5%r3E<=c-p!D-Swy-X(N3{;%X z!&kS$DYy2wW|rQ~G#*r4&L*x83n+)B!t^V9rcSWn4i}p(d@|@{TiCW~1~vjMWbnB{7*D~q51$7I49XuFlS9^ZZmSd z_QtlJ2#lGa^FtglX*0bLk@?O8R_%{eWoyCGm-GV;g=w1#d#R&sVO0B)4p7RJxQ=-Q znoUh7uCvsZKqf1P!#GAorb-C0hurcuktaL_zAG&q_Qkjxx_U}u)3$V@sl%J<@rur( zfqt^EjOO-gO?*$j*dWlm#jhn6h#M51P*9Q!1uVpj7pb z;OVng1g-0*V=vU=**o^dY#5^QXP-S1Ig1)8bea$z6@~6LIs67^cB$%S&R~uQ%iV=SM&Ev?Xb1RZfx=5oPzn2kxH5O_w9`{(O zXe+b9XX0iQl>?1&#cClKmjtJ)@xcMUK>#lailUH)9Op(CayZKU*HgpbT-qen7?&u33FpGiiHmdN zGkMhL*Fb~MeeO#gXpG(n0QK;$!Izp)9B*6i* z?=UUa67cldC0XGpkpGJSs&b(nBtKmnr^x22@(NKHstXv#BEaJ=qb_25tI4_n28Jwj z|CbuWFGlfiy#Fp(X;Jj?THf6Pn4=(jB?Q!6&)`~}&8ZZ12nk4)JQs478~X4Az=X$x z$Ju|-z(6Mdi?5UXl@Q17+5T@N<4V(&faM>?f7KNKySXSV>}FZPBENM`|LE^O>i_+B zrWk)O?fCo0m{4-7bQTm43?1h6JDKJQCcVDiZ~ zHS-Ywiv?6}K)ru)U4N^v{$LLNZZ=2bx9V!pAyC*(AJ6dk;g#1j=;f~mm=pmZ9#Bff zCI3?aiY*Tsb}bhhy=LD@f}Q(ZR~pge^VTNdh&;>i(vKg$*7AA3YLaxcWDRiOn$mR( ztp^{{9Au!4&r*-tFp`d0arJQ|FHOg}Yt!Um86Os^zsC*;M-NkeTH6wdSQ9OKaL@@x z^7W)^&JV68N>!KVtGfNdr%izsB@3KrVL*BgvG|I4KC$7Z0&#~#WADE3r??-W*dyftr5Dv zXEJ=`9munE2|g%IIzA>!F1sgfN$VM>`1qOF$BI1|C7jIP$ecyC_~h>Hlea`=h7I?a z5z~`2ju&6ffx*D9BOyYk>+;BjqZs-W{hYp$7V&DI0Cie=suq7f)EBZTZTW?l`mOKI zSH+59rFj$FhL~IATee`N>9M@@>J-->6<17hMC<9^x!!5;`HrN=9&;cz$IIe^`{I=F>H2s z;OyUwyQ5)YFMeyLxjS0h0Xg=md{5_ms5%5yTlnsYyiC$#_Z}WiQ*ytzZ>g1qvWM4o zgsSuO*1uK|HEJ5(?c53w@A#4?)eCZXcNdP^K3kc$uBN{jU0-9T>U_*5jFY5& zr*J{`y!YOQ~Aj!?e{2Dj2Qcv7`|AlG9D*^H9ucFgKV5NLtj}{^^+^v zrDhij`yh|Ye+gszDt0wEawKcc$Vge^@;cQiQL_#Wp#xxyySOV83N@R0b<2p+^a+2a z1e2aT@ZsL|kh962=`zeVcM^W?lkh42_Gttw7`eP(Y<>OAWLDg2K~8T{@b3GJ`cz?0 zP-~cuBOTU-%=YTP%8^4YZet+`8wAOVz_1TfD0%ysFEO^FW+XLkzp zCc5xOZBD*Ml~>DRuKolXjT9v(P1_Dwvo)pCbR z9a{oBCp~UG=zXNwl(Srua!7I({stk0+i!=mzG8p3WVNy>QVe(ci5AOhR?SUO9@rE2 zJxdyZCuZsWnO}0UX_u0u)|BAPxj)yT#|o0^f_N+_t~cwxnb2E;$<^?NymGN%-gy5A zs?P@Yaanx0!k8EqX)J8{1p$`Fdj=69zL{-$d`rTeoleHkK6E`bCmfT#*V<*4_RE-6 z9PJP%mqIkIT}*_`N@C(fC2=_~)wtCn36{zTr>y4I;d$c1IWhe^p2PqVVEnv#z|c|E zw!`FQa*s9_yKA@fRR1(g?5L1pPqpi9bxZxo3oC{lio2*Zk!3U|A}|_aIILNJZza_= zZ{3S3{CG^;*@`oPAy_4<|H%=qa=W#6xd(^;J4GW*e$&jWM?TCh?qbQ}@G89VTR1(` zl|497DLKI^^S<7Ms|*|u%SuYiW~H`E=Ff+FBJqz^LB!>yyE2sL`XBt?Q=UIO@ay`J zMo*-ehJ}0L86)>_BK+{zcV%0xY@dg#6LO2v;ks+Ot zJrS(9uhn6c zvR?$3h}f;!ji{CSJLY^O%H7nR)Cs`4aa2qK-*cg)40ng@YN#lHwF@n4Sk3RnajB~} z_>aQntMqi?`w`1jHySxb>2<)W8f#qO4}^%bG<6(s zThFB@^Y%f;fjAz)epjib1&!Ipn(2|}9G{wP%af#hap3T{@(4qg3zWIkYSBy6C^3@T z+Saw`RWu~coHhe}oUk<0741F56Cxn%Ti!#@7V6OYp!#V&vEH5Xw>5EQWzd~TtM%AP z6v_Z_nP72BmJh@9tj?V5%FJ|+9rMf_eLT6_vtwwprSkB&Sk+)vB6ajEFQNHL6jvhg z9?vncI=46ox8NPc*yy9u@&dYoR&@Ilq^YEyEFTW)F-Pg1#A^C3jG*Or>l4eu4X*3s z!BEbTgB)p&eVKBm&e7>ezX8*X0^t8FE}YA5>vFe;qT##_(q7X0;t8%6w{o^KWl5TJ zHGG2s4hw$UPa>|K<%1I~O?9wg;U1E>`@p=^B-&i#RzD@4@l@djctF+d|I|?WJ8R)@ zZC?|x{SH8!R!{blKK?gdOJU02Lr-8d+`AuZf&(G>FM!LxMtOfk`f!FbUkPKc2}hO* zmx=r)j2aeE`!={trSf}O@~_9U-cN^Yj$AL2(KSsC$IZTYn(XLd(W=H@#CptO}Q1^{4DfVy$q+#$!B_sL!Qm@FT@{u43AmNj!g$zqR65%}EawU@W} z$gYrsm)0^cE3a<%*qjkM2w$M$020bpKY_%a1_J876!m>7l>(+SxU;ks zHT^8z@MT0lZeWoaUs?#c_Bro;u)h~tdNw9KTZ1lH$GsZVW7)Zr1oJ+wE*rZ8yQ?ms z^H+p;6nFR}M6{;1I#6S9CU>Y56J*nj?hIht!s*Bde^?#=$ML=U09d!kyKJ~+v&%cz ze)1R5!ExncL?&P~uSv^LJ)o`qyEEES`lDS!&l@Nl{c5avKG1I^mO|5SK#R(? z2JN3#=O1?GCeR{ByO35*4h|S=dWhyr%sG}CgN6M4K@LI;@#mDX!x!u}J`|zyPUKbzdU0 z{Qmoojv!N>UXbf3?z-ZPC~jK4P(*?D#3P#ls!xexZ+MZ=Txh85LeUCyHc+W1mph;W zZY6gnCBosQNDpl>*)n{&u?Ot=2EYj7&dk|Br>l!;TL3rqq#Q|ATrKDsAA!r+oq=%J zre+$>yQ(VLwb>nhqIE^J$sMV$B_7LxVxfENBE-G8YYiTJ1@M4$!Hb&so7(0cA;q?h z)E{d3eF!MYpM~?}RVi8E*=d}F?+>{bmfe>%#)ztVo%3a1`NUQP^tB!2x{NyoTOg{1 ziwxart{a-%+{$ZfZG2=sHBK-y$Gf@Rt~qohdrs8rE*HF=G$mi1q8*@0EyIEa3C}Qv zf?O|g$HcrLg(v#D4NWn<$({}IbYP-zKD0@=_*Jf@qkYZUQ3?wKeaItWS6@HM9pjW} z-rY$bftBFx!=txjC5%U5q9a_9FKs9Rl^K7sjYflLFXg0VW~ThnYF;KC>$HU@+lteN zAU6jxe_+gYGrI0zo<63u0RvU2IVy38tueW5dva1Gq8Bk@K4L+<(GtRPzcCj{N9N1{1Y|MHX(X)hjVQ=?xeTzO0?ohM8 zVT(VD$|T-^Ue5?G&s%k3eZNRR3Cx~lJb3`8Zm1iu?t5`W_0ZRAD*+gk2#+Wgq)%+D ziSFBRH@`{c-_7zBj4KpDF9rpu1S^^Y5$9`a>EVsHo$LAJ7Remnu6Y z9(AKdDuge;jc5yVC*%4$nA`S*@3u()=EY`eb$wFz27j_E2ITQn)OZ0!!!~s$Ts<&G zGzzaF-~zg#OblLHelrnxwuj+dD>Pxnk8(0Vo^@wcNowTD+lncwDvEg__m| zuY>SOo0eXtowS?iTG-F5AFC#R;VGExBLM11Sf;W;WQn>`P!>a*?7dJE1$*gau za}NtT?R;&2{@EgCf~evp@l5L;zjU-yIdYUQ?_y!E>7WQ9-dW1n#tqdxfFCicic7)kq3aD941%2<-sQK%(B@F96rGJm|WH9q;` zK|$5#*l;z9&0X3h7j3ta#HpxZ9?E8wEFaDnM^inz652B#OyBTCQB!3H;* z)E!MvEkNu4b5-N^j(Pb6zLz{Y)Lxv||VBw&tNqdB=Wd zc}M6D%uJPl>I};bG_e=vXCXve{u(1oiW;(3+|{cN$K4xg67zP-e@N9^b@sCL5>y)g zSpSBLn}%-S@k%!7m?|$9oJ=2bY?Q9WEIx9?kvCfmco0H-E%^T$?QDu-AHq z@k0JtKV4X%_Y2S)%=dv_SJQ{PI#xIc)Fw4HWo$P%^$N@xFxSfE7I$zx90@ywrW~G*!h4Opliemeavsx=8T!q zew&*X!ddWA^^b8d|4qokZ+7#)x5NKWj{O`RU{-&(C|#5cOxU%-OfkFbZ_r2o_A)_$ zaiHFtpdn;j?8r{2Um2bZs@jtflX;U1_7vwS|$L9bIMBlK|-=_Emkv%70(F z_^*8bzw(;@;~K#(`8olyp4ubaPQZtsd>>}-)gU|!jNb+7WUM*?KTPbu75Di^HO_za zx$mTo7*!x#&=MxBob}rgeQ(`G2Edm;D+z z_MKj1?zIO@z_3~%1Jvh$T2d+aG=`^2NagOBwKL>S z@0S_IF zG>vJCZjP_gxGO~;K5~Yq}Vvr3|i{2$c8}O zj|9pCBb+lE*aF;1VQqVl*Db9GMW}*gqT4WDhP#5va>bvU9@h*prA>0ZLN!ej$zWQL z23@kS2nxMHXdA67v3?MJ^AVxJ9W?uD-<7#hQ=;A-K4*&n;-#radQiWgL(9V>2zbUPHSzK&j=m-# zrSq@KP8UiaR8w(TA#;rlvWqWsbOyTW7<_G|Ax?p4@9E^0#$@$8C^&wdnV6+&M2)a7 z3M1iJ9m}k!cspV(G|ZXBpdQaeX-@szNcgiVe&>!f@DnZ7-ev_T2{Ic{j^vxK9+6|~ z#78-G(Mx;+qc5j7$U{;_{i~`+j0YG=rzJ`&?urrn)Kl5Jr$9y&z(h*h5YkKNTatPh z!67uvVq89WjKE4DVR^O_-cHE_Gmay^Gwn%N8rsA7QA0*5co#*AVDe+E;clAHtAQI} zbp%bn8#WD6^T!K`F`=fxQ*lx>_tdRG(L}nDqUd))Iw{z`SVnF~7TU?^s^xWc;f#S@ z0V=w%C5ASZ%}!uyZU%-R48Ntg5v37^Qf>ggJ>&t>Ba{$U&TjjI# z($;Cll-}6ey6vKe>!(ST`JX>;+_Ge!EU_4BvLWO*^m)`88V%X(<5ReaM&I52nxJ1K zJLW{ianO9MrZ#%w6Jy(rQjDkNo%1Z{jpWf%lr3L|qUjlh_+@RXx=`5Lo|zNm%;raO zz1*KSaP0SbgW!*2L;osF_8scvO?f2Yfq^?IT%%O9T`*1I1tPZ4Ea2yW2a{;yf2~gvi0ohO)DyAw&`8jd z^y)I;3qeZ-&>l-mRlXN@r%;m)cDtG@eCieMA!CG^Mw%NAZ-=Ma*~9NyD#0Uj7K~eO zjZ+eI!Ky)qiduXQ5AP>w8ifsUASdd^;w)i0?L)R_tCqqidmWL3C-13ONh3_35CuQO z6zy;&AUNXbB*$mfmKS=$()B>-xSfV9_U=?K0;1Wo2tlMmf?_R>@TB&n;);N}2y$${ z1I%heE-9NGYur+S00d(vp3`Ik9`bqjJ7YeqYk-@q(1h7g&wUm{vZ!QW*!DL%mlsQI z!XD=l4pSKU63kT-jen7whHyXh?xU2b4r!i64utf7(!KxevbE*kwP+Q7YqG08-vlOu zj<@Mp;CbzFAK-TUz#HRVw=CT^6C^i0`%Q$Cf$<;2&=A|Wl|`a+lyEiGEni-U4Gal> z8k%ZH>U^STYLpg|_EeZ~&4GW25tuyRo;Q{4nVE>d&Pt3a$(Z7>MxSVeem5IQ01cER zo0u1XpA%VS>r1ITXm4-PUJ5PH6rrfCb6MzH2H9eHxT#&mvvA=#)r8$>e&6N7lzD1x z@A5GcvL3NUCtp6P`*~f>IjR>Uf?+M_4u0q^FPOKJ7;966c*9aFRIx$QVWU*`HfyB3 z63?R0DB*^4hz$<9?IyAOI~FWD*EP4V&{S@bntHUD%S_!Rmobsf!q~%G2i#9>c?!bA zo-vfDbO}!}ll43?$O2Z9fNA~{g&Q-#EMwTd7fV){vEH(J~GcKoWog!!HeT7-_+~-Ouq( zrS={f-S&t1m?)SB#!?d0G|PP4w%3`U!SZ?J<6u1wkNLaOH2BBF12?G}{6|*A7(R8V zs(JvEq4d(@==fciYu-pBy|GRtULu{7nT-)2exW4I3HFBnd{}Z@8eNAZW8jq?-DxXdhbLoFg8j!lOL#0$p)ya_MsXP6ZKa$T+y5zgo}I z(!I`VnbCHfJElr%ND80!hJ?m;kLT{e&`V=u$V!MY-zghKdDP3U=vr;C%Y0G4yuj?HX#!=gqllN7!Cq*lK)6CMN^7Yrp68QNK9bz zT*2gyllkXdsy=5K?F}a^~wOsJLA~j1c}ZfT-3^ zJ7%rH!Dyd0r=DHI-#o->ioEkyZ8+9Ar`yihD04N>wpeSSf$k`xzctR{&K~Rf+>j41 zceF`uI5&e)XsXX4@*+=R_Q)>9>&G#XMO=lg-4P;oQ742O%;Z%qF)~Ab)8fQ6MpAEB zCh>h$qQd3DLQU@D0P{jTKR4xB%jC1y(ro2l>|H=ki%^hyh(bd!0@{;DkSc?_^_zYp zUN~z<+7p=?O7^!OinjI*zbELh>wg+sn)IS&!rSzmayg4z&*@{>OuX>UYJ@V-KhL0J z4(~mV;My~`uh%qGtzj`|Es@vI(i@EPJ@0XUAy}6DVg@L5xVr|H_EzN_$8d(DA@ubNOVGibmI%I=b@CfnY1&`1Of(+xMoyj}IN)->J^=_&Q zkmT$Oqgm)pOOzwOd3l>I1HlJN@nofjBDil=ekdc6W{R`zbutww!$dJ=KXqa;gUnw& zyc-+0#QEM0O7>5o_8_81i_ttZFZ+=WGB7qR>q};m2)N>iG;X6%3ce>kE_|BrGF$~^ zHFemZcnhXqll1c2&$r+zpAzuWQI;Ta#&yEP5>y>W2pn#Qh(t#@@9y{ z_Z;m%_knMG@Znv{iAGfdnwqn3Dz8b3DSdPnY=TnRTbba$@DV-pdk-bDL?^(Om-ZT5 znMLHLq*dYX_VZaJjR~S{}FKk4~+6-qn|`v-->I3S5EjXYVav0aQ9vz*Q+7un8@GQb`!5&eegRj0 z21{yMJg}5izZdH2Qh0=bBuD-Z#M{JsJtX47<@Y%b#lqR}RlV?m)*?`Ny81?G&1(Jk z=#l^Ef%ucoG$O7m@-%dmlCab_Z(-d*hST=$`*vv-ufAFdD0Ue6BjUZt0zG}|dIYm5 z1_%z?F1|aHC|Ud4E38=4P31RT8ZYu|usHF@nUN-?ocO2srAk_(Kf!1O&c=XRXSL0O z?39BDMGb_gvSUcRK8A)0DGe;FRVY+!$EVHQoo-@c)@@226Eio0p$b&^WzIE{6+)i9 z)xJ*y=_0T0Y-xOBQdfR?19w2_4xtRM#TC`h;$woI zRWMTK)=LeN?$Xb0JHp1zGu!bsHvg|5#HqGOl<*a(dW>AW%8S3AVtfI#(1X?(9n0@ps7J8gi#Ny!!d@o0Vu+ba zf>ky~cds*1qUmCa7`6jMP)4FIkJl7RI3io{iak-DD-B#DIX%-p3V(E-XfeY1&X1AW z=`bY3O0x{~2v2(G&|4jyI_K6kQJRQP!_S(NWOM4L@2a5T#@7shgfoh&6mE{B-LFrg z#1^-@9rZFvDhq8N1Ua~KN#|+WhUF^w$;p?aHugOmgW)q-7#}Cb3 z2gCE8-d?hsPK(u7dB+!CEclt2|GDVZ+Pvu=?xSE(gClBR4)gvyGlL1Fi2Pw<)sE3N zwK1>9EQy&CA1fe4c*gq&eQa2~?+-b{0PDD=qdlona;NP;JKJ#SNy0=Uak%Sz=(F2c znMHWD@}{b43_C=T4g5|Bq2eHOv7#Ofi!53q<9i`)G0WJOvtB90qn4IkP#d*v z6mtZsU4mOteV&k*Q=m!?jBhwj$%NKO5<;u;G)9noq`@SvNFcYNyh6Sg#LGbnFh#CB~gQ5pP_yn;{d&0z{D8;^bh(XRwxfX=f?z{8=Qbg?)H z6^?eds?%d|Zknm?^(C^FJ5kz{Av<=0XI~bV;HgRDC<+V&p3bl-hTKKrU9HuL=qNA9 zKut4(Q{X-+q^iR==`Y+>82raGT>oAH^o+rE`{!Tc*HhgK}-6Wil zfjQUa4L=14%R1?&z(m1cD*?m6;d3+L^<=CO_21a)e{=m3legW%1#%@J$9?q%k9IGX!VdwaQ(xQ*-IjI#4)e(kXK z+*N;@#gC!4{w?~mn7O?R`n0AIhr-&foADgn80UV;(Eq2s=M0M?%eD~(MS=+hY?4ID z5+n#T=mH`Fq5{%@h)70q4i+GSl7oQ6me?SOgeGSssz}aA&PZ;c>BK9Tadu|EeQ##= z?F&EVPgmbtx6V2DRNbm`PppH^Y@kdKg0DDSdXu?tt9uCFqJJ_clb$R=zl^;vQka;1 zT|I8Rrz>i4m?JaI&3z}^i9acllAA?YN5@F{v92HcM-ejD zRtYv1%1}RBsosFbE7h}&kvf-scQ{naqIcFFIaIsuso5<_VK?FcncPBd6l#-Avzg)U z_pzCE7|Z3Hh`aZzlhSIpv2F=9Ont>1MZHEBc3D{qjLz)6f7!|#ObJ?a2GVX?kJ~B{_ZB~8hehYA!ZdIc`eD4lFpHV{wDnEN#g1FLUMkeG}{V^MDi56hNtr~56QEsSwdsC*;g0WdbZOG2i{xxT{w}M zRsBM`IGSTHWQ6anz1uc@h6z0S;+y_;nWn}&e-oF^J*|{2t!*%MQW0@8Myw=KtXuza z$k5fjhE#12|b-S@w{VFHPcklahjaoN%Y>$uI_o2!h{unON^0?n7(skd)=Ph79}oJ#-et| z1c6+f@=_3Z@Umg;~c6Ru#>omQuHLESFyj`xzRB zd^&cg@;>QTp({FxPiCAlBRcM;+S!E;&?}tNgx3EF-P+IZWxX)MWALSrbnnn$KLaeE zB}{@&-6b2$cmNJQMB<%^bD12o!!i{&D<}zc^;fm@rLc{djKntF0@H3tKYVO(|n~*kaCRYs9v39WAjZzfH}{rMe-T zok@D8V}3-O=BXX7bwWc71_;!-EM&6GSb!JIgK;EQ!o z|M5p$>M#Z@Q^^k-1?G4I|Idt+KNJxE+3{Grr7NJSe@{E`gxZJ`nes?xuSOJlF|4_; zK%dk1HWSmpYSgQv8Vwf-vDSdReDU$@``X*MK!(+K*pk#OlER}GS%Muy$RQ9I(*5&? zo9i|Kxq_Z2y>i4~JlP;iVM>izrnLW(VRSjtj()qvdOL;dxhTno_VuoIzwqI)VZMQQ z%TbX8^V`<9J?g3IHD%lpYCPQqXQQH?CaWtr%O3AUuNXB-Wn^sECQzOi7jCW`vRx>@ zSI?CfDO4m(QI<@8Q%WFcu8XfU2XRa5{R+9-`9!y|zQ?PNZ#GP|Z zT@|FMd)#x$@En(iWRzLGy)w*o25SV>Hr?Q@gFlPQS^PYiV4trpKFAT|A^SNZ*uD`F z_WAe@udd7F` zzl$uqMKqKWSrV_nVO8STWR_~h!lnxMvVm>3uOvik!DR@RFd!a zRL#?snN3cZZDEYRWwezMK4ERxsu2td7|Y$==<$=7U7fC6M}m~<`IRxn-ZK}>FA1f_ zjJ{}N%|E^voEQ(1G8c#@oWopbs@TL>&``By^0%4gZqrt|acD!L1p;PS^M$XO(ywW_ zI(&?O`oT{uVMXbqAXvEs9zXQ*u3LCk{isrmTRmgTGt>h1+rz=_8q!XRdNLN$kE@_470%O?ok}i$Aj=?)IYQTpdXNyrb@{i-%>0(N zm{{E)HGlmhn{>JSTK#lWs3Tc*L{r0j^X!_(Spo(pl}MtQ=LOT4RA z1F!H-2-T{7Y4P+W?G;m!v!D6ePKP%i*Svv(hTmjcPpvPQz&^}yNVgC&(7nnYJWoFv z;3V6Ul0&?l?>nLqy4vPEIIbwbss}kGt~s4at$0mi%7AhdV?W2ZrQl+0pKSbohWyHx z^N?ZJzxGba~x@P?EGE8IoS1N z{377oBTN#wNlQTi$7>iE5I@*7*uj73F$OHBU>MwilN1=mkpdRM`ms6sUo|5Bo+CZU zSYNjpq+@c$z03ZIS=t-HcWDk-hPe%R4Rdd-N?&TSMg{p72f;h7qf9V^20xpC$Pfju z5*%7;{Nyr&uq(sv^>GAHT2|4H#$T6l8WLNG%9%RC+f#7T(L+# zwcgt2By;v&b!|;eY0TKzu&x2O?km|1XLf%U+pGH!um-U&UWLgg6B9G68#gKCAHUwf z_LZ`nj;qIa6o-J%mS_|rE=&7W=*m;SH|8IE_9ZIqmR#E)-TCQS`VUIQm^dTTDc}rf z7v!JK=e~F@b=8OgZB`_S4q**dTgDf;XQ^*w zuZzF5s^S*&(&#ejC4ONk@P81b*feNk!V+vK&*(;JL0Aj1@|2&bBwWN~$^itU;l&w0p zF2+97QQc)LudUKv%ft=18Z~V$UVX-y>~(#`NndeD>twWvz!T~d96qfQ9bg7F+Nmz{ z>C0j^r!BN?=7v>BDjs*YX2en`Nlv5l#D8K^UO#6S8$zub{6=Qvwjb-h61p_h%kK91 zlup>&37T2mhoXI+;!_us?qZqgmeTdk^1(geZL`*-Jmq{4dPX~pcEa~GV`xgNd`V3< zMsn)Pdkn?!3FyTn2|~P_`wBD#OIz3RE`HC&*j=gK%MAs9+szvOZT8JKXT71GtpMnL zQo(R}Zs{JulJ+mp6*)=JvE!19H%*&pPSKpf zY!a8mzda?vi5_LTilk@OYQtMD056kSWSQ0#Q(P`SP3md$3r!jERw|>1z3{}5V7w@= zv9uF?Q#whi*``R^LTccuBaAbJ4qzU`BOxs#u+lB)E z0^AoqBxK1;*LW&_0fTGDByNodmXtplZ*6L5tpi`N!SesjSL_A+GdNJO4{5jjl~h`3 za2oWr`-a4Y;rq*eDQfutFY00uRc$itaXQ12B%}~As>l7gPJQd%=>6DarYaxlg(G9| zWGxRMPJMt8#xT2~%~#C(O|o=YU*&|1^HmaTe|Yxilp*y~@v~VU<_Cx;U@`K|)Lu=T z9Y%Ya`w)z(Sk&%}?~SFM1t3EZ&*@%EkODVB!oUm5mB;2CH!5+p6LCZxw5XeDC%7NO z+};MTphQ^r1T3`%n-m4R76-s;08#kMIJ1+(cUFmO7!Im{PU3wl*?`R)FnvVa(l~l? zAL89cJXZ@gz-Y#wTOJR{QEA@@SOzdA(yvDg4Sw+sp{s+W*{G=F$<)`= zhU*@7hq>$m_1spnudQUG0peLzU1Ab!ogUT@`>X$9mXMv-9<`Ok6Np*F4W$?_DliVh zZ$N7wf;cE*olu0r7A>D1ZC>i%G+zxWV%!|{ zr9OTMOuX6f6y!}0l1R#h(b$KaDEY8x4)Q3Qc&_i3LH9nymrE-_=B(PrYCz`Fsc-ub zOHB7nqw=P8Uf=Yy;~y_uD*+98`gqmO)m#C7*@3AyRm;y|NtCVZVO-Z}OKqR$uRH|j z4MN?As39^h=2F-r>Krs!~z=J z4XmcbLGh$KE^O1mX8wvCW6R6E3KR_8-m%2{>hIh1pI(T42!aDJSKMUzBNc)iJ?c*= z{r~m!jS`K~e;^;>KSZ_uJ0oR(ijbXpBq2LNELJ;=+q3*gdcZAP>)Z~4$ZwSzm5g?u z_2A4m2cPBWIhX#T0{OGyXzt_;eFggviz40|icjNFR13--ohIJb)?OukOIc|-EQ^9T z-B}tTAo1kJUY6LrV<+uA-6OAe3`G*3NEbD;|2M6U|A_0r3aRy;GLk&INgi_T6`Iz9 zgP+fGsqUHUIgW%%&jMK6*Fh+C1 z8p-FIw2)*x^#Moixk>vxO=>OI+e11T4ev!PfweY=tA&qLlzLwm(0OZO@Rp5-yx1)# zTZ>1DWr9c+PvS>*lsV%bOEyd2u)kyL7>q$qJ2mhRrK3X5!Z`s$J3*>r?H)6>ACE^CRT(dO`<7iBnv z@KM=m1@YHQQSFF*#X)g@wadg0Aj8UTYz^(rja*(X8IO#9Io{-}_A5 zePJSf#KPEnnh&6Wgq&&}WKM!>Qk0Q`$#LcApb**DsP81&{5~o!yx!eOLCYQFd-0hh z>=3C$t&G=(iQ?-c0j%F&FHRr+kpgUddzXcZ!e-P0LiufH*#6>*DAZBfpFM z{P-q|Ev#cZ_ZFI8M6+l^ASUL*7wOJQ!?=8!+sBLsLtAR6^GiR?9ju6XdkwCH2*?4)B>&+YASe zrpK4ZSUfbdY)ghm=u;WYIVffez6? z)}EEP(J+T^Va1QW=~eeOD^2H<=BFR!YkFlO$(1cS{Kr$A{Mv|d@_gxCxJr%4HhD_k z{Ot|?Jfv9(Jl({sVd5%Dh6mURV)b3F3JLs4 z=cCMzc~5?C)io;cmv4sJst**y)HXQ2`T6*T9-p>{o{?#}E)(KN3h&8MgF|>^ zq@S1iH-g2mzH7|!b;HtHKU-zFIwH%|8>lMnU`ek0rLBhk?_=*0)Hg++Yj$DVCVi2F zaGI?n-V*pg-a=weC$OLg;AVm5Se&{XY)haGEcE>W(@9RR;A}7qCnucj2F7`nc47l? z7R=0O&TgY~XhoN|Xi*X$OfA z#B>o--hzr+G8^0^&>Z#14y|qQ>z=R`DsrOt-2+=CQM7J`JFjef;cs9`WeOYI1P~%P zf)d1%sDd=KfU{v$RB)QZ-Pnh`g^usmfd)zQn$E3#2#X}_kmxpz2z{FoM;P`9co#fr zHqvp{uMm4jz!`vzx72EZ%d+26flg|J1IWzQUBCi4ICogHx1%Xe<%KJblwf)Dvhue~2GqkJi@MX=fvP7Xjcfj5T$wT;Y_}0 z=!*}d!49FHI=nt8!?ws`iF?e`2U+&I2|2eq@IIhPwnhol9rT`;=ndXqHV|K2YQ;T= zjOQS!=CHL0qA0=~+#D~^a1k~Srdbupn=TH22+U9&c7&nK5$NLpZUzW}IJlkDR{192ESr+s4w%y92>=72@LtX0*INqQXkpZefZDh25c2>>kuP;&K^~a}nQ%=x#Le`e+IPRHlw(L!Lw$38?{obJ z&cj2obAsg}M$jV;VPA7Ii|xx=gK-nju?$~Qy~Wcu6lPRj2=ie1z8sTwE!o2Lfa2GU z0|#A4*m}$u;11xATfipytB7b&w{)tnLqiVqG~g&jjDZP{k1&K`RBT|?Fyc|MgLqAF zp`3U+zl#LbF8*o6Gb0^q>Y#G~mEQI_5>R#2pzB6h1ocgw+{qKBdvisgbMtIvvehe2XYvwT b80(!suq^(pm*ijL|D0Fpf5k6gf9O8|qCLP! literal 52269 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 BjrYlZ9`a4>+fR9#>+Yo+?) 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 diff --git a/ScreenShots/Playlist.png b/ScreenShots/Playlist.png deleted file mode 100644 index 3c83dd5788cb2679cd794b3c4ea41d5d103b57f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79428 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 UuH^h**AV%$9pK-uPyHDGJM!ltEC2ui diff --git a/app/build.gradle b/app/build.gradle index 5d62c3ac..8940d6bc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2020 Shabinder Singh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' @@ -15,7 +32,7 @@ android { } defaultConfig { - applicationId 'com.shabinder.musicforeveryone' + applicationId 'com.shabinder.spotiflyer' minSdkVersion 22 targetSdkVersion 29 versionCode 1 @@ -55,9 +72,9 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7" - implementation "androidx.room:room-runtime:2.2.5" - kapt "androidx.room:room-compiler:2.2.5" - implementation "androidx.room:room-ktx:2.2.5" +// implementation "androidx.room:room-runtime:2.2.5" +// kapt "androidx.room:room-compiler:2.2.5" +// implementation "androidx.room:room-ktx:2.2.5" implementation "com.github.bumptech.glide:glide:4.11.0" kapt "com.github.bumptech.glide:compiler:4.11.0" @@ -73,7 +90,7 @@ dependencies { implementation "com.squareup.moshi:moshi-kotlin:1.9.3" implementation "com.squareup.retrofit2:converter-moshi:2.9.0" - + implementation 'com.shreyaspatil:EasyUpiPayment:2.2' implementation 'com.github.sealedtx:java-youtube-downloader:2.2.2' implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' diff --git a/app/src/androidTest/java/com/shabinder/musicForEveryone/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/shabinder/musicForEveryone/ExampleInstrumentedTest.kt deleted file mode 100644 index f28aa88a..00000000 --- a/app/src/androidTest/java/com/shabinder/musicForEveryone/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.shabinder.musicForEveryone - -import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.platform.app.InstrumentationRegistry -import org.junit.Assert.assertEquals -import org.junit.Test -import org.junit.runner.RunWith - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.shabinder.spotifydownloader", appContext.packageName) - } -} \ No newline at end of file diff --git a/app/src/androidTest/java/com/shabinder/spotiflyer/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/shabinder/spotiflyer/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..956c41db --- /dev/null +++ b/app/src/androidTest/java/com/shabinder/spotiflyer/ExampleInstrumentedTest.kt @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 Shabinder Singh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.shabinder.spotiflyer + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import org.junit.Assert.assertEquals +import org.junit.Test +import org.junit.runner.RunWith + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.shabinder.spotifydownloader", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 71fcd374..011f3294 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,23 @@ + + + package="com.shabinder.spotiflyer"> @@ -20,7 +37,7 @@ android:requestLegacyExternalStorage="true" android:theme="@style/AppTheme"> - + @@ -28,7 +45,7 @@ - diff --git a/app/src/main/java/com/shabinder/musicForEveryone/utils/BindingAdapter.kt b/app/src/main/java/com/shabinder/musicForEveryone/utils/BindingAdapter.kt deleted file mode 100644 index 04b7d209..00000000 --- a/app/src/main/java/com/shabinder/musicForEveryone/utils/BindingAdapter.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.shabinder.musicForEveryone.utils - -import android.widget.ImageView -import androidx.core.net.toUri -import androidx.databinding.BindingAdapter -import com.bumptech.glide.Glide -import com.bumptech.glide.request.RequestOptions -import com.shabinder.musicForEveryone.R - -@BindingAdapter("imageUrl") -fun bindImage(imgView: ImageView, imgUrl: String?) { - imgUrl?.let { - val imgUri = imgUrl.toUri().buildUpon().scheme("https").build() - Glide.with(imgView.context) - .load(imgUri) - .apply(RequestOptions() - .placeholder(R.drawable.ic_song_placeholder) - .error(R.drawable.ic_musicplaceholder)) - .into(imgView) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/shabinder/musicForEveryone/MainActivity.kt b/app/src/main/java/com/shabinder/spotiflyer/MainActivity.kt similarity index 91% rename from app/src/main/java/com/shabinder/musicForEveryone/MainActivity.kt rename to app/src/main/java/com/shabinder/spotiflyer/MainActivity.kt index abc67520..9c675e07 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/MainActivity.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/MainActivity.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone +package com.shabinder.spotiflyer import android.Manifest import android.app.DownloadManager @@ -30,11 +30,12 @@ import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import com.github.kiulian.downloader.YoutubeDownloader -import com.shabinder.musicForEveryone.databinding.MainActivityBinding -import com.shabinder.musicForEveryone.downloadHelper.DownloadHelper -import com.shabinder.musicForEveryone.utils.SpotifyService -import com.shabinder.musicForEveryone.utils.SpotifyServiceToken -import com.shabinder.musicForEveryone.utils.YoutubeInterface +import com.shabinder.spotiflyer.databinding.MainActivityBinding +import com.shabinder.spotiflyer.downloadHelper.DownloadHelper +import com.shabinder.spotiflyer.utils.SpotifyService +import com.shabinder.spotiflyer.utils.SpotifyServiceToken +import com.shabinder.spotiflyer.utils.YoutubeInterface +import com.shreyaspatil.EasyUpiPayment.EasyUpiPayment import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import kotlinx.coroutines.launch @@ -45,6 +46,7 @@ import okhttp3.Response import retrofit2.Retrofit import retrofit2.converter.moshi.MoshiConverterFactory + @Suppress("DEPRECATION") class MainActivity : AppCompatActivity() ,DownloadHelper{ private lateinit var binding: MainActivityBinding @@ -52,12 +54,12 @@ class MainActivity : AppCompatActivity() ,DownloadHelper{ private var spotifyService : SpotifyService? = null private var spotifyServiceToken : SpotifyServiceToken? = null private var downloadManager : DownloadManager? = null -// private val redirectUri = "musicforeveryone://callback" +// private val redirectUri = "spotiflyer://callback" private val clientId:String = "694d8bf4f6ec420fa66ea7fb4c68f89d" private val clientSecret:String = "02ca2d4021a7452dae2328b47a6e8fe8" private var isConnected: Boolean = false private var sharedPref :SharedPreferences? = null - + private var easyUpiPayment:EasyUpiPayment? = null private var token :String ="" private lateinit var sharedViewModel: SharedViewModel @@ -100,9 +102,22 @@ class MainActivity : AppCompatActivity() ,DownloadHelper{ Log.i("Connection Status",isConnected.toString()) + easyUpiPayment = EasyUpiPayment.Builder() + .with(this) + .setPayeeVpa("technoshab@paytm") + .setPayeeName("Shabinder Singh") + .setTransactionId("UNIQUE_TRANSACTION_ID") + .setTransactionRefId("UNIQUE_TRANSACTION_REF_ID") + .setDescription("Thanks for donating") + .setAmount("39.00") + .build() + + sharedViewModel.easyUpiPayment = easyUpiPayment + handleIntentFromExternalActivity() } + /** * Adding my own new Spotify Web Api Requests! * */ @@ -162,7 +177,7 @@ class MainActivity : AppCompatActivity() ,DownloadHelper{ } - private fun authenticateSpotify() { + fun authenticateSpotify() { if (spotifyServiceToken == null) { getSpotifyToken() } diff --git a/app/src/main/java/com/shabinder/musicForEveryone/SharedViewModel.kt b/app/src/main/java/com/shabinder/spotiflyer/SharedViewModel.kt similarity index 88% rename from app/src/main/java/com/shabinder/musicForEveryone/SharedViewModel.kt rename to app/src/main/java/com/shabinder/spotiflyer/SharedViewModel.kt index e03219b9..350f72ca 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/SharedViewModel.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/SharedViewModel.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone +package com.shabinder.spotiflyer import android.app.DownloadManager import android.content.Context @@ -24,10 +24,11 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import com.github.kiulian.downloader.YoutubeDownloader import com.google.android.material.dialog.MaterialAlertDialogBuilder -import com.shabinder.musicForEveryone.models.Album -import com.shabinder.musicForEveryone.models.Playlist -import com.shabinder.musicForEveryone.models.Track -import com.shabinder.musicForEveryone.utils.SpotifyService +import com.shabinder.spotiflyer.models.Album +import com.shabinder.spotiflyer.models.Playlist +import com.shabinder.spotiflyer.models.Track +import com.shabinder.spotiflyer.utils.SpotifyService +import com.shreyaspatil.EasyUpiPayment.EasyUpiPayment import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -39,6 +40,8 @@ class SharedViewModel : ViewModel() { var ytDownloader : YoutubeDownloader? = null var downloadManager : DownloadManager? = null var isConnected = MutableLiveData().apply { value = false } + var easyUpiPayment: EasyUpiPayment? = null + private var viewModelJob = Job() diff --git a/app/src/main/java/com/shabinder/musicForEveryone/downloadHelper/DownloadHelper.kt b/app/src/main/java/com/shabinder/spotiflyer/downloadHelper/DownloadHelper.kt similarity index 85% rename from app/src/main/java/com/shabinder/musicForEveryone/downloadHelper/DownloadHelper.kt rename to app/src/main/java/com/shabinder/spotiflyer/downloadHelper/DownloadHelper.kt index 0621ff89..01e8fa0e 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/downloadHelper/DownloadHelper.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/downloadHelper/DownloadHelper.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.downloadHelper +package com.shabinder.spotiflyer.downloadHelper import android.app.DownloadManager import android.app.DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED @@ -25,9 +25,9 @@ import android.util.Log import com.github.kiulian.downloader.YoutubeDownloader import com.github.kiulian.downloader.model.formats.Format import com.github.kiulian.downloader.model.quality.AudioQuality -import com.shabinder.musicForEveryone.fragments.MainFragment -import com.shabinder.musicForEveryone.models.Track -import com.shabinder.musicForEveryone.utils.YoutubeInterface +import com.shabinder.spotiflyer.fragments.MainFragment +import com.shabinder.spotiflyer.models.Track +import com.shabinder.spotiflyer.utils.YoutubeInterface import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.io.File @@ -37,13 +37,18 @@ interface DownloadHelper { /** * Function To Download All Tracks Available in a List **/ - suspend fun downloadAllTracks(trackList : List, ytDownloader: YoutubeDownloader?, downloadManager: DownloadManager?) { - trackList.forEach { downloadTrack(null,ytDownloader,downloadManager,"${it.name} ${it.artists?.get(0)?.name ?:""}") } + suspend fun downloadAllTracks( + type:String, + subFolder: String?, + trackList: List, ytDownloader: YoutubeDownloader?, downloadManager: DownloadManager?) { + trackList.forEach { downloadTrack(null,type,subFolder,ytDownloader,downloadManager,"${it.name} ${it.artists?.get(0)?.name ?:""}") } } suspend fun downloadTrack( mainFragment: MainFragment?, + type:String, + subFolder:String?, ytDownloader: YoutubeDownloader?, downloadManager: DownloadManager?, searchQuery: String @@ -63,7 +68,7 @@ interface DownloadHelper { val audioUrl = format.url() Log.i("DHelper Link Found", audioUrl) if (audioUrl != null) { - downloadFile(audioUrl, downloadManager, details!!.title()) + downloadFile(audioUrl, downloadManager, details!!.title(),subFolder,type) withContext(Dispatchers.Main){ mainFragment?.showToast("Download Started") } @@ -77,7 +82,7 @@ interface DownloadHelper { val audioUrl = format.url() Log.i("DHelper Link Found", audioUrl) if (audioUrl != null) { - downloadFile(audioUrl, downloadManager, details!!.title()) + downloadFile(audioUrl, downloadManager, details!!.title(),subFolder,type) withContext(Dispatchers.Main){ mainFragment?.showToast("Download Started") } @@ -91,7 +96,7 @@ interface DownloadHelper { val audioUrl = format.url() Log.i("DHelper Link Found", audioUrl) if (audioUrl != null) { - downloadFile(audioUrl, downloadManager, details!!.title()) + downloadFile(audioUrl, downloadManager, details!!.title(),subFolder,type) withContext(Dispatchers.Main){ mainFragment?.showToast("Download Started") } @@ -113,11 +118,11 @@ interface DownloadHelper { /** * Downloading Using Android Download Manager * */ - suspend fun downloadFile(url: String, downloadManager: DownloadManager?, title: String) { + suspend fun downloadFile(url: String, downloadManager: DownloadManager?, title: String,subFolder: String?,type: String) { withContext(Dispatchers.IO) { val audioUri = Uri.parse(url) - val outputDir = - File.separator + "Spotify-Downloads" + File.separator + "${removeIllegalChars(title)}.mp3" + val outputDir:String = + File.separator + "SpotiFlyer" + File.separator + type + File.separator + (if(subFolder == null){""}else{subFolder + File.separator}) + "${removeIllegalChars(title)}.mp3" val request = DownloadManager.Request(audioUri) .setAllowedNetworkTypes( diff --git a/app/src/main/java/com/shabinder/musicForEveryone/fragments/MainFragment.kt b/app/src/main/java/com/shabinder/spotiflyer/fragments/MainFragment.kt similarity index 89% rename from app/src/main/java/com/shabinder/musicForEveryone/fragments/MainFragment.kt rename to app/src/main/java/com/shabinder/spotiflyer/fragments/MainFragment.kt index bd09810e..27ead4a7 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/fragments/MainFragment.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/fragments/MainFragment.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.fragments +package com.shabinder.spotiflyer.fragments import android.content.Context import android.content.Intent @@ -33,14 +33,15 @@ import androidx.databinding.DataBindingUtil import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider -import com.shabinder.musicForEveryone.R -import com.shabinder.musicForEveryone.SharedViewModel -import com.shabinder.musicForEveryone.databinding.MainFragmentBinding -import com.shabinder.musicForEveryone.downloadHelper.DownloadHelper -import com.shabinder.musicForEveryone.models.Track -import com.shabinder.musicForEveryone.recyclerView.TrackListAdapter -import com.shabinder.musicForEveryone.utils.SpotifyService -import com.shabinder.musicForEveryone.utils.bindImage +import com.shabinder.spotiflyer.MainActivity +import com.shabinder.spotiflyer.R +import com.shabinder.spotiflyer.SharedViewModel +import com.shabinder.spotiflyer.databinding.MainFragmentBinding +import com.shabinder.spotiflyer.downloadHelper.DownloadHelper +import com.shabinder.spotiflyer.models.Track +import com.shabinder.spotiflyer.recyclerView.TrackListAdapter +import com.shabinder.spotiflyer.utils.SpotifyService +import com.shabinder.spotiflyer.utils.bindImage import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -73,6 +74,10 @@ class MainFragment : Fragment(),DownloadHelper { binding.usage.text = spanStringBuilder openSpotifyButton() + binding.btnDonate.setOnClickListener { + sharedViewModel.easyUpiPayment?.startPayment() + } + binding.btnSearch.setOnClickListener { sharedViewModel.isConnected.value = isOnline() spotifyLink = binding.linkSearch.text.toString() @@ -82,6 +87,10 @@ class MainFragment : Fragment(),DownloadHelper { Log.i("Fragment", "$type : $link") + if(sharedViewModel.spotifyService == null){ + (activity as MainActivity).authenticateSpotify() + } + if (type == "Error" || link == "Error") { showToast("Please Check Your Link!") } else if(sharedViewModel.isConnected.value == false){ @@ -115,6 +124,8 @@ class MainFragment : Fragment(),DownloadHelper { sharedViewModel.uiScope.launch { withContext(Dispatchers.IO) { downloadAllTracks( + "Tracks", + null, trackList, sharedViewModel.ytDownloader, sharedViewModel.downloadManager @@ -141,6 +152,8 @@ class MainFragment : Fragment(),DownloadHelper { sharedViewModel.uiScope.launch { withContext(Dispatchers.IO) { downloadAllTracks( + "Albums", + albumObject.name, trackList, sharedViewModel.ytDownloader, sharedViewModel.downloadManager @@ -167,6 +180,8 @@ class MainFragment : Fragment(),DownloadHelper { sharedViewModel.uiScope.launch { withContext(Dispatchers.IO) { downloadAllTracks( + "Playlists", + playlistObject.name, trackList, sharedViewModel.ytDownloader, sharedViewModel.downloadManager @@ -189,7 +204,8 @@ class MainFragment : Fragment(),DownloadHelper { } } handleIntent() - if(savedInstanceState != null && binding.linkSearch.text.toString() != ""){ + //Handling Device Configuration Change + if(savedInstanceState != null && savedInstanceState["searchLink"].toString() != ""){ binding.linkSearch.setText(savedInstanceState["searchLink"].toString()) binding.btnSearch.performClick() setUiVisibility() diff --git a/app/src/main/java/com/shabinder/musicForEveryone/fragments/MainViewModel.kt b/app/src/main/java/com/shabinder/spotiflyer/fragments/MainViewModel.kt similarity index 89% rename from app/src/main/java/com/shabinder/musicForEveryone/fragments/MainViewModel.kt rename to app/src/main/java/com/shabinder/spotiflyer/fragments/MainViewModel.kt index ded4fe7c..4a274e1f 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/fragments/MainViewModel.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/fragments/MainViewModel.kt @@ -15,14 +15,13 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.fragments +package com.shabinder.spotiflyer.fragments import androidx.lifecycle.ViewModel -import com.shabinder.musicForEveryone.models.Track +import com.shabinder.spotiflyer.models.Track class MainViewModel: ViewModel() { var searchLink:String = "" var trackList = mutableListOf() var coverUrl:String = "" - } \ No newline at end of file diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Album.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Album.kt similarity index 100% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Album.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Album.kt diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Artist.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Artist.kt similarity index 95% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Artist.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Artist.kt index b4f1bf5d..ba70b8a5 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Artist.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Artist.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Artist( var external_urls: Map? = null, var href: String? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Copyright.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Copyright.kt similarity index 94% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Copyright.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Copyright.kt index eaecc105..b10f83a5 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Copyright.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Copyright.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Copyright( var text: String? = null, var type: String? = null) \ No newline at end of file diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Episodes.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Episodes.kt similarity index 96% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Episodes.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Episodes.kt index ef30b900..4cf5e834 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Episodes.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Episodes.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Episodes( var audio_preview_url:String?, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Followers.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Followers.kt similarity index 94% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Followers.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Followers.kt index 0ebeb1d8..45cae186 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Followers.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Followers.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Followers( var href: String? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Image.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Image.kt similarity index 94% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Image.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Image.kt index 288643fa..61f67f17 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Image.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Image.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Image( var width: Int? = null, var height: Int? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/LinkedTrack.kt b/app/src/main/java/com/shabinder/spotiflyer/models/LinkedTrack.kt similarity index 95% rename from app/src/main/java/com/shabinder/musicForEveryone/models/LinkedTrack.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/LinkedTrack.kt index b41d2105..3efa8bb8 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/LinkedTrack.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/LinkedTrack.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class LinkedTrack( var external_urls: Map? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/PagingObject.kt b/app/src/main/java/com/shabinder/spotiflyer/models/PagingObject.kt similarity index 95% rename from app/src/main/java/com/shabinder/musicForEveryone/models/PagingObject.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/PagingObject.kt index 9dad1ae9..603b4319 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/PagingObject.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/PagingObject.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class PagingObject( var href: String? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Playlist.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Playlist.kt similarity index 96% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Playlist.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Playlist.kt index 4f8c4a56..1cc01e6b 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Playlist.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Playlist.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models import com.squareup.moshi.Json data class Playlist( diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/PlaylistTrack.kt b/app/src/main/java/com/shabinder/spotiflyer/models/PlaylistTrack.kt similarity index 94% rename from app/src/main/java/com/shabinder/musicForEveryone/models/PlaylistTrack.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/PlaylistTrack.kt index ca1c9447..0eba9d32 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/PlaylistTrack.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/PlaylistTrack.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class PlaylistTrack( var added_at: String? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Token.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Token.kt similarity index 94% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Token.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Token.kt index efd4775d..0b69ef32 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Token.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Token.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Token( var access_token:String, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/Track.kt b/app/src/main/java/com/shabinder/spotiflyer/models/Track.kt similarity index 96% rename from app/src/main/java/com/shabinder/musicForEveryone/models/Track.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/Track.kt index b56d8e92..b1ef82d8 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/Track.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/Track.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class Track( var artists: List? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/UserPrivate.kt b/app/src/main/java/com/shabinder/spotiflyer/models/UserPrivate.kt similarity index 95% rename from app/src/main/java/com/shabinder/musicForEveryone/models/UserPrivate.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/UserPrivate.kt index 23dc8c7e..ed1db284 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/UserPrivate.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/UserPrivate.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class UserPrivate( val country:String, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/models/UserPublic.kt b/app/src/main/java/com/shabinder/spotiflyer/models/UserPublic.kt similarity index 95% rename from app/src/main/java/com/shabinder/musicForEveryone/models/UserPublic.kt rename to app/src/main/java/com/shabinder/spotiflyer/models/UserPublic.kt index dbbfe7c9..9a6b636b 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/models/UserPublic.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/models/UserPublic.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.models +package com.shabinder.spotiflyer.models data class UserPublic( var display_name: String? = null, diff --git a/app/src/main/java/com/shabinder/musicForEveryone/recyclerView/TrackListAdapter.kt b/app/src/main/java/com/shabinder/spotiflyer/recyclerView/TrackListAdapter.kt similarity index 83% rename from app/src/main/java/com/shabinder/musicForEveryone/recyclerView/TrackListAdapter.kt rename to app/src/main/java/com/shabinder/spotiflyer/recyclerView/TrackListAdapter.kt index d1e8d38e..033435e3 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/recyclerView/TrackListAdapter.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/recyclerView/TrackListAdapter.kt @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.recyclerView +package com.shabinder.spotiflyer.recyclerView import android.view.LayoutInflater import android.view.View @@ -24,12 +24,12 @@ import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.shabinder.musicForEveryone.R -import com.shabinder.musicForEveryone.SharedViewModel -import com.shabinder.musicForEveryone.downloadHelper.DownloadHelper -import com.shabinder.musicForEveryone.fragments.MainFragment -import com.shabinder.musicForEveryone.models.Track -import com.shabinder.musicForEveryone.utils.bindImage +import com.shabinder.spotiflyer.R +import com.shabinder.spotiflyer.SharedViewModel +import com.shabinder.spotiflyer.downloadHelper.DownloadHelper +import com.shabinder.spotiflyer.fragments.MainFragment +import com.shabinder.spotiflyer.models.Track +import com.shabinder.spotiflyer.utils.bindImage import kotlinx.coroutines.launch class TrackListAdapter:RecyclerView.Adapter(),DownloadHelper { @@ -60,7 +60,7 @@ class TrackListAdapter:RecyclerView.Adapter(),Downl holder.duration.text = "${item.duration_ms/1000/60} minutes, ${(item.duration_ms/1000)%60} sec" holder.downloadBtn.setOnClickListener{ sharedViewModel.uiScope.launch { - downloadTrack(mainFragment,sharedViewModel.ytDownloader,sharedViewModel.downloadManager,"${item.name} ${item.artists?.get(0)!!.name?:""}") + downloadTrack(mainFragment,"Tracks",null,sharedViewModel.ytDownloader,sharedViewModel.downloadManager,"${item.name} ${item.artists?.get(0)!!.name?:""}") } } diff --git a/app/src/main/java/com/shabinder/musicForEveryone/samples/response examples.txt b/app/src/main/java/com/shabinder/spotiflyer/samples/response examples.txt similarity index 100% rename from app/src/main/java/com/shabinder/musicForEveryone/samples/response examples.txt rename to app/src/main/java/com/shabinder/spotiflyer/samples/response examples.txt diff --git a/app/src/main/java/com/shabinder/musicForEveryone/splash/SplashScreen.kt b/app/src/main/java/com/shabinder/spotiflyer/splash/SplashScreen.kt similarity index 90% rename from app/src/main/java/com/shabinder/musicForEveryone/splash/SplashScreen.kt rename to app/src/main/java/com/shabinder/spotiflyer/splash/SplashScreen.kt index 43f60b43..66ed62b4 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/splash/SplashScreen.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/splash/SplashScreen.kt @@ -15,14 +15,14 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.splash +package com.shabinder.spotiflyer.splash import android.content.Intent import android.os.Bundle import android.os.Handler import androidx.appcompat.app.AppCompatActivity -import com.shabinder.musicForEveryone.MainActivity -import com.shabinder.musicForEveryone.R +import com.shabinder.spotiflyer.MainActivity +import com.shabinder.spotiflyer.R class SplashScreen : AppCompatActivity(){ diff --git a/app/src/main/java/com/shabinder/spotiflyer/utils/BindingAdapter.kt b/app/src/main/java/com/shabinder/spotiflyer/utils/BindingAdapter.kt new file mode 100644 index 00000000..5052ad65 --- /dev/null +++ b/app/src/main/java/com/shabinder/spotiflyer/utils/BindingAdapter.kt @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 Shabinder Singh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.shabinder.spotiflyer.utils + +import android.widget.ImageView +import androidx.core.net.toUri +import androidx.databinding.BindingAdapter +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.shabinder.spotiflyer.R + +@BindingAdapter("imageUrl") +fun bindImage(imgView: ImageView, imgUrl: String?) { + imgUrl?.let { + val imgUri = imgUrl.toUri().buildUpon().scheme("https").build() + Glide.with(imgView.context) + .load(imgUri) + .apply(RequestOptions() + .placeholder(R.drawable.ic_song_placeholder) + .error(R.drawable.ic_musicplaceholder)) + .into(imgView) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/shabinder/musicForEveryone/utils/SpotifyService.kt b/app/src/main/java/com/shabinder/spotiflyer/utils/SpotifyService.kt similarity index 95% rename from app/src/main/java/com/shabinder/musicForEveryone/utils/SpotifyService.kt rename to app/src/main/java/com/shabinder/spotiflyer/utils/SpotifyService.kt index cacb9e1b..05ff0655 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/utils/SpotifyService.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/utils/SpotifyService.kt @@ -15,9 +15,9 @@ * along with this program. If not, see . */ -package com.shabinder.musicForEveryone.utils +package com.shabinder.spotiflyer.utils -import com.shabinder.musicForEveryone.models.* +import com.shabinder.spotiflyer.models.* import retrofit2.http.* /* diff --git a/app/src/main/java/com/shabinder/musicForEveryone/utils/YoutubeInterface.kt b/app/src/main/java/com/shabinder/spotiflyer/utils/YoutubeInterface.kt similarity index 73% rename from app/src/main/java/com/shabinder/musicForEveryone/utils/YoutubeInterface.kt rename to app/src/main/java/com/shabinder/spotiflyer/utils/YoutubeInterface.kt index ba1e9955..f86a47f0 100644 --- a/app/src/main/java/com/shabinder/musicForEveryone/utils/YoutubeInterface.kt +++ b/app/src/main/java/com/shabinder/spotiflyer/utils/YoutubeInterface.kt @@ -1,4 +1,21 @@ -package com.shabinder.musicForEveryone.utils +/* + * Copyright (C) 2020 Shabinder Singh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.shabinder.spotiflyer.utils import android.util.Log import com.google.api.client.http.HttpRequestInitializer @@ -16,7 +33,7 @@ object YoutubeInterface { fun youtubeConnector() { youtube = YouTube.Builder(NetHttpTransport(), JacksonFactory(), HttpRequestInitializer { }) - .setApplicationName("Music For Everyone").build() + .setApplicationName("spotifyler").build() try { query = youtube?.search()?.list("id,snippet") query?.key = apiKey diff --git a/app/src/main/res/font/amita.xml b/app/src/main/res/font/amita.xml new file mode 100644 index 00000000..d2f7205a --- /dev/null +++ b/app/src/main/res/font/amita.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/app/src/main/res/layout/main_fragment.xml b/app/src/main/res/layout/main_fragment.xml index adb31467..386a17e0 100644 --- a/app/src/main/res/layout/main_fragment.xml +++ b/app/src/main/res/layout/main_fragment.xml @@ -1,4 +1,21 @@ + + @@ -105,35 +122,50 @@ + + app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" + app:layout_constraintTop_toBottomOf="@id/appbar"> - + - + + + + app:layout_constraintTop_toBottomOf="@+id/textView2" /> + app:layout_constraintTop_toBottomOf="@+id/textView4" /> + + + - - + + + + \ No newline at end of file diff --git a/app/src/main/res/values/preloaded_fonts.xml b/app/src/main/res/values/preloaded_fonts.xml index 9dd61011..d0d637b9 100644 --- a/app/src/main/res/values/preloaded_fonts.xml +++ b/app/src/main/res/values/preloaded_fonts.xml @@ -1,6 +1,24 @@ + + + @font/amita @font/averia_libre @font/capriola @font/raleway diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ceaca902..fb5d58e6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,22 @@ + + - musicForEveryone + SpotiFlyer Usage Instructions: 1. Paste, Your Copied Link in Search Box at Top. 2. Share directly from Spotify App to this App. diff --git a/app/src/test/java/com/shabinder/musicForEveryone/ExampleUnitTest.kt b/app/src/test/java/com/shabinder/musicForEveryone/ExampleUnitTest.kt deleted file mode 100644 index 0bbbba73..00000000 --- a/app/src/test/java/com/shabinder/musicForEveryone/ExampleUnitTest.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.shabinder.musicForEveryone - -import org.junit.Assert.assertEquals -import org.junit.Test - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} \ No newline at end of file diff --git a/app/src/test/java/com/shabinder/spotiflyer/ExampleUnitTest.kt b/app/src/test/java/com/shabinder/spotiflyer/ExampleUnitTest.kt new file mode 100644 index 00000000..534aca42 --- /dev/null +++ b/app/src/test/java/com/shabinder/spotiflyer/ExampleUnitTest.kt @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2020 Shabinder Singh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.shabinder.spotiflyer + +import org.junit.Assert.assertEquals +import org.junit.Test + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index c338a295..67bd13f5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,19 @@ +/* + * Copyright (C) 2020 Shabinder Singh + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + include ':app' -rootProject.name = "musicForEveryone" +rootProject.name = "spotiflyer"