X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FDB.java;h=2dbc7c24fbf8e6ce92de59de116677d403528514;hp=eb9c090a5a8c8b6e1a7eee59838ade65061cbd15;hb=b0404689e0dbb2b08f02deca7ee5d14636a3baa6;hpb=c2bc2a73948d991a4c827d230ae93e239401b9b9 diff --git a/app/src/main/java/net/ktnx/mobileledger/db/DB.java b/app/src/main/java/net/ktnx/mobileledger/db/DB.java index eb9c090a..2dbc7c24 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/DB.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/DB.java @@ -18,14 +18,30 @@ 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();