package Ġcom . quiz app Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . RadioButton Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġvar Ġscore 1 Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġscore 2 Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġpoints Ġ= Ġ 0 Ċ Ċ // ĠĠĠ Ġlateinit Ġvar Ġfirst _ answer : String Ċ // ĠĠĠ Ġlateinit Ġvar Ġsecond _ answer : String ĊĊĠĠĠ Ġvar Ġdate : ĠLocalDateTime Ġ= ĠLocalDateTime . now () // using Ġjava Ġlocal Ġdate Ġapi ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġradio _ group . setOn Checked ChangeListener Ġ{ Ġgroup , Ġchecked Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// check Ġthe Ġfirst Ġquestion Ġand Ġstore ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradio Group : ĠRadio Button Ġ= Ġradio _ group . findViewById ( checked Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchecked Ġ= Ġradio Group . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( checked Ġ&& Ġradio Group . text . toString () Ġ== Ġ" val "){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscore 1 Ġ+= Ġ 5 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġif ( checked Ġ&& Ġradio Group . text . toString () Ġ!= Ġ" public " Ġ&& Ġscore 1 > 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscore 1 Ġ-= 5 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// check Ġthe Ġcheck boxes Ġand Ġpick Ġthe Ġcorrect Ġanswer . ĠIf Ġcorrect Ġis Ġselected , Ġadd Ġ 5 0 , ĊĠĠĠĠĠĠĠ Ġ// otherwise Ġreduce Ġ 5 0 ĊĊĠĠĠĠĠĠĠ Ġpub . setOn Checked ChangeListener Ġ{ Ġbutton View , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( isChecked ) Ġscore 2 Ġ+= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprot . setOn Checked ChangeListener Ġ{ Ġbutton View , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( isChecked Ġ&& Ġscore 2 Ġ> Ġ 0 ) Ġscore 2 Ġ-= Ġ 5 0 ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpriv . setOn Checked ChangeListener Ġ{ Ġbutton View , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( isChecked Ġ&& Ġscore 2 Ġ> Ġ 0 ) Ġscore 2 Ġ-= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġsubmit ( view : ĠView ){ ĊĊĠĠĠĠĠĠĠ Ġpoints Ġ= Ġscore 1 Ġ+ Ġscore 2 ĊĠĠĠĠĠĠĠ Ġval Ġalert Result Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġalert Result . setTitle (" Your ĠQu iz ĠResult ") ĊĠĠĠĠĠĠĠ Ġval Ġformatter Ġ= ĠDateTime Formatter . Ġof Pattern (" MM - dd - yyyy ĠHH : mm : ss ") ĊĠĠĠĠĠĠĠ Ġval Ġform ated Time Ġ= Ġdate . format ( formatter ) ĊĠĠĠĠĠĠĠ Ġalert Result . setMessage (" Con grat ulations ! ĠYou Ġsubmitted Ġon Ġ$ form ated Time , ĠYou Ġachieved Ġ$ points % ") ĊĠĠĠĠĠĠĠ Ġval Ġalert : ĠAlertDialog Ġ= Ġalert Result . create () ĊĠĠĠĠĠĠĠ Ġalert . show () ĊĠĠĠĠĠĠĠ Ġclear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear (){ ĊĠĠĠĠĠĠĠ Ġscore 1 Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġscore 2 Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġpoints Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġpub . isChecked = false ĊĠĠĠĠĠĠĠ Ġpriv . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprot . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġrb 2 . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġrb 3 . isChecked Ġ= Ġfalse ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset ( view Ġ: ĠView ){ ĊĠĠĠĠĠĠĠ Ġclear () ĊĠĠĠ Ġ} Ċ Ċ } Ċ