package Ġandroid . team . cl an dest ine . pos ip . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . team . cl an dest ine . pos ip . R Ċ import Ġandroid . team . cl an dest ine . pos ip . databinding . Fragment Signup Binding Ċ import Ġandroid . team . cl an dest ine . pos ip . shared preferences . Pos ip SharedPreferences Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ Ċ class ĠSign Up Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Signup Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . fragment _ signup , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). support ActionBar !!. title Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). support ActionBar !!. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). support ActionBar !!. set Display Show Home Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġbinding . sign Up Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( validate Inputs ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPos ip SharedPreferences . sign Up ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . username EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . password EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments !!. getInt (" role "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ sign Up Fragment _ to _ register Successful Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate Inputs (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalidated Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġbinding . confirm Password Input Layout . error Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġbinding . password Input Layout . error Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġbinding . username Input Layout . error Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġbinding . name Input Layout . error Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġif Ġ( binding . confirm Password EditText . text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . confirm Password Input Layout . error Ġ= Ġ" Can 't Ġbe Ġempty " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidated Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( binding . password EditText . text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . password Input Layout . error Ġ= Ġ" Can 't Ġbe Ġempty " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidated Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( binding . username EditText . text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . username Input Layout . error Ġ= Ġ" Can 't Ġbe Ġempty " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidated Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( binding . name EditText . text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . name Input Layout . error Ġ= Ġ" Can 't Ġbe Ġempty " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidated Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġvalidated ĊĠĠĠ Ġ} Ċ }