package Ġcom . th om ask u enne th . android bu ch . db demo 3 Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroid . widget .* Ċ import Ġandroidx . fragment . app . List Fragment Ċ Ċ class ĠHistory Fragment Ġ: ĠList Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġmenu Inflater : ĠMenu Inflater ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivity ?. menu Inflater ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcursor Adapter : ĠCursor Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġcursor Adapter Ġ= ĠDB Demo 3 Adapter ( context ) ĊĠĠĠĠĠĠĠ Ġlist Adapter Ġ= Ġcursor Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġregister For ContextMenu ( list View ) ĊĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ContextMenu ( ĊĠĠĠĠĠĠĠ Ġmenu : ĠContext Menu , Ġv : ĠView , ĊĠĠĠĠĠĠĠ Ġmenu Info : ĠContext Menu . ContextMenu Info ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ContextMenu ( menu , Ġv , Ġmenu Info ) ĊĠĠĠĠĠĠĠ Ġmenu Inflater ?. inflate ( R . menu . context _ menu , Ġmenu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Context ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. menu Info Ġas ĠAdapter View . Adapter ContextMenu Info ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ good Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMO OD _ F INE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ ok Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMO OD _ OK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ bad Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMO OD _ BAD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu _ delete Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete ( info . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Context ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontext ?. content Resolver ?. query ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCONTENT _ URI , Ġnull , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġ"$ MO OD _ TIME ĠDESC " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcursor Adapter . change Cursor ( cursor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate ( id : ĠLong , Ġm ood : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . with App ended Path ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCONTENT _ URI , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid . toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values () ĊĠĠĠĠĠĠĠ Ġvalues . put ( MO OD _ MO OD , Ġm ood ) ĊĠĠĠĠĠĠĠ Ġcontext ?. content Resolver ?. update ( uri , Ġvalues , Ġnull , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdelete ( id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . with App ended Path ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCONTENT _ URI , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid . toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcontext ?. content Resolver ?. delete ( uri , Ġnull , Ġnull ) ĊĠĠĠ Ġ} Ċ }