package Ġcom . example . content provider main Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġcom . example . content provider main . database . Notes Data Base Helper . Companion . DESCRIPTION _ NOTES Ċ import Ġcom . example . content provider main . database . Notes Data Base Helper . Companion . TITLE _ NOTES Ċ import Ġcom . example . content provider main . database . Notes Provider . Companion . URI _ NOTES Ċ Ċ class ĠNotes Detail Fragment : Dialog Fragment Ġ(), DialogInterface . OnClickListener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnote Edit Title : ĠEditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnote Edit Description : ĠEditText ĊĠĠĠ Ġprivate Ġvar Ġid : Long Ġ= Ġ 0 ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ ID Ġ= Ġ" id " ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( id : ĠLong ): ĠNotes Detail Fragment { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Long ( EXTRA _ ID , Ġid ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotes Fragment Ġ= ĠNotes Detail Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotes Fragment . arguments Ġ= Ġbundle ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnotes Fragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġactivity ?. layout Inflater ?. inflate ( R . layout . note _ detail , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġnote Edit Title Ġ= Ġview ?. findViewById ( R . id . note _ ed t _ title ) Ġas ĠEditText ĊĠĠĠĠĠĠĠ Ġnote Edit Description Ġ= Ġview . findViewById ( R . id . note _ ed t _ description ) Ġas ĠEditText ĊĊĠĠĠĠĠĠĠ Ġvar Ġnew Note Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġif ( arguments Ġ!= Ġnull Ġ&& Ġarguments ?. getLong ( EXTRA _ ID ) Ġ!= Ġ 0 L ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġarguments ?. getLong ( EXTRA _ ID ) Ġas ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . with App ended Path ( URI _ NOTES , Ġid . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġactivity ?. content Resolver ?. query ( uri , Ġnull , null , null , null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( cursor ?. moveTo Next () Ġas ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Note Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote Edit Title . setText ( cursor . getString ( cursor . getColumnIndex ( TITLE _ NOTES ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote Edit Description . setText ( cursor . getString ( cursor . getColumnIndex ( DESCRIPTION _ NOTES ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠAlertDialog . Builder ( activity Ġas ĠActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( if ( new Note ){ " New Ġmessage "} Ġelse {" Edit ĠMessage "}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" Save ", this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button (" Cancel ", this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( dialog : ĠDialog Interface ?, Ġwhich : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values () ĊĠĠĠĠĠĠĠ Ġvalues . put ( TITLE _ NOTES , Ġnote Edit Title . text . toString ()) ĊĠĠĠĠĠĠĠ Ġvalues . put ( DESCRIPTION _ NOTES , Ġnote Edit Description . text . toString ()) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ!= Ġ 0 L ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . with App ended Path ( URI _ NOTES , Ġid . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. content Resolver ?. update ( uri , values , null , null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. content Resolver ?. insert ( URI _ NOTES , Ġvalues ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }