package Ġcom . ade matic i . r ast ge le kon um . database Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġcom . ade matic i . r ast ge le kon um . model . Location Model Ċ Ċ class ĠLocation Dao Ġ{ ĊĊĠĠĠ Ġfun Ġadd Location ( dh : ĠDatabase Helper , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Latitude : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Longitude : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Description : ĠString ){ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdh . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġvalues . put (" location _ latitude ", location Latitude ) ĊĠĠĠĠĠĠĠ Ġvalues . put (" location _ longitude ", location Longitude ) ĊĠĠĠĠĠĠĠ Ġvalues . put (" location _ description ", location Description ) ĊĊĠĠĠĠĠĠĠ Ġdb . insert OrThrow (" records ", null , values ) ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġall Location Records ( dh : ĠDatabase Helper ): ĠArrayList < Location Model >{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdh . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġlocation ArrayList Ġ= ĠArrayList < Location Model >() ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġdb . raw Query (" SELECT Ġ* ĠFROM Ġrecords ", null ) ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( cursor . moveTo Next ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠLocation Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getInt ( cursor . getColumnIndex (" location _ id ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" location _ latitude ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" location _ longitude ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . getString ( cursor . getColumnIndex (" location _ description "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation ArrayList . add ( location ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlocation ArrayList ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Location ( dh : ĠDatabase Helper , Ġlocation Id : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdh . writable Database ĊĠĠĠĠĠĠĠ Ġdb . delete (" records "," location _ id = ?", ĠarrayOf ( location Id . toString ())) ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete All Location ( dh : ĠDatabase Helper ){ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdh . writable Database ĊĠĠĠĠĠĠĠ Ġdb . delete (" records ", null , null ) ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsearch Location ( dh : ĠDatabase Helper , Ġsearch : ĠString ): ĠArrayList < Location Model >{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġdh . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġresult ArrayList Ġ= ĠArrayList < Location Model >() ĊĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġdb . raw Query (" SELECT Ġ* ĠFROM Ġrecords ĠWHERE Ġlocation _ description Ġlike Ġ'% $ search % '", null ) ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( c . moveTo Next ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠLocation Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . getInt ( c . getColumnIndex (" location _ id ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . getString ( c . getColumnIndex (" location _ latitude ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . getString ( c . getColumnIndex (" location _ longitude ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . getString ( c . getColumnIndex (" location _ description "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult ArrayList . add ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ArrayList ĊĠĠĠ Ġ} Ċ Ċ }