/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ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 . app . play hv z . screens . quiz . editable questions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Image Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . app . play hv z . R Ċ import Ġcom . app . play hv z . common . ui . Markdown TextView Ċ import Ġcom . app . play hv z . firebase . class models . Quiz Question Ċ import Ġcom . app . play hv z . screens . quiz . Ordering Controller Ċ import Ġcom . app . play hv z . screens . quiz . Ordering Controller . Order Modification Ċ Ċ class ĠMult ich oice Answer ViewHolder ( ĊĠĠĠ Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġval Ġview : ĠView , ĊĠĠĠ Ġval Ġon Edit : Ġ( position : ĠInt ) Ġ-> ĠUnit ?, ĊĠĠĠ Ġval ĠonDelete : Ġ( position : ĠInt ) Ġ-> ĠUnit ?, ĊĠĠĠ ĠonChange Order : Ġ( position : ĠInt , Ġmodification : ĠOrder Modification ) Ġ-> ĠUnit ? Ċ ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġanswer Button Ġ= Ġview . findViewById < Markdown TextView >( R . id . answer _ button ) !! ĊĠĠĠ Ġprivate Ġval Ġoverflow Button Ġ= Ġview . findViewById < Image Button >( R . id . overflow _ button ) !! ĊĠĠĠ Ġprivate Ġval Ġorder View Ġ= Ġview . findViewById < TextView >( R . id . answer _ order ) !! ĊĠĠĠ Ġprivate Ġval Ġcorrect ness View Ġ= Ġview . findViewById < Markdown TextView >( R . id . answer _ correct ness ) !! ĊĊĠĠĠ Ġprivate Ġvar Ġordering Controller : ĠOrdering Controller ĊĠĠĠ Ġprivate Ġvar Ġanswer : ĠQu iz Question . Answer ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġis Last Answer Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġon Other Option Selected : Ġ( adapter Position : ĠInt , Ġmenu ItemId : ĠInt ) Ġ-> ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġ{ Ġadapter Position : ĠInt , Ġmenu ItemId : ĠInt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( menu ItemId Ġ== ĠR . id . delete _ option ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonDelete . invoke ( adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( menu ItemId Ġ== ĠR . id . edit _ option ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Edit . invoke ( adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġordering Controller Ġ= ĠOrdering Controller ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Button , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . menu . menu _ edit _ quiz _ answer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Ġcan Remove Order = Ġ*/ Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Order , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Other Option Selected ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Bind ( position : ĠInt , Ġanswer : ĠQu iz Question . Answer , Ġis Last Answer : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . answer Ġ= Ġanswer ĊĠĠĠĠĠĠĠ Ġthis . is Last Answer Ġ= Ġis Last Answer ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġorder View . resources ĊĠĠĠĠĠĠĠ Ġordering Controller . on Bind ( adapter Position , Ġanswer . order , Ġis Last Answer ) ĊĊĠĠĠĠĠĠĠ Ġanswer Button . text Ġ= Ġif Ġ( answer . text . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres . getString ( R . string . quiz _ answer _ empty _ text ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanswer . text ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġanswer Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Edit . invoke ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( answer . order Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder View . text Ġ= Ġres . getString ( R . string . quiz _ answer _ order _ text , Ġ" Ã ĺ ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder View . text Ġ= Ġres . getString ( R . string . quiz _ answer _ order _ text , Ġanswer . order . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcorrect ness Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( answer . is Correct ) ĠR . string . quiz _ answer _ correct _ text Ġelse ĠR . string . quiz _ answer _ incorrect _ text ĊĠĠĠĠĠĠĠ Ġcorrect ness View . text Ġ= Ġres . getString ( correct ness ) ĊĠĠĠ Ġ} Ċ }