package Ġcom . example . challenge 2 . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . example . challenge 2 . R Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Nullable Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . example . challenge 2 . adapter . Article Adapter Ċ import Ġcom . example . challenge 2 . api . Article Service Ċ import Ġcom . example . challenge 2 . api . api Request Ċ import Ġcom . example . challenge 2 . api . httpClient Ċ import Ġcom . example . challenge 2 . item . Article Ċ import Ġcom . example . challenge 2 . item . News Article Ċ import Ġcom . example . challenge 2 . session . Session Country Ċ import Ġcom . example . challenge 2 . util . dismiss Loading Ċ import Ġcom . example . challenge 2 . util . show Loading Ċ import Ġcom . example . challenge 2 . util . t ampil Toast Ċ import Ġkotlinx . android . synt hetic .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ article .* Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠArticle Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ article , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ Ġ@ Nullable ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġcall Api Get Article () ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġcall Api Get Article () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Loading ( context !! , Ġswipe Refresh Layout ) ĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= ĠhttpClient () ĊĠĠĠĠĠĠĠ Ġval Ġapi News Request Ġ= Ġapi Request < Article Service >( httpClient , Ġ" https :// news api . org ") ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġapi News Request . get Article () ĊĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < News Article > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < News Article >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Loading ( swipe Refresh Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ampil Toast ( context !! , Ġ" G agal " Ġ+ Ġt . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < News Article >, Ġresponse : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResponse < News Article > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Loading ( swipe Refresh Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . is Successful Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ampil Article ( response . body () !!. articles ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt ampil Toast ( context !! , Ġ" G agal ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġt ampil Article ( cov C ou : ĠList < Article >) Ġ{ ĊĠĠĠĠĠĠĠ Ġlist Article New ss . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġlist Article New ss . adapter Ġ= ĠArticle Adapter ( context !! , Ġcov C ou ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSession Country . Session ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnews Article Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ampil Toast ( context !! , Ġnews Article . title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġthis . clear Find ViewById Cache () ĊĠĠĠ Ġ} Ċ Ċ } Ċ