package Ġcom . app ham . share marks . model Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġcom . app ham . share marks . presenter . Marks Contract Ċ import Ġcom . js k ier bi . cup board . cup board Ċ Ċ /** Ċ Ġ* Ġ@ author Ġth omas Ċ Ġ*/ Ċ class ĠMark s DataSource ( context : ĠContext ) Ġ: ĠMark s Contract . Model Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdb Helper : ĠDatabase SQLite Helper Ġ= ĠDatabase SQLite Helper ( context ) ĊĊĠĠĠ Ġprivate Ġvar Ġdb : ĠSQLite Database Ġ= Ġdb Helper . writable Database ĊĊĠĠĠ Ġ// region ĠMark s Contract Ġinterface Ġmethods ĊĠĠĠ Ġoverride Ġfun Ġopen () Ġ{ ĊĠĠĠĠĠĠĠ Ġdb Ġ= Ġdb Helper . writable Database ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġdb Helper . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Marks ( deleted : ĠInt ): ĠMutable List < Mark Item > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcup board ( db ). query ( Mark Item :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Selection (" deleted Ġ== Ġ?", Ġdeleted . toString ()). list (). as Re versed () ĊĊĠĠĠ Ġoverride Ġfun Ġget Mark sBy Domain ( domain : ĠString , Ġdeleted : ĠInt ): ĠMutable List < Mark Item > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcup board ( db ). query ( Mark Item :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Selection (" domain Ġ= Ġ? ĠAND Ġdeleted Ġ= Ġ?", Ġdomain , Ġdeleted . toString ()). list () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Re versed () ĊĊĠĠĠ Ġoverride Ġfun Ġput Mark ( item : ĠMark Item ): ĠLong Ġ= Ġcup board ( db ). put ( item ) ĊĊĠĠĠ Ġoverride Ġfun Ġset Mark Deleted ( item : ĠMark Item , Ġto Delete : ĠBoolean ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values ( 1 ) ĊĠĠĠĠĠĠĠ Ġvalues . put (" deleted ", Ġto Delete ) ĊĠĠĠĠĠĠĠ Ġreturn Ġcup board ( db ). update ( Mark Item :: class . java , Ġvalues , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"_ id Ġ= Ġ?", Ġitem ._ id . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdrop Item ( item : ĠMark Item ): ĠBoolean Ġ= Ġcup board ( db ). delete ( item ) Ċ // endregion Ċ Ċ }