package Ġdev . edu ay uso . cle ans ample s . mvp app . features . posts Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġdev . edu ay uso . cle ans ample s . mvp app . R Ċ import Ġdev . edu ay uso . cle ans ample s . mvp app . components . ui . Clean Fragment Ċ import Ġdev . edu ay uso . cle ans ample s . shared . domain . entities . Post Entity Ċ import Ġdev . edu ay uso . cle ans ample s . shared . impl . Data Constants Ċ import Ġdev . edu ay uso . cle ans ample s . shared . presentation . mvp . features . posts . IP ost List Events Ċ import Ġdev . edu ay uso . cle ans ample s . shared . presentation . mvp . features . posts . Post List Presenter Ċ import Ġorg . k oin . java . K oin Java Component . inject Ċ Ċ class ĠPost List Fragment : ĊĊĠĠĠ ĠClean Fragment < IP ost List Events >(), ĊĠĠĠ ĠI Post List Events , ĊĠĠĠ ĠOn Post ClickListener Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġpresenter Ġby Ġinject ( Post List Presenter :: class . java ) ĊĠĠĠ Ġoverride Ġval Ġlayout ResourceId Ġ= ĠR . layout . fragment _ post _ list ĊĊĠĠĠ Ġprivate Ġval ĠprogressBar Ġby Ġlazy ĠĠĠĠ Ġ{ Ġview ?. findViewById < ProgressBar >( R . id . post List ProgressBar ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġre cyclerView Ġby Ġlazy ĠĠĠ Ġ{ Ġview ?. findViewById < RecyclerView >( R . id . post List RecyclerView ) Ġ} ĊĠĠĠ Ġprivate Ġvar Ġre cycler Adapter : ĠPost List Recycler Adapter ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġthis . presenter . fetch Posts () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠprogressBar ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠprogressBar ?. visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( message : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġmessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post List F etched ( posts : ĠList < Post Entity >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġre cyclerView ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġre cycler Adapter ?. add Items ( posts ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . layout Manager Ġ= ĠGrid LayoutManager ( activity , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler Adapter Ġ= ĠPost List Recycler Adapter ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . adapter Ġ= Ġre cycler Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Post Click ( id : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠPost Detail Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Data Constants . View Arguments . post Id , Ġid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} Ċ }