package Ġdev . ber i ash v ili . assignments . user profile Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . RadioButton Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ edit _ user _ profile .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ enum Ġclass ĠDate Type Ġ{ ĊĠĠĠ ĠYEAR , ĊĠĠĠ ĠMON TH , ĊĠĠĠ ĠDAY Ċ } Ċ Ċ class ĠEdit UserProfile Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ edit _ user _ profile ) ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġintent ĊĠĠĠĠĠĠĠ Ġval Ġuser Model Ġ= Ġintent . get Parcelable Extra < User Model >(" user Model ") ĊĊĠĠĠĠĠĠĠ Ġintent . remove Extra (" user Model ") ĊĊĠĠĠĠĠĠĠ Ġname EditText . setText ( user Model . name ) ĊĠĠĠĠĠĠĠ Ġs urname EditText . setText ( user Model . surname ) ĊĠĠĠĠĠĠĠ Ġemail EditText . setText ( user Model . email ) ĊĠĠĠĠĠĠĠ Ġbirth Date TextView . text Ġ= Ġuser Model . birth Date ĊĊĠĠĠĠĠĠĠ Ġhandle Birth Date ( user Model . birth Date ) ĊĠĠĠĠĠĠĠ Ġhandle Sex ( user Model . sex ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Birth Date ( birth Date : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdates Ġ= Ġbirth Date . split ("- ") ĊĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Set Listener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Dialog . On Date Set Listener Ġ{ Ġ_, Ġyear , Ġmonth OfYear , Ġday OfMonth Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . set ( Calendar . YEAR , Ġyear ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . set ( Calendar . MONTH , Ġmonth OfYear ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . set ( Calendar . DAY _ OF _ MONTH , Ġday OfMonth ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= Ġ" yyyy - MM - dd " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . US ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbirth Date TextView . text Ġ= Ġsimple DateFormat . format ( calendar . time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbirth Date TextView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġdate Set Listener , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdates [ Date Type . YEAR . ordinal ]. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdates [ Date Type . MONTH . ordinal ]. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdates [ Date Type . DAY . ordinal ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Sex ( sex : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( sex ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Male " Ġ-> Ġmale RadioButton . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Female " Ġ-> Ġfemale RadioButton . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Profile ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġintent ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Model Ġ= ĠUser Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs urname EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbirth Date TextView . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < RadioButton >( sex Radio Group . checked RadioButton Id ). text . toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġintent . putExtra (" user Model ", Ġuser Model ) ĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġintent ) ĊĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } Ċ