package Ġsoup . movie . theme Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . update Padding Ċ import Ġandroidx . lifecycle . observe Ċ import Ġdagger . android . support . D agger Fragment Ċ import Ġdev . chr is ban es . in setter . do On Apply Window Insets Ċ import Ġsoup . movie . ext . ass isted ViewModels Ċ import Ġsoup . movie . theme . databinding . Theme Option Fragment Binding Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠTheme Setting Fragment Ġ: ĠD agger Fragment () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġtheme Option ViewModel Factory : ĠTheme Setting ViewModel . Factory ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠTheme Setting ViewModel Ġby Ġass isted ViewModels Ġ{ ĊĠĠĠĠĠĠĠ Ġtheme Option ViewModel Factory . create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠTheme Option Fragment Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġbinding . init ViewState ( viewModel ) ĊĠĠĠĠĠĠĠ Ġbinding . adapt System Window Inset () ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠTheme Option Fragment Binding . init ViewState ( viewModel : ĠTheme Setting ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Adapter Ġ= ĠTheme Setting ListAdapter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . on Item Click ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġlist Adapter ĊĠĠĠĠĠĠĠ ĠviewModel . ui Model . observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Adapter . submit List ( it . items ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠTheme Option Fragment Binding . adapt System Window Inset () Ġ{ ĊĠĠĠĠĠĠĠ Ġtheme Option Scene . do On Apply Window Insets Ġ{ Ġtheme Option Scene , Ġin sets , ĠinitialState Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtheme Option Scene . update Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠinitialState . p add ings . top Ġ+ Ġin sets . system Window Inset Top ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠlistView . do On Apply Window Insets Ġ{ ĠlistView , Ġin sets , ĠinitialState Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistView . update Padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠinitialState . p add ings . bottom Ġ+ Ġin sets . system Window Inset Bottom ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ