package Ġcom . a ung th u ya . code test . ui . w ond ers Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . view . View Ċ import Ġcom . a ung th u ya . code test . R Ċ import Ġcom . a ung th u ya . code test . model . W onder Ċ import Ġcom . a ung th u ya . code test . ui . base . Abs Activity Ċ import Ġcom . a ung th u ya . code test . ui . w onder . W onder Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ w ond ers .* Ċ import Ġkotlinx . android . synt hetic . main . layout _ toolbar .* Ċ Ċ /** Ċ Ġ* ĠThis Ġactivity Ġshow Ġthe Ġall Ġwonder Ġplaces . Ċ Ġ* Ċ Ġ* Ġ@ author ĠA ung ĠThu ya Ċ Ġ* Ġ@ since Ġ 2 8 ĠJuly Ġ 2 0 1 9 Ċ Ġ*/ Ċ class ĠW ond ers Activity : ĠAbs Activity < W ond ers Contract . W ond ers Presenter , ĠW ond ers Contract . W ond ers View >(), ĊĠĠĠĠĠĠĠ ĠW ond ers Contract . W ond ers View Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy Ġ{ ĠW ond ers Adapter (:: on ItemSelected ) Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġw ond ers Ġ= ĠlistOf < W onder >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġsetup Ġtoolbar ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ Ġon Back Pressed () Ġ} ĊĠĠĠĠĠĠĠ Ġtv Toolbar . setText ( R . string . w ond ers ) ĊĊĠĠĠĠĠĠĠ Ġrv W ond ers . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġ// ĠLoad Ġoffline Ġdata ĊĠĠĠĠĠĠĠ Ġw ond ers Ġ= Ġapp . get Storage (). get W ond ers () ĊĠĠĠĠĠĠĠ Ġrefresh View () ĊĊĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġshow Ġloading Ġprogress Ġwhile Ġloading Ġwonder Ġplaces ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġthere Ġis Ġoffline Ġdata , Ġdon 't Ġneed Ġto Ġshow Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( w ond ers . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġload Ġw ond ers ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . load W ond ers () ĊĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRefresh Ġthe ĠUI Ġto Ġshow ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġrefresh View () Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( this . w ond ers . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv W ond ers . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Empty W ond ers . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set Items ( w ond ers ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv W ond ers . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Empty W ond ers . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon ItemSelected ( w onder : ĠW onder ) Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( W onder Activity . get Launcher Intent ( this , Ġwonder )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġloaded W ond ers ( w ond ers : ĠList < W onder >) Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Progress () ĊĠĠĠĠĠĠĠ Ġthis . w ond ers Ġ= Ġw ond ers ĊĊĠĠĠĠĠĠĠ Ġrefresh View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġloading Failed () Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Progress () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res Id () Ġ= ĠR . layout . activity _ w ond ers ĊĊĠĠĠ Ġoverride Ġfun Ġprovide Presenter () Ġ= ĠW ond ers Presenter Impl ( app ) ĊĊĠĠĠ Ġoverride Ġfun Ġprovide View () Ġ= Ġthis ĊĊ Ċ }