]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/db/AccountAutocompleteAdapter.java
show current account balance when choosing account in new transactions
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / db / AccountAutocompleteAdapter.java
index 42bf4c6b50f4e9579fcf4e894d7f97be85ecc564..6a92b6170214a9026fba0e57e40c640b4d218c60 100644 (file)
@@ -24,21 +24,22 @@ import android.widget.Filter;
 import androidx.annotation.NonNull;
 
 import net.ktnx.mobileledger.dao.AccountDAO;
-import net.ktnx.mobileledger.model.MobileLedgerProfile;
 import net.ktnx.mobileledger.utils.Logger;
 
 import java.util.ArrayList;
 import java.util.List;
 
+import static net.ktnx.mobileledger.db.Profile.NO_PROFILE_ID;
+
 public class AccountAutocompleteAdapter extends ArrayAdapter<String> {
     private final AccountFilter filter = new AccountFilter();
     private final AccountDAO dao = DB.get()
                                      .getAccountDAO();
-    private long profileId;
+    private long profileId = NO_PROFILE_ID;
     public AccountAutocompleteAdapter(Context context) {
         super(context, android.R.layout.simple_dropdown_item_1line, new ArrayList<>());
     }
-    public AccountAutocompleteAdapter(Context context, @NonNull MobileLedgerProfile profile) {
+    public AccountAutocompleteAdapter(Context context, @NonNull Profile profile) {
         this(context);
         profileId = profile.getId();
     }
@@ -73,11 +74,12 @@ public class AccountAutocompleteAdapter extends ArrayAdapter<String> {
             }
 
             Logger.debug("acc", String.format("Looking for account '%s'", constraint));
-            final List<String> matches = AccountDAO.unbox((profileId == 0) ? dao.lookupByNameSync(
-                    String.valueOf(constraint)
-                          .toUpperCase()) : dao.lookupInProfileByNameSync(profileId,
-                    String.valueOf(constraint)
-                          .toUpperCase()));
+            final List<String> matches = AccountDAO.unbox(
+                    (profileId == NO_PROFILE_ID) ? dao.lookupNamesByNameSync(
+                            String.valueOf(constraint)
+                                  .toUpperCase()) : dao.lookupNamesInProfileByNameSync(profileId,
+                            String.valueOf(constraint)
+                                  .toUpperCase()));
             results.values = matches;
             results.count = matches.size();