package Ġcom . app . ui . main . profile Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . app . d agger kotlin . R Ċ import Ġcom . app . models . Post Ċ import Ġcom . app . util . Network Resource Ċ import Ġcom . app . util . Session Manager Ċ import Ġcom . app . view models . ViewModel Provider Factory Ċ import Ġdagger . android . support . D agger Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ post .* Ċ import Ġjava . util . ArrayList Ċ import Ġjavax . inject . Inject Ċ import Ġcom . app . util . Vertical Space Item Decoration Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ Ċ class ĠPost Fragment Ġ: ĠD agger Fragment () Ċ { ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġprovider Factory : ĠViewModel Provider Factory ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprofile ViewModel Ġ: ĠPost ViewModel ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġsession Manager Ġ: ĠSession Manager ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġpost Adapter : ĠPost Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ post , container , false ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġprofile ViewModel Ġ= ĠViewModel Providers . of ( this , provider Factory ). get ( Post ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġinit RecyclerView () ĊĠĠĠĠĠĠĠ Ġsubscribe Observer s () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubscribe Observer s () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprofile ViewModel . getUser Post Data ( session Manager . is UserId () !! ). observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNetwork Resource . Loading Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ProgressBar ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNetwork Resource . Success Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . data Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Adapter . update Data ( it . data Ġas ĠArrayList < Post >) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ProgressBar ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNetwork Resource . Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow ProgressBar ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity , it . message , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠ Ġval Ġitem Decoration Ġ= ĠVertical Space Item Decoration ( 1 5 ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . addItem Decoration ( item Decoration ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġpost Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow ProgressBar ( display Ġ: ĠBoolean ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġif (! display ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ bar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} Ċ }