package Ġcom . de let _ dis . conver ta . presentation . activities . on boarding Activity . fragments . preferred Mode Chooser Fragment čĊč Ċ import Ġandroid . content . Context č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġandroidx . fragment . app . Fragment č Ċ import Ġandroidx . navigation . find Nav Controller č Ċ import Ġcom . de let _ dis . conver ta . R č Ċ import Ġcom . de let _ dis . conver ta . data . model . Application Main Mode Type č Ċ import Ġcom . de let _ dis . conver ta . databinding . Fragment Preferred Mode Chooser Binding č Ċ import Ġcom . de let _ dis . conver ta . presentation . activities . on boarding Activity . fragments . preferred Mode Chooser Fragment . viewModel . Preferred Mode Chooser Fragment ViewModel čĊč Ċ class ĠP referred Mode Chooser Fragment Ġ: ĠFragment () Ġ{ čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Preferred Mode Chooser Binding čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpreferred Mode Chooser Fragment ViewModel : ĠP referred Mode Chooser Fragment ViewModel čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġparent Activity Callback : ĠParent Activity Callback čĊčĊĠĠĠ Ġprivate Ġvar Ġpicked Main Mode : ĠApplication Main Mode Type ? Ġ= Ġnull čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( čĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , čĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, čĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? čĊĠĠĠ Ġ): ĠView ? Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Preferred Mode Chooser Binding . inflate ( layout Inflater ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferred Mode Chooser Fragment ViewModel Ġ= čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP referred Mode Chooser Fragment ViewModel ( require Activity (). application ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġview čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) čĊčĊĠĠĠĠĠĠĠ Ġparent Activity Callback Ġ= Ġcontext Ġas ĠParent Activity Callback čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit TT S Mode Card OnClickListener () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit ST T Mode Card OnClickListener () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Finish Button OnClickListener () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġinit Finish Button OnClickListener () Ġ= Ġwith ( binding . finish Button ) Ġ{ čĊĠĠĠĠĠĠĠ Ġset OnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġpicked Main Mode ?. let Ġ{ Ġpicked Mode Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( preferred Mode Chooser Fragment ViewModel ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Pick edMode To SharedPreferences ( pick edMode ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On boarding Passed Status ( true ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( require Activity ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller ( R . id . navigation On boarding Controller Container View ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigate ( R . id . action _ preferred Mode Chooser Fragment _ to _ main Activity ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġinit ST T Mode Card OnClickListener () Ġ= Ġwith ( binding ) Ġ{ čĊĠĠĠĠĠĠĠ ĠST T Mode Card . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Activity Callback . background Image Go To Blue () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġpicked Main Mode Ġ= ĠApplication Main Mode Type . ST T _ MODE čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . transition To State ( R . id . pick ed Blue Mode State ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġinit TT S Mode Card OnClickListener () Ġ= Ġwith ( binding ) Ġ{ čĊĠĠĠĠĠĠĠ ĠT TS Mode Card . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Activity Callback . background Image Go To Orange () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġpicked Main Mode Ġ= ĠApplication Main Mode Type . TT S _ MODE čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . transition To State ( R . id . pick ed Orange Mode State ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinterface ĠParent Activity Callback Ġ{ čĊĠĠĠĠĠĠĠ Ġfun Ġbackground Image Go To Orange () čĊĠĠĠĠĠĠĠ Ġfun Ġbackground Image Go To Blue () čĊĠĠĠ Ġ} č Ċ }