2018-01-18 02:49:42 +00:00
|
|
|
package cy.agorise.crystalwallet.viewmodels;
|
|
|
|
|
|
|
|
import android.app.Application;
|
2018-11-29 18:20:25 +00:00
|
|
|
import androidx.lifecycle.AndroidViewModel;
|
|
|
|
import androidx.lifecycle.LiveData;
|
|
|
|
import androidx.paging.LivePagedListBuilder;
|
|
|
|
import androidx.paging.PagedList;
|
2018-01-18 02:49:42 +00:00
|
|
|
|
|
|
|
import cy.agorise.crystalwallet.dao.CrystalDatabase;
|
2018-02-18 01:08:38 +00:00
|
|
|
import cy.agorise.crystalwallet.enums.CryptoNet;
|
2018-01-18 02:49:42 +00:00
|
|
|
import cy.agorise.crystalwallet.models.Contact;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created by Henry Varona on 1/17/2018.
|
|
|
|
*/
|
|
|
|
|
|
|
|
public class ContactListViewModel extends AndroidViewModel {
|
|
|
|
|
|
|
|
private LiveData<PagedList<Contact>> contactList;
|
|
|
|
private CrystalDatabase db;
|
|
|
|
|
|
|
|
public ContactListViewModel(Application application) {
|
|
|
|
super(application);
|
|
|
|
this.db = CrystalDatabase.getAppDatabase(application.getApplicationContext());
|
2018-06-10 18:35:06 +00:00
|
|
|
contactList = new LivePagedListBuilder(this.db.contactDao().contactsByName(),
|
2018-01-18 02:49:42 +00:00
|
|
|
new PagedList.Config.Builder()
|
|
|
|
.setEnablePlaceholders(true)
|
|
|
|
.setPageSize(10)
|
|
|
|
.setPrefetchDistance(10)
|
|
|
|
.build()
|
2018-06-10 18:35:06 +00:00
|
|
|
).build();
|
2018-01-18 02:49:42 +00:00
|
|
|
}
|
|
|
|
|
2018-02-18 01:08:38 +00:00
|
|
|
public void init(CryptoNet cryptoNet){
|
2018-06-10 18:35:06 +00:00
|
|
|
contactList = new LivePagedListBuilder(this.db.contactDao().contactsByNameAndCryptoNet(cryptoNet.name()),
|
2018-02-18 01:08:38 +00:00
|
|
|
new PagedList.Config.Builder()
|
|
|
|
.setEnablePlaceholders(true)
|
|
|
|
.setPageSize(10)
|
|
|
|
.setPrefetchDistance(10)
|
|
|
|
.build()
|
2018-06-10 18:35:06 +00:00
|
|
|
).build();
|
2018-02-18 01:08:38 +00:00
|
|
|
}
|
|
|
|
|
2018-01-18 02:49:42 +00:00
|
|
|
public LiveData<PagedList<Contact>> getContactList(){
|
|
|
|
return this.contactList;
|
|
|
|
}
|
2018-02-05 01:43:20 +00:00
|
|
|
|
|
|
|
public boolean contactExists(String name){
|
|
|
|
return this.db.contactDao().existsByName(name);
|
|
|
|
}
|
2018-01-18 02:49:42 +00:00
|
|
|
}
|