package Ġorg . tech town . movie Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . ActionBar Drawer Toggle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . android . vol ley . Request Queue Ċ import Ġcom . android . vol ley . toolbox . String Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġorg . tech town . movie . data .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ import Ġkotlin . collections . HashMap Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠFragment Callback Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrequest Queue : ĠRequest Queue ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġrequest Queue Ġ= Ġ ĠVol ley . new Request Queue ( application Context ) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtoggle Ġ= ĠAction Bar Drawer Toggle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . drawer _ open , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . drawer _ close ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdrawer Layout . add Drawer Listener ( toggle ) ĊĠĠĠĠĠĠĠ Ġtoggle . sync State () ĊĊĠĠĠĠĠĠĠ Ġnavigation View . set Navigation ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ìĺģ íĻĶ Ġëª© ë¡Ŀ ĠìĦłíĥĿ ëĲ ¨ .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM _ LIST , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ìĺ Ī ë§¤ ìĪ ľ ĠìĦłíĥĿ ëĲ ¨ .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM 2 , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ìĺģ íĻĶ ê´Ģ ĠìĦłíĥĿ ëĲ ¨ .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM 3 , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ì¦ Ĳ ê² ¨ ì° ¾ ê¸° ĠìĦłíĥĿ ëĲ ¨ .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM 4 , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġbottom _ navigation . selected ItemId Ġ= ĠR . id . tab 1 ĊĠĠĠĠĠĠĠ Ġbottom _ navigation . setOn Navigation ItemSelected Listener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tab 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ìĺģ íĻĶ Ġëª© ë¡Ŀ Ġíĥ Ń ĠìĦłíĥĿ ëĲ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM _ LIST , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tab 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ìĺ Ī ë§¤ ìĪ ľ Ġíĥ Ń ĠìĦłíĥĿ ëĲ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM 2 , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tab 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ìĺģ íĻĶ ê´Ģ Ġíĥ Ń ĠìĦłíĥĿ ëĲ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM 3 , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tab 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" ì¦ Ĳ ê² ¨ ì° ¾ ê¸° Ġíĥ Ń ĠìĦłíĥĿ ëĲ ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fragment Selected ( Fragment Callback . Fragment Item . ITEM 4 , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Navigation ItemSelected Listener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Navigation ItemSelected Listener Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġë° ķ ìĬ¤ ìĺ¤ íĶ ¼ ìĬ¤ ĠìļĶ ì²Ń ĊĠĠĠĠĠĠĠ Ġrequest Box Office () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġë° ķ ìĬ¤ ìĺ¤ íĶ ¼ ìĬ¤ Ġëį°ìĿ´íĦ° ĠìļĶ ì²Ń ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrequest Box Office () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġìĸ ´ ìłľ ĠëĤ ł ì§ ľ ĠìĥĿìĦ± ĊĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcal . add ( Calendar . DATE , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġtarget Date Ġ= ĠUtils . date Format . format ( cal . time ) ĊĊĠĠĠĠĠĠĠ Ġval ĠapiKey Ġ= Ġ" 4 3 0 1 5 6 2 4 1 5 3 3 f 1 d 0 5 8 c 6 0 3 1 7 8 cc 3 ca 0 e " ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http :// www . k ob is . or . kr / k ob is openapi / web service / rest / box office / search Daily Box Office List . json ? key =${ apiKey }& target Dt =${ target Date }" ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġobject : ĠString Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . GET , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĿ ĳ ëĭ µ Ġ-> Ġ${ it }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġí Ĥ¤ ĠìĤ¬ìļ© Ġì ´Ī ê³¼ ĠìĹ¬ ë¶Ģ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . indexOf (" fault Info ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" íĤ¤ ĠìĤ¬ìļ© ëŁ ī ìĿ´ Ġì ´Ī ê³¼ ëĲĺ ìĹ Īëĭ¤ ë©´ ĠìķĦëŀĺ ĠìĤ¬ ìĿ´ íĬ¸ ìĹĲ Ġê°Ģ ìŀħ ĠíĽĦ Ġí Ĥ¤ ë¥¼ Ġë°ľ ê¸ ī ë° Ľ ìķĦ Ġê·¸ Ġí Ĥ¤ ë¡ľ ĠìĤ¬ìļ© íķĺ ìĦ¸ìļĶ .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" http :// k ob is . or . kr / k ob is openapi ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Response ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Response ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĹĲ ëŁ¬ Ġ-> Ġ${ it . message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Params (): ĠMutable Map < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams [" userid "] Ġ= Ġ" john " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrequest . set Should Cache ( false ) ĊĠĠĠĠĠĠĠ Ġrequest Queue ?. add ( request ) ĊĠĠĠĠĠĠĠ Ġprintln ("\ n ìĺģ íĻĶ ĠìĿ¼ ë³Ħ Ġë° ķ ìĬ¤ ìĺ¤ íĶ ¼ ìĬ¤ ĠìļĶ ì²Ń íķ¨ ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprocess Response ( response : String ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġval Ġbox Office Ġ= Ġgson . fromJson ( response , ĠBox Office :: class . java ) ĊĠĠĠĠĠĠĠ Ġprintln ("\ n ìĺģ íĻĶ Ġìłķë³´ ìĿĺ ĠìĪĺ : Ġ" Ġ+ Ġbox Office . box Office Result . daily Box Office List . size ) ĊĊĠĠĠĠĠĠĠ Ġrequest Details ( box Office . box Office Result . daily Box Office List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest Details ( daily Box Office List : ArrayList < Movie Info >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠìĿ´ ìłĦ Ġëį°ìĿ´íĦ° ĠìĤ Ń ìłľ ĊĠĠĠĠĠĠĠ ĠMovie List . data . clear () ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 5 ê°ľ Ġëį°ìĿ´íĦ° ĠìļĶ ì²Ń íķĺê³ł ĠMovie List ìĹĲ ĠMovie Data Ġì¶Ķê°Ģ ĊĠĠĠĠĠĠĠ Ġfor Ġ( index Ġin Ġ 0 .. 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmovie Data Ġ= ĠMovie Data ( daily Box Office List [ index ], Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMovie List . data . add ( movie Data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Details ( index , Ġdaily Box Office List [ index ]. movie Cd ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend Details ( index : Int , Ġmovie Cd : String ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( movie Cd Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠapiKey Ġ= Ġ" 4 3 0 1 5 6 2 4 1 5 3 3 f 1 d 0 5 8 c 6 0 3 1 7 8 cc 3 ca 0 e " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http :// www . k ob is . or . kr / k ob is openapi / web service / rest / movie / search Movie Info . json ? key =${ apiKey }& movie Cd =${ movie Cd }" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġobject : ĠString Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĿ ĳ ëĭ µ Ġ-> Ġ${ it }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Details Response ( index , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĹĲ ëŁ¬ Ġ-> Ġ${ it . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set Should Cache ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Queue ?. add ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĺģ íĻĶ Ġìĥģ ìĦ¸ ìłķ ë³´ ĠìļĶ ì²Ń íķ¨ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprocess Details Response ( index : Int , Ġresponse : String ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġval Ġmovie Info Details Ġ= Ġgson . fromJson ( response , ĠMovie Info Details :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġmovie Details Ġ= Ġmovie Info Details . movie Info Result . movie Info ĊĊĠĠĠĠĠĠĠ Ġprintln ("\ n ìĺģ íĻĶ Ġìłľ ëª© ê³¼ Ġìłľ ìŀĳ êµŃ ê°Ģ Ġ: Ġ${ movie Details . movie Nm }, Ġ${ movie Details . movie Nm En }, Ġ${ movie Details . n ations [ 0 ]. n ation Nm }") ĊĊĠĠĠĠĠĠĠ ĠMovie List . data [ index ]. movie Details Ġ= Ġmovie Details ĊĠĠĠĠĠĠĠ Ġrequest TM DB Search ( index , Ġmovie Details ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest TM DB Search ( index : Int , Ġmovie Details : Movie Details ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmovie Name Ġ= Ġmovie Details . movie Nm ĊĠĠĠĠĠĠĠ Ġif Ġ( movie Details . n ations [ 0 ]. n ation Nm Ġ!= Ġ" íķľ êµŃ ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Name Ġ= Ġmovie Details . movie Nm En ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsend TM DB Search ( index , Ġmovie Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsend TM DB Search ( index : Int , Ġmovie Name : String ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( movie Name Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠapiKey Ġ= Ġ" ce 1 5 1 c 6 7 2 a 7 4 a 3 3 a 3 6 2 6 8 8 8 2 6 8 5 ed 8 8 f " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// api . the mov ied b . org / 3 / search / movie ? api _ key =${ apiKey }& query =${ movie Name }& language = ko - KR & page = 1 " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġobject : ĠString Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . GET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĿ ĳ ëĭ µ Ġ-> Ġ${ it }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess TM DB Search Response ( index , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n ìĹĲ ëŁ¬ Ġ-> Ġ${ it . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . set Should Cache ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Queue ?. add ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ n TM DB Ġìĺģ íĻĶ Ġê²Ģ ìĥī ĠìļĶ ì²Ń íķ¨ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprocess TM DB Search Response ( index : Int , Ġresponse : String ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġval Ġt mdb Movie Details Ġ= Ġgson . fromJson ( response , ĠT mdb Movie Details :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġmovie Result Ġ= Ġt mdb Movie Details . results [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġprintln ("\ n ìĺģ íĻĶ Ġid , Ġíı¬ ìĬ¤ íĦ° , Ġì¤ Ħ ê±° ë¦¬ Ġ: Ġ${ movie Result . id }, Ġ${ movie Result . poster _ path }, Ġ${ movie Result . overview }") ĊĠĠĠĠĠĠĠ ĠMovie List . data [ index ]. t mdb Movie Result Ġ= Ġmovie Result ĊĊĠĠĠĠĠĠĠ Ġ// ĠíĻ Ķ ë©´ ìĹĲ ĠíĶĦ ëŀĺ ê·¸ ë ¨ ¼ íĬ¸ Ġíĳľ ìĭľ ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). add ( R . id . container , ĠMovie List Fragment ()). commit () ĊĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" ë° ķ ìĬ¤ Ġìĺ¤ íĶ ¼ ìĬ¤ " ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġon Fragment Selected ( item : ĠFragment Callback . Fragment Item , Ġbundle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġbundle ?. getInt (" index ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Type Ġ= Ġbundle ?. getString (" list Type ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġfragment : ĠFragment ĊĠĠĠĠĠĠĠ Ġwhen ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Callback . Fragment Item . ITEM _ LIST Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" ë° ķ ìĬ¤ Ġìĺ¤ íĶ ¼ ìĬ¤ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĠMovie List Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Callback . Fragment Item . ITEM _ DETAILS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" ìĺģ íĻĶ Ġìĥģ ìĦ¸ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĠMovie Details Fragment . newInstance ( index , Ġlist Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Callback . Fragment Item . ITEM 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" ìĺ Ī ë§¤ ìĪ ľ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĠMovie Reservation List Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Callback . Fragment Item . ITEM 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" ìĺģ íĻĶ ê´Ģ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĠFragment 3 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Callback . Fragment Item . ITEM 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" ì¦ Ĳ ê² ¨ ì° ¾ ê¸° " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĠFragment 4 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). replace ( R . id . container , Ġfragment !! ). commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawer Layout . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Toast ( message : String ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} Ċ Ċ } Ċ