package Ġcom . w im ank . pb fs . ui . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . fragment . app . Fragment Ċ Ċ /** Ċ Ġ* ĠBase Ġclass Ġfor Ġfragments Ġwith ĠData ĠBinding . Ċ Ġ*/ Ċ abstract Ġclass ĠBase Fragment < DB Ġ: ĠView Data Binding > Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġdata Binding : ĠDB ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer ?. let Ġ{ Ġcreate Binding ( in flater , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġini View ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Binding ViewModel () ĊĠĠĠĠĠĠĠ Ġreturn Ġdata Binding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Binding ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Binding Ġ= ĠData Binding Util . inflate ( in flater , Ġget Layout Res (), Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġdata Binding . lifecycle Owner Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Layout Res ĊĠĠĠ Ġabstract Ġfun Ġget Layout Res (): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMethod Ġcalled Ġafter Ġdata Ġbinding . ĠRe places ĠonCreate View . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġini View ( savedInstanceState : ĠBundle ?) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitial izing Ġthe Ġview model Ġin Ġthe Ġfragment Ġlayout . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġset Binding ViewModel () Ċ Ċ } Ċ