package Ġcom . bad oo . ri bs . samples . back _ stack . rib . child _ b Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġcom . bad oo . ri bs . core . custom isation . inflate Ċ import Ġcom . bad oo . ri bs . core . view . Android R ib View Ċ import Ġcom . bad oo . ri bs . core . view . R ib View Ċ import Ġcom . bad oo . ri bs . core . view . View Factory Ċ import Ġcom . bad oo . ri bs . samples . back _ stack . R Ċ Ċ interface ĠChild B View Ġ: ĠR ib View Ġ{ ĊĊĠĠĠ Ġinterface ĠFactory Ġ: ĠView Factory < Nothing ?, ĠChild B View > Ċ Ċ } ĊĊ Ċ class ĠChild B View Impl Ġprivate Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġandroid View : ĠViewGroup Ċ ) Ġ: ĠAndroid R ib View (), ĊĠĠĠ ĠChild B View Ġ{ ĊĊĠĠĠ Ġclass ĠFactory ( ĊĠĠĠĠĠĠĠ Ġ@ Layout Res Ġprivate Ġval Ġlayout Res : ĠInt Ġ= ĠR . layout . rib _ child _ b ĊĠĠĠ Ġ) Ġ: ĠChild B View . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( deps : ĠNothing ?): Ġ( R ib View ) Ġ-> ĠChild B View Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChild B View Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . inflate ( layout Res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ