From a4967cb732510ae9af2aa3006e9fd5956a194e79 Mon Sep 17 00:00:00 2001 From: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> Date: Mon, 11 Aug 2025 07:50:31 +0500 Subject: [PATCH] add HeyToon (#10081) --- src/en/heytoon/build.gradle | 8 + .../heytoon/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6969 bytes .../heytoon/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3518 bytes .../heytoon/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 10632 bytes .../heytoon/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 20274 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 31017 bytes .../tachiyomi/extension/en/heytoon/Filters.kt | 46 ++++ .../tachiyomi/extension/en/heytoon/HeyToon.kt | 200 ++++++++++++++++++ 8 files changed, 254 insertions(+) create mode 100644 src/en/heytoon/build.gradle create mode 100644 src/en/heytoon/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/heytoon/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/heytoon/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/heytoon/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/heytoon/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/Filters.kt create mode 100644 src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/HeyToon.kt diff --git a/src/en/heytoon/build.gradle b/src/en/heytoon/build.gradle new file mode 100644 index 000000000..75e2c2f24 --- /dev/null +++ b/src/en/heytoon/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'HeyToon' + extClass = '.HeyToon' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/en/heytoon/res/mipmap-hdpi/ic_launcher.png b/src/en/heytoon/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..02483a4537a8c05aed7f54e5abd49ab962cca53e GIT binary patch literal 6969 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 LNkvXXu0mjfOiN7N literal 0 HcmV?d00001 diff --git a/src/en/heytoon/res/mipmap-mdpi/ic_launcher.png b/src/en/heytoon/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b9469e9ae7a34388ce91b764cf4a7ec8d82ab385 GIT binary patch literal 3518 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 literal 0 HcmV?d00001 diff --git a/src/en/heytoon/res/mipmap-xhdpi/ic_launcher.png b/src/en/heytoon/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8718d8411fc0ff297b9e46c9b7d97687080366df GIT binary patch literal 10632 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 i;0#ZHRs+s30RIbvI+2ZDMD=9=0000FMs7 z|8K3m_qqF=d+wb(fLuTSbM!Lzp4hSWZ?E3_#8Ai4L4nPnK+I-5+wo`z1*ii+9U#~& z3UmNyv&h%+a0h@oFtAw^=m5}Wk+0+74ghsvV6!OD0iewyU&q580P4WNW>KI6K$}Ir zj)yw{)PaG`qQKS!(AKPLvxxFHc(`?I^H{C$gnXmbJN1q}a=#fSgeA12f0*0tHB z9)=Qr+U!!ITtFApzagSFc!ATRLBr?yJ0IrnCWC2n2Gu+(fa%kxPyF=*24oG)$>~{; zl6ZJhOx*5qM7`o-<9c#STU~(X_NvEY_`I19R%^`tF?>0O?`oANT3hw~79yR}^cTLb z#oVULjMXG+MS)xdALg9hKGOubMODs~%2#dx|CG~w&YBY~IFJ6S9<{bOSIh{-NTuds zRlho;da7odP(zokZg8$i=gm{nBx;T2x&mX*1L5>V(-iGm-ApZOnw#m1we|I{{8Ci3 z^vXZ}C|$8)MUyUZvp}?|0J6cubc_39^5miYQxY#tXl&ZMwXQCc8XJhvYHC&;6aoSW z0TKwMG=&17&@^zU#{(Y2hr$Pf@{!r__%0{;`M##<<_CtQHOcutd8>cw?ktQkBh z8-wE1CCxHmP=l)uMRV?x46yE(v?72Q-6n-P1t4jnXWpX>dldA*t9}RAc8f++jD53B z2TfmxR@@gp;xIh?Nlc`e)ReNu#Dq`(XllJ{r`KNl8dotu^4Vk%Z3=+A;EDf!>eM}Y z$F)2}#U;I{u?eGSkD3`=O+OHzMRNfUoSflNwDOjrW~eF6;Q;7*tkZwRA%xgGuz?cQ ztTqG918=tx=M{+XVOF9KzK6M=^ha2b!h~v@Ri0Ik-FH)m8r0za_?~m>P=#W8$oTrv zL$ybh>#EB-Z#PZ8$HlkC=H{*47@v6Ipch|!6K9wcZ8C`33!otId@=d3vD+plKNM43 z)Z3pR!Gu#>0t0VmiKmyY!F3IeW)AwCGaF;f1o9T7N5e}+&tN(&#QE6PSQqf5WD7t6 zM(P6ypMjIAgyR8l%-vl5@dK5*!CWy6M>v={>7E%u7_osBTwkm}l5%oaE{}_uanS2; zeFBxL(E?G3j`>%!DFEVUSZu|gzrzmM7Y*3XqQ_raFZekCH^fEdVBkz z#DEby@*uaua0?#*wemHa>)7`QDoockchOSKG|F%!*I??4ieCk0ehkY{8R_txhWSXW z;bc;9XaISMqr|cnwjwwACpsd!m^HDy?Xdf;>*GlRvDR9jk^b5}YuBH1>rX!wqX@%^ zv=9wBJgy7v1(30@;!#TCD|_!fVr)kG+pYCAX|_Tcs3FuW)hx(w;QfedkD_nCeCiQh z$>(O7$u>OnJzA^<^qBy#+@gG|*(c?e*=tGpjT!=qhU)MaAwq)z z6p9n#e2eaaA+kgNFx)fbrBEOZa~=RvqR8sL7eEHwzQyR1ULd;kDm?~9UP~YUVgN#m zN-{b2t_Vd1!l895K@2eBQ!$INP%><$H>c7TVAFuIS?8$4E-fN4|fl`*x*=>W*D z&mJk!ZV{$ASva7C0+l7gq`&bAMLC~+HWatlY5>`~P`H_^=6;)ZxWQ(`S29kgmQ0wi zniX5-Kw%4W*tqGq4}e^XEw{{wfOdk%=stQ-0tz{cS*^m^0P+(%VdsGlXr(UW==HSM zl<%i6Iep~k4Q;IFwRYT=3Gb>g0#Gp>T0o~*04OddjJA)kkw%djRC>aKK7*0m$Wb^wD*_020?Z(>8D~ z1E?7Qif1P*PG^7fbuSA*@Bq8~LR%a_tpB9olUls*zAIzmV&H66UR_@R`C1790LcJ^ z_2XFWmoYUJS;Vtvx3qI+7b`6&#bi=OhCC6HYK~U?X-`9z#eZM_Rx_sWhiJbw!@JPYHY5@=Qw;~iAMHqx!N5JauZ&0rk#LJb7ez5 zEyChs;WPy&%KrN6zPMDaLG-5sNEB#%(n|N+Z#lk>b4q(mlm$7EHeO}iO~{jqBsMmIAUN> z{lXxgKI!0!3qawVgyCrJX`eU}O+S?gGXOG*v>nQ zKJXYe8$4SAI)=VxoA;&?CWwb4D6yni2x};g*l?Z+q2q*ac<|K-lvaMI#bwqjIJ*2$ z9xkEaYPhHti@x4&b~jddn)h{@{-_EhnQ)&Jf%o2v_Qa zlOv=p6a}OJk@>peaq@%@*RYwUk){DV$P$SGOe!A1dX64e7yo2&uFuQd5&)=X1%pQ# zv;!JHp}TzNc3f74^8Fl?ZqPAc6US_v#q z_MW9s?+tDvC5=tuZ~*LOdJxv}1MI>|H$(V=2h|+hwn4u$cC$ zV0sJH;imeQX87}CsRrD%w4s^Gn&4;W#5mlOm=H&4@o>B)#8WCLpMrC7csLQ_C?36c zl<6>fQ8@8#fFz2ualZPg1AgU))x~%MSnL}UmPLLXtT0Zg$@%7+=!meAeVGHbNP?IQ znmDZtx6oo*W|3*U(Pb=HSp8}@h8&_<Nm0!zAjPoIrh35-AnFdahduwm2~= z0t`meDMa^02Q;F{ri&-&>r1CLm3bRLss!dh%*3O{ffzs(10!DN<{A;EbP`X1P(Z{0 zviMX;^EWh<0x>f^7@D{)6J0Q?u1iKC|J8bsseM&r6TMejP3s$40Gej1#!O_rBWS|= z0o)aUW&Ns!(h(BK1b6C{98cr2Qm8Ay#VNAQJV@LgD|yZlYvE>$mo~Ql$NOAc;4!k* zOfG#t12z_3{OoU|q(qnOyYF(IF|A`gl_hI;u7KNLsdVaY<>ZG;pU8)N8wKDI+_J(z7xtD?g9YGdlrDi2}5`+FGhC zDWlSj8>p(hf+~uNXvL!6Xz{!S)P(Yx<2b8HPq+QaIX>?`^b&pf2vYH>tH#Z$D zJw-UUy4%2nRfV981=G(6=@AQ^hXHTP1_n^{L>QE4CYa;nkeSYUkV@Ec9S++M#+jQt z2Lq9b$nu&wMR;pYKMO9x$?+^&TJYS5rB(D%MLm^ag^1FH)WF1JQ2XvUgmyk)KN`Ht z&XnDy3nizgK)HnOqVtzsu}f*XPH4qIG&MI-O;r_bSiPDSe(?=`_R8Dz$Ks_*?_oTk zo;b8Q2TJz7S;;h}Gq@QzNj$`cFcUuui_ZsFD%P!viWo)CQWN})2}?}b6gQ&WoQo=e zipPx;GhT9Y^&xr?(;yfp>b%c|0D%0TGBcMuAF5oJCmIiM(o#`~z)%h{-i?X~)X z0mMplw5%{+4&)D@@H$UOSOj3`Er6>rxV5gytjDDlwRQA*aV`A@Q`}74I9waD+ZY;q zypCVG5h1r;?x%-}vA-1JVJXwqrZXb*rVJ*$&&gcjD%WaI+?5=GY%EyDHe zI+#m^DmK|`7vEGs5fiZf$HUJ3w%y0 z6ys)nTM9q{Jxo;{7gZ%10Fq9d0pP*%;32%iyyd{d;el98=|8F(=!rs@=OXS}DFFm3 z=-rc!y6ghlaok?Wz|-+IRw%sdv@|fhAY#SS9L#arIt=KzoEBJaZ#*%V-n#!Ws)7RE z0x=f{ifx;cOjGmHD2G8LL1+a$^~a)%X|G?U5h~C2qo(yL5~i%Ms4CG0Kt@0Dstl3n zEFlNPqx1Ng^Tsr0)wZaynVtpbSps{V9r$qo$bcPppedJKNPUJ5mfyy)r`48_ReQOR zxzPrft-}O`74!oJO!GeeUwZbYyJ+=qivbXD84zY*N<5vA*O{^sR47MshkQWc$9;sZ zmgsbKBm}U0)H#_@IbTOf2Vx~!`XQePxQR8({3n!q`LP0L;Bb^_YnF;L44-Dqq(@g4 z(gJqgp()HL28|j;C(OQ*y7ub}Lh&qT5u+682wU40vkAKHrJc@f=p#zj>0 z#~M+J8O}q};%Qo!PDrp~6PpFD{oS{Hae))cwr)O< z7eLOS$RH`aD^{sZ&v2d7rnQ~qWx#3oT1wL87%ss8`cFv>{inQIyvf{--u?T~Kkm4Z z`VJl>z!Bq{opJ4kMB5M8Vq46AkNzV4&_1Hye)x%QKkWjlDBK9*v`{kcKOiH8_RWU- zfTy8{tAur1n5MN8K!y{^ghab?zx!@$1E>HQiR;r!*o+sDXxZ)1I!M^KM!`!IJH0d_ zKaVcWJokHbBRySQNu^*tTysWVHqE&GCK@t&7vf;A+y~u5xu^nd^AkaB!zK6*7l62Y zN4H|SsQOfRM*;YYx8J9KU3mjl7Gp&*&gH>uJf&ME^C<$k}_IgkR-MhzgPng+x}xS7LI z1kOP*oFJl3+dct{i*QokPvuSYuc9)T>zvFMLpx0vPp4dWm6+-RV*tocdGsT$ZEc0a zicA_0*dwvd98QEU#TyIh_A}0><=@U14xRu7`h@%}8kLS!Qv&$VU=~_ionlj5%J!tN zgzAIQC7Jv2SVRp#h2!=XC0caTP#w1Qfe;+VH5dV|ALzgLIkBc#bjHy?R~OS#SY14* zSrA>*Z@-a-?z#&UX$2gyy!3##m5bx``Lw}soXcLz%zn--G7(zg^jnzr@vyw+ef9<2 zddgYU435N8uq!y`IS^%;5NVQw6yorm5MsqCRusyDbc*9p4gcVrAk>@pZL~PhUVDlN z^IMf5U2%G9ybb}dY32}Y5n1BRwm{TAVTN_{4il~PO?f@NP*gO-hBEpcX@opi zQvjA*UVV|Wdv>Fu@=8iT8buZYqfA@bwT`VI{B3M(q^gPvc|NUkCrU!fhMBeP29U;N zj0Zri82swWN~%ZdND>@|Y3XT_9-<~aG9T-ks0wki+)k^#a8n}{$=sUf|!{&4+!5T>{yY_Z4tAd2p`8S~TxRVc&yx9zi>eA4l8mI1KwO zvBItIH6!LHPHkih^HRDO>mPi3MM)|B?_2NE51)Ka8xhLr(YF^3+kIEs?Vt&i(K$n& zZiK^gLrEp&c20vhYoN!kzL`FI=@kjE<^yQwz%P`=Nk+El)|{T#;ROym6r#`jssM`C z^07FUaG<{&fW+0$xh^_Ks8!88XH2xL4k(?hJ+TVRNn1)ewd17x9H&6U=^4q_8Jzzu zsin7(7{)7tVnOsv9({m@Ay8UWUPWcqHPpXbHk^qnd7MAree@|keeEq&^2a*V)mz7&^f4px!f4_w*%x1cy;|HY@n0~Z~)xaa9lGW9$ zFdug3gH#++7mlPrP=>*okEE>y)eSh^LRGk7gHDO)KYSRScmG|KnV(H7*A)u@`*h1y z91LYtRg}{M7hOT$fAFc|NDyx~zWglp9XgN}e)TQAJ?DA4_`cgj;r2`4@D7H<1hj%K ziDYQ=yU)BpPh4@M;} z$x^!Eq#0DUew~Q#Vc1c1dI9t|HG5R`9-!E2f!#i)ZID#ZlTfH`uf|22IjKJX`|tbW z($@DxuitYo0g%ylWcEVC*IG)TU!GYkq6$~z(HZvMtc4Y|26{mQE@a0gQ1|3G>dXLQ z&oMCeb!82G2!**Avz+aQI9^Q6coTIshW0)FXgY4z1+u-?AM4Agb9yor9q$Rr#s$$5dh4SzW5D*JxC_KThwp{9V@)( z%j{`q(vKf~E@GFtM@~T(I_KV7DYGD-{(0eLG0f}yzXlrh# zWV+_W)9JS_z7oJEVPI$X$|dX@sB|7{d6G;DH8p&J#clVhkmB1kk1+9#dcfHM_>uoz zlmN7DF93)YUn{E3DH7ohC4v!51W~F%_ZJFFX=PI!)oN~%h#NWqgonWz*&gd=7F0LU z^TiNL(8_seIeN@BH0e>~4FV23=L|Y@#xz=6TtSu9b<`yn0ZI&ve}uVw<0&)L zuCQ9EN`xrM$;qW^C+eHcK^4UKfkAxG1y zUw?PF1?yFvvU8xQC(=f6mr)b;r5QI}PpO?!s0xnHwS|??y<(|%_iTFWk*8?x4Yw#; z6P)>qf?VnmkDkIi%>d$9pQ{~~E)$mE_C?`h0VOG>wMi21x(I;M!GWr_ZY+!e(muycrW3E4Me*RU4GrLoup*n$h640+!{XoQio=coIw2CyRcQ*ATiS5?%AQ_1NWG!{y2ZuhRp zE&i6~fA%@V8_aA>z*;=tfO4~Y6ws{4AEB;&drRKWir<&e-Dh4*h09k^r`#Mm7fLkT z&k}|2*)4}sIOC6-h4PEnZ=hRFJ%?5<`c=6K%-{pL%shJz8bH^+#JWn7XKA+o+&0|F zxr(;3$a?bDyXc(4>)~0j(!>~Pi>?vyAlEo(AqW7m(q8aGlpKj`_hcnHa0KZNR-@HdZH7Zc z-MOle{*X9*3>|gRxwPN$N5Mi#qQbQs=*eqthA#1`lKspn0Jwtw{pr@%o~MMQ1W|Nb zu%za$b7#>H|MR|(_r#lTq~4=O3V?b6K*@>P`a`{qc^?@l2|G0EW93FRX3L2~ccYjla7h4iNJ<=?j^s$Yi^=i ztauP568~lQ?nASl{TFr1WiBI%6g_b14fOfTFAF^nop})r8$VuFTJ(Ymp9o9KOk5st z2Hac!noFO&{5n+?mdKdo_bi|TPB{Vbvk8=tpmxkK61Xh@InGec&A8nR%r#4v(Nj0x zL93Aa(}29})J|zMV8k$puFH`nkfYnK0JjDi1eM63OiqfW?#ND@I&2SWuBjGFtT*s~ z0b7#LQ&e4+ZrNV(6?A`q198HC*LhJ=qSuUND@+|>(=d$PAZ}((_+kKUq4OT~e3E~{q`I`feSsc)|WN`)1}$3t+yeKPmoB8Dbi zjFi<0`^)fns(I51rWlmOJRD!i!zskDs{yPk%RESSG1mCT+?APCD&5D&+ z<};GAb8~}S5dswGJipGHPc`s24c&PplJnv5c8ns3+`2ki@yoANv9XxC^zKF7x9JCc zjCTg)O(@Lri)fYy#3i%^C#rz1Pm{xvMNp4?bUKh&rM@*(@|OUGYx1?9u^PKNHn9Ov`5 z-lvDpyF{7ms3W^q4?6AsdnvzL9u>fY%f|!P-Atd(c|mllNtawi!zb)VNr?&6BR^BP zS;KF?Q1b%pW>kgEM;UWnyHL{TT`3_QJ{GN%+OGfgtJcunXI(_=pjRDq`pIxKo&p6M zL#VA6;ZXR#767~MsFNiua_Y_3(wP0mDF9mB$k@_NSd7>(|9fg#whXx^_0*c2MlsuM zL#aFNNX3;6R19ZmD@0w-?wK@e!jZIg$r3?)H+a!6D#)TF07*1Q1Az8&A2qw3;Rz)8 zp}EL_OhCg6qQ!yM?uJ+x4|jOWoqM1^LS^AJe_*-I1MAD-`-!ELoE(~R?bXy{(00@p z=4%pIdJC+yD~>pcmM>Z$1jy~)gQnekH+4dqM!#No>l)5Ic->9(2>`^zJro>hrvne9 z1OTu{m(J8M?>nlWeIq5XNKnBrNt~%0wG(B|ypm#50YV+sH%o@U`}i|@_=3x1^=bc| zM$$zO-U;7O4pyDk;q6rol+r0f+z78fBJW2b001BWNkl@))RU-Tp95$^C9i0OC6?ETu9|!-t;b4N z?oT&F>o3AYNE8vSkIe*6fYmBc@xn_{qN5HV9-ojb$Xqdhl^>@Tvu;jNH7$kzBnCTO zjF~cp_LzDsWn`pL*IXp$QCfG-~ULY+Q~K!Lm0F>_;v6Mk zhQQ{nr=Cltu-f9`J)VB!RkY2p?Gf90pO!;0KJbJo)EO4vL$j`>#ox{o(K-2oGwH~4 z&J+dQ07!ZYCB1IrTB^Hb7SY;ODiou|v3Rsb?M!vZ2P$NjJL=BH^5^T1K7rQ%^1GDN z9USQV{La`qMkVArvN$qUZx9!9U{tAC@EBDQra6$=-oNfprY%qrjSo%D-Hy&;2HZMv^^=rpKgh2}n>;tA}N}IDp)LJUVpgjg> zS|Jd`%JRO`Poz`NyUP}7DDRCnu5ln4-VKD6*3Ea+>Ra3G~0dmIKFx)wyK?NMgs_}dRZq5Chq zoa*4AmcTA^0H1;2TQpIfPZmRp> z?I^dPEB*Z0R}wK#LYQP1SbY1Pd^{EO?5eCiec0wdbG6pyMrvBWo?=Q%5r2U=O#u1w z@+ck_UKPCXe{3uha3n$Jx$?k+slKdSykmV~MxFz}&WGh#ePG#8gOe(hzhfjQYVZYPorJ83Ltjp2g6P0Kuel&qTm6 zp86tEz3k`T>DO-;QD*P%l#3OnvCwh)b%mb?e;>XI9O&s6g(wFz2Rd*fd@8I1VTQ|M zJp*n|RMV*}-0ZLKJ}*k1=oJ7E&rs6=HJzQwXy&B*gk0w};xV)V zODf($MEYlhH8{tI$D1vkai^S2gU9WKJeq8YXO&m7sjGC1X3Xer*{O(YHPBPH-AiA+ z@|Kh}@%*!C)WHWs6d;-pf_sdM3{X}zKfJmoYk)^ zLm%dP#@gTsRe^x&>O#(rgdPMjJ8S&@6o*7Po`iVaHO+tsOVvv*+DbEV>i3f0{%zW5 zlJI4%ehl@PA0+@W2eR{h{QzY9h|HL=BFTI8%!U55qDdu6Nq7MSW_rcJ_p;5dyV4|B zH%ZvwiBnh_E31&Z^EDO1pVCxON*h zO5eQxCaw5!0aZh+@R};w#1h5ID~p7m!5oEB+#88yM_xXYh7B7i9LOHLAfTJ}VN^^D z?OE=}dCVh5fk$|)oxsK7UbqnW587T?*FdYWmcIpJssTQu+3;hTWO^R!Bs{wt z^sPgn560;*51)5*HqBNeax&sUwL6*8*OY<4N;JYK(c(Z1AbVhh?Q?>8z@80EVSSF9 zzYw0`Iap26j2>j<=hN&Lo}yeMrb3qSdi$_k5xusdTx;dCr4Ohtgw479VbP)}j62n)yc{jP-rmjfhI zmr>L;Lz5L87Jyg>YK6{K58daci4!G8CJA90*zve`-;8A1FEbT-lA1KO*W1-T;XVPC z!f|X`T&dOC*otF{yf(f^w3KKDkW!L0b-3+Ta#^5r3@SxY4oy4>5A-5rAo7eKfAR@* z(yR*==JY+w;Y@qrg3D>`Z*c459Ir4P1`*YN)DARapS`Fzz{8wOHpm3~|KWpA=uxDS zR<7R&K<3eT58X}Mj~uE3mwL7ZW~oEt_Tpxj;F-MliO16Pt1gl2k{+rpx`$?6N1wg$s_X!}_c4=c z^7&^`C#-5PYp_(2iabq-NzJ|EetPf0IS`4hv@{?E z=GX>6tmIY0e82UOLuDserp3Xho&jO}0`q&YL_nCwj2AvIp*T`5`Svbwyc zyAhW`P18BAOg;7kMNNdQ7|kNgYMw9mv76sYze90+7Aq>Mw9kd(VE_E!4N8ES%qbWK zMAuIF2mSW#cd|?B)i2Ja?wszy+X?I9j2JOG*osBJ(WGmipXQLM0{N^x{@{O$I`564=0zyowV^S0R(2cOmx$T+Af!a@OnEDilXyC9G9 zu%?ew&3tM6AZqd}S0Aw0$|K-8{5kz|lsjPK| zpg4CdR+Danoiy@bab$JoopOjSKjLIsGXF>DKq++DoJVNe;he9mh+hv&rM9k#>af>y zZcZB3e<4K_z&vh;F%;WShj>*UUGUsfv|az6YLfbx;(sQ$@he->T$u@3I#4<1MFT)= zg_R>m>5d~0m!;1=;;G2_&W1uHD=e53dFbx= zqC6Ivh)&KZkp&A1ge<~(dUPP%#$LHU-xIw808%;|vt9hJ*I_Bi zj|4MP#=_b6+)QH+J6Lw_c>cEg=~Zlzhfa!lzdHt)+X9nTl{3Ho`(G$K_8vNF(>zOYeiwN(;aFp8k3EOe$WzMk4z? z(XTU*aF#4P0~q_5y?M=Oh z3=)teAhm*%)7Uri%45&aOE=sm!h5^XJJCru-hjljTmVSD=OWsN@pdaSUO5s=uwatY zS~-Zj5xd>rf80rMvT`T`fz`Q>(T;oWt~Q2X9uK|ml}Dez+Oa!ieH*`feKg(>bQm^b zU@jtkWGmKkTn6`{@*!MM@PjvJ8% z@x)r}s?mzYI<0uaO}FmUwReA7_TxNigm^Pvv{=l-PFPdE4^lh^BCNq#k6G}AnYeUHZaVcu z09gQ}a_8KK_B%Ni8UHo_0;)NoEXn|4-REqLHDb;CC-lnA zx4{`#DXAdG-*Pi;H=rNof@8^I#jvw-3!uwCKps4n21FV_MddYAScXXh(`YUHJrA9F z2Kv+}beZ++9NJ~<7{_;H{9_Bh{FZLSI{LcG3dv{Q6QPdrcn3!!E5_bEsYK>$b=r&t zx5@%g0?zk}E(fvzkXE%PFrJS|blVi1s_}G#Ug2IuQ!ANwwGlFxl)P0_(^W z2P(w-%8DzP>tc=AFTc=3r_TU*u$Bx!JL}Ph0ie;8hD^l(=R&qebu~SD`E2?W+rh*@ z4Je3Dq*JjByfeQI$Tqxf@OWEp0|?LbS{O|crr!0fKK9xrKXNk{Va@@oX)$E_^BXH= z)hYkpZl}?-|CyE)JLSt9&hhfE@Un!i_x50yoE|;s=&P?roNQa_ z!?`rtweY8Npa`Mm1<-n|%q>M+kb}c3;PZOutaHR!%J-f9@Iy3U|Fzv|KZb5 z(^B5i0`>CyzQ#|VPNNWz?21(xo!L6W`8It(EJm#^w3T<`hm{B=Sb(Ey5w->vSOt7R z%z=LY;!Bz{bEY(g0d&q|k5c}&+fXkg&t)KiO=;80+A78Nz_X{G4zBx?D9v5LeJ;pD z3X6`|hs3k#s7VHwd?2E}3jQNr-gcO))lC0c+S><6+tA)&rNXjogF5I^WV zZ?LcwaWN&HklLA%PCa(m0n23$qV59+!V{e?@i4BZ30$jq&1zZzo#&_b-p32y)MnkB z=ss@xG}>v>p<>nb;gzYd%FJbK@GrkrncsAuZaYe8W#5mvtd$jwH4VALh9S4Nx zz4u>wY4&UZa{~0jv#}f~uTO92g9%9C&2c6J(}C}Q@7b5>p-Zk1eTD<9=j3H!HLI1s z9YTb;_HW|!4m{s)QItg3l2N;W7qv8#KGItjYlTugftlUhQ?kEK#z?p!H+{3e+d9t z%8J_f$)d3S>e}{2cTy}=dXwP@4PXck)&&pw-C zcq2;?yl?khtZ-Gkv#KI=DBNdgRm7T6;l3EkcO(u$W~jndEhE!<+$Fko|Ls>GFb87y z!}7JIRL>iY13>RR`Y$XHcv6~@f{An93v($GZ&2htAb0^mFKm04h!BsE4A1lXT4x za4hl*SvqJ3Q@S(;| zWf_`Cxmakt^B70l;iUyw;GN}E%+4^&yMxPg!U%qd{d9i7-a1^_0BkIN z#ATOJGG1lLxz%}auH|9k)lPM%9zjf90C31k6>+$B|C*O7(Wnu9j11J%m>i#|RLITL$8h#%R^OEa*{IX#89a0!2yXG##l*oZh7zo@qn@1ehM+G$j>a)r{z zP$;hr8-`UH2b_N<0>;=)1j;4TG#kovmu%i$B!1()k*u*NC8Q5h_c`brMgd7gegs-jC?}&x3Egom zskOp~ErA=bu3Sr-Z@_`xM@F9j3QFVjd+(th@^U#fgZuWv?x-MUC;%~d%CJv!Dc&dF zi0}z>E>8Vm1)LWrhUK8_$HDy#*m0hB#czN@EK7{w(96N#W+7h3Wd)VN;1M4X0>I!t zWfe72&W05$=&6e?rt*#OYw7uD=4C6&-1CGJXg6$SoWjmkrVj|71Wx(m2OrQ=ms}}* z&c;6{firbeJ8MaQLg}K$B4Yrt8NbbG;)+)~% zy@t!w17Cj^vX>)iYQ7#cV}efVZ|;sS4W_=T3fZ8rP&KF5Z?3Hqp?3g z68-R>|G*pnfz+LXa`wa8u|1JL&J#r1EUQobr+@%R#sUC>pJ1C`qQ!wM0C9t46BV5T0>s*S~=y^Y-2(1?YP1aCskopD?o(#N0sq|FoptVbv%Kf?6AG!RK9#RqkMa=N!O47tAo6;32T7ox0m!`JLmW5+`+Vx)dN5p1feNp! zdh;!M``&+2Gr}6FX!DGWESTj@^aHr;C#b7TV}dCpudm|Vb4(zmCt~M50R3c$&Q9!o z*RoG&=<&UI)duca91Mu41BgY60uV=%6}ejlKw3NqofSJ(;BZe3htWzfQ2(-T!6`16 zUuxV~kK`$kt{J@d$?{TK#f~GK$?4gP&VS|^QNnDVpty{#TMyW;Uw=XWefTk|*sxJJ z4{x+N=9r^smr0Ybs|S=&7B%P(E5_NF*~wUP#3iuKQv%Ua2ZdWEg%(@O=g*@z?ztB_ zOrboRo|Q@CPoGXZj@?u8yLqlF-O$~4E|a;?2Xp4o$N2CKS*Z6k#Q)NH0V}RA0Z`t7 zu2#bRGU|bdclFM+On~Mn+}}GHH%qKdfl2|$hQ85>_@bhR(t%inMTrCbz9SrooKniW ztD?mM9%-9L_L`0a#!~l8Q#F8~K#%R&BW#%mjQ6S3;sABNSXoXBF{qqI!eV3Q%m2m> zX1T#>4Z2jWX8o!aGG9Fu)X&T^a1rL5vm%_;AT!{A2qO` z?mTH4)gmv6yREn_o0eK9t*Njo z(>W>waPXw8Zi=P%A>Njuue>!NiznU=CJPTtNXr0tI0ndLpf=4Cfs95dEiM2YC4PCX zn}K38K8Ci7mJam$j$@WHNt&HZCiQ}EOGaekmY&E0 zm;y1FnFkQ+x&_$xGcEY&BWAf;3bXR69_qgRAUf`b>ycdvpOl>~ zXw9#6coEDa=bTFo$fjff4UbQviD_8cg#NHEh^uWvU+U4Ia!!MV;}JQFl!0q`;E*W{ z6tzCb5vi)njt#45Z-{K`q&Urv!~lTuklj|e^+FlH?Vtgqt*{`@FoYIPLM=W-FEhz^<1-8@|05}o5&hz##4xNR+viUqM)#rZ~TN;Ut#AJDt^-bZ!V z{ew}FgliL!gqDQ+-a@i^4Tlt%pjfOp{l5FD`vB|_#+HoD$qXaHedQ%3^yO-f0{MhLO=GF}i<&-xthPf1IoLoT_P294bvFN{%MV&PBB5uwySfDpz;0SyoG z@Fd4^Az4WAJp$p1z5q5W-|}pNeE3^VK1a*`_e(^-vEeudgO$cUi0B`P9pf`)Yu*?tMmclv zR>Mk`5)4et{$3+SV6&=AC>{Ec#G#mL;NE)ZQSU$W2z~$RYqC>4AN*ptiAgE6J-8R| z{>5*xe+4NitGFzYrBGIpDcNh6ooL^aPM|IWwxz{LVSVGyd#Id2jsIA{?FZ10LHer1 zsL)0uu0nb3+ahLLlbCrNZ+$%Qwgy~8IqNy!H1i+`F^5Tqa;=m>1 zV;G?S)K$@ZgcI0ekpn=AOGy*I3PF5{-wgRiaZvX25%xF$gUx9naw`)NZiof2Zr;H{ zKYj_GXgFwhH>A{#JNZN^*lt_NvEe00U*P2~iy#ggAon*ufp&)%w+9qwv!jSU~b2+mD?9( zjE297LCy-a=y1Amk+!s|o7MUTmeZOHW zMlt5af~Ivk{z#mk0CKaIw&HVrWc4 z3T+Ecp$1L`TNM{j?q11^WVndeIEI#Bb?B#6^|TJ+=kARbJM=0Tm zaF6qPO4(H0YA7#qjQG*$MuU}$vNoPD6Pt15oWKa)uAEjd5~J<h{-DQXPy!yOR=lvcnb{7w0|#zPp(CwFqB>hIc@PiT_#`O%UqT#Qo(a^l zUZf7?Jyzu^?pA}cmVz6t#ty2yZ3UN?jPqS#9c_o$S|=T92)H0jXx4Bx^)^QBH_P8*Pg0f+aJ6k!)DejuVjTTcg? zjydv(^Qwb|Y{v5&n9ZQ@EK(Cj6j~PvwxBX?>JV=$KFyek0wNr2!SMDc#&@C=YvtNE z)N>;J{7!lXmWV4Iwvgr7n$mcL?JRaEs@@jb>->dnszI-GAK?UFc; zW-D@r+pbtJ$E0MfAGlGoPDg2vNQx9gBCb8SY~0GbZV1D=%830uC-lCjL9p&gk3AEi9r+tbDqPxtOQFLdgi)9 z2_YyRH0d=!<#rY)dP>-B;Vv8NkK4c*gU%pX1u8%&PA83$#gdqCoDyj7+#yO9_eV4- z9Tqaq!$_f`st}#bQUSac9MdfUtaZ?DQ4(Q458WANya;L`Eyt)F02w7!BK170IYW<4 zex7y8Nfzpmj%o$TCO|;Oo0+V27(FIZwuG#aVkMyn29OplKEcdDTO%Bp5RG=+2Rv06 zbbO!FKc%3{A(Kt%Gi-dwdA7LBWjSGln4WZ+I|i+L*Pu2NB*?sXQ~w<8!FKVOJL2ve2Ob3_?t*s1q~@qO|NaV<(EwL&r*od*Mr^#hau zPG8W9w*7!I*#qK|#gpMWV%agU*x@Q%P~n-|#Y(?4*C5U{#AHQM6epmesWW$L2T$ZQ4pp?Mh5{Em{ZNeRrijvK6cvqWFP4yq9z{#pzuT~HxukR_ zbHC$%X_NBGfKoF&&?bJ~xDx&P*~V~g{mU9aYy=LD8V4FQ3LHo&WD5jKDO5zZS6w+w(b zZwMmL#e+wDalQBu*Y>7{ z)&n*VG#*LPzF~_L5Ru;3zS^UEH;Zs6{Piu(#XB$lc@!G6)s$$CCklW*7(C*QTmU$T zeH$gtQCwx16~W|>@{hQVkV>;-0J&~=U>70&0{4f0z_$q=@PulnpY(34X}%KQPd082 z)Iu~^bU=&`Qu&we@!R};EC6xRz@Hk*;KW`5(A)vTW)F^wpXySCwIwFbGs`M*XwZhP zp#u~CBnucl?I&q_xk!8O=V{@ZF#cS*{SDuOPiVu!l*oGGlIEu8CNEuhsRmFT{{CqI zVl1;empKpzR8ueR+I#e&oid+Jjf+*Q{+Wmp(hlU?c)PzT8Fia5mVs(Rh}KXRq2Z7G zH=OzH2Nu5osFQc(0ash)Z$a2NMG5Wod)oM9ZA(kt#|^b-U%qn5|KKO*<1v6Ze*C9! zAOj%I1?6>+DZ|s!@-OSs>xRBbi3hUdURvte!D~|qv00!|qqAvM%X6WFC!1Di`=1I2 zJX2caE)YGrnJnV_QmcqpH#WR~+lF;BzpN?SU;&6#(m1<^bc8aDrLBd<|>D~#2nV+fHY5-=sExPu3&XaW!2AQb_5;_9x1yW zcAL$4N6+L&DYM+r)m4~1k(@GPX=8K4+V?8Tu6VF;?Z;p{MuBGW#Q+Mp#oEA7ghS+% z!d+)E#(I!&A$(FV>e7AUo*A95$Vo`dglyBV2l1(yYtx-oGeIjgwg=k*Q5!9{FWW@Y zb-0Nrh*j|i*I?-S&GQ-@VQY5XW6;o!w*DEn+Vu05Z>?)%{9r5PX1uqyY+haUy;rYa z^&C#I=;9BrNR_Nxe7tYn2-)iP0>~C)Mi&wg&FIo?x1CZlCL?2S*NoWM49)_KH*#Mi zU!`g2V^c*8V?l~g985Z3%~pvSIhKd<4J)o^;#aB#URD!mmp7Is+|$f*(IZrl)*NQl zsC`aF2XT+#gb_+qxlJUft}|3q?U8H4a$|ATfOb^2G*_-|YWm{4y2=+HDBSRc1`d`p zi|%8%PsHL&Xc`h){uhiG<1R86GNKHxhozK($r-t0Qd76zAtm*o&T;X>lVW4L;sI-? zCe3CgVJc98Gv3@F4GR70P}fj9jg@DWH<-T${<@dK1g_X{34YG*D#t@*-y#u%9OvT! z)ipE2(xTE8#sD=OFzZQUpewmSzTsWdYKsn%daDkl1KGXPKlzWIBwkF~C0ev<26zf9 znw#b?s&Dwu$JHhCf32%423m~L%$$cmM)!$Wd~GU#_&G_y#K-7EY?YZ0gNo1dhbdyH z(q6FIhI}96RVDN_l#AZ6z%76J|fMqyO#NaVt*p%iQO~WYFHjoT>^vk84gy_ww zZ&TX%_k5-^x>X)g*Ss9a3nC-3jL*k_EuzBBO`9WDY!Dgc+K4v8c}zBa#Py`3WxRhz z*dwBw+A8G#i|YmyMvNH?%ZN0-zDb;CO904l6ayq%!M4vC@I(xv|1XC2&+nw+Kn6r! zFnP~!Qj504pn3t~2cAu8T*pIOi~=@TxKLYMwM*ymwrEQLC=@pf=c(9Yl-aTcO-6Aq zZrLKESDGI%>~ot1oGm57qDP*Nn*S0M*peLRFVUfnMr>UQbO31U()({$TL*ytc0;;# zJJbQ7txNB}U2Poz`r8fZ*6mOSfVM8Z|8})?0O)Twq+7Q`{|}wuH0i323t0dF002ov JPDHLkV1k55)!qOA literal 0 HcmV?d00001 diff --git a/src/en/heytoon/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/heytoon/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b07f04a90e7d1d674eca5ba2de93002dd4c35b44 GIT binary patch literal 31017 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 literal 0 HcmV?d00001 diff --git a/src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/Filters.kt b/src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/Filters.kt new file mode 100644 index 000000000..41ffd49f2 --- /dev/null +++ b/src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/Filters.kt @@ -0,0 +1,46 @@ +package eu.kanade.tachiyomi.extension.en.heytoon + +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList + +class SortFilter(state: Int = 0) : Filter.Select( + name = "Sort", + values = sortBy.map { it.first }.toTypedArray(), + state = state, +) { + val sort get() = sortBy[state].second + + companion object { + val popular = FilterList(SortFilter(1)) + val latest = FilterList(SortFilter(0)) + } +} + +private val sortBy = arrayOf( + "Most Recent" to "latest", + "Most Viewed" to "views", +) + +class GenreFilter : Filter.Select("Genres", genres) { + val selected get() = genres[state].takeIf { state != 0 } +} + +private val genres = arrayOf( + "All", + "Detective", + "Spin-Off", + "Mommy", + "Uncensored", + "New", + "In-Law", + "Cheating", + "MILF", + "Harem", + "College", + "Business", + "Supernatural", + "Thriller", + "Adventure", + "Romance", + "Drama", +) diff --git a/src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/HeyToon.kt b/src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/HeyToon.kt new file mode 100644 index 000000000..def2d098c --- /dev/null +++ b/src/en/heytoon/src/eu/kanade/tachiyomi/extension/en/heytoon/HeyToon.kt @@ -0,0 +1,200 @@ +package eu.kanade.tachiyomi.extension.en.heytoon + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.HttpSource +import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.firstInstance +import keiyoushi.utils.firstInstanceOrNull +import keiyoushi.utils.parseAs +import keiyoushi.utils.tryParse +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import rx.Observable +import java.lang.UnsupportedOperationException +import java.text.SimpleDateFormat +import java.util.Locale + +class HeyToon : HttpSource() { + override val name = "HeyToon" + override val baseUrl = "https://heytoon.net" + override val lang = "en" + override val supportsLatest = true + + override fun headersBuilder() = super.headersBuilder() + .set("Referer", "$baseUrl/") + + override val client = network.cloudflareClient + + override fun fetchPopularManga(page: Int): Observable { + return if (page == 1) { + super.fetchPopularManga(page) + } else { + fetchSearchManga(page - 1, "", SortFilter.popular) + } + } + + override fun popularMangaRequest(page: Int) = GET(baseUrl, headers) + + override fun popularMangaParse(response: Response): MangasPage { + val document = response.asJsoup() + + val entries = document.select("section[class*=slider]:has(h2:matches((?i)popular|trending)) a").map { element -> + SManga.create().apply { + setUrlWithoutDomain(element.absUrl("href")) + title = element.text() + thumbnail_url = element.selectFirst("img[alt!=badge]") + ?.absUrl("data-src") + } + } + + return MangasPage(entries, hasNextPage = true) + } + + override fun latestUpdatesRequest(page: Int) = + searchMangaRequest(page, "", SortFilter.latest) + + override fun latestUpdatesParse(response: Response) = + searchMangaParse(response) + + override fun fetchSearchManga( + page: Int, + query: String, + filters: FilterList, + ): Observable { + return if (query.isNotEmpty()) { + querySearch(query) + } else { + super.fetchSearchManga(page, query, filters) + } + } + + override fun getFilterList() = FilterList( + Filter.Header("Doesn't work with text search"), + Filter.Separator(), + SortFilter(), + GenreFilter(), + ) + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val url = "$baseUrl/en/genres".toHttpUrl().newBuilder().apply { + filters.firstInstanceOrNull()?.selected?.also { genre -> + addPathSegment(genre) + } + filters.firstInstance().sort.also { sort -> + addQueryParameter("orderBy", sort) + } + if (page > 1) { + addQueryParameter("page", page.toString()) + } + }.build() + + return GET(url, headers) + } + + override fun searchMangaParse(response: Response): MangasPage { + val document = response.asJsoup() + + val entries = document.select("div[class*=comicItem] a").map { element -> + SManga.create().apply { + setUrlWithoutDomain(element.absUrl("href")) + with(element.selectFirst("img[alt!=badge]")!!) { + title = attr("title") + thumbnail_url = absUrl("data-src") + } + } + } + + val hasNextPage = document.selectFirst(".wp-pagenavi .nextpostslink") != null + + return MangasPage(entries, hasNextPage) + } + + private fun querySearch(query: String): Observable { + val url = "$baseUrl/api/complete-search".toHttpUrl().newBuilder() + .addQueryParameter("keyword", query) + .build() + + val ajaxHeaders = headersBuilder() + .set("X-Requested-With", "XMLHttpRequest") + .build() + + return client.newCall(GET(url, ajaxHeaders)) + .asObservableSuccess() + .map { + val data = it.parseAs>() + + val entries = data.map { comic -> + SManga.create().apply { + setUrlWithoutDomain(comic.url) + title = comic.title + thumbnail_url = comic.cover + } + } + + MangasPage(entries, hasNextPage = false) + } + } + + @Serializable + class Comic( + @SerialName("linkComic") val url: String, + val title: String, + @SerialName("raw_thumb") val cover: String? = null, + ) + + override fun mangaDetailsParse(response: Response): SManga { + val document = response.asJsoup() + + return SManga.create().apply { + title = document.selectFirst("#titleSubWrapper h1.titCon")!!.text() + description = document.selectFirst("#modal_detail .cont_area p")?.text() + genre = document.select("#modal_detail a[href*=genres]").eachText().joinToString() + thumbnail_url = document.selectFirst("meta[property=og:image]")?.attr("content") + status = with(document.select(".badgeArea span").eachText()) { + if (contains("Up")) { + SManga.ONGOING + } else if (contains("Completed")) { + SManga.COMPLETED + } else { + SManga.UNKNOWN + } + } + } + } + + override fun chapterListParse(response: Response): List { + val document = response.asJsoup() + + return document.select(".episodeListConPC a#episodeItemCon").map { + SChapter.create().apply { + setUrlWithoutDomain(it.absUrl("href")) + name = it.selectFirst(".comicInfo p.episodeStitle")!!.text() + date_upload = dateFormat.tryParse(it.selectFirst(".comicInfo .episodeDate")?.text()) + } + }.asReversed() + } + + private val dateFormat = SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH) + + override fun pageListParse(response: Response): List { + val document = response.asJsoup() + + return document.select("#comicContent img").mapIndexed { index, img -> + Page(index, imageUrl = img.absUrl("src")) + } + } + + override fun imageUrlParse(response: Response): String { + throw UnsupportedOperationException() + } +}