package Ġcom . w ome i you y uming . android . yu ere ad ac g . fragment . news Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . paging . Paged List Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ Ċ import Ġcom . w ome i you y uming . android . yu ere ad ac g . R Ċ import Ġcom . w ome i you y uming . android . yu ere ad ac g . adapter . News Adapter Ċ import Ġcom . w ome i you y uming . android . yu ere ad ac g . model . News Ċ import Ġcom . w ome i you y uming . android . yu ere ad ac g . network . Network State Ċ import Ġcom . w ome i you y uming . android . yu ere ad ac g . view model . News ViewModel Ċ import Ġkotlinx . android . synt hetic . main . fragment _ news _ anime .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ news _ anime . swipe Refresh Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ Ġ èµĦ è®¯ ä¸ĭ æ¯ı ä¸Ģä¸ª News åĪĨç±» çļĦ åŁº ç±» Fragment ( éĻ¤ åİ» é¦ĸé¡µ ) Ċ Ġ* Ċ Ġ* Ġ Ġä¸ĭ è¾¹ æľī å®ŀçİ° ç±» Ċ Ġ* Ċ Ġ*/ Ċ abstract Ġclass ĠBase News Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprotected Ġval Ġnews ViewModel Ġby Ġactivity ViewModels < News ViewModel >() ĊĊĠĠĠ Ġabstract Ġval Ġhot Tags : ĠList < String > ĊĊĠĠĠ Ġabstract Ġfun Ġget News LiveData (): ĠLive Data < Paged List < News >> ĊĠĠĠ Ġabstract Ġfun Ġget News Network State LiveData (): ĠLive Data < Network State > ĊĊĠĠĠ Ġabstract Ġfun Ġrefresh () ĊĠĠĠ Ġabstract Ġfun Ġretry () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ news _ anime , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĊĊĠĠĠĠĠĠĠ Ġinit Swipe Refresh () ĊĠĠĠĠĠĠĠ Ġinit News RecyclerView () ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Swipe Refresh () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠContext Compat . getColor ( require Context (), ĠR . color . color Accent ) ĊĠĠĠĠĠĠĠ Ġswipe Refresh . setColor Scheme Colors ( color ) ĊĊĠĠĠĠĠĠĠ Ġswipe Refresh . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit News RecyclerView () Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠNews Adapter ( hot Tags , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Click Ġ= Ġ{ Ġurl , Ġauthor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= Ġbundle Of ( Pair (" url ", Ġurl ), ĠPair (" author ", Ġauthor )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ nav _ news _ to _ nav _ news _ content , Ġbundle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretry Ġ= Ġ{ Ġretry () Ġ}) ĊĊĠĠĠĠĠĠĠ Ġnews RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( require Context ()) ĊĠĠĠĠĠĠĠ Ġnews RecyclerView . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġget News LiveData (). observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit List ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġget News Network State LiveData (). observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh . is Refresh ing Ġ= Ġit Ġ== ĠNetwork State . FIRST _ LOADING ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set Network State ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} Ċ Ċ } ĊĊ Ċ class ĠNews An ime Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" åĬ¨çĶ» ", Ġ" æ¼ « çĶ» ", Ġ" åī § åľº çīĪ ") ĊĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news An ime List LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news An ime Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News An ime () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News An ime () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNews Ex po Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" å±ķ ä¼ļ ") ĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news Ex po List LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news Ex po Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News Ex po () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News Ex po () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠNews Be auty Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" ç¦ı åĪ© ") ĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news Be auty List LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news Be auty Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News Be auty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News Be auty () ĊĠĠĠ Ġ} Ċ Ċ } class ĠNews F igma Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" æīĭ åĬŀ ") ĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news F igma List LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news F igma Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News F igma () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News F igma () ĊĠĠĠ Ġ} Ċ Ċ } class ĠNews Special Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" å® ħ ç§ĳ åŃ¦ ", Ġ" åľ¨ åīį çº¿ ") ĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news Special List LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news Special Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News Special () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News Special () ĊĠĠĠ Ġ} Ċ Ċ } class ĠNews Bag ua Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" åħ« åį ¦ ") ĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news Bag ua List LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news Bag ua Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News Bag ua () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News Bag ua () ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊĊ Ċ class ĠNews Game Fragment Ġ: ĠBase News Fragment () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġhot Tags : ĠList < String > Ġ= ĠlistOf (" æīĭ æ¸¸ ") ĊĊĠĠĠ Ġoverride Ġfun Ġget News LiveData () Ġ= Ġnews ViewModel . news Game LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġget News Network State LiveData () Ġ= Ġnews ViewModel . news Game Network State LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . refresh News Game () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretry () Ġ{ ĊĠĠĠĠĠĠĠ Ġnews ViewModel . retry News Game () ĊĠĠĠ Ġ} Ċ } ĊĊ