package Ġcom . dd u . ic ore . ui . fragment Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Frame Layout Ċ import Ġcom . dd u . ic ore . R Ċ import Ġcom . dd u . ic ore . aid l . God Intent Ċ import Ġcom . dd u . ic ore . common . I Observer Ċ import Ġcom . dd u . ic ore . common . Observer Manager ĊĊ Ċ abstract Ġclass ĠBase Fragment Ġ: Ġandroidx . fragment . app . Fragment (), ĊĠĠĠ ĠI Observer Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Root View : ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġlateinit Ġvar Ġm Activity : Ġandroidx . fragment . app . Fragment Activity ĊĠĠĠ Ġprotected Ġlateinit Ġvar ĠmContext : ĠContext ĊĠĠĠ Ġprivate Ġvar Ġlayout : ĠFrame Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġis Add Fragment Callback : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfalse ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm Activity Ġ= Ġactivity !! ĊĠĠĠĠĠĠĠ Ġinit Data ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġis Show Title Bar () Ġ= Ġtrue ĊĊĠĠĠ Ġopen Ġfun Ġis Show Activity Title Bar () Ġ= Ġfalse ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ== Ġm Root View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Visible Hint ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Data Load () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Ġ= ĠFrame Layout ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout !!. layout Params Ġ= ĠViewGroup . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . i _ fragment _ lazy _ loading , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout !!. addView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View Ġ= Ġget ContentView ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġm Root View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġinit Data ( savedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget ContentView ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġm Root View ?. parent Ġas ? ĠViewGroup ĊĠĠĠĠĠĠĠ Ġparent ?. remove View ( m Root View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġunregister () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Data Load () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister Observer () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receiver Notify ( god Intent : ĠGod Intent ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister ( action : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠObserver Manager . register Observer ( action , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġunregister () Ġ{ ĊĠĠĠĠĠĠĠ ĠObserver Manager . un Register Observer ( this ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ