package Ġstream . nol ambda . karma . ui . screens Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . view binding . View Binding Ċ Ċ interface ĠScreen View Provider < T > Ġ{ ĊĠĠĠ Ġfun Ġinf late ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ?): ĠView ĊĠĠĠ Ġfun Ġget Binding (): ĠT Ċ } Ċ Ċ class ĠView Binding Screen View Provider < T Ġ: ĠView Binding >( ĊĠĠĠ Ġprivate Ġval Ġcreator : ĠView Binding Inflater < T > Ċ ) Ġ: ĠScreen View Provider < T > Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠT ĊĊĠĠĠ Ġoverride Ġfun Ġinf late ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġcreator . invoke ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Binding (): ĠT Ġ= Ġbinding Ċ } Ċ Ċ class ĠXml Screen View Provider ( ĊĠĠĠ Ġ@ Layout Res Ġprivate Ġval Ġres Id : ĠInt Ċ ) Ġ: ĠScreen View Provider < View > Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview : ĠView ĊĊĠĠĠ Ġoverride Ġfun Ġget Binding (): ĠView Ġ= Ġview ĊĊĠĠĠ Ġoverride Ġfun Ġinf late ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġview Ġ= Ġinflater . inflate ( res Id , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} Ċ }