package Ġcom . ud acity . aster oid radar . ui . main Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . ud acity . aster oid radar . R Ċ import Ġcom . ud acity . aster oid radar . databinding . Fragment Main Binding Ċ Ċ class ĠMain Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠMain ViewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Provider ( this ). get ( Main ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠFragment Main Binding . inflate ( in flater ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĊĠĠĠĠĠĠĠ Ġval Ġaster oid ListAdapter Ġ= ĠA ster oid ListAdapter ( A ster oid ListAdapter . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . navigate To A ster oid Details ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġaster oid ListAdapter . set Has Stable Ids ( true ) ĊĠĠĠĠĠĠĠ Ġbinding . aster oid Recycler . adapter Ġ= Ġaster oid ListAdapter ĊĊĠĠĠĠĠĠĠ ĠviewModel . navigate To Selected A ster oid . observe ( view Lifecycle Owner , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . find Nav Controller (). navigate ( Main Fragment Directions . action Show Detail ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . done Navigate To A ster oid Details () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . main _ overflow _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . show _ aster oids _ week s _ item Ġ-> ĠviewModel . set A ster oids List Ui Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA ster oids Ui Filter . SHOW _ AST ERO IDS _ W EE KS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . show _ aster oids _ today _ item Ġ-> ĠviewModel . set A ster oids List Ui Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA ster oids Ui Filter . SHOW _ AST ERO IDS _ TO DAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . show _ aster oids _ all _ item Ġ-> ĠviewModel . set A ster oids List Ui Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA ster oids Ui Filter . SHOW _ AST ERO IDS _ ALL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ