package Ġcom . el com erc io . mvp _ d agger 2 _ kotlin . ui . user Ċ Ċ import Ġcom . el com erc io . mvp _ d agger 2 _ kotlin . data . datasource . User DataSource Ċ import Ġcom . el com erc io . mvp _ d agger 2 _ kotlin . data . repository . local . db . entity . User Entity Ċ import Ġcom . el com erc io . mvp _ d agger 2 _ kotlin . di . annotations . Activity Scoped Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author ĠCar los ĠV arg as Ġon Ġ 4 / 1 2 / 1 8 . Ċ Ġ* Ġ@ author ĠCar lo ĠRen zo Ġon Ġ 4 / 1 2 / 1 8 . Ċ Ġ* Ċ Ġ*/ Ċ @ Activity Scoped Ċ class ĠUser Presenter Ġ@ Inject Ġconstructor ( var Ġuser Repository : ĠUser Repository ) Ġ: ĠUser Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġuser View : ĠUser Contract . View ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġtake View ( view : ĠUser Contract . View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuser View Ġ= Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdrop View () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser View Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetAll Users () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository . get Users ( object Ġ: ĠUser DataSource . GetUser Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon GetUser Successful ( user List : ĠList < User Entity >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser View !!. refresh Users List ( user List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon GetUser Error ( errorMessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser View !!. show Empty UserList ( errorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Specific User ( user Entity : ĠUser Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository . delete User ( user Entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd New User ( user Entity : ĠUser Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuser Repository . save User ( user Entity ) ĊĠĠĠ Ġ} Ċ }