/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠGoogle ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . google . samples . apps . to pe ka . quiz . widget . quiz Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . TextView Ċ import Ġcom . google . samples . apps . to pe ka . quiz . R Ċ import Ġcom . google . samples . apps . to pe ka . model . Category Ċ import Ġcom . google . samples . apps . to pe ka . model . quiz . Fill Blank Quiz Ċ import Ġcom . google . samples . apps . to pe ka . widget . Text Watcher Adapter Ċ Ċ @ Suppress Lint (" View Constructor ") Ċ class ĠFill Blank Quiz View ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġcategory : ĠCategory , ĊĠĠĠĠĠĠĠ Ġquiz : ĠFill Blank Quiz Ċ ) Ġ: ĠText Input Quiz View < Fill Blank Quiz >( context , Ġcategory , Ġquiz ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠKEY _ AN SW ER Ġ= Ġ" AN SW ER " ĊĠĠĠ Ġprivate Ġvar Ġanswer View : ĠEditText ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Quiz ContentView (): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġquiz . start ĊĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġquiz . end ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġstart Ġ|| Ġnull Ġ!= Ġend ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġget Start End View ( start , Ġend ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġanswer View Ġ= Ġcreate EditText () ĊĠĠĠĠĠĠĠ Ġreturn Ġanswer View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġuser Input : ĠBundle ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBundle (). apply Ġ{ Ġput String ( KEY _ AN SW ER , Ġanswer View ?. text ?. toString ()) Ġ} ĊĠĠĠĠĠĠĠ Ġset ( saved Input ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanswer View ?. setText ( saved Input . getString ( KEY _ AN SW ER )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreates Ġand Ġreturns Ġviews Ġthat Ġdisplay Ġthe Ġstart Ġand Ġend Ġof Ġa Ġquestion . ĊĊĠĠĠĠ Ġ* Ġ@ param Ġstart ĠThe Ġcontent Ġof Ġthe Ġstart Ġview . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġend ĠThe Ġcontent Ġof Ġthe Ġend Ġview . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġcreated Ġviews Ġwithin Ġan Ġappropriate Ġcontainer . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġget Start End View ( start : ĠString ?, Ġend : ĠString ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinf late < View >( R . layout . quiz _ fill _ blank _ with _ sur round ings ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanswer View Ġ= Ġ( findViewById < EditText >( R . id . quiz _ edit _ text )). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd TextChanged Listener ( object : ĠText Watcher Ġby ĠText Watcher Adapter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( p 0 : ĠEdit able ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġallow Answer ( text . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Editor ActionListener ( this @ Fill Blank Quiz View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Existing Content Or Hide ( findViewById < TextView >( R . id . start ), Ġstart ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Existing Content Or Hide ( findViewById < TextView >( R . id . end ), Ġend ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġcontent Ġto Ġa Ġ[ TextView ]. ĠIf Ġcontent Ġis Ġnull , Ġthe Ġview Ġwill Ġnot Ġbe Ġdisplayed . ĊĊĠĠĠĠ Ġ* Ġ@ param Ġview ĠThe Ġview Ġto Ġhold Ġthe Ġtext . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontent ĠThe Ġtext Ġto Ġdisplay . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset Existing Content Or Hide ( view : ĠTextView , Ġcontent : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( view ) Ġ{ Ġif Ġ( content Ġ== Ġnull ) Ġvisibility Ġ= ĠView . GONE Ġelse Ġtext Ġ= Ġcontent Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġis Answer Correct Ġget () Ġ= Ġquiz . is Answer Correct ( answer View ?. text ?. toString ()) Ċ } Ċ