package Ġcom . me lar dev . android . crud . datasource . local Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite Open Helper Ċ Ċ class ĠApp Db Helper Ċ private Ġconstructor ( context : ĠContext ) Ġ: ĠSQLite Open Helper ( context , ĠDATABASE _ NAME , Ġnull , ĠDATABASE _ VERSION ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( db : ĠSQLite Database ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġtables ĠSQL Ġexecution ĊĠĠĠĠĠĠĠ Ġval Ġcreate Todos Table Ġ= Ġ(" CREATE ĠTABLE Ġ" Ġ+ ĠDb Todo Repository . TABLE _ TODO S Ġ+ Ġ"(" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠDb Todo Repository . COLUMN _ TODO _ ID Ġ+ Ġ" ĠINTEGER ĠPRIMARY ĠKEY ĠAUTO INCREMENT , Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠDb Todo Repository . COLUMN _ TODO _ TITLE Ġ+ Ġ" ĠTEXT ĠNOT ĠNULL , Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠDb Todo Repository . COLUMN _ TODO _ DESCRIPTION Ġ+ Ġ" ĠTEXT , Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠDb Todo Repository . COLUMN _ TODO _ COMPLETED Ġ+ Ġ" ĠINTEGER , Ġ" Ġ// nullable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠDb Todo Repository . COLUMN _ TODO _ CREATED _ AT Ġ+ Ġ" ĠINTEGER , Ġ" Ġ// nullable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠDb Todo Repository . COLUMN _ TODO _ UPDATED _ AT Ġ+ Ġ" ĠINTEGER Ġ" Ġ// nullable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ") ") ĊĊĊĠĠĠĠĠĠĠ Ġdb . exec SQL ( create Todos Table ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Upgrade ( db : ĠSQLite Database , Ġold Version : ĠInt , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDrop Ġolder Ġtable Ġif Ġexisted ĊĠĠĠĠĠĠĠ Ġdb . exec SQL (" DROP ĠTABLE ĠIF ĠEXISTS Ġ" Ġ+ ĠDb Todo Repository . TABLE _ TODO S ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġtables Ġagain ĊĠĠĠĠĠĠĠ ĠonCreate ( db ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġdatabase Helper : ĠApp Db Helper ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ// ĠAll ĠStatic Ġvariables ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDATABASE _ VERSION Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ// ĠDatabase ĠName ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDATABASE _ NAME Ġ= Ġ" todos " ĊĊĠĠĠĠĠĠĠ Ġ@ Synchron ized ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( context : ĠContext ): ĠApp Db Helper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( database Helper Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Helper Ġ= ĠApp Db Helper ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdatabase Helper Ġas ĠApp Db Helper ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ