package Ġcom . cu ong z . week 1 intern _ ver 2 Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . widget . Toast Ċ import Ġcom . cu ong z . week 1 intern _ ver 2 . Model . Movie Ċ import Ġcom . cu ong z . week 1 intern _ ver 2 . Pop ular Movies . Interface Pop ular Ċ import Ġcom . cu ong z . week 1 intern _ ver 2 . Pop ular Movies . Pop ular Adapter Ċ import Ġcom . cu ong z . week 1 intern _ ver 2 . Pop ular Movies . Pop ular Presenter Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠInterface Pop ular . View Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġpresenter : ĠInterface Pop ular . Presenter Ġ= ĠPop ular Presenter ( this ) ĊĠĠĠ Ġprivate Ġvar Ġadapter : ĠPop ular Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġpage Ġ= Ġ 1 ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġpresenter . get Pop ular Movie ( page ) ĊĊĠĠĠĠĠĠĠ Ġgo Left . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( page Ġ!= Ġ 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . get Pop ular Movie ( page ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġloading Toast Ġ= ĠToast . makeText ( v ?. context , Ġ" Loading ", ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading Toast . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ Ġloading Toast . cancel () Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgo Right . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . get Pop ular Movie ( page ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġloading Toast Ġ= ĠToast . makeText ( v ?. context , Ġ" Loading ", ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Toast . show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ Ġloading Toast . cancel () Ġ}, Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġswipe Container . setOn Refresh Listener Ġ{ Ġfetch Timeline Async ( page ) Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfetch Timeline Async (_ page : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġpresenter . get Pop ular Movie (_ page Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġpage ++ ĊĠĠĠĠĠĠĠ Ġswipe Container . is Refresh ing Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Presenter ( presenter : ĠInterface Pop ular . Presenter ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . presenter Ġ= Ġpresenter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonSuccess ( list Movie : ĠList < Movie > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( list Movie Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠPop ular Adapter ( list Movie ) ĊĠĠĠĠĠĠĠ Ġmovies _ list . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġmovies _ list . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Failure () Ġ{ ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ