X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FDB.java;h=ca2d9092bd7f693e765565980456cae9628f8c4e;hb=fac0809065787fb473646db5770f4f2fae0d1e8f;hp=71b7a0f551067bdd664244783bed416ea07d6f4c;hpb=d07a0195b830f49480c89aee4c921b1061e8c41f;p=mobile-ledger.git 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 71b7a0f5..ca2d9092 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/DB.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/DB.java @@ -18,6 +18,7 @@ package net.ktnx.mobileledger.db; import android.content.res.Resources; +import android.database.Cursor; import android.database.SQLException; import androidx.annotation.NonNull; @@ -29,8 +30,11 @@ import androidx.sqlite.db.SupportSQLiteDatabase; import net.ktnx.mobileledger.App; import net.ktnx.mobileledger.dao.AccountDAO; +import net.ktnx.mobileledger.dao.AccountValueDAO; import net.ktnx.mobileledger.dao.CurrencyDAO; +import net.ktnx.mobileledger.dao.DescriptionHistoryDAO; import net.ktnx.mobileledger.dao.OptionDAO; +import net.ktnx.mobileledger.dao.ProfileDAO; import net.ktnx.mobileledger.dao.TemplateAccountDAO; import net.ktnx.mobileledger.dao.TemplateHeaderDAO; import net.ktnx.mobileledger.dao.TransactionDAO; @@ -94,6 +98,25 @@ abstract public class DB extends RoomDatabase { String fileName = String.format(Locale.US, "db_%d", toVersion); applyRevisionFile(db, fileName); + + // when migrating to version 59, migrate profile/theme options to the + // SharedPreferences + if (toVersion == 59) { + try (Cursor c = db.query( + "SELECT p.id, p.theme_hue FROM profiles p WHERE p.id=(SELECT o.value " + + "FROM options WHERE o.profile_uid IS NULL AND o.name=?", + new Object[]{"profile_id"})) + { + if (c.moveToFirst()) { + long currentProfileId = c.getLong(0); + int currentTheme = c.getInt(1); + + if (currentProfileId >= 0 && currentTheme >= 0) { + App.storeStartupProfileAndTheme(currentProfileId, currentTheme); + } + } + } + } } }; } @@ -169,7 +192,13 @@ abstract public class DB extends RoomDatabase { public abstract AccountDAO getAccountDAO(); + public abstract AccountValueDAO getAccountValueDAO(); + public abstract TransactionDAO getTransactionDAO(); public abstract OptionDAO getOptionDAO(); + + public abstract DescriptionHistoryDAO getDescriptionHistoryDAO(); + + public abstract ProfileDAO getProfileDAO(); }