X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FMLDB.java;h=a7389563221b089a24772b345b39b595dec80e29;hp=a7e124d7735ce8d83049295eac380f172f7db391;hb=c63db65ac315e371325031c90b098bab48661e2d;hpb=abd5a19252bf81af903c3406132030e3ad63704f diff --git a/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java b/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java index a7e124d7..a7389563 100644 --- a/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java +++ b/app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java @@ -58,12 +58,11 @@ public final class MLDB { if (context == null) throw new IllegalStateException("First call init with a valid context"); } - public static synchronized SQLiteDatabase getDatabase() { + public static SQLiteDatabase getDatabase() { checkState(); SQLiteDatabase db; - if (dbHelper == null) dbHelper = new MobileLedgerDatabase(context); db = dbHelper.getWritableDatabase(); db.execSQL("pragma case_sensitive_like=ON;"); @@ -196,13 +195,16 @@ public final class MLDB { }); } } - public static void init(Application context) { + public static synchronized void init(Application context) { MLDB.context = context; + if (dbHelper != null) throw new IllegalStateException("It appears init() was already called"); + dbHelper = new MobileLedgerDatabase(context); } - public static void done() { + public static synchronized void done() { if (dbHelper != null) { Log.d("db", "Closing DB helper"); dbHelper.close(); + dbHelper = null; } } }