package Ġsoup . movie . home . filter Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . lifecycle . observe Ċ import Ġcom . google . android . material . chip . Chip Ċ import Ġdagger . android . support . D agger Fragment Ċ import Ġsoup . movie . ext . ass isted ViewModels Ċ import Ġsoup . movie . home . R Ċ import Ġsoup . movie . home . databinding . Home Filter Fragment Binding Ċ import Ġsoup . movie . util . inflate Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome Filter Fragment Ġ: ĠD agger Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠHome Filter Fragment Binding ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠHome Filter ViewModel . Factory ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠHome Filter ViewModel Ġby Ġass isted ViewModels Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Factory . create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠHome Filter Fragment Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ Ġbinding . init Filter ( viewModel ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠHome Filter Fragment Binding . init Filter ( viewModel : ĠHome Filter ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . genre Ui Model . observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Item . genre Filter Group . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove All Views () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . items . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgenre Chip : ĠCh ip Ġ= Ġinf late ( context , ĠR . layout . home _ filter _ item _ genre ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Chip . text Ġ= Ġit . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Chip . isChecked Ġ= Ġit . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Chip . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . on Genre Filter Click ( it . name , Ġis Checked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( genre Chip ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ