From: Damyan Ivanov Date: Tue, 20 Apr 2021 21:01:31 +0000 (+0300) Subject: fix finding the earliest transaction by date X-Git-Tag: v0.18.0~67 X-Git-Url: https://git.ktnx.net/?a=commitdiff_plain;h=3c459e59ba3ac6082d65984359fcb6276965de4d;p=mobile-ledger.git fix finding the earliest transaction by date --- 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 608b4771..2bce07e1 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/TransactionDateFinder.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/TransactionDateFinder.java @@ -1,5 +1,5 @@ /* - * Copyright © 2020 Damyan Ivanov. + * Copyright © 2021 Damyan Ivanov. * This file is part of MoLe. * MoLe is free software: you can distribute it and/or modify it * under the term of the GNU General Public License as published by @@ -48,8 +48,9 @@ public class TransactionDateFinder extends AsyncTask transactions = Objects.requireNonNull( param[0].model.getDisplayedTransactions() .getValue()); + final int transactionCount = transactions.size(); Logger.debug("go-to-date", - String.format(Locale.US, "List contains %d transactions", transactions.size())); + String.format(Locale.US, "List contains %d transactions", transactionCount)); TransactionListItem target = new TransactionListItem(date, true); int found = @@ -57,7 +58,7 @@ public class TransactionDateFinder extends AsyncTask= 0) return found; else - return 1 - found; + return -1 - found; } public static class Params { @@ -72,9 +73,11 @@ public class TransactionDateFinder extends AsyncTask { @Override public int compare(@NotNull TransactionListItem a, @NotNull TransactionListItem b) { - if (a.getType() == TransactionListItem.Type.HEADER) + final TransactionListItem.Type aType = a.getType(); + if (aType == TransactionListItem.Type.HEADER) return +1; - if (b.getType() == TransactionListItem.Type.HEADER) + final TransactionListItem.Type bType = b.getType(); + if (bType == TransactionListItem.Type.HEADER) return -1; final SimpleDate aDate = a.getDate(); final SimpleDate bDate = b.getDate(); @@ -82,14 +85,14 @@ public class TransactionDateFinder extends AsyncTask