Merge branch 'master' into develop
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2017 AGORISE, LTD.
|
||||
Copyright (c) 2018 AGORISE, LTD.
|
||||
An International Business Company, Cyprus Reg# ΗΕ375959
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 26
|
||||
buildToolsVersion '26.0.2'
|
||||
compileSdkVersion 27
|
||||
defaultConfig {
|
||||
applicationId "cy.agorise.crystalwallet"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 26
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 27
|
||||
versionCode 2
|
||||
versionName "0.2t.alpha"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
|
@ -26,47 +25,62 @@ android {
|
|||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
disable 'MissingTranslation','ExtraTranslation'
|
||||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
android.packagingOptions {
|
||||
exclude 'lib/x86_64/darwin/libscrypt.dylib'
|
||||
exclude 'lib/x86_64/freebsd/libscrypt.so'
|
||||
exclude 'lib/x86_64/linux/libscrypt.so'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
//androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
|
||||
androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.1', {
|
||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
})
|
||||
//testCompile 'com.android.support.test:runner:1.0.1'
|
||||
compile 'com.android.support:appcompat-v7:26.1.0'
|
||||
compile 'com.android.support:support-v4:26.1.0'
|
||||
compile 'com.android.support:design:26.1.0'
|
||||
compile 'com.android.support.constraint:constraint-layout:1.0.2'
|
||||
compile 'android.arch.lifecycle:runtime:1.0.3'
|
||||
compile 'android.arch.lifecycle:extensions:1.0.0'
|
||||
compile 'android.arch.persistence.room:runtime:1.0.0'
|
||||
compile 'android.arch.paging:runtime:1.0.0-alpha3'
|
||||
compile 'com.idescout.sql:sqlscout-server:2.0'
|
||||
compile 'com.google.code.gson:gson:2.8.0'
|
||||
compile 'com.squareup.retrofit2:retrofit:2.2.0'
|
||||
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
|
||||
compile 'org.bitcoinj:bitcoinj-core:0.14.3'
|
||||
compile 'com.neovisionaries:nv-websocket-client:1.30'
|
||||
compile 'org.tukaani:xz:1.6'
|
||||
compile 'com.jakewharton:butterknife:8.8.1'
|
||||
compile 'com.github.bilthon:graphenej:0.4.6'
|
||||
compile 'com.google.zxing:core:3.3.1'
|
||||
compile 'me.dm7.barcodescanner:zxing:1.9.8'
|
||||
implementation 'com.android.support:appcompat-v7:27.1.1'
|
||||
implementation 'com.android.support:support-v4:27.1.1'
|
||||
implementation 'com.android.support:design:27.1.1'
|
||||
implementation 'com.android.support.constraint:constraint-layout:1.1.1'
|
||||
implementation 'android.arch.lifecycle:runtime:1.1.1'
|
||||
implementation 'android.arch.lifecycle:extensions:1.1.1'
|
||||
implementation 'android.arch.persistence.room:runtime:1.1.0'
|
||||
implementation 'android.arch.paging:runtime:1.0.0'
|
||||
implementation 'com.idescout.sql:sqlscout-server:2.0'
|
||||
implementation 'com.google.code.gson:gson:2.8.0'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.2.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
|
||||
implementation 'org.bitcoinj:bitcoinj-core:0.14.3'
|
||||
implementation 'com.neovisionaries:nv-websocket-client:1.30'
|
||||
implementation 'org.tukaani:xz:1.6'
|
||||
implementation 'com.jakewharton:butterknife:8.8.1'
|
||||
implementation 'com.github.bilthon:graphenej:0.4.6'
|
||||
implementation 'com.google.zxing:core:3.3.1'
|
||||
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
|
||||
|
||||
compile 'com.squareup.okhttp3:logging-interceptor:3.5.0'
|
||||
compile 'de.hdodenhof:circleimageview:2.2.0'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:3.5.0'
|
||||
implementation 'de.hdodenhof:circleimageview:2.2.0' // TODO check x86_64
|
||||
|
||||
//testCompile 'junit:junit: 4.12'
|
||||
testCompile 'org.mockito:mockito-core:1.10.19'
|
||||
annotationProcessor 'android.arch.lifecycle:compiler:1.0.0'
|
||||
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'
|
||||
testImplementation 'org.mockito:mockito-core:1.10.19'
|
||||
annotationProcessor 'android.arch.lifecycle:compiler:1.1.1'
|
||||
annotationProcessor 'android.arch.persistence.room:compiler:1.1.0'
|
||||
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
|
||||
|
||||
compile 'com.squareup.picasso:picasso:2.5.2'
|
||||
implementation 'com.squareup.picasso:picasso:2.5.2'
|
||||
implementation 'com.github.esafirm.android-image-picker:imagepicker:1.11.1'
|
||||
compile 'id.zelory:compressor:2.1.0'
|
||||
compile 'com.vincent.filepicker:MultiTypeFilePicker:1.0.7'
|
||||
compile 'com.andrognito.patternlockview:patternlockview:1.0.0'
|
||||
implementation 'id.zelory:compressor:2.1.0'
|
||||
implementation 'com.vincent.filepicker:MultiTypeFilePicker:1.0.7'
|
||||
implementation 'com.andrognito.patternlockview:patternlockview:1.0.0'
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 54 KiB |
|
@ -97,7 +97,7 @@ public class CreateContactActivity extends AppCompatActivity implements UIValida
|
|||
@Override
|
||||
public void onChanged(@Nullable List<ContactAddress> contactAddresses) {
|
||||
contactAddressList = contactAddresses;
|
||||
listAdapter.setList(contactAddressList);
|
||||
listAdapter.submitList(contactAddressList);
|
||||
listAdapter.notifyDataSetChanged();
|
||||
}
|
||||
});
|
||||
|
@ -113,7 +113,7 @@ public class CreateContactActivity extends AppCompatActivity implements UIValida
|
|||
});
|
||||
} else {
|
||||
contactAddressList = new ArrayList<ContactAddress>();
|
||||
listAdapter.setList(contactAddressList);
|
||||
listAdapter.submitList(contactAddressList);
|
||||
createContactValidator = new CreateContactValidator(this.getApplicationContext(),etName,etEmail);
|
||||
createContactValidator.setListener(this);
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package cy.agorise.crystalwallet.dao;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.arch.paging.DataSource;
|
||||
import android.arch.paging.LivePagedListProvider;
|
||||
import android.arch.persistence.room.Dao;
|
||||
import android.arch.persistence.room.Delete;
|
||||
|
@ -25,10 +26,10 @@ public interface ContactDao {
|
|||
LiveData<List<Contact>> getAll();
|
||||
|
||||
@Query("SELECT * FROM contact ORDER BY name ASC")
|
||||
LivePagedListProvider<Integer, Contact> contactsByName();
|
||||
DataSource.Factory<Integer, Contact> contactsByName();
|
||||
|
||||
@Query("SELECT c.* FROM contact c WHERE c.id IN (SELECT DISTINCT(ca.contact_id) FROM contact_address ca WHERE ca.crypto_net == :cryptoNet) ORDER BY name ASC, email ASC")
|
||||
LivePagedListProvider<Integer, Contact> contactsByNameAndCryptoNet(String cryptoNet);
|
||||
DataSource.Factory<Integer, Contact> contactsByNameAndCryptoNet(String cryptoNet);
|
||||
|
||||
@Query("SELECT * FROM contact WHERE id = :id")
|
||||
LiveData<Contact> getById(long id);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package cy.agorise.crystalwallet.dao;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.arch.paging.DataSource;
|
||||
import android.arch.paging.LivePagedListProvider;
|
||||
import android.arch.persistence.room.Dao;
|
||||
import android.arch.persistence.room.Insert;
|
||||
|
@ -28,19 +29,19 @@ public interface TransactionDao {
|
|||
LiveData<List<CryptoCoinTransaction>> getAll();
|
||||
|
||||
@Query(transactionsQuery + " ORDER BY date DESC")
|
||||
LivePagedListProvider<Integer, CryptoCoinTransactionExtended> transactionsByDate(String search);
|
||||
DataSource.Factory<Integer, CryptoCoinTransactionExtended> transactionsByDate(String search);
|
||||
|
||||
@Query(transactionsQuery + " ORDER BY amount DESC")
|
||||
LivePagedListProvider<Integer, CryptoCoinTransactionExtended> transactionsByAmount(String search);
|
||||
DataSource.Factory<Integer, CryptoCoinTransactionExtended> transactionsByAmount(String search);
|
||||
|
||||
@Query(transactionsQuery + " ORDER BY is_input DESC")
|
||||
LivePagedListProvider<Integer, CryptoCoinTransactionExtended> transactionsByIsInput(String search);
|
||||
DataSource.Factory<Integer, CryptoCoinTransactionExtended> transactionsByIsInput(String search);
|
||||
|
||||
@Query(transactionsQuery + " ORDER BY `from` DESC")
|
||||
LivePagedListProvider<Integer, CryptoCoinTransactionExtended> transactionsByFrom(String search);
|
||||
DataSource.Factory<Integer, CryptoCoinTransactionExtended> transactionsByFrom(String search);
|
||||
|
||||
@Query(transactionsQuery + " ORDER BY `to` DESC")
|
||||
LivePagedListProvider<Integer, CryptoCoinTransactionExtended> transactionsByTo(String search);
|
||||
DataSource.Factory<Integer, CryptoCoinTransactionExtended> transactionsByTo(String search);
|
||||
|
||||
@Query("SELECT * FROM crypto_coin_transaction WHERE account_id = :idAccount ORDER BY date DESC")
|
||||
LiveData<List<CryptoCoinTransaction>> getByIdAccountLiveData(long idAccount);
|
||||
|
|
|
@ -77,7 +77,7 @@ public class ContactSelectionFragment extends DialogFragment implements ContactS
|
|||
contactsLiveData.observe(this, new Observer<PagedList<Contact>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable PagedList<Contact> contacts) {
|
||||
contactSelectionListAdapter.setList(contacts);
|
||||
contactSelectionListAdapter.submitList(contacts);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.arch.persistence.room.Entity;
|
|||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.content.Context;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import org.bitcoinj.core.ECKey;
|
||||
import org.bitcoinj.crypto.HDKeyDerivation;
|
||||
|
@ -86,7 +86,7 @@ public class AccountSeed {
|
|||
this.type = type;
|
||||
}
|
||||
|
||||
public static final DiffCallback<AccountSeed> DIFF_CALLBACK = new DiffCallback<AccountSeed>() {
|
||||
public static final DiffUtil.ItemCallback<AccountSeed> DIFF_CALLBACK = new DiffUtil.ItemCallback<AccountSeed>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull AccountSeed oldAccountSeed, @NonNull AccountSeed newAccountSeed) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.arch.persistence.room.Ignore;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -110,7 +110,7 @@ public class Contact {
|
|||
return null;
|
||||
}
|
||||
|
||||
public static final DiffCallback<Contact> DIFF_CALLBACK = new DiffCallback<Contact>() {
|
||||
public static final DiffUtil.ItemCallback<Contact> DIFF_CALLBACK = new DiffUtil.ItemCallback<Contact>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull Contact oldContact, @NonNull Contact newContact) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import android.arch.persistence.room.Entity;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import cy.agorise.crystalwallet.enums.CryptoNet;
|
||||
|
||||
|
@ -72,7 +72,7 @@ public class ContactAddress {
|
|||
this.mAddress = address;
|
||||
}
|
||||
|
||||
public static final DiffCallback<ContactAddress> DIFF_CALLBACK = new DiffCallback<ContactAddress>() {
|
||||
public static final DiffUtil.ItemCallback<ContactAddress> DIFF_CALLBACK = new DiffUtil.ItemCallback<ContactAddress>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull ContactAddress oldContactAddress, @NonNull ContactAddress newContactAddress) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.arch.persistence.room.ForeignKey;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||
|
||||
|
@ -72,7 +72,7 @@ public class CryptoCoinBalance {
|
|||
this.mBalance = balance;
|
||||
}
|
||||
|
||||
public static final DiffCallback<CryptoCoinBalance> DIFF_CALLBACK = new DiffCallback<CryptoCoinBalance>() {
|
||||
public static final DiffUtil.ItemCallback<CryptoCoinBalance> DIFF_CALLBACK = new DiffUtil.ItemCallback<CryptoCoinBalance>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull CryptoCoinBalance oldBalance, @NonNull CryptoCoinBalance newBalance) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.arch.persistence.room.Ignore;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
@ -157,7 +157,7 @@ public class CryptoCoinTransaction {
|
|||
public void setIdCurrency(int idCurrency) { this.idCurrency = idCurrency; }
|
||||
|
||||
|
||||
public static final DiffCallback<CryptoCoinTransaction> DIFF_CALLBACK = new DiffCallback<CryptoCoinTransaction>() {
|
||||
public static final DiffUtil.ItemCallback<CryptoCoinTransaction> DIFF_CALLBACK = new DiffUtil.ItemCallback<CryptoCoinTransaction>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull CryptoCoinTransaction oldTransaction, @NonNull CryptoCoinTransaction newTransaction) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import android.arch.persistence.room.Ignore;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
@ -67,7 +67,7 @@ public class CryptoCoinTransactionExtended {
|
|||
|
||||
public int getIdCurrency() { return this.cryptoCoinTransaction.getIdCurrency(); }
|
||||
|
||||
public static final DiffCallback<CryptoCoinTransactionExtended> DIFF_CALLBACK = new DiffCallback<CryptoCoinTransactionExtended>() {
|
||||
public static final DiffUtil.ItemCallback<CryptoCoinTransactionExtended> DIFF_CALLBACK = new DiffUtil.ItemCallback<CryptoCoinTransactionExtended>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull CryptoCoinTransactionExtended oldTransaction, @NonNull CryptoCoinTransactionExtended newTransaction) {
|
||||
|
|
|
@ -8,7 +8,8 @@ import android.arch.persistence.room.Ignore;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
|
||||
import cy.agorise.crystalwallet.enums.CryptoNet;
|
||||
|
||||
|
@ -111,7 +112,7 @@ public class CryptoNetAccount {
|
|||
return this.getName();
|
||||
}
|
||||
|
||||
public static final DiffCallback<CryptoNetAccount> DIFF_CALLBACK = new DiffCallback<CryptoNetAccount>() {
|
||||
public static final DiffUtil.ItemCallback<CryptoNetAccount> DIFF_CALLBACK = new DiffUtil.ItemCallback<CryptoNetAccount>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull CryptoNetAccount oldAccount, @NonNull CryptoNetAccount newAccount) {
|
||||
|
|
|
@ -8,7 +8,8 @@ import android.arch.persistence.room.Ignore;
|
|||
import android.arch.persistence.room.Index;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
|
||||
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||
import cy.agorise.crystalwallet.enums.CryptoNet;
|
||||
|
@ -52,7 +53,7 @@ public class CryptoNetBalance {
|
|||
this.mCryptoNet = cryptoNet;
|
||||
}
|
||||
|
||||
public static final DiffCallback<CryptoNetBalance> DIFF_CALLBACK = new DiffCallback<CryptoNetBalance>() {
|
||||
public static final DiffUtil.ItemCallback<CryptoNetBalance> DIFF_CALLBACK = new DiffUtil.ItemCallback<CryptoNetBalance>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull CryptoNetBalance oldBalance, @NonNull CryptoNetBalance newBalance) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.arch.persistence.room.ColumnInfo;
|
|||
import android.arch.persistence.room.Entity;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.recyclerview.extensions.DiffCallback;
|
||||
import android.support.v7.util.DiffUtil;
|
||||
|
||||
import cy.agorise.crystalwallet.enums.SeedType;
|
||||
|
||||
|
@ -67,7 +67,7 @@ public class GeneralSetting {
|
|||
this.mValue = mValue;
|
||||
}
|
||||
|
||||
public static final DiffCallback<GeneralSetting> DIFF_CALLBACK = new DiffCallback<GeneralSetting>() {
|
||||
public static final DiffUtil.ItemCallback<GeneralSetting> DIFF_CALLBACK = new DiffUtil.ItemCallback<GeneralSetting>() {
|
||||
@Override
|
||||
public boolean areItemsTheSame(
|
||||
@NonNull GeneralSetting oldSetting, @NonNull GeneralSetting newSetting) {
|
||||
|
|
|
@ -3,6 +3,7 @@ package cy.agorise.crystalwallet.viewmodels;
|
|||
import android.app.Application;
|
||||
import android.arch.lifecycle.AndroidViewModel;
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.arch.paging.LivePagedListBuilder;
|
||||
import android.arch.paging.PagedList;
|
||||
|
||||
import cy.agorise.crystalwallet.dao.CrystalDatabase;
|
||||
|
@ -22,33 +23,33 @@ public class ContactListViewModel extends AndroidViewModel {
|
|||
public ContactListViewModel(Application application) {
|
||||
super(application);
|
||||
this.db = CrystalDatabase.getAppDatabase(application.getApplicationContext());
|
||||
contactList = this.db.contactDao().contactsByName().create(0,
|
||||
contactList = new LivePagedListBuilder(this.db.contactDao().contactsByName(),
|
||||
new PagedList.Config.Builder()
|
||||
.setEnablePlaceholders(true)
|
||||
.setPageSize(10)
|
||||
.setPrefetchDistance(10)
|
||||
.build()
|
||||
);
|
||||
).build();
|
||||
}
|
||||
|
||||
public void init(){
|
||||
contactList = this.db.contactDao().contactsByName().create(0,
|
||||
contactList = new LivePagedListBuilder(this.db.contactDao().contactsByName(),
|
||||
new PagedList.Config.Builder()
|
||||
.setEnablePlaceholders(true)
|
||||
.setPageSize(10)
|
||||
.setPrefetchDistance(10)
|
||||
.build()
|
||||
);
|
||||
).build();
|
||||
}
|
||||
|
||||
public void init(CryptoNet cryptoNet){
|
||||
contactList = this.db.contactDao().contactsByNameAndCryptoNet(cryptoNet.name()).create(0,
|
||||
contactList = new LivePagedListBuilder(this.db.contactDao().contactsByNameAndCryptoNet(cryptoNet.name()),
|
||||
new PagedList.Config.Builder()
|
||||
.setEnablePlaceholders(true)
|
||||
.setPageSize(10)
|
||||
.setPrefetchDistance(10)
|
||||
.build()
|
||||
);
|
||||
).build();
|
||||
}
|
||||
|
||||
public LiveData<PagedList<Contact>> getContactList(){
|
||||
|
|
|
@ -4,6 +4,8 @@ import android.app.Application;
|
|||
import android.arch.lifecycle.AndroidViewModel;
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.arch.lifecycle.ViewModel;
|
||||
import android.arch.paging.DataSource;
|
||||
import android.arch.paging.LivePagedListBuilder;
|
||||
import android.arch.paging.LivePagedListProvider;
|
||||
import android.arch.paging.PagedList;
|
||||
import android.content.Context;
|
||||
|
@ -37,35 +39,35 @@ public class TransactionListViewModel extends AndroidViewModel {
|
|||
}
|
||||
|
||||
public void initTransactionList(String orderField, String search){
|
||||
LivePagedListProvider<Integer, CryptoCoinTransactionExtended> livePagedListProvider = null;
|
||||
DataSource.Factory<Integer, CryptoCoinTransactionExtended> dataSource = null;
|
||||
|
||||
switch (orderField){
|
||||
case "date":
|
||||
livePagedListProvider = this.db.transactionDao().transactionsByDate(search);
|
||||
dataSource = this.db.transactionDao().transactionsByDate(search);
|
||||
break;
|
||||
case "amount":
|
||||
livePagedListProvider = this.db.transactionDao().transactionsByAmount(search);
|
||||
dataSource = this.db.transactionDao().transactionsByAmount(search);
|
||||
break;
|
||||
case "is_input":
|
||||
livePagedListProvider = this.db.transactionDao().transactionsByIsInput(search);
|
||||
dataSource = this.db.transactionDao().transactionsByIsInput(search);
|
||||
break;
|
||||
case "from":
|
||||
livePagedListProvider = this.db.transactionDao().transactionsByFrom(search);
|
||||
dataSource = this.db.transactionDao().transactionsByFrom(search);
|
||||
break;
|
||||
case "to":
|
||||
livePagedListProvider = this.db.transactionDao().transactionsByTo(search);
|
||||
dataSource = this.db.transactionDao().transactionsByTo(search);
|
||||
break;
|
||||
default:
|
||||
livePagedListProvider = this.db.transactionDao().transactionsByDate(search);
|
||||
dataSource = this.db.transactionDao().transactionsByDate(search);
|
||||
}
|
||||
if (livePagedListProvider != null) {
|
||||
this.transactionList = livePagedListProvider.create(0,
|
||||
if (dataSource != null) {
|
||||
this.transactionList = new LivePagedListBuilder(dataSource,
|
||||
new PagedList.Config.Builder()
|
||||
.setEnablePlaceholders(true)
|
||||
.setPageSize(10)
|
||||
.setPrefetchDistance(10)
|
||||
.build()
|
||||
);
|
||||
).build();
|
||||
} else {
|
||||
this.transactionList = null;
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ public class AccountSeedListView extends RelativeLayout {
|
|||
}
|
||||
|
||||
if (data != null) {
|
||||
this.listAdapter.setList(data);
|
||||
this.listAdapter.submitList(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ public class ContactListView extends RelativeLayout {
|
|||
|
||||
//Sets the data of the transaction list
|
||||
if (data != null) {
|
||||
this.listAdapter.setList(data);
|
||||
this.listAdapter.submitList(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ public class CryptoCoinBalanceListView extends RelativeLayout {
|
|||
//sets the data of the list adapter
|
||||
if (data != null) {
|
||||
this.listAdapter.setCryptoNetBalanceViewHolder(cryptoNetBalanceViewHolder);
|
||||
this.listAdapter.setList(data);
|
||||
this.listAdapter.submitList(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ public class CryptoNetAccountListView extends RelativeLayout {
|
|||
}
|
||||
|
||||
if (data != null) {
|
||||
this.listAdapter.setList(data);
|
||||
this.listAdapter.submitList(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ public class CryptoNetBalanceListView extends RelativeLayout {
|
|||
|
||||
//sets the data of the list adapter
|
||||
if (data != null) {
|
||||
this.listAdapter.setList(data);
|
||||
this.listAdapter.submitList(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ public class TransactionListView extends RelativeLayout {
|
|||
|
||||
//Sets the data of the transaction list
|
||||
if (data != null) {
|
||||
this.listAdapter.setList(data);
|
||||
this.listAdapter.submitList(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 22 KiB |
|
@ -44,4 +44,6 @@
|
|||
<color name="send_light_orange">#FF9269</color>
|
||||
<color name="receive_light_green">#52CE84</color>
|
||||
<color name="receive_strong_green">#4EBB7F</color>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -6,7 +6,7 @@ buildscript {
|
|||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.0.1'
|
||||
classpath 'com.android.tools.build:gradle:3.1.3'
|
||||
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
#Mon Nov 13 18:37:27 VET 2017
|
||||
#Thu Jun 07 09:09:01 CDT 2018
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
|
||||
|
|