package Ġcom . k Ts . movie observer . ui . settings Screen Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ Ċ import Ġcom . k Ts . movie observer . R Ċ import Ġcom . k Ts . movie observer . databinding . Settings Fragment Binding Ċ Ċ class ĠSettings Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠSettings ViewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġrequire NotNull ( this . activity ) ĊĠĠĠĠĠĠĠ Ġval Ġv M Factory Ġ= ĠSettings ViewModel . Factory ( activity . application ) ĊĠĠĠĠĠĠĠ ĠViewModel Provider ( this , Ġv M Factory ). get ( Settings ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠSettings Fragment Binding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Binding Util . inflate ( in flater , ĠR . layout . settings _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĊĠĠĠĠĠĠĠ ĠviewModel . re create Activity . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġrecreate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( re create ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. re create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . re create Activity Completed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} Ċ Ċ } Ċ