import net.ktnx.mobileledger.async.UpdateTransactionsTask;
import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.TransactionListItem;
import net.ktnx.mobileledger.utils.LockHolder;
import net.ktnx.mobileledger.utils.ObservableValue;
import net.ktnx.mobileledger.async.UpdateTransactionsTask;
import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.TransactionListItem;
import net.ktnx.mobileledger.utils.LockHolder;
import net.ktnx.mobileledger.utils.ObservableValue;
public class TransactionListViewModel extends ViewModel {
public static ObservableValue<Boolean> updating = new ObservableValue<>();
public static ObservableValue<String> updateError = new ObservableValue<>();
public static void scheduleTransactionListReload() {
public class TransactionListViewModel extends ViewModel {
public static ObservableValue<Boolean> updating = new ObservableValue<>();
public static ObservableValue<String> updateError = new ObservableValue<>();
public static void scheduleTransactionListReload() {
String filter = Data.accountFilter.getValue();
AsyncTask<String, Void, String> task = new UTT();
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, filter);
}
public static TransactionListItem getTransactionListItem(int position) {
String filter = Data.accountFilter.getValue();
AsyncTask<String, Void, String> task = new UTT();
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, filter);
}
public static TransactionListItem getTransactionListItem(int position) {
try(LockHolder lh = Data.transactions.lockForReading()) {
if (position >= Data.transactions.size()) return null;
return Data.transactions.get(position);
try(LockHolder lh = Data.transactions.lockForReading()) {
if (position >= Data.transactions.size()) return null;
return Data.transactions.get(position);