package Ġcom . dan . school . ui . activities Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . dan . school . Build Config Ċ import Ġcom . dan . school . R Ċ import Ġcom . dan . school . other . School Ċ import Ġcom . dan . school . databinding . Activity Setup Binding Ċ import Ġcom . dan . school . ui . fragments . setup . Profile Setup Fragment Ċ import Ġcom . dan . school . ui . fragments . setup . Setup Fragment Ċ import Ġcom . dan . school . ui . fragments . setup . Setup ViewPager Fragment Ċ Ċ class ĠSetup Activity Ġ: ĠAppCompatActivity (), ĠProfile Setup Fragment . Profile Setup Done Listener , ĊĠĠĠ ĠSetup Fragment . Button Get Started ClickListener , ĠSetup ViewPager Fragment . Setup Done Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Setup Binding ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġshared Pref : ĠSharedPreferences ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Setup Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġshared Pref Ġ= Ġget SharedPreferences ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . preference _ file _ key ), ĠContext . MODE _ PRIVATE ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . frame Layout Setup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSetup Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreplace Fragment ( fragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Custom Animations ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ in _ right , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ out _ left , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ in _ left , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . slide _ out _ right ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . frame Layout Setup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Back Stack ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprofile Setup Done ( nickname : ĠString , ĠfullName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Updated Profile ( nickname , ĠfullName ) ĊĠĠĠĠĠĠĠ Ġreplace Fragment ( Setup ViewPager Fragment ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave Updated Profile ( nickname : ĠString , ĠfullName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( shared Pref . edit ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( School . N ICK NAME , Ġnickname ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( School . FULL _ NAME , ĠfullName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbutton Get Started Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġreplace Fragment ( Profile Setup Fragment . newInstance ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Done () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( shared Pref . edit ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( School . IS _ SETUP _ DONE , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ }