package Ġb j fu . it . m uka ik ai . star buzz Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite Exception Ċ import Ġandroid . database . sqlite . SQLite Open Helper Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ dr ink .* Ċ Ċ class ĠD rink Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠEX TRA _ DR INK ID : String Ġ= Ġ" dr ink Id " ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ dr ink ) ĊĠĠĠĠĠĠĠ Ġval Ġdrink Id Ġ= Ġintent . getInt Extra ( EXTRA _ DR INK ID , Ġ 0 ) Ċ // ĠĠĠĠĠĠĠ Ġval Ġdrink Ġ= Ġdr inks [ dr ink Id ] Ċ // Ċ // ĠĠĠĠĠĠĠ Ġphoto . setImage Resource ( dr ink . image ResourceId ) Ċ // ĠĠĠĠĠĠĠ Ġphoto . content Description Ġ= Ġdrink . name Ċ // Ċ // ĠĠĠĠĠĠĠ Ġname . text Ġ= Ġdrink . name Ċ // ĠĠĠĠĠĠĠ Ġdescription . text Ġ= Ġdrink . description ĊĠĠĠĠĠĠĠ Ġval Ġstar buzz Database Help : ĠSQLite Open Helper Ġ= ĠStar buzz Database Helper ( this ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdb Ġ: ĠSQLite Database Ġ= Ġstar buzz Database Help . readable Database ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" db ", Ġdb . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcursor : ĠCursor Ġ= Ġdb . query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" DR INK ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" NAME ", Ġ" DESCRIPTION ", Ġ" IMAGE _ RESOURCE _ ID "," FA V OR ITE "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"_ id Ġ= Ġ?", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Integer . toString ( dr ink Id )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġname Text : ĠString Ġ= Ġcursor . getString ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdescription Text : ĠString Ġ= Ġcursor . getString ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġphoto Id : ĠInt Ġ= Ġcursor . getInt ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Favorite : ĠBoolean Ġ= Ġcursor . getInt ( 3 ) Ġ== Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . text Ġ= Ġname Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . text Ġ= Ġdescription Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphoto . setImage Resource ( photo Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphoto . content Description Ġ= Ġname Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavorite . isChecked Ġ= Ġis Favorite ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSQLite Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" sqlite ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtoast Ġ= ĠToast . makeText ( this , Ġ" Database Ġunavailable ", ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfavorite . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdrink Values Ġ= ĠContent Values () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrink Values . put (" FA V OR ITE ", Ġfavorite . isChecked ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdb Ġ= Ġstar buzz Database Help . writable Database ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġrow Ġ= Ġdb . update (" DR INK ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink Values , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"_ id Ġ= Ġ?", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Integer . toString ( dr ink Id ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" sqlite ", Ġ" update Ġrow " Ġ+ Ġrow ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSQLite Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" sqlite ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtoast : ĠToast Ġ= ĠToast . makeText ( this , Ġ" Database Ġun writable ", ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ