package Ġcom . example . p anda ad option . viewModel Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . example . p anda ad option . model . P anda Model Ċ import Ġcom . example . p anda ad option . model . get ListOf P andas Ċ Ċ class ĠP anda ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ pandas : ĠMutable List < P anda Model > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġprivate Ġvar Ġ_ selected P anda : ĠP anda Model ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ pandas Ġ= Ġget ListOf P andas () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfetch ListOf P andas () Ġ= Ġ_ pandas ĊĊĠĠĠ Ġfun Ġselect P anda ( p anda : ĠP anda Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ selected P anda Ġ= Ġp anda ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Selected P anda () Ġ= Ġ_ selected P anda ĊĊĠĠĠ Ġfun Ġchange P anda A do ption Status () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ pandas . find Ġ{ Ġit . name Ġ== Ġ_ selected P anda ?. name Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . ad opt ed Ġ= Ġ! it . ad opt ed ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget A do ption Button String (): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ(_ selected P anda ?. ad opt ed Ġ== Ġfalse ) Ġ" A dopt Ġ${ _ selected P anda ?. name ?. toUpperCase ()} Ġ< 3 " Ġelse Ġ" I 've Ġchanged Ġmy Ġmind Ġ: (" Ċ }