package Ġexamples . animal . forest . chat . fragments ĊĊ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġexamples . animal . forest . chat . util . PN Fragment Impl Ċ import Ġexamples . animal . forest . chat . util . Parent Activity Impl ĊĊ Ċ abstract Ġclass ĠParent Fragment Ġ: ĠFragment (), ĊĠĠĠ ĠP N Fragment Impl Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" PF _" Ġ+ Ġjava Class . simple Name ĊĠĠĠ Ġlateinit Ġvar Ġfragment Context : ĠContext ĊĠĠĠ Ġprivate Ġvar Ġis From Cache Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġroot View : ĠView ? Ġ= Ġnull ĊĠĠĠ Ġabstract Ġfun Ġprovide Layout ResourceId (): ĠInt ĊĠĠĠ Ġabstract Ġfun Ġset View Behaviour ( view From Cache : ĠBoolean ) ĊĠĠĠ Ġabstract Ġfun Ġset Screen Title (): ĠString ? ĊĠĠĠ Ġabstract Ġfun Ġon Ready () ĊĠĠĠ Ġopen Ġfun Ġextract Arguments () Ġ{} ĊĊĠĠĠ Ġ// Ġtag :: FR G - 1 . 1 [] ĊĠĠĠ Ġlateinit Ġvar Ġhost Activity Ġ// Ġfield Ġof Ġfragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠParent Activity Impl ĊĊĠĠĠ Ġ// Ġend :: FR G - 1 . 1 [] ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onCreate View ") ĊĠĠĠĠĠĠĠ Ġif Ġ( root View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis From Cache Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View Ġ= Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View Ġ= Ġinflater . inflate ( provide Layout ResourceId (), Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis From Cache Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis From Cache Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onCreate View Ġ$ is From Cache ") ĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on View Created ") ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" setView Behaviour , Ġcache : Ġ$ is From Cache ") ĊĠĠĠĠĠĠĠ Ġset View Behaviour ( is From Cache ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onStart ") ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġhost Activity . setTitle ( set Screen Title ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtag :: FR G - 5 . 1 [] ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġtag :: ignore [] ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onCreate ") ĊĠĠĠĠĠĠĠ Ġ// Ġend :: ignore [] ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ// Ġtag :: ignore [] ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Ready ") ĊĠĠĠĠĠĠĠ Ġon Ready () ĊĠĠĠĠĠĠĠ Ġ// Ġend :: ignore [] ĊĠĠĠĠĠĠĠ Ġhost Activity . pub N ub . addListener ( provide Listener ()) ĊĠĠĠĠĠĠĠ Ġ// Ġtag :: ignore [] ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextract Arguments () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġend :: ignore [] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend :: FR G - 5 . 1 [] ĊĠĠĠ Ġ// Ġtag :: FR G - 1 . 2 [] ĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġtag :: ignore [] ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Attach ") ĊĠĠĠĠĠĠĠ Ġ// Ġend :: ignore [] ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġ// Ġtag :: ignore [] ĊĠĠĠĠĠĠĠ Ġfragment Context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ// Ġend :: ignore [] ĊĠĠĠĠĠĠĠ Ġhost Activity Ġ= Ġcontext Ġas ĠParent Activity Impl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend :: FR G - 1 . 2 [] ĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Detach ") ĊĠĠĠĠĠĠĠ Ġroot View Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtag :: FR G - 5 . 2 [] ĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġtag :: ignore [] ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Destroy ") ĊĠĠĠĠĠĠĠ Ġ// Ġend :: ignore [] ĊĠĠĠĠĠĠĠ Ġhost Activity . pub N ub . remove Listener ( provide Listener ()) ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġend :: FR G - 5 . 2 [] ĊĠĠĠ Ġoverride Ġfun Ġon ViewState Restore d ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on ViewState Restore d ") ĊĠĠĠĠĠĠĠ Ġsuper . on ViewState Restore d ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Destroy View ") ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Save InstanceState ") ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Pause ") ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Stop ") ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrun On Ui Thread ( run nable : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( fragment Context Ġas ĠActivity ?) !!. run On Ui Thread ( run nable ) ĊĠĠĠ Ġ} Ċ } Ċ