package Ġuc i . f ia i . mini ak d . fragments . b rig ades Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġuc i . f ia i . mini ak d . database . Main Database Ċ import Ġuc i . f ia i . mini ak d . database . entities . B rig ade Ċ import Ġuc i . f ia i . mini ak d . tasks . Load B rig ades AsyncTask Ċ import Ġuc i . f ia i . mini ak d . tasks . ViewModel Listener Ċ Ċ class ĠB rig ades Fragment ViewModel ( context : ĠContext ) Ġ: ĠViewModel Listener ( context ) Ġ{ ĊĊĠĠĠ Ġ// region ĠMutable Ġfields ĊĠĠĠ Ġprivate Ġval Ġ_ b rig ades List Ġ= ĠMutable LiveData < ArrayList < B rig ade >>() ĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġ// region ĠLive Data ĊĠĠĠ Ġval Ġb rig ades List : ĠLive Data < ArrayList < B rig ade >> Ġ= Ġ_ b rig ades List ĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Task Finished ( result : ĠArrayList <* >, Ġtask Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( task Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoad B rig ades AsyncTask :: class . qualified Name Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ b rig ades List . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . value Ġ= Ġresult . filter Is Instance < B rig ade >() Ġas ĠArrayList < B rig ade > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtask 1 Ġ= ĠLoad B rig ades AsyncTask ( this ) ĊĠĠĠĠĠĠĠ Ġtask 1 . execute ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove B rig ade ( b rig ade : ĠB rig ade ) Ġ{ ĊĠĠĠĠĠĠĠ ĠThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Database . instance ( context ). b rig ades . delete ( b rig ade ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate () ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd B rig ade ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain Database . instance ( context ). b rig ades . insert All ( B rig ade ( name )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate () ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} Ċ }