package Ġhe b . apps . math trainer . memory . db . tasks . categories Ċ Ċ import Ġandroid . content . Context Ċ import Ġhe b . apps . math trainer . data . quiz . topic . Topic With Extras Ċ import Ġhe b . apps . math trainer . memory . db . DB Exception Ċ import Ġhe b . apps . math trainer . memory . db . Math DB Ċ import Ġhe b . apps . math trainer . memory . db . tasks . Math DB Task Ċ Ċ class ĠGet Topics With Extras Task ( ctx : ĠContext ) Ġ: ĠMath DB Task < Int , ĠList < Topic With Extras >>( ctx ) Ġ{ ĊĊĠĠĠ Ġ// Ġdo Ġin Ġbackground ĊĠĠĠ Ġoverride Ġfun Ġdo In Back ( db : ĠMath DB , Ġinput : ĠInt ?): ĠList < Topic With Extras >? Ġ{ Ġ// Ġinput Ġ= Ġcategory Ġid ĊĠĠĠĠĠĠĠ Ġrequire ( input Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Are Ġyou Ġmissed Ġto Ġpass Ġcategory Ġid Ġas Ġinput ?" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtopic Dao Ġ= Ġdb . topic Dao () ĊĠĠĠĠĠĠĠ Ġval Ġtopics Ġ= Ġtopic Dao . get Topics By CategoryId ( input ) ĊĠĠĠĠĠĠĠ Ġval Ġtopics Filled St ars Ġ= Ġtopic Dao . get Topics Filled St ars ( input ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtopics . map Ġ{ Ġtopic Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( val Ġextras Ġ= Ġtopics Filled St ars . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtopic . id Ġ== Ġit . topic Id Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġthrow ĠDB Exception (" Cannot Ġfind Ġextra Ġinfo Ġof Ġ$ topic ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠTopic With Extras ( topic , Ġextras . complete Percent s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }