X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FTransactionDateFinder.java;h=18cea62fa2b3f415f49598d1054bda02106d5d87;hb=HEAD;hp=2bce07e1ca08fc4218aa7aba911491c9fc2c5c87;hpb=3c459e59ba3ac6082d65984359fcb6276965de4d;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/async/TransactionDateFinder.java b/app/src/main/java/net/ktnx/mobileledger/async/TransactionDateFinder.java index 2bce07e1..18cea62f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/TransactionDateFinder.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/TransactionDateFinder.java @@ -17,8 +17,6 @@ package net.ktnx.mobileledger.async; -import android.os.AsyncTask; - import net.ktnx.mobileledger.model.TransactionListItem; import net.ktnx.mobileledger.ui.MainModel; import net.ktnx.mobileledger.utils.Logger; @@ -32,22 +30,21 @@ import java.util.List; import java.util.Locale; import java.util.Objects; -public class TransactionDateFinder extends AsyncTask { - private MainModel model; - @Override - protected void onPostExecute(Integer pos) { - model.foundTransactionItemIndex.setValue(pos); +public class TransactionDateFinder extends Thread { + private final MainModel model; + private final SimpleDate date; + public TransactionDateFinder(MainModel model, SimpleDate date) { + this.model = model; + this.date = date; } @Override - protected Integer doInBackground(Params... param) { - this.model = param[0].model; - SimpleDate date = param[0].date; + public void run() { Logger.debug("go-to-date", String.format(Locale.US, "Looking for date %04d-%02d-%02d", date.year, date.month, date.day)); List transactions = Objects.requireNonNull( - param[0].model.getDisplayedTransactions() - .getValue()); + model.getDisplayedTransactions() + .getValue()); final int transactionCount = transactions.size(); Logger.debug("go-to-date", String.format(Locale.US, "List contains %d transactions", transactionCount)); @@ -55,19 +52,10 @@ public class TransactionDateFinder extends AsyncTask= 0) - return found; - else - return -1 - found; - } + if (found < 0) + found = -1 - found; - public static class Params { - public final MainModel model; - public final SimpleDate date; - public Params(@NotNull MainModel model, @NotNull SimpleDate date) { - this.model = model; - this.date = date; - } + model.foundTransactionItemIndex.postValue(found); } static class TransactionListItemComparator implements Comparator {