- Adding Bitshares Account Name Cache
This commit is contained in:
parent
52f5696714
commit
145598591a
3 changed files with 123 additions and 1 deletions
|
@ -0,0 +1,30 @@
|
||||||
|
package cy.agorise.crystalwallet.dao;
|
||||||
|
|
||||||
|
import android.arch.lifecycle.LiveData;
|
||||||
|
import android.arch.persistence.room.Dao;
|
||||||
|
import android.arch.persistence.room.Insert;
|
||||||
|
import android.arch.persistence.room.OnConflictStrategy;
|
||||||
|
import android.arch.persistence.room.Query;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.models.BitsharesAccountNameCache;
|
||||||
|
import cy.agorise.crystalwallet.models.GrapheneAccountInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Henry Varona on 6/15/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Dao
|
||||||
|
public interface BitsharesAccountNameCacheDao {
|
||||||
|
|
||||||
|
@Query("SELECT * FROM bitshares_account_name_cache WHERE account_id = :account_id")
|
||||||
|
LiveData<BitsharesAccountNameCache> getLDByAccountId(String account_id);
|
||||||
|
|
||||||
|
@Query("SELECT * FROM bitshares_account_name_cache WHERE account_id = :account_id")
|
||||||
|
BitsharesAccountNameCache getByAccountId(String account_id);
|
||||||
|
|
||||||
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
|
public long[] insertBitsharesAccountNameCache(BitsharesAccountNameCache... accountsNames);
|
||||||
|
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ import android.content.Context;
|
||||||
|
|
||||||
import cy.agorise.crystalwallet.dao.converters.Converters;
|
import cy.agorise.crystalwallet.dao.converters.Converters;
|
||||||
import cy.agorise.crystalwallet.models.AccountSeed;
|
import cy.agorise.crystalwallet.models.AccountSeed;
|
||||||
|
import cy.agorise.crystalwallet.models.BitsharesAccountNameCache;
|
||||||
import cy.agorise.crystalwallet.models.BitsharesAssetInfo;
|
import cy.agorise.crystalwallet.models.BitsharesAssetInfo;
|
||||||
import cy.agorise.crystalwallet.models.Contact;
|
import cy.agorise.crystalwallet.models.Contact;
|
||||||
import cy.agorise.crystalwallet.models.ContactAddress;
|
import cy.agorise.crystalwallet.models.ContactAddress;
|
||||||
|
@ -36,9 +37,10 @@ import cy.agorise.crystalwallet.models.GrapheneAccountInfo;
|
||||||
CryptoCoinBalance.class,
|
CryptoCoinBalance.class,
|
||||||
GrapheneAccountInfo.class,
|
GrapheneAccountInfo.class,
|
||||||
BitsharesAssetInfo.class,
|
BitsharesAssetInfo.class,
|
||||||
|
BitsharesAccountNameCache.class,
|
||||||
CryptoCurrencyEquivalence.class,
|
CryptoCurrencyEquivalence.class,
|
||||||
GeneralSetting.class
|
GeneralSetting.class
|
||||||
}, version = 3)
|
}, version = 4)
|
||||||
@TypeConverters({Converters.class})
|
@TypeConverters({Converters.class})
|
||||||
public abstract class CrystalDatabase extends RoomDatabase {
|
public abstract class CrystalDatabase extends RoomDatabase {
|
||||||
|
|
||||||
|
@ -62,6 +64,7 @@ public abstract class CrystalDatabase extends RoomDatabase {
|
||||||
CrystalDatabase.class, "CrystalWallet.db")
|
CrystalDatabase.class, "CrystalWallet.db")
|
||||||
.allowMainThreadQueries()
|
.allowMainThreadQueries()
|
||||||
.addMigrations(MIGRATION_2_3)
|
.addMigrations(MIGRATION_2_3)
|
||||||
|
.addMigrations(MIGRATION_3_4)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
|
@ -73,4 +76,18 @@ public abstract class CrystalDatabase extends RoomDatabase {
|
||||||
database.execSQL("ALTER TABLE graphene_account ADD COLUMN upgraded_to_ltm INTEGER NOT NULL DEFAULT 0");
|
database.execSQL("ALTER TABLE graphene_account ADD COLUMN upgraded_to_ltm INTEGER NOT NULL DEFAULT 0");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static final Migration MIGRATION_3_4 = new Migration(3, 4) {
|
||||||
|
@Override
|
||||||
|
public void migrate(SupportSQLiteDatabase database) {
|
||||||
|
database.execSQL("CREATE TABLE bitshares_account_name_cache ("
|
||||||
|
+"id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
|
||||||
|
+"account_id TEXT UNIQUE NOT NULL,"
|
||||||
|
+"name TEXT)");
|
||||||
|
|
||||||
|
database.execSQL("CREATE UNIQUE INDEX index_bitshares_account_name_cache_account_id ON bitshares_account_name_cache (account_id)");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
package cy.agorise.crystalwallet.models;
|
||||||
|
|
||||||
|
|
||||||
|
import android.arch.persistence.room.ColumnInfo;
|
||||||
|
import android.arch.persistence.room.Entity;
|
||||||
|
import android.arch.persistence.room.Ignore;
|
||||||
|
import android.arch.persistence.room.Index;
|
||||||
|
import android.arch.persistence.room.PrimaryKey;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a cache of a Bitshares Account name
|
||||||
|
*
|
||||||
|
* Created by Henry Varona on 6/13/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Entity(tableName = "bitshares_account_name_cache",
|
||||||
|
indices = {@Index("id"),
|
||||||
|
@Index(value = {"account_id"},unique = true)})
|
||||||
|
public class BitsharesAccountNameCache {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The id on the database
|
||||||
|
*/
|
||||||
|
@PrimaryKey(autoGenerate = true)
|
||||||
|
@ColumnInfo(name = "id")
|
||||||
|
private long mId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The id of the account
|
||||||
|
*/
|
||||||
|
@ColumnInfo(name = "account_id")
|
||||||
|
@NonNull
|
||||||
|
private String mAccountId;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The name of the account
|
||||||
|
*/
|
||||||
|
@ColumnInfo(name = "name")
|
||||||
|
private String mName;
|
||||||
|
|
||||||
|
public BitsharesAccountNameCache() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Ignore
|
||||||
|
public BitsharesAccountNameCache(long id, String accountId, String name) {
|
||||||
|
this.mId = id;
|
||||||
|
this.mAccountId = accountId;
|
||||||
|
this.mName = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getId() {
|
||||||
|
return mId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(long id){
|
||||||
|
this.mId = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAccountId() {
|
||||||
|
return mAccountId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccountId(String accountId) {
|
||||||
|
this.mAccountId = accountId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return mName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.mName = name;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue