package Ġcom . example . post challenge . utils . extensions Ċ Ċ import Ġandroidx . annotation . Anim Res Ċ import Ġandroidx . annotation . Animator Res Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . example . post challenge . ui . base . Base Fragment Ċ Ċ fun ĠBase Fragment . replace Fragment ( ĊĠ Ġfragment : ĠFragment , ĊĠ Ġ@ Id Res Ġcontainer View Id : ĠInt , ĊĠ ĠTAG : ĠString , ĊĠ Ġ@ Animator Res Ġ@ Anim Res Ġenter : ĠInt , ĊĠ Ġ@ Animator Res Ġ@ Anim Res Ġexit : ĠInt , ĊĠ Ġ@ Animator Res Ġ@ Anim Res Ġpop Enter : ĠInt , ĊĠ Ġ@ Animator Res Ġ@ Anim Res Ġpop Exit : ĠInt Ċ ) Ġ{ ĊĠ Ġif Ġ( is Added ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġchild FragmentManager . beginTransaction () ĊĠĠĠĠĠ Ġ. set Custom Animations ( enter , Ġexit , Ġpop Enter , Ġpop Exit ) ĊĠĠĠĠĠ Ġ. replace ( container View Id , Ġfragment , ĠTAG ) ĊĠĠĠĠĠ Ġ. addTo Back Stack ( TAG ) ĊĠĠĠ Ġif Ġ(! child FragmentManager . is State Saved ) Ġ{ ĊĠĠĠĠĠ Ġft . commit () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ