package Ġcom . g ost soft . gift iv us . models . db Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . util . Log Ċ import Ġcom . g ost soft . gift iv us . R Ċ import Ġcom . g ost soft . gift iv us . models . Gift Ċ import Ġcom . g ost soft . gift iv us . models . Recipient ĊĊ Ċ class ĠRe cipient Db Table ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdb Helper Ġ= ĠG ift iv us Db ( context ) ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠRe cipient Db Table :: class . simple Name ĊĊĠĠĠ Ġfun Ġstore Recipient Ġ( recipient : ĠRe cipient ): ĠLong Ġ{ Ġ// ĠTODO : Ġmake Ġsure Ġentries Ġare Ġunique ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values Ġ() ĊĠĠĠĠĠĠĠ Ġwith Ġ( values ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Ġ( Recipient Entry . FIRST NAME _ COL , Ġrecipient . firstName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Ġ( Recipient Entry . LAST NAME _ COL , Ġrecipient . lastName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Ġ( Recipient Entry . IMAGE _ COL , Ġto ByteArray ( recipient . image )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdb Helper . readable Database ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġdb . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( Recipient Entry . TABLE _ NAME , Ġnull , Ġvalues ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Stored Ġnew Ġgift Ġto ĠDB : Ġ$ recipient ") ĊĠĠĠĠĠĠĠ Ġreturn Ġid ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun ĠgetAll Recipients Ġ(): ĠList < Recipient > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// store Recipient ( fake Recipient ) ĊĠĠĠĠĠĠĠ Ġvar Ġcursor : ĠCursor ĊĠĠĠĠĠĠĠ Ġwith Ġ( Recipient Entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST NAME _ COL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLAST NAME _ COL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ COL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorder Ġ= Ġ"$ _ ID ĠASC " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdb Helper . readable Database ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor Ġ= Ġdb . do Query ( TABLE _ NAME , Ġcolumns Ġ= Ġcolumns , ĠorderBy Ġ= Ġorder ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġparse G ifts From Cursor ( cursor ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse G ifts From Cursor ( cursor : ĠCursor ): ĠList < Recipient > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg ifts Ġ= Ġmutable ListOf < Recipient >() ĊĠĠĠĠĠĠĠ Ġwhile Ġ( cursor . moveTo Next Ġ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Ġ( Recipient Entry ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġcursor . getInt (_ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfirstName Ġ= Ġcursor . getString ( FIRST NAME _ COL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠlastName Ġ= Ġcursor . getString ( LAST NAME _ COL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= Ġcursor . get Bitmap ( IMAGE _ COL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg ifts . add ( Recipient ( id , ĠfirstName , ĠlastName , Ġbitmap )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠ Ġif Ġ( gif ts . isEmpty ()) Ġg ifts . add ( Recipient ( 1 , Ġ" Brand on ", Ġ" B ry ant ", Ġdefault Bitmap ())) Ġ// ĠTEST ING ĠONLY ĊĠĠĠĠĠĠĠ Ġreturn Ġg ifts ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġfake Recipient Ġ= ĠRe cipient ( 1 , Ġ" Brand on ", Ġ" B ry ant ", Ġdefault Bitmap Ġ()) ĊĊĠĠĠ Ġprivate Ġfun Ġdefault Bitmap Ġ(): ĠBitmap Ġ= ĠBitmap Factory . decode Resource ( context . resources , ĠR . drawable . smile ) Ċ }