From 774dc97f0ee12b15aeb0c31f9c4dc28b19528f26 Mon Sep 17 00:00:00 2001
From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com>
Date: Mon, 19 Sep 2022 06:25:14 -0300
Subject: [PATCH] New source: AnimesOnlinex (#873)
* AnimesOnlineX: Create extension base
It needs more extractors, i'll make them soon.
* AnimesOnlineX: add some extractors
* AnimesOnlineX: Fix problems at animeDetails / episodeList*
* AnimesOnlineX: Fix anicdn video extraction
* AnimesOnlineX: get all urls/qualities from .m3u8's
* AnimesOnlineX: Add more qualities and normalize them
* AnimesOnlineX: Fix anime description (again)
---
src/pt/animesonlinex/AndroidManifest.xml | 24 ++
src/pt/animesonlinex/build.gradle | 12 +
.../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4233 bytes
.../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2824 bytes
.../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5616 bytes
.../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 8255 bytes
.../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10889 bytes
.../pt/animesonlinex/AOXConstants.kt | 10 +
.../pt/animesonlinex/AOXFilters.kt | 71 ++++
.../pt/animesonlinex/AOXUrlActivity.kt | 42 +++
.../pt/animesonlinex/AnimesOnlineX.kt | 346 ++++++++++++++++++
.../extractors/GenericExtractor.kt | 32 ++
.../extractors/GuiaNoticiarioBypasser.kt | 42 +++
.../extractors/QualitiesExtractor.kt | 32 ++
14 files changed, 611 insertions(+)
create mode 100644 src/pt/animesonlinex/AndroidManifest.xml
create mode 100644 src/pt/animesonlinex/build.gradle
create mode 100644 src/pt/animesonlinex/res/mipmap-hdpi/ic_launcher.png
create mode 100644 src/pt/animesonlinex/res/mipmap-mdpi/ic_launcher.png
create mode 100644 src/pt/animesonlinex/res/mipmap-xhdpi/ic_launcher.png
create mode 100644 src/pt/animesonlinex/res/mipmap-xxhdpi/ic_launcher.png
create mode 100644 src/pt/animesonlinex/res/mipmap-xxxhdpi/ic_launcher.png
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AOXConstants.kt
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AOXFilters.kt
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AOXUrlActivity.kt
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AnimesOnlineX.kt
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/extractors/GenericExtractor.kt
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/extractors/GuiaNoticiarioBypasser.kt
create mode 100644 src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/extractors/QualitiesExtractor.kt
diff --git a/src/pt/animesonlinex/AndroidManifest.xml b/src/pt/animesonlinex/AndroidManifest.xml
new file mode 100644
index 000000000..3b21acebe
--- /dev/null
+++ b/src/pt/animesonlinex/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pt/animesonlinex/build.gradle b/src/pt/animesonlinex/build.gradle
new file mode 100644
index 000000000..1551ced3b
--- /dev/null
+++ b/src/pt/animesonlinex/build.gradle
@@ -0,0 +1,12 @@
+apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+
+ext {
+ extName = 'AnimesOnlineX'
+ pkgNameSuffix = 'pt.animesonlinex'
+ extClass = '.AnimesOnlineX'
+ extVersionCode = 1
+ libVersion = '13'
+}
+
+apply from: "$rootDir/common.gradle"
diff --git a/src/pt/animesonlinex/res/mipmap-hdpi/ic_launcher.png b/src/pt/animesonlinex/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b0e3c5b77af2609057a298d65aa62fedb0742ec
GIT binary patch
literal 4233
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
SL=rET0Zff7F_i``_x}xAd?vmC
literal 0
HcmV?d00001
diff --git a/src/pt/animesonlinex/res/mipmap-xhdpi/ic_launcher.png b/src/pt/animesonlinex/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2255225657cf0f5392693ae6be80bb8c6744016
GIT binary patch
literal 5616
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
CzpbeN
literal 0
HcmV?d00001
diff --git a/src/pt/animesonlinex/res/mipmap-xxxhdpi/ic_launcher.png b/src/pt/animesonlinex/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000000000000000000000000000000000..977138e3ce1000a3196c835dac8e47ad9440696c
GIT binary patch
literal 10889
zcmb7qbySpZ6y`A0P%?BVT@EEJB{6gf4$>`1I3OS`AT{u#kq!|M7!Z(dP(V_o!vX1#
z?s91Mb9c|4vuFR>sqf4;^Y*>>eV*sOQF>3+$cPz)KLV1suM`AZSaBbthVY19T4a(HwYAr0)Z}pTfv(kke3h$v~3LnNoRmSbZ*%#
z&t!og2wrHZDTD6*J@dX5Cj)l~JvDSx2-k^lDLJI}UeHZ}Krj;xWyR;dGkYKXQY_R0
zH{=blZD=2_vesV${YlPRHT(>ZjC+Is&{G{ML}ZXkLLEAYG6yAd`rj=50rlG%%VuWV
zNV>(wY3LD%zW@Hzjh-|Dl;{$oAW^fXBQZ^B%70d|klr{~{_3{rpgza!Tj|bU|M`|&
zkAwkF|)0K7@vpWrpRZN#3fesy}ZGj7Y0N!^wV({$O<+
zgK%B(_XJ77WX9q0bRfAUYB>{DqjSmN$3{xk4~G+sK__;!VRQ;iqu?*N60~x3I4%mJ
zqoBz{)7A8F^5B&(5Ls4oyWnTmpiO+~VEu4ix>532+_x=HdqOi+?2)4PaNjdXn6~@08~o6Qw!oFZ8|2CxPyw1D
zn$OZ?B|HT^!qKIbYiG@VGR#KXW%2??s9?Df#}%}2ZZ1_k0X!!7pzM$
ze6Ny?wiBN}m?5@}x#`}y&XNmCHJ8`NiY`j&VT4+UT5xelbxF`BoTdw(CzydWNc7M(
z1PiX@F|Vpn7U`(%Xbe7}B3>0YcZ4@t;|awr&!T#7TRQ|gde-(=DLp991rI@=9$t^L
zSU!XsAAvJ^50ge2y6$xKU
zERl!YDL0AU7Y&jQe$rtC!P0Y^Xuzvz?;?L%M<4M7FM``30q=!q*z9e@K(6?&S+i;4
z_1$8|x5O?2+U9OVJENf;)T@i6*JOu8f?t0;rT&7upduO8ru{I2h9mT)K(IlXVdB%`
zm^&w`%kvsr3n;=p|)5Z_<)m?
zNnSVOP4yR*Dt>&Sp7TXW0E4gm(dTw*PNKz&`w)lFr^apU#)jaGm1Ep7G|P&giXj{-18}_mIq^Z_
z%N2j(*7l7CW1YFpAF$-Rfr`gf^s2!b+~X%SoyMNpFKd~7MQt+bRydStV8Bw{*~3@c
z^XG1&Gan;^Ejm0?B1Nx=56;E(h9j^-j7|rvjVSsw>>voFbID|E!}t#UyVR{80Ga{d2xfriGsj>@T#B
zr4^9nSbg;(Sk
z*&DX^c-~;ba3~YvXN_w3PwwEPvGzEjcAlqBZEl|l1t(1J)R9jtpBjDU2im*ETh^$+
zrmxNRr6iNVBkK^a9_1zVb5`sKUVb8Z*$+(nK@iI!Y$e&8j<=Euo?XYk<0hBe*WeP$
zYJ9Cv*O5e$*L|?4y@~B}@O@-X36I<}-BELyWv=5#_FH`7qUoTX+Hi%GJ?=K27Q?Mq
zgkD1-&a=HI>t88{=+|b5Zgo0K2ZednlUOm3#wX
z6`)qF6vSPUCc2k0syj&_GTn|Kqvr5Nsgv}3Mh2pS0zM}tA;F!3P;V9+?oS#7agi+Y
zg^W;4ZO3L3uyv=|i8L?Pe5pWZ;j^ck^l!RSq&-Y16YCpP{s3J`VCvH#P^{vtRrn*S
z(7)LpBQ)jEUqSoJ^wBMw{^!Ey3q3D@j_|LO5wQuTA((4iu6zv)XqwFh$9=5TE)J8%
zu~90g7K`MVr^C%z1te{XPq?`q|*9#buoPv_|e@
zoByHRg^1oO%6MGBe8X6kfovsdh+;$YVJJ*~nVAe1?
zJ`VTt@-k7iE*GbwqB=c2Jsj71^S!NP?4@TDg0^G7$$l~Ad@8n7Hu#3{-eJ@A+{AP*-7K3(fJ>ZIlhzs0w|GYN*
z_J$SmxvXrp_rB{NT$XcCtM^|1CmTN%-IEJh!g~*v2CQyHuKwAwB*E;CQZZhcsrIhIw`^B;`8x+91g1I#S3iG#|ub%T=e8rZ(rY?Eqmf&K5>*P
zdobm{J%Nv8`piJnW>%ur=U{zU=HL&|Zei)Gez01ikeu8wF1c*Syw9SJkc8{>q?l_>iAQu?mGLor9&lHQNcqqu$U3(EAm-OJ1
z`ubYZ=mufP?D`cpl+}7~ras`bfMqQ?_nOnl+&w%I-?>=>jreB+WtDANbXEb03kwS;
zSwv#Xp=V4(WC3qZOc%!H6h69y|7-A%Up`4L=6UFRTzz5TQcu)_*Yp-;xWiu$0uN@f
zgQ6qK<8AIZK&&|Hu%fao6yni@RkZF)@3&pOe*NtXgPJm^UKD4U2eC+PM<4Tv=7H9)K;^?7_q
zvF<*t0_z!iyg2v`yD*SyRI!_!h{Sxc*};_W&Ne0-9Ub|pM5aVw3WtJPJp~SsuIw=U
zF_qqd80xBm24Xd*9HxQ%a7Vlx9WRhJb;mfY3wos3T4*&S^1M56{
zPun$`fuqWn-Sg;OV%+_WHCQ>lVDlf!cgM-Oqx17m3it{`cwy%!
zIxg3ktX`Vc{lWhjXY*Bw|B@w8Ic^IKT!y&J;ug*4eQw}e1UYB!kvo=`R90@-vRu)B
zc*rUR1{TLC+^KQo*>)*BF+8x>JwE9FkeiRbacqNy1F*_BT_M6-3`cQUyUcy
z2aO%7J<08|HMtk}^sr1jhhl`s4Ep`~I6}`w!!()5(#UA&1LICp9XFH7t8gy79YmDd
zUy7BP($dm6cw_;0f(|2aIMY6_yRvC#tvL772Fd?4iY<~;HD{gbG+xxLK}
z3GE*o-C}>FqUc!ecfR~z^FiBH)5ZFSi%m88pA9av>|3kOe(*G?`IMfL=1-?McVS3}
zL6#a}#D(e<=s%t}cBuqx+_e%8aNJFPa%{qQ4&xF=JTAa3kR&er1~O5I<|nrPmU4Wy
z<=G;Fuh;n@*yN*lx%l4Ro|rhpNIZe{!NRxe9;<8oNA1@lX)kr&(ROxsl(9W8vH
z5B)wm3jOW;_W=be#;U*9^XK^w-e6(*B@!P0^Wq%EH>TERN!@Tu-B0aLEIa6AF1Ord
zZ@0(mCuh^fZeLkXVq<<6z+h`12nh+>iPr1v-%@0AQg`fHeW?P)ci#9dhtr)O{wF`k
zSNXN(VUQ&RFiBa!MRtGJ@+4)SR#a3l?7YAjC#@I8ZGB3+!S1E-EG>{e5h`FrQ>?Ld#Mg_cVSO-6v=HU+s1o@f^QDl<|`T0dM0BY$)J
zN5gi67VdU_Xd{vtd(`Ib>8Wi-q=R&<5@2*DNnS_*4ND3x?yy93+OScLoYt+68uvDp
zt@G+6tm+I)0^r1Dwr%=Phf_B`@6lZ&W!jTW8W@*a0`r_+9#qh<^;nQQnNdv7)})S;N|nQqakIbmd_%6Lr{>F95p8D-
ztwKN8mx&_fiOH)v44$F_d*YJMyA7Z7(_(q1{)^T9{ny7A*QfrVv_dW?%oAz_jL~xb
z_)>SixEMFTA=jYlmlTZW+Bc5}fo#g<&=<)iUs;n~{Wz*Pd49!+ztyB0<))p0LtY_~
z&Bs6ans5Hj`e9oafpP0_E`F-5rCP*}{4O3<_{im?J*|q12k(eH5Z%OArR!kS(Hbwp
zh_qT`>xyRGGmCsR5t_{<#l?N+H1$qdw;H9e9D~a0_QqD{$2`VgIEEXMJeGGLH4RhW$ne7f|-coPwPJd
zq#?Y+O}BNmsn8YnPMs;0+?2;KknL@d(@_}^qA`_LBY*d1e^=WQnl-+Dd2@LtCNBQW
z$Vg2jv%6tW#mJ%7#lJt=n(c_3c9C|3hlJm<#*Bq5v^C_NYJ6Zf*V{Hhs_p_X}u2?hSt)po_ctk)IdHA|K}{B
zrK>v<8;aE8Qm00w=zIzp{u-0;``M#X=w{xADD&q`4Bt@N%U_^^7@atYGeJbQ+Hx7Y
zN|&pP%bJU;|NR5M5&x$BmK{fD^Oi7Ht^Uo;%~&=)MS4UEf!gz61*A0De+uF@4fbZ^
z0g$?pqaUzv=*B&OO%T9d0t-5pzMV;_K(k?TDFgv$Wo0$3rI|GW%h-ImU1l_>E>DGv
ziyIps|CA48rr^)(6d=4-+L=G@_7h&t#X%I}O$X1zoX(dgA~2b5COX8{itey-afIf=
zaa!YHVnP7w{_7^2{--ZeKjh@(Fihl4q!o%g-Di0ws@TEM_qY`lFNP<*<`cptI!*3j%IDg|Y_IrqKqt|Pyl6)xa#cU~lKLR%?rOkP^{e^d18}%OVxc0*
zB~wC_0vqW8xKf8pJ+s9+xRz~H&H+OvqXl_pVPMd6czBpUBlW1X#N<=Kysz`hI65=f*7{5%lo1_QgrrJRTyUSbuz&cQuK|8_Yzz9^^!iaX8
za|{N{+IK2ieWzMu=Ta$P6+5bLG|U9k3tC(K)5JFMG`euZ2&6p(*I&U<#_%dZ7w_+a
zP|_AT+qNthg7*sfX!Ogmz09{0Zz>!#V9l%XGEHX~GqN_p+Vi%N68&P|r4YiVlVKUZ
zi?#H)MqvpF)u5oex>_q?vKfg7;A0Xty<|sLF7#31HzB<3B>lG%Hbe?p#xjB$Uxgvy
ziuT*L`%SCy(eC~Mi#*BwLXwg{wkC?D0?vhWpPW&T$lu8V@mcKg}{Q$WA%%lx?i3;sj8{DTlk24(uVZ_TPX(z2PrxE#KeS>tLvk{z(7(mvc!S4
zQBzwJT2rK{nHfik>DcV77I$){9GNLGMp-ETDISi4`J&@~D`wPjc3mmYv1MbSY9d(V
z8S6j_D8L>XjEDw!mD_~Q<4k`oec!WRMt+;0{ySeL5BhPm+Q-1cB42zt>&Z}vzEDE5
zi7#TEoSdRKsp@KLJ&yOQrcM*8s5N7jYy04k2=iQu#Q<7IB0zx5pm?URHWW
zMpIA!BD^Ka=%u+F-kx7ZR&h~VuXq)qhoeg5N54njrE#dmYg;CpitYA{Vlb+_siu>n
zMFs!r?`%gzr?N6qrTrFjT#DUEBucTtLG7d#E<+tHVV4hr{;rst5}G0#8ykJbT(T$?
z;u#S7;ZW!KmS0T=mG$-`IZpyECvv%y`{^rZs$S2xs9(yOaYYuPbjp`k5TS<;s?3_Q
zCaEcn9i&O9>9JsfCqWfA(V!ohO>(~`T_p*%&6Z(_>Qzn?+)6{)YfIn50@g)y0sO}}
z!c@Z_U>!PUz>Y@wgr)r0czOP2@)dO`VJ;
z{;rgRB~aLer&yBP3%T6l_I7y@oXM%FiMcuF>)#H;*)}g;yqL-5B2Hx;+%N6SIG8vX
z-qL?`$fRi7X`kwHpFG5yX0BdJbzK-eiHfogf#LXeNEN5lW4@R*4*N<90}dl31kD5i
zA(LH->fbulQP*Y386zMe!(GLe(=xm$g)*`Y{)<<`{G(NY<^QE17^vEVl5OIhM88VB
zo^uRHlok=`+}w2JZ2bwCx~VBUEPQ-yOc;Qkp!&3)S6!{8Ju8Uc&4JtD-#GG#Lxx8z
zCQNg2-f-K4l4(7oVOQ9+mnxJvjPwW2r)l{{H@){vgo^1rkE7ZL(s;uHT4A?nDR%
zoupc;z%~eGa@&xrE2!VMiTJ$Q*&ZYH6sNMeg(Fj2_05@+l@&|;s`3h$h>e{nq@_X&
z*yBjq^mIHrziNGAmn0-zuGU#4Tn@LMK4BnPpR4vxMSP@x7zHN4)1!>p19M}G>M@fT
zOpW)RX;>w!u(;Sk)#ydFay{Yuemi^qh%zFjJZ=l($O`HgGtt~6r?IPvWcEH&br=Tp
z^J2`5x_4tgLtbu@mx8-6g9_N($H#~Baf5;+Ql*+u$V_;y_E+9e?w4pzyjL1o9LANW
zlFRXD&W`1TVXT`HG{(ZPVD}|Q4K*huva7q~BO(Qn!5j0Krd<5juU~Zy4T85e`kMy_
zxoApdW8$7KS`-WT5(#yo_-zG3cr(_rct7nRo`3&(H6C0AHk%Ktx2lTTh0tk9|5Tx~
zP&W9LjeW@v>2u%Q+l%ugXN?xy%*kPX(>zC6r1;-Pa37dP12TD9J*0qaIq`6Hb}H8e
zaTHM!==4!ovCh$`Lcaflr1wi#B>^8$V+WzB0dgCu3=$1j5Z7Z0(ZX3KXKZ1%Gf_aDC&`yxYSxA
z3&4()_z^dwVx&?hOk&DX*l;nUDsEnc%5kXWc@jWL>8*^k@oXTT5@D033DkI1=MN&m
zMGnE1OX!EmOO#P~LB~8nois+~AqQ76w4oTrMXbrUx8f{!=Y1SfwX$Zy=5h93?6Sr$
zDAD2{kfrCNm-estHS$J+-aSM0wpa7^SXqt_(|8%ER=%c$3&|!Z$(ZikTg2)DqMvQ~
z2RW);ur9c<5CK~ySz@2E^cVP-$N5Lzrdxd;0p2H7S>?!{n1@D(&$s%Vd?F8wv}pBK
zscFp~ShE+1Fmo{DBrR4{GB!N?>oxR6hvz~S%i5mtBbkW$RgM4=D;xe^Ki*>rjJugX
zRr;^OIIKP;?f%D%)zNsw_Dl5h%KqQ-(Mm_UV5+u*Db;6&g+BniH4KP4Lt_PMe(RYI
zl5hS%09<2NYhoV*eQsdzOkZEg!$Wko!DTfISz$AfCXi?zW@_i@>52LC#K$)hqYAE&zI7;8l=`OyOq;hY7r#Ut38E>vdU`po0IRC>_6^%g;0*&}7V
zgxt)P%q3-Z;nhA7Po+zEMmZ%4YQylpAoJ_dK$+GUio?ZSfK^3Oh7;8x7!ZADx%=Pv
z@?uoyVGJJQZFO0$(aHXo`yrYoMzSL^_Ln|%28lV};E;_mHI_9XZc~U?2LK%YMN!xN
zo*FKBditIiN1s+iHEOB)mV$YgA#3NK)!h^aixxdHOwa`BYQTcL02;dAes}w0oHmW5
zST{H4jGYjM=TF#oe&N{b8}SnTg6R7M$LjUS>U?a;Z}MHbxm+cMUQhX0;ygR~JUU;}
zr5&p~>BWm-A8oAv?|<=w9Zdfhyf5`jO>Nj@j2(*FpGxksyUw!C
zn%d^$_<#Np=O^j99&<<42LIkAdM+-%*w0Q!9irsxIxT~O0tmgvby1FhfS_r&W`Mo@
zzea>);H4OL5x|2EA;n6d;$uO1mdrd;VhIDZ`p^?iLr#@0mNQ)Dt@|sL30_B=qmr6G
z{K!Mw4uVG9vt7Zq&rXGtw3;>TLvWTJhp4jQRqPy}PUxPjvfRKkEJ+UMutM&I9_^3?N8;&;kdWe}gQk?uV`$)`Q&WAb3G%~j
zfmi<|{I<3nVCJ~KF^zj!SO%UMyaQy_ql=NCoXUVTzTKJnfpeT3p4@<>gLl|gk_CS#
z`*j@4fRwD9WN(bE3Ao%z-FR}EmWVC(;6W~Vk4iZ|{f#p8Fy@H=Zu-fOc|fF?uWcB8j
zW-4aV8s%KoXa!a5PIiNC8^$gy7^iQ;S7OAYfFXxr$W82nL*e@=Q5N|i0&ala^PF5<
zGm{p{>%N5HS>s}HS+ciAUX>Gtf?!*n`?d(ts3zpK-(vp71oW)N+=2uoGI7`U*(J7QXDox36Zq8(q@vd^2mB3V3XaO@|
zU|^8E_clk3JJ}{6ARACo0O5mynK|crxPRYjNkQ@&Stb0+(V`P^4Dw0d4OYpEUB}FGHDl;T@!!O|>+R~l~
zY^lXy{f^Stk!Uu?Bmz&-ZPY!xFLL?}M%fGkJP~wGIa*C^#czM{sh;_b1$NeS$0)6I
z2)*z^mh}3DvXP-y8xp$Y-sk?8i!$m6{mMfFPiT$z!yTDy{c|fJd%wJTxn;>=dE7o7
z^8jJ1G-rZ`6pG}B?UAgFGWNe$nkugDfG8gPsdVH7ZEj+i03uH-*~=j2fQ0e@Cgc;m
zkACg1fiJ|xf61_vu5}Y`%S%%3mA)zoXyfEzM+5vDcKr^)D^K~{NY9Z)b1%!X{fqV9bTj^FURdz?NH$Rug9Kb&F!
zr2pP)qN8EGj{w;K1#OL#)R8H2c3i}^rw`e;YiH2t{SAHga%Agc4YRK)#9i1;rTL1+
z_Ftg-^QPH96`^arnby~X@W$!*{R6t>Se{D>HzzYU-+$MWp#(d7A(-CE0|`}w)h=3T
zszCD8msxKz5ZmveD{;XWJB+qz56aJu0_1`cHvASjzR(#6KaT}P)0t~)YwH;p{HjcO
zs|cyS?Nm-iC4HvHQFs^%@UDEVNgBNGk5JIZpmo>sn5YNk
zUOvDdfe;?_l#{ZUuUh?$3K0lS0pKt|8Et8~G+4w2nPd<#0*4YZE&w**{a`~Yy!15>
z@7Vb#Fh1xLB&px-86Ho-;vN2>DqHuqio7iM8{*d^g-7YF^0m(r!NGcXQOcp_f@(TC
zLmDF|Idt${YWNoz&`bNGs-y$1S6lYGI!fMP9ps+Zfmr!-9cLvnwIjB-w=Ea3SS{FNVz!3VR#)NV%@yu+
zV2X-K3C)JnUnak?Hlb}hm>3-m-ta4rQeH_${JaAd{sazLJm|yTumCGlNuYSBZ{0M<
zWC|Hj1wjp8BAuK7mb)VP)Jyu~EeC9^kHmraMH+qi*?YhqQU=zTCr#xCL}WKCjs!=a
zi)3n7t5>A=+uh@)jIshcLBclkuXZBzBn4n&f`Iwp`sQ%S4Ze)G1u&|=^N9G?JCkdJ`
zLKHNegv~IuHHeP_@Ft)??}zN~EMaFK4j+ZX%a^hXCH(HiAJFb00;%M+?0-7reFrQdT7;TZ8tscf9CbD!4i0
z0rR7Ki*CXkGq@q=_
zCVJtO3C2|m=40j9+Hbn^4n0|0u_L$NvQK5Y!-49fc?9Wt^yWKJo;o0xCus>T|48I0
z8{azhYH(R(M_+rv*3iMtB++~%YA`QeNNBEq4px84E0@dDL-q4v-P-3SYkWOrO$}RH
zj5@q&ksYLZTM-xnYBEr(ln2#Upl~h^3udn&-kKe+`lM#PuNT^Y8&PN#^dvYe}
z=li#*sU(&lG=Qv*FJu+;c~fUzn_vV7YF@ubv{kT1tci$9;upxTT;0~T9msF^E$}Ju
zEIYP4>(gmdkytYprT|P4NM#F#6aj}memCq*0f`R2NE;=#`FsSsMh@n!GIHKT=rSE}
zbM(PgACbq2n!v!Z<|DEMq9}YJLO29in|?bH@aJm&vZ01OErEdO%cW}_pa}lLxuwP7gin>s|Kvb_B!Jl^r*momWGgEDb`$lzNBJr!#
zfpaIx8WmrUHFMr>!(!YBK7(Hsrqm;TO0y|{gXTBrT{lJ_QhyLYRS|#ij&`fwro22b
zDfcpjiGQlk(bLp{?)Tago$On%zDI2Pq7q8fQBdPF73q)mLs{ZI^G=HN1~o(uVI?fB
zhaN=#q%`MQ)kxp$XaJ1-|2$yFcQ|@xgNyU)-)(_&mt3AI#-4UIo-d_s-@F7aAQ6Bf
z3J6IF2#G!ymXsD1mlhM^6B3dZ659GnckzD}aB;PBviJMn1tbMT9zPcml@=8Rw59)5
vAW{xz5Ge5Q|Fq!g>
+ ) : AnimeFilter.Select(
+ displayName,
+ vals.map { it.first }.toTypedArray()
+ ) {
+ fun toQueryPart() = vals[state].second
+ }
+
+ private inline fun AnimeFilterList.asQueryPart(): String {
+ return this.filterIsInstance().joinToString("") {
+ (it as QueryPartFilter).toQueryPart()
+ }
+ }
+
+ class GenreFilter : QueryPartFilter("Gênero", AOXFiltersData.genres)
+
+ val filterList = AnimeFilterList(
+ AnimeFilter.Header(AOXFiltersData.IGNORE_SEARCH_MSG),
+ GenreFilter()
+ )
+
+ data class FilterSearchParams(
+ val genre: String = ""
+ )
+
+ internal fun getSearchParameters(filters: AnimeFilterList): FilterSearchParams {
+ return FilterSearchParams(filters.asQueryPart())
+ }
+
+ private object AOXFiltersData {
+
+ const val IGNORE_SEARCH_MSG = "NOTA: O filtro por gênero será IGNORADO ao usar a pesquisa por nome."
+
+ val genres = arrayOf(
+ Pair("Artes Marciais", "artes-marciais"),
+ Pair("Aventura", "aventura"),
+ Pair("Ação", "acao"),
+ Pair("Comédia", "comedia"),
+ Pair("Crime", "crime"),
+ Pair("Demônio", "demonio"),
+ Pair("Drama", "drama"),
+ Pair("Ecchi", "ecchi"),
+ Pair("Escolar", "escolar"),
+ Pair("Esporte", "esport"),
+ Pair("Fantasia", "fantasia"),
+ Pair("Ficção Cientifica", "ficcao-cientifica"),
+ Pair("Histórico", "historico"),
+ Pair("Josei", "josei"),
+ Pair("Magia", "magia"),
+ Pair("Mecha", "mecha"),
+ Pair("Militar", "militar"),
+ Pair("Mistério", "misterio"),
+ Pair("Romance", "romance"),
+ Pair("Seinen", "seinen"),
+ Pair("Shoujo", "shoujo"),
+ Pair("Shounen Ai", "shounen-ai"),
+ Pair("Shounen", "shounen"),
+ Pair("Slice of Life", "slice-of-life"),
+ Pair("Terror", "terror")
+ )
+ }
+}
diff --git a/src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AOXUrlActivity.kt b/src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AOXUrlActivity.kt
new file mode 100644
index 000000000..7c3104739
--- /dev/null
+++ b/src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AOXUrlActivity.kt
@@ -0,0 +1,42 @@
+package eu.kanade.tachiyomi.animeextension.pt.animesonlinex
+
+import android.app.Activity
+import android.content.ActivityNotFoundException
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import kotlin.system.exitProcess
+
+/**
+ * Springboard that accepts https://animesonlinex.cc/animes/ intents
+ * and redirects them to the main Aniyomi process.
+ */
+class AOXUrlActivity : Activity() {
+
+ private val TAG = "AOXUrlActivity"
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ val pathSegments = intent?.data?.pathSegments
+ if (pathSegments != null && pathSegments.size > 1) {
+ val slug = pathSegments[1]
+ val searchQuery = AOXConstants.PREFIX_SEARCH + slug
+ val mainIntent = Intent().apply {
+ action = "eu.kanade.tachiyomi.ANIMESEARCH"
+ putExtra("query", searchQuery)
+ putExtra("filter", packageName)
+ }
+
+ try {
+ startActivity(mainIntent)
+ } catch (e: ActivityNotFoundException) {
+ Log.e(TAG, e.toString())
+ }
+ } else {
+ Log.e(TAG, "could not parse uri from intent $intent")
+ }
+
+ finish()
+ exitProcess(0)
+ }
+}
diff --git a/src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AnimesOnlineX.kt b/src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AnimesOnlineX.kt
new file mode 100644
index 000000000..71de01ff0
--- /dev/null
+++ b/src/pt/animesonlinex/src/eu/kanade/tachiyomi/animeextension/pt/animesonlinex/AnimesOnlineX.kt
@@ -0,0 +1,346 @@
+package eu.kanade.tachiyomi.animeextension.pt.animesonlinex
+
+import android.app.Application
+import android.content.SharedPreferences
+import android.net.Uri
+import androidx.preference.ListPreference
+import androidx.preference.PreferenceScreen
+import eu.kanade.tachiyomi.animeextension.pt.animesonlinex.extractors.GenericExtractor
+import eu.kanade.tachiyomi.animeextension.pt.animesonlinex.extractors.GuiaNoticiarioBypasser
+import eu.kanade.tachiyomi.animeextension.pt.animesonlinex.extractors.QualitiesExtractor
+import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
+import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
+import eu.kanade.tachiyomi.animesource.model.AnimesPage
+import eu.kanade.tachiyomi.animesource.model.SAnime
+import eu.kanade.tachiyomi.animesource.model.SEpisode
+import eu.kanade.tachiyomi.animesource.model.Video
+import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource
+import eu.kanade.tachiyomi.network.GET
+import eu.kanade.tachiyomi.network.asObservableSuccess
+import eu.kanade.tachiyomi.util.asJsoup
+import okhttp3.Headers
+import okhttp3.OkHttpClient
+import okhttp3.Request
+import okhttp3.Response
+import org.jsoup.nodes.Document
+import org.jsoup.nodes.Element
+import rx.Observable
+import uy.kohesive.injekt.Injekt
+import uy.kohesive.injekt.api.get
+import java.lang.Exception
+import java.text.SimpleDateFormat
+import java.util.Locale
+
+class AnimesOnlineX : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
+
+ override val name = "AnimesOnlineX"
+
+ override val baseUrl = "https://animesonlinex.cc"
+
+ override val lang = "pt-BR"
+
+ override val supportsLatest = true
+
+ override val client: OkHttpClient = network.client
+
+ override fun headersBuilder(): Headers.Builder = Headers.Builder()
+ .add("Referer", baseUrl)
+ .add("Accept-Language", AOXConstants.ACCEPT_LANGUAGE)
+ .add("User-Agent", AOXConstants.USER_AGENT)
+
+ private val preferences: SharedPreferences by lazy {
+ Injekt.get().getSharedPreferences("source_$id", 0x0000)
+ }
+
+ // ============================== Popular ===============================
+ override fun popularAnimeSelector(): String = "article.w_item_a > a"
+
+ override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/animes/")
+
+ override fun popularAnimeFromElement(element: Element): SAnime {
+ val anime = SAnime.create()
+ val img = element.selectFirst("img")
+ val url = element.selectFirst("a")?.attr("href") ?: element.attr("href")
+ anime.setUrlWithoutDomain(url)
+ anime.title = img.attr("alt")
+ anime.thumbnail_url = img.attr("src")
+ return anime
+ }
+
+ override fun popularAnimeNextPageSelector() = throw Exception("not used")
+
+ override fun popularAnimeParse(response: Response): AnimesPage {
+ val document = response.asJsoup()
+ val animes = document.select(popularAnimeSelector()).map { element ->
+ popularAnimeFromElement(element)
+ }
+ return AnimesPage(animes, false)
+ }
+
+ // ============================== Episodes ==============================
+ override fun episodeListSelector(): String = "ul.episodios > li"
+
+ override fun episodeListParse(response: Response): List {
+ val doc = getRealDoc(response.asJsoup())
+ val epList = doc.select(episodeListSelector())
+ if (epList.size < 1) {
+ val episode = SEpisode.create()
+ episode.setUrlWithoutDomain(response.request.url.toString())
+ episode.episode_number = 1F
+ episode.name = "Filme"
+ return listOf(episode)
+ }
+ return epList.reversed().map { episodeFromElement(it) }
+ }
+
+ override fun episodeFromElement(element: Element): SEpisode {
+ val episode = SEpisode.create()
+ val origName = element.selectFirst("div.numerando").text()
+
+ episode.episode_number = origName.substringAfter("- ")
+ .replace("-", "")
+ .toFloat() + if ("Dub" in origName) 0.5F else 0F
+ episode.name = "Temp " + origName.replace(" - ", ": Ep ")
+ episode.setUrlWithoutDomain(element.selectFirst("a").attr("href"))
+ episode.date_upload = element.selectFirst("span.date")
+ ?.text()
+ ?.toDate() ?: 0L
+ return episode
+ }
+
+ // ============================ Video Links =============================
+
+ override fun videoListParse(response: Response): List