package Ġcom . mar c gd ie z . json placeholder . list Ċ Ċ import Ġcom . mar c gd ie z . json placeholder . business . Item Ċ import Ġcom . mar c gd ie z . json placeholder . core . Base Presenter Ċ import Ġcom . mar c gd ie z . json placeholder . core . Failure Ċ import Ġcom . mar c gd ie z . json placeholder . list . use case . Get Items List UseCase Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠItems List Presenter ( ĊĠĠĠ Ġprivate Ġval Ġget Items List UseCase : ĠGet Items List UseCase , ĊĠĠĠ Ġprivate Ġval Ġdispatcher : ĠCor outine Dispatcher Ċ ) Ġ: ĠBase Presenter < Items List Contract . View >(), ĊĠĠĠ ĠItems List Contract . Presenter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon View Ready () Ġ{ ĊĠĠĠĠĠĠĠ Ġview ?. show Progress () ĊĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( context Ġ= Ġdispatcher ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomments Ġ= Ġget Items List UseCase . execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomments . either (:: handleError , Ġ:: handle Success ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. hide Progress () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Error ( failure : ĠFailure ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview ?. show Internet Error () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Success ( items : ĠList < Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġview ?. show Items ( items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( it : ĠItem ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview ?. navigate To Detail ( it ) ĊĠĠĠ Ġ} Ċ }