package Ġcn . ka icity . app . igu ang ke . ui . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . transition . Transition Inflater Ċ import Ġcn . ka icity . app . igu ang ke . databinding . Layout Header Binding Ċ import Ġcn . ka icity . app . igu ang ke . databinding . Layout User Header Binding Ċ import Ġcn . ka icity . app . igu ang ke . ui . MainActivity Ċ import Ġcom . bump tech . glide . G lide Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġfun Ġget MainActivity (): ĠMainActivity Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrequire Activity () Ġas ĠMainActivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġobserve LiveData () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġshared Element Enter Transition Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTransition Inflater ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate Transition ( android . R . transition . move ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun ĠsetUser Header ( user Header : ĠLayout User Header Binding , title : String , sub Title : String , url : String ){ ĊĠĠĠĠĠĠĠ Ġuser Header . userName . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġuser Header . user Class . text Ġ= Ġsub Title ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). load ( url ). into ( user Header . user Icon ) ĊĊĠĠĠ Ġ} ĠĠĠ Ġfun ĠsetUser Header ( user Header : ĠLayout User Header Binding , title : String , sub Title : String , id : Int ){ ĊĠĠĠĠĠĠĠ Ġuser Header . userName . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġuser Header . user Class . text Ġ= Ġsub Title ĊĠĠĠĠĠĠĠ Ġuser Header . user Icon . setImage Resource ( id ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġobserve LiveData () Ċ }