package Ġa de mar . bit ac . repository . datasource Ċ Ċ import Ġa de mar . bit ac . ext . getLong Ċ import Ġa de mar . bit ac . ext . getString Ċ import Ġa de mar . bit ac . model . Wallet Ċ import Ġa de mar . bit ac . sqlite . App Db Helper Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . COLUMN _ WAL LET _ ADDRESS Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . COLUMN _ WAL LET _ BAL ANCE Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . COLUMN _ WAL LET _ CRE ATION Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . COLUMN _ WAL LET _ ED ITION Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . COLUMN _ WAL LET _ ID Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . COLUMN _ WAL LET _ NAME Ċ import Ġa de mar . bit ac . sqlite . App Db Helper . Companion . TABLE _ WAL LET Ċ import Ġa de mar . bit ac . sqlite . Content Values Factory Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠWallet Storage Ġ@ Inject Ġconstructor ( ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapp Db Helper : ĠApp Db Helper , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontent Values Factory : ĠContent Values Factory Ċ Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġsave Wallet ( wallet : ĠWallet ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= ĠSystem . nano Time () ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġapp Db Helper . writable Database ĊĠĠĠĠĠĠĠ Ġdb . insert With On Conflict ( TABLE _ WAL LET , Ġnull , Ġcontent Values Factory . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WAL LET _ ID Ġto Ġwallet . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WAL LET _ ADDRESS Ġto Ġwallet . address , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WAL LET _ NAME Ġto Ġwallet . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WAL LET _ BAL ANCE Ġto Ġwallet . balance , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WAL LET _ CRE ATION Ġto Ġtime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WAL LET _ ED ITION Ġto Ġtime ĊĠĠĠĠĠĠĠ Ġ), ĠSQLite Database . CONF LI CT _ REPLACE ) ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Wallet ( id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġapp Db Helper . writable Database ĊĠĠĠĠĠĠĠ Ġdb . delete ( TABLE _ WAL LET , Ġ"$ COLUMN _ WAL LET _ ID = ?", ĠarrayOf ("$ id ")) ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Wallet s (): ĠList < Wallet > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwallet s Ġ= Ġarray ListOf < Wallet >() ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġapp Db Helper . readable Database ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġdb . raw Query (" SELECT Ġ* ĠFROM Ġ$ TABLE _ WAL LET ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġcursor . getLong ( COLUMN _ WAL LET _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġcursor . getString ( COLUMN _ WAL LET _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġcursor . getString ( COLUMN _ WAL LET _ ADDRESS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbalance Ġ= Ġcursor . getLong ( COLUMN _ WAL LET _ BAL ANCE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreation Ġ= Ġcursor . getLong ( COLUMN _ WAL LET _ CRE ATION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġedition Ġ= Ġcursor . getLong ( COLUMN _ WAL LET _ ED ITION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwallet s . add ( Wallet ( id , Ġname , Ġaddress , Ġbalance , Ġcreation , Ġedition )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( cursor . moveTo Next ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠĠĠĠĠ Ġreturn Ġwallet s ĊĠĠĠ Ġ} Ċ Ċ } Ċ