package Ġcom . existing . bo iler x . core . base . mv vm . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . existing . bo iler x . core . Build Config Ċ import Ġcom . existing . bo iler x . core . base . delegate .* Ċ import Ġcom . existing . bo iler x . core . base . mv vm . view . adapter . Base Pager Adapter Ċ import Ġcom . existing . bo iler x . core . base . utils . Screen Orientation Helper Ċ import Ġcom . existing . bo iler x . core . exception . Not Setup Layout Exception Ċ import Ġtim ber . log . Tim ber ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ãĢĮ ĠThe ĠK ha eng Ġ ãĢį on Ġ 0 2 ĠOct Ġ 2 0 1 7 Ġ:) Ċ Ġ*/ Ċ Ċ abstract Ġclass ĠBase Activity ĊĠĠĠ Ġ: ĠAppCompatActivity (), ĊĠĠĠĠĠ ĠActivity Helper , ĊĠĠĠĠĠ ĠFragment Helper , ĊĠĠĠĠĠ ĠScreen Orientation Helper . Screen Orientation ChangeListener Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNO _ LAYOUT Ġ= Ġ- 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhelper Ġ= ĠScreen Orientation Helper () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġactivity Op ener : ĠActivity Helper Delegate ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragment Delegate : ĠFragment Helper Delegate ĊĠĠĠ Ġprivate Ġvar Ġview Pager : Ġandroidx . view pager . widget . ViewPager ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġis Restore Instance St ated : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġenable Log Ġ= Ġfalse ĊĠĠĠ Ġval Ġroot View : ĠView Ġget () Ġ= Ġwindow . decor View . root View ĊĠĠĠ Ġval Ġdecor View : ĠView Ġget () Ġ= Ġwindow . decor View ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġmethod Ġis Ġnot Ġsingle Ġresponsibility Ġfollow Ġby ĠSOL ID Ġmechanism . ĠSo , Ġwe Ġsplit Ġto Ġ 8 Ġmethod . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ 1 . Ġ[ Base Activity . on Pre Create ] ĊĠĠĠĠ Ġ* Ġ 2 . Ġ[ Base Activity . on Intent Extras ] Ġ: ĠWill Ġbe Ġcalled Ġonly Ġwhen Ġactivity Ġhave Ġ** intent . extras ** ĊĠĠĠĠ Ġ* Ġ 3 . Ġ[ Base Activity . setup Layout View ] ĊĠĠĠĠ Ġ* Ġ 4 . Ġ[ Base Activity . on BindView ] ĊĠĠĠĠ Ġ* Ġ 5 . Ġ[ Base Activity . on Debugging Mode ] Ġ: ĠWill Ġbe Ġcalled Ġonly Ġwhen Ġbuild Ġvariants Ġis Ġ** debug Ġmode ** ĊĠĠĠĠ Ġ* Ġ 6 . Ġ[ Base Activity . on Initialize ] ĊĠĠĠĠ Ġ* Ġ 7 . Ġ[ Base Activity . on Prepare InstanceState ] Ġ: ĠWill Ġbe Ġcalled Ġonly Ġwhen ĠsavedInstanceState Ġis Ġ** null ** ĊĠĠĠĠ Ġ* Ġ 8 . Ġ[ Base Activity . on Setup View ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param ĠsavedInstanceState ĠBundle ? ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" onCreate (...) Ġmethod Ġis Ġnot Ġsingle Ġresponsibility Ġfollow Ġby ĠSOL ID Ġmechanism ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠDeprec ation Level . WARNING ) ĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Op ener Ġ= ĠActivity Helper Delegate ( this ) ĊĠĠĠĠĠĠĠ Ġfragment Delegate Ġ= ĠFragment Helper Delegate ( this ) ĊĠĠĠĠĠĠĠ Ġhelper . set Activity ( this ) ĊĠĠĠĠĠĠĠ Ġhelper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġhelper . set Screen Orientation ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġlog (" on Pre Create :") ĊĠĠĠĠĠĠĠ Ġon Pre Create ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextras Ġ= Ġintent . extras ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog (" on Intent Extras : Ġextras =$ extras ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Intent Extras ( extras , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Res Id Ġ= Ġsetup Layout View () ĊĠĠĠĠĠĠĠ Ġif Ġ( layout Res Id Ġ!= ĠNO _ LAYOUT Ġ&& Ġsetup Layout View () Ġ== Ġ 0 ) Ġthrow ĠNot Setup Layout Exception () ĊĠĠĠĠĠĠĠ Ġlog (" set ContentView : Ġ") ĊĠĠĠĠĠĠĠ Ġif Ġ( layout Res Id Ġ!= ĠNO _ LAYOUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetContentView ( layout Res Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlog (" on BindView : Ġ") ĊĠĠĠĠĠĠĠ Ġon BindView ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog (" on Debugging Mode : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Debugging Mode ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlog (" on Initialize : Ġ") ĊĠĠĠĠĠĠĠ Ġon Initialize ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog (" on Prepare InstanceState ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Prepare InstanceState () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlog (" on Setup View : Ġ") ĊĠĠĠĠĠĠĠ Ġon Setup View ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" onStart : Ġ") ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Resume : Ġ") ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Post Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Post Resume : Ġ") ĊĠĠĠĠĠĠĠ Ġsuper . on Post Resume () ĊĠĠĠĠĠĠĠ Ġfragment Delegate . set Can Commit ( true ) ĊĠĠĠĠĠĠĠ Ġfragment Delegate . open Fragment In Stack If Available () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Pause : Ġ") ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Stop : Ġ") ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ Ġfragment Delegate . set Can Commit ( false ) ĊĠĠĠĠĠĠĠ Ġfragment Delegate . open Fragment Stack Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Destroy : Ġ") ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġmethod Ġis Ġ** deprecated ** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġon Save Instance States ( Bundle ). ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġout State ĠBundle ? ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" use Ġon Save Instance States ( Bundle )", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReplace With (" fun Ġon Save InstanceState ( out State : ĠBundle ?) "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDeprec ation Level . WARNING ) ĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġhelper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġlog (" on Save InstanceState : Ġout State =$ out State ") ĊĠĠĠĠĠĠĠ Ġon Save Instance States ( out State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġmethod Ġis Ġ** deprecated ** ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġon Restore Instance States ( Bundle ) ĊĠĠĠĠ Ġ* Ġ@ see Ġon Restore View States ( Bundle ) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param ĠsavedInstanceState ĠBundle ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" use Ġon Restore Instance States ( Bundle )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠReplace With (" fun Ġon Restore InstanceState ( savedInstanceState : ĠBundle )"), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDeprec ation Level . WARNING ) ĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Restore InstanceState ( savedInstanceState : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis Restore Instance St ated Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsuper . on Restore InstanceState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġhelper . on Restore InstanceState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġlog (" on Restore Instance States : ĠsavedInstanceState =$ savedInstanceState ") ĊĠĠĠĠĠĠĠ Ġon Restore Instance States ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġhelper . check Orientation () ĊĠĠĠĠĠĠĠ Ġlog (" on Restore View States : ĠsavedInstanceState =$ savedInstanceState ") ĊĠĠĠĠĠĠĠ Ġon Restore View States ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Screen Orientation Changed ( orientation : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Screen Orientation Changed : Ġorientation =$ orientation ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Screen Orientation Changed To Land scape () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Screen Orientation Changed To Land scape :") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Screen Orientation Changed To Por trait () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog (" on Screen Orientation Changed To Por trait :") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun ĠgetCurrent Fragment (): Ġandroidx . fragment . app . Fragment ? Ġ= Ġfragment Delegate . getCurrent Fragment () ĊĊĊĠĠĠ Ġfun Ġregister On Back Pressed ViewPager ( view Pager : Ġandroidx . view pager . widget . ViewPager ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . view Pager Ġ= Ġview Pager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Back Pressed Fragment : ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view Pager Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġview Pager ?. adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġwhen Ġ( adapter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBase Pager Adapter Ġ-> Ġadapter . fragment List [ view Pager !!. currentItem ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment Ġas ? ĠBase Fragment )?. on Back Pressed () Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . fragments ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance ( Base Fragment :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. last OrNull Ġ{ Ġit . isVisible Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . on Back Pressed () Ġ?: Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! support FragmentManager . pop Back Stack Immediate () Ġ&& Ġ! is Back Pressed Fragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Save Instance States ( out State : ĠBundle ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Restore Instance States ( savedInstanceState : ĠBundle ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Restore View States ( savedInstanceState : ĠBundle ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Intent Extras ( extras : ĠBundle ?, ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġcreate Activity Transaction (): ĠOpen Activity Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity Op ener . create Transaction () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġcreate Fragment Transaction (): ĠOpen Fragment Transaction Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfragment Delegate . create Transaction () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġsetup Layout View (): ĠInt ĊĊĠĠĠ Ġopen Ġfun Ġon Pre Create ( savedInstanceState : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġon BindView ( savedInstanceState : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġon Debugging Mode ( savedInstanceState : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġon Initialize ( savedInstanceState : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġon Setup View ( savedInstanceState : ĠBundle ?) Ġ{} ĊĊĠĠĠ Ġopen Ġfun Ġon Prepare InstanceState () Ġ{} ĊĊĠĠĠ Ġ/* Ġ================= =========== ĠOpen ĠActivity Ġ================================= ======= Ġ*/ ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġopen Activity ( target Class : ĠClass <* >, Ġrequest : ĠInt , Ġdata : ĠBundle ?, Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Op ener . open Activity ( target Class , Ġrequest , Ġdata , Ġflags ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġopen Activity With Finish ( target Class : ĠClass <* >, Ġdata : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Op ener . open Activity With Finish ( target Class , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġopen Activity With All Finish ( target Class : ĠClass <* >, Ġdata : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Op ener . open Activity With All Finish ( target Class , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* Ġ================= =========== ĠOpen ĠFragment Ġ================================= ======= Ġ*/ ĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġbind Fragment Container ( container Layout Res : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . bind Fragment Container ( container Layout Res ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġinit Fragment ( fragment : Ġandroidx . fragment . app . Fragment , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . init Fragment ( fragment , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġinit Fragment ( container Layout Res : ĠInt , Ġfragment : Ġandroidx . fragment . app . Fragment , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . init Fragment ( container Layout Res , Ġfragment , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġcontain Fragment ( tag : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfragment Delegate . contain Fragment ( tag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġclear Back Stack Fragment To ( index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . clear Back Stack Fragment To ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġclear All Back Stack s Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . clear All Back Stack s Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġback Pressed Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . back Pressed Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġback Pressed To Fragment ( tag : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . back Pressed To Fragment ( tag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġopen Fragment Slide From Left ( fragment : Ġandroidx . fragment . app . Fragment , Ġwith Finish : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . open Fragment Slide From Left ( fragment , Ġwith Finish ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġopen Fragment Slide From Right ( fragment : Ġandroidx . fragment . app . Fragment , Ġwith Finish : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . open Fragment Slide From Right ( fragment , Ġwith Finish ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġopen Fragment ( fragment : Ġandroidx . fragment . app . Fragment , Ġwith Finish : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Delegate . open Fragment ( fragment , Ġwith Finish ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlog ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( enable Log Ġ&& ĠBuild Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d ( message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ