package Ġcom . y em reak . de pre my a . api Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . android . vol ley . Response Ċ import Ġcom . android . vol ley . toolbox . String Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġcom . y em reak . de pre my a . db . entity . Qu ake Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList ĊĊ Ċ abstract Ġclass ĠK and illi API Ġ{ ĊĉĊ ĉ comp anion Ġobject Ġ{ ĊĉĉĊĉ ĉ private Ġval ĠTAG Ġ= ĠK and illi API :: class . java . simple Name ĊĉĉĊĉ ĉ private Ġconst Ġval ĠURL Ġ= Ġ" http :// www . ko eri . bo un . edu . tr / scripts / lst 1 . asp " ĊĉĉĊĉ ĉ private Ġconst Ġval ĠdataIndex Ġ= Ġ 5 9 1 ĊĉĉĊĉ ĉ private Ġconst Ġval Ġindex Dates Ġ= Ġ 1 0 Ċĉ ĉ private Ġconst Ġval Ġindex Hours Ġ= Ġindex Dates Ġ+ Ġ 1 0 Ċĉ ĉ private Ġconst Ġval Ġlat Index Ġ= Ġindex Hours Ġ+ Ġ 1 0 Ċĉ ĉ private Ġconst Ġval Ġlong Index Ġ= Ġlat Index Ġ+ Ġ 1 0 Ċĉ ĉ private Ġconst Ġval Ġdepth Index Ġ= Ġlong Index Ġ+ Ġ 1 4 Ċĉ ĉ private Ġconst Ġval Ġm ds Index Ġ= Ġdepth Index Ġ+ Ġ 5 Ċĉ ĉ private Ġconst Ġval Ġm ls Index Ġ= Ġm ds Index Ġ+ Ġ 5 Ċĉ ĉ private Ġconst Ġval Ġm ws Index Ġ= Ġm ls Index Ġ+ Ġ 5 Ċĉ ĉ private Ġconst Ġval Ġplaces Index Ġ= Ġm ws Index Ġ+ Ġ 5 0 ĊĉĉĊĉ ĉ fun Ġrequest Earth Qu akes ( context : ĠContext , Ġon Response : Ġ( List < Qu ake > ?) Ġ-> ĠUnit ) Ġ{ Ċĉĉ ĉ val Ġqueue Ġ= ĠVol ley . new Request Queue ( context ) Ċĉĉ ĉ val Ġstring Request Ġ= ĠString Request ( Request . Method . GET , ĠURL , Ċĉĉĉ ĉ Response . Listener < String > Ġ{ Ġresponse Ġ-> Ċĉĉĉĉ ĉ on Response ( parse Response ( response . replace (" Ã Ŀ ", Ġ" Ä° "))) Ċĉĉĉ ĉ }, Ċĉĉĉ ĉ Response . Error Listener Ġ{ Ġon Response ( null ) Ġ} Ċĉĉ ĉ ) ĊĉĉĉĊĉĉ ĉ queue . add ( string Request ) Ċĉ ĉ } ĊĉĉĊĉ ĉ private Ġfun Ġparse Response ( response : ĠString ): ĠList < Qu ake > Ġ{ Ċĉĉ ĉ val Ġearth Qu ake List Ġ= ĠArrayList < Qu ake >() ĊĉĉĉĊĉĉ ĉ val Ġregex Ġ= Ġ""" < pre > .* </ pre > """. to Regex ( Regex Option . DOT _ MATCH ES _ ALL ) Ċĉĉ ĉ regex . find ( response )?. value ?. let Ġ{ Ċĉĉĉ ĉ it . slice ( data Index Ġuntil Ġit . length ). split ("\ n "). forEach Ġ{ Ġline Ġ-> Ċĉĉĉĉ ĉ if Ġ( line . trim (). isNotEmpty () Ġ&& Ġ! line . contains ("</ pre > ")) Ċĉĉĉĉĉ ĉ earth Qu ake List . add ( parse Line ( line )) Ċĉĉĉ ĉ } Ċĉĉ ĉ } ĊĉĉĉĊĉĉ ĉ return Ġearth Qu ake List . toList () Ċĉ ĉ } ĊĉĉĊĉ ĉ private Ġfun Ġparse Line ( line : ĠString ): ĠQu ake Ġ{ Ċĉĉ ĉ var Ġcity : ĠString Ġ= Ġ"" Ċĉĉ ĉ var Ġregion : ĠString Ġ= Ġ"" ĊĉĉĉĊĉĉ ĉ line . slice ( m ws Index .. places Index ). trim (). split (" Ġ"). let Ġ{ Ċĉĉĉ ĉ city Ġ= Ġit . last (). replace (" (", Ġ""). replace (" )", Ġ""). run Ġ{ Ċĉĉĉĉ ĉ this [ 0 ] Ġ+ Ġthis . slice ( 1 Ġuntil Ġlength ). toLowerCase ( Locale . ROOT ) Ċĉĉĉ ĉ } Ċĉĉĉ ĉ if Ġ( it . size Ġ> Ġ 1 ) Ġregion Ġ= Ġit . first () Ċĉĉ ĉ } ĊĉĉĉĊĉĉ ĉ return ĠQu ake ( Ċĉĉĉĉ 0 , Ċĉĉĉ ĉ line . slice ( 0 .. index Dates ). trim (), Ċĉĉĉ ĉ line . slice ( index Dates .. index Hours ). trim (), Ċĉĉĉ ĉ line . slice ( index Hours .. lat Index ). trim (), Ċĉĉĉ ĉ line . slice ( lat Index .. long Index ). trim (), Ċĉĉĉ ĉ line . slice ( long Index .. depth Index ). trim (), Ċĉĉĉ ĉ line . slice ( depth Index .. mds Index ). trim (), Ċĉĉĉ ĉ line . slice ( mds Index .. ml s Index ). trim (), Ċĉĉĉ ĉ line . slice ( ml s Index .. m ws Index ). trim (), Ċĉĉĉ ĉ city , Ċĉĉĉ ĉ region , Ċĉĉĉ ĉ line . slice ( places Index Ġuntil Ġline . length ). trim () Ċĉĉ ĉ ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ