Merge branch 'master' into develop

This commit is contained in:
Javier Varona 2018-06-12 20:58:45 -04:00
commit 52f5696714
42 changed files with 113 additions and 90 deletions

View file

@ -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

View file

@ -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'
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);
}
});
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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(){

View file

@ -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;
}

View file

@ -65,7 +65,7 @@ public class AccountSeedListView extends RelativeLayout {
}
if (data != null) {
this.listAdapter.setList(data);
this.listAdapter.submitList(data);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -64,7 +64,7 @@ public class CryptoNetAccountListView extends RelativeLayout {
}
if (data != null) {
this.listAdapter.setList(data);
this.listAdapter.submitList(data);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -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>

View file

@ -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

View file

@ -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