X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FAccountAutocompleteAdapter.java;h=9b6d41ba9505ccc413e0c9f4982289333ef34fd9;hb=5df10dc0b58df4d4be4e9ab34f1e0f477ca46766;hp=9eabeb914ee75b31f4b035f0b68d0f9f7243ed38;hpb=d6040b0ed8cc133b60ad25aa2f38e2cb9a6ad166;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/db/AccountAutocompleteAdapter.java b/app/src/main/java/net/ktnx/mobileledger/db/AccountAutocompleteAdapter.java index 9eabeb91..9b6d41ba 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/AccountAutocompleteAdapter.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/AccountAutocompleteAdapter.java @@ -24,20 +24,25 @@ import android.widget.Filter; import androidx.annotation.NonNull; import net.ktnx.mobileledger.dao.AccountDAO; +import net.ktnx.mobileledger.utils.Logger; import java.util.ArrayList; import java.util.List; -public class AccountAutocompleteAdapter extends ArrayAdapter { +public class AccountAutocompleteAdapter extends ArrayAdapter { private final AccountFilter filter = new AccountFilter(); private final AccountDAO dao = DB.get() .getAccountDAO(); - private String profileUUID; + private long profileId; public AccountAutocompleteAdapter(Context context) { super(context, android.R.layout.simple_dropdown_item_1line, new ArrayList<>()); } - public void setProfileUUID(String profileUUID) { - this.profileUUID = profileUUID; + public AccountAutocompleteAdapter(Context context, @NonNull Profile profile) { + this(context); + profileId = profile.getId(); + } + public void setProfileId(long profileId) { + this.profileId = profileId; } @NonNull @Override @@ -66,10 +71,12 @@ public class AccountAutocompleteAdapter extends ArrayAdapter { return results; } - final List matches = - (profileUUID == null) ? dao.lookupByNameSync(String.valueOf(constraint)) - : dao.lookupInProfileByNameSync(profileUUID, - String.valueOf(constraint)); + Logger.debug("acc", String.format("Looking for account '%s'", constraint)); + final List matches = AccountDAO.unbox((profileId == 0) ? dao.lookupByNameSync( + String.valueOf(constraint) + .toUpperCase()) : dao.lookupInProfileByNameSync(profileId, + String.valueOf(constraint) + .toUpperCase())); results.values = matches; results.count = matches.size(); @@ -84,7 +91,7 @@ public class AccountAutocompleteAdapter extends ArrayAdapter { else { setNotifyOnChange(false); clear(); - addAll((List) results.values); + addAll((List) results.values); notifyDataSetChanged(); } }