package Ġcom . mo hs en oid . the mov ied b . presentation . view . trend ing . movie Ċ Ċ import Ġcom . mo hs en oid . the mov ied b . domain . Repository Ċ import Ġcom . mo hs en oid . the mov ied b . domain . entities . Movie Entity Ċ import Ġcom . mo hs en oid . the mov ied b . domain . mapper . Mapper Ċ import Ġcom . mo hs en oid . the mov ied b . presentation . model . Movie Model Ċ import Ġcom . mo hs en oid . the mov ied b . util . config . Config Provider Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠT rend ing Movie Presenter ( ĊĠĠĠ Ġprivate Ġval Ġconfig Provider : ĠConfig Provider , ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠRepository , ĊĠĠĠ Ġprivate Ġval Ġmovie Model Mapper : ĠMapper < Movie Entity , ĠMovie Model > Ċ ) Ġ: ĠT rend ing Movie Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġview : ĠT rend ing Movie Contract . View ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( view : ĠT rend ing Movie Contract . View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Ġ= Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun bind () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġload Movies () Ġ{ ĊĠĠĠĠĠĠĠ Ġview ?. show Loading () ĊĠĠĠĠĠĠĠ Ġfetch Trend ing Movies () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġfetch Trend ing Movies () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! config Provider . is Online ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Offline Message ( is Critical Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie Entities : ĠList < Movie Entity > Ġ= Ġrepository . get Trend ing Movies OfWeek () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie Model : ĠList < Movie Model > Ġ= Ġmovie Entities . map ( movie Model Mapper :: map ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. set Movies Result ( movie Model ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . w ( e ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. showMessage ( e . message Ġ?: Ġe . toString ()) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ