crystal-wallet-android/app/src/main/java/cy/agorise/crystalwallet/dao/CrystalDatabase.java

75 lines
2.7 KiB
Java
Raw Normal View History

2017-09-08 00:31:38 +00:00
package cy.agorise.crystalwallet.dao;
2017-09-13 21:52:36 +00:00
import android.arch.persistence.room.Database;
import android.arch.persistence.room.Room;
import android.arch.persistence.room.RoomDatabase;
2017-09-14 02:09:58 +00:00
import android.arch.persistence.room.TypeConverters;
2017-09-10 23:13:32 +00:00
import android.content.Context;
2017-09-08 00:31:38 +00:00
2017-09-14 02:09:58 +00:00
import cy.agorise.crystalwallet.dao.converters.Converters;
2017-09-08 00:31:38 +00:00
import cy.agorise.crystalwallet.models.AccountSeed;
import cy.agorise.crystalwallet.models.BitsharesAssetInfo;
import cy.agorise.crystalwallet.models.CryptoCoinBalance;
import cy.agorise.crystalwallet.models.CryptoCoinTransaction;
2017-09-25 02:59:46 +00:00
import cy.agorise.crystalwallet.models.CryptoCurrency;
2017-11-02 02:31:31 +00:00
import cy.agorise.crystalwallet.models.CryptoCurrencyEquivalence;
2017-09-08 00:31:38 +00:00
import cy.agorise.crystalwallet.models.CryptoNetAccount;
import cy.agorise.crystalwallet.models.GeneralSetting;
import cy.agorise.crystalwallet.models.GrapheneAccountInfo;
2017-09-08 00:31:38 +00:00
/**
2017-09-13 21:52:36 +00:00
* Manage the Database
2017-09-08 00:31:38 +00:00
* Created by Henry Varona on 4/9/2017.
*/
2017-11-02 02:31:31 +00:00
@Database(entities = {
AccountSeed.class,
CryptoNetAccount.class,
CryptoCoinTransaction.class,
CryptoCurrency.class,
CryptoCoinBalance.class,
GrapheneAccountInfo.class,
BitsharesAssetInfo.class,
CryptoCurrencyEquivalence.class,
GeneralSetting.class
2017-11-02 02:31:31 +00:00
}, version = 2)
2017-09-14 02:09:58 +00:00
@TypeConverters({Converters.class})
2017-09-08 00:31:38 +00:00
public abstract class CrystalDatabase extends RoomDatabase {
2017-09-10 23:13:32 +00:00
private static CrystalDatabase instance;
public abstract AccountSeedDao accountSeedDao();
public abstract CryptoNetAccountDao cryptoNetAccountDao();
public abstract GrapheneAccountInfoDao grapheneAccountInfoDao();
public abstract TransactionDao transactionDao();
public abstract CryptoCoinBalanceDao cryptoCoinBalanceDao();
public abstract CryptoCurrencyDao cryptoCurrencyDao();
public abstract BitsharesAssetDao bitsharesAssetDao();
2017-11-02 02:31:31 +00:00
public abstract CryptoCurrencyEquivalenceDao cryptoCurrencyEquivalenceDao();
public abstract GeneralSettingDao generalSettingDao();
2017-09-10 23:13:32 +00:00
public static CrystalDatabase getAppDatabase(Context context) {
if (instance == null) {
instance =
Room.databaseBuilder(context,
CrystalDatabase.class, "CrystalWallet.db")
.allowMainThreadQueries()
//.addMigrations(MIGRATION_1_2)
2017-09-10 23:13:32 +00:00
.build();
}
return instance;
}
2017-09-08 00:31:38 +00:00
2017-10-10 02:44:44 +00:00
/*static final Migration MIGRATION_1_2 = new Migration(1, 2) {
2017-09-08 00:31:38 +00:00
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("UPDATE TABLE 'crypto_net_account' ADD "
+ "'subclass' INT, "
+ "'bitshares_account_name' STRING, "
+ "'bitshares_account_id' STRING ");
2017-09-08 00:31:38 +00:00
}
};*/
2017-09-08 00:31:38 +00:00
}