package Ġcom . ph ic dy . t oto ant icipation . api Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . ph ic dy . t oto ant icipation . domain . Deadline Ċ import Ġcom . ph ic dy . t oto ant icipation . domain . Game Ċ import Ġorg . js oup . J soup Ċ import Ġjava . util . ArrayList Ċ import Ġjava . util . regex . Pattern Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠR ak uten T oto Info Parser Ġ@ Inject Ġconstructor () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠParse Ġr ak uten Ġt oto Ġinfo Ġpage Ġand Ġreturn Ġgame Ġlist . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġe . g . ĊĠĠĠĠ Ġ* Ġ< table Ġclass =" tbl - result " Ġborder =" 1 " Ġcellspacing =" 0 "> ĊĠĠĠĠ Ġ* Ġ< thead > ĊĠĠĠĠ Ġ* Ġ< tr > ĊĠĠĠĠ Ġ* Ġ< th Ġclass =" date "> éĸĭ å Ĥ¬ æĹ¥ </ th > ĊĠĠĠĠ Ġ* Ġ< th Ġclass =" place "> ç« ¶ æĬĢ åł´ </ th > ĊĠĠĠĠ Ġ* Ġ< th Ġclass =" num "> No </ th > ĊĠĠĠĠ Ġ* Ġ< th Ġcolspan =" 3 " Ġclass =" game "> æĮĩå®ļ è© ¦ åĲĪ ï¼Ī ãĥ Ľ ãĥ¼ãĥł vs ãĤ¢ ãĤ¦ãĤ§ ãĤ¤ ï¼ī </ th > ĊĠĠĠ Ġ</ tr > Ġ* ĊĠĠĠ Ġ</ thead > Ġ* ĊĠĠĠĠ Ġ* Ġ< tbody > ĊĠĠĠĠ Ġ* Ġ< tr > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" date "> 0 4 / 2 2 </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" place "> åŁ ¼ çİ ī </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" num "> 1 </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" home "> æµ ¦ åĴĮ </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" vs "> VS </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" away "> æľ Ń å¹ Į </ td > ĊĠĠĠ Ġ</ tr > Ġ* ĊĠĠĠĠ Ġ* Ġ< tr > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" date "> 0 4 / 2 2 </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" place "> ä¸Ń é Ĭ Ģ ãĤ¹ãĤ¿ </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" num "> 2 </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" home "> çĶ ² åºľ </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" vs "> VS </ td > ĊĠĠĠĠ Ġ* Ġ< td Ġclass =" away "> ï¼ £ å¤§ éĺ ª </ td > ĊĠĠĠ Ġ</ tr > Ġ* ĊĠĠĠĠ Ġ* Ġ... ĊĠĠĠ Ġ</ tbody > Ġ* ĊĠĠĠ Ġ</ table > Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbody ĠHTML Ġstring Ġof Ġr ak uten Ġt oto Ġinfo Ġpage ĊĠĠĠĠ Ġ* Ġ@ return ĠGame Ġlist Ġof Ġt oto Ġor Ġempty Ġlist ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġgames ( body : ĠString ): ĠArrayList < Game > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgames Ġ= ĠArrayList < Game >() ĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( body )) Ġreturn Ġgames ĊĠĠĠĠĠĠĠ Ġval Ġbody Doc Ġ= ĠJ soup . parse ( body ) ĊĠĠĠĠĠĠĠ Ġval Ġgame Table Ġ= Ġbody Doc . getElementsBy Class (" tbl - result "). first () Ġ?: Ġreturn Ġgames ĊĠĠĠĠĠĠĠ Ġval Ġtr s Ġ= Ġgame Table . getElementsBy Tag (" tr ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġtr s . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtr Ġ= Ġtr s [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt ds Ġ= Ġtr . getElementsBy Tag (" td ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhome Team Ġ= Ġt ds [ 3 ]. text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaway Team Ġ= Ġt ds [ 5 ]. text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgames . add ( Game ( home Team , Ġaway Team )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġgames ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠParse Ġr ak uten Ġt oto Ġinfo Ġpage Ġand Ġreturn Ġdeadline Ġtime . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġe . g . ĠReturn Ġ 1 3 : 5 0 Ġfrom Ġbelow ĊĠĠĠĠ Ġ* Ġ< table Ġclass =\" tbl - result - day \ border =\" 1 \ cell spacing =\" 0 \"> ĊĠĠĠĠ Ġ* Ġ< tr > ĊĠĠĠĠ Ġ* Ġ< th Ġrowspan =\" 2 \ class =\" title \"> è² © å£ ² äºĪ å®ļ < br ></ br > çµĲæŀľ çĻº è¡¨ </ th > ĊĠĠĠĠ Ġ* Ġ< th > è² © å£ ² éĸĭå§ĭ æĹ¥ </ th > ĊĠĠĠĠ Ġ* Ġ< th > è² © å£ ² çµĤ äºĨ æĹ¥ </ th > ĊĠĠĠĠ Ġ* Ġ< th > çµĲæŀľ çĻº è¡¨ ç¢º å®ļ æĹ¥ </ th > ĊĠĠĠ Ġ</ tr > Ġ* ĊĠĠĠĠ Ġ* Ġ< tr > ĊĠĠĠĠ Ġ* Ġ< td > 2 0 1 7 å¹´ 4 æľĪ 1 5 æĹ¥ ( åľŁ )</ td > ĊĠĠĠĠ Ġ* Ġ< td > 2 0 1 7 å¹´ 4 æľĪ 2 2 æĹ¥ ( åľŁ )< br ></ br >( ãĥį ãĥĥãĥĪ 1 3 : 5 0 )</ td > ĊĠĠĠĠ Ġ* Ġ< td > 2 0 1 7 å¹´ 4 æľĪ 2 4 æĹ¥ ( æľĪ )</ td > ĊĠĠĠ Ġ</ tr > Ġ* ĊĠĠĠ Ġ</ table > Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbody ĠHTML Ġstring Ġof Ġr ak uten Ġt oto Ġinfo Ġpage ĊĠĠĠĠ Ġ* Ġ@ return ĠDead line Ġlike Ġ" 1 3 : 5 0 " Ġor Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdeadline Time ( body : ĠString ): ĠDead line ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( body . isEmpty ()) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġbody Doc Ġ= ĠJ soup . parse ( body ) ĊĠĠĠĠĠĠĠ Ġval Ġgame Table Ġ= Ġbody Doc . getElementsBy Class (" tbl - result - day "). first () Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġtr s Ġ= Ġgame Table . getElementsBy Tag (" tr ") ĊĠĠĠĠĠĠĠ Ġif Ġ( trs . size Ġ!= Ġ 2 ) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġday Element Ġ= Ġtr s [ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġt ds Ġ= Ġday Element . getElementsBy Tag (" td ") ĊĠĠĠĠĠĠĠ Ġif Ġ( td s . size Ġ!= Ġ 3 ) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġdeadline Day Element Ġ= Ġt ds [ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġdeadline Day Str Ġ= Ġdeadline Day Element . text () ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ("[ 0 - 9 ]+ :[ 0 - 9 ]+ ") ĊĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( deadline Day Str ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( matcher . find ()) ĠDead line ( matcher . group ()) Ġelse Ġnull ĊĠĠĠ Ġ} Ċ } Ċ