]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/db/DB.java
rework pattern management machinery
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / db / DB.java
index eb9c090a5a8c8b6e1a7eee59838ade65061cbd15..2dbc7c24fbf8e6ce92de59de116677d403528514 100644 (file)
 package net.ktnx.mobileledger.db;
 
 import androidx.room.Database;
+import androidx.room.Room;
 import androidx.room.RoomDatabase;
 
+import net.ktnx.mobileledger.App;
 import net.ktnx.mobileledger.dao.CurrencyDAO;
 import net.ktnx.mobileledger.dao.PatternAccountDAO;
 import net.ktnx.mobileledger.dao.PatternHeaderDAO;
+import net.ktnx.mobileledger.utils.MobileLedgerDatabase;
 
 @Database(version = 51, entities = {PatternHeader.class, PatternAccount.class, Currency.class})
 abstract public class DB extends RoomDatabase {
+    private static DB instance;
+    public static DB get() {
+        if (instance != null)
+            return instance;
+        synchronized (DB.class) {
+            if (instance != null)
+                return instance;
+
+            return instance =
+                    Room.databaseBuilder(App.instance, DB.class, MobileLedgerDatabase.DB_NAME)
+                        .build();
+        }
+    }
     public abstract PatternHeaderDAO getPatternDAO();
     public abstract PatternAccountDAO getPatternAccountDAO();
     public abstract CurrencyDAO getCurrencyDAO();