package Ġcom . n ox t . service Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . widget . Remote Views Ċ import Ġandroid . widget . Remote Views Service Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġcom . n ox t . R Ċ import Ġcom . n ox t . model . Note Ċ import Ġio . not ies . mark won . Abstract Mark won Plugin Ċ import Ġio . not ies . mark won . Mark won Ċ import Ġio . not ies . mark won . Mark won Visitor Ċ import Ġio . not ies . mark won . ext . strikethrough . Stri ke through Plugin Ċ import Ġio . not ies . mark won . ext . task list . TaskList Plugin Ċ import Ġio . realm . Realm Ċ import Ġio . realm . Sort Ċ import Ġorg . common mark . node . Soft Line Break Ċ Ċ class ĠNotes Widget Service Ġ: ĠRemote Views Service () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Get View Factory ( intent : ĠIntent ): ĠRemote Views Factory Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠGrid View Factory ( this . application Context , Ġintent ) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ Ċ class ĠGrid View Factory ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġintent : ĠIntent Ċ ) Ġ: ĠRemote Views Service . Remote Views Factory Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnotes List : List < Note > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġ Ġmark won : ĠMark won ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrealm Ġ= ĠRealm . getDefaultInstance () ĊĠĠĠĠĠĠĠ Ġval Ġrealm Results Ġ= Ġrealm . where ( Note :: class . java ). sort ( array Of (" is Favorite ", Ġ" date "), ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSort . DESC ENDING , ĠSort . DESC ENDING )). findAll () ĊĠĠĠĠĠĠĠ Ġnotes List Ġ= Ġrealm . copyFrom Realm ( realm Results ) ĊĊĊĠĠĠĠĠĠĠ Ġmark won Ġ= ĠMark won . builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Plugin ( Stri ke through Plugin . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Plugin ( TaskList Plugin . create ( Resources Compat . getColor ( context . resources , ĠR . color . primary , Ġcontext . theme ), ĠResources Compat . getColor ( context . resources , ĠR . color . primary , Ġcontext . theme ), ĠResources Compat . getColor ( context . resources , ĠR . color . background , Ġcontext . theme ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Plugin ( object Ġ: ĠAbstract Mark won Plugin () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconfigure Visitor ( builder : ĠMark won Visitor . Builder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . configure Visitor ( builder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . on ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSoft Line Break :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġvisitor , Ġ_ Ġ-> Ġvisitor . force NewLine () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġnotes List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View At ( position : ĠInt ): ĠRemote Views Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnote Ġ= Ġnotes List [ position ] ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġmark won . to Markdown ( note . body ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRemote Views ( context . packageName , ĠR . layout . notes _ widget _ item ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset TextView Text ( R . id . widget _ note _ title , Ġnote . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset TextView Text ( R . id . widget _ note _ body , Ġbody ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( note . is Favorite ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ImageView Resource ( R . id . widget _ note _ favorite , ĠR . drawable . ic _ favorite ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Loading View (): ĠRemote Views Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRemote Views ( context . packageName , ĠR . layout . notes _ widget _ item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ViewType Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Stable Ids (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon DataSet Changed () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrealm Ġ= ĠRealm . getDefaultInstance () ĊĠĠĠĠĠĠĠ Ġval Ġrealm Results Ġ= Ġrealm . where ( Note :: class . java ). sort ( array Of (" is Favorite ", Ġ" date "), ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSort . DESC ENDING , ĠSort . DESC ENDING )). findAll () ĊĠĠĠĠĠĠĠ Ġnotes List Ġ= Ġrealm . copyFrom Realm ( realm Results ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotes List [ position ]. id ĊĠĠĠ Ġ} Ċ } ĊĊ