]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/db/AccountAutocompleteAdapter.java
account name auto-complete: convert input to upper case
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / db / AccountAutocompleteAdapter.java
index 9eabeb914ee75b31f4b035f0b68d0f9f7243ed38..ecc21db74e69e624c28d56f02a53bc696a451262 100644 (file)
@@ -24,11 +24,12 @@ 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<Account> {
+public class AccountAutocompleteAdapter extends ArrayAdapter<String> {
     private final AccountFilter filter = new AccountFilter();
     private final AccountDAO dao = DB.get()
                                      .getAccountDAO();
@@ -66,10 +67,13 @@ public class AccountAutocompleteAdapter extends ArrayAdapter<Account> {
                 return results;
             }
 
-            final List<Account> matches =
-                    (profileUUID == null) ? dao.lookupByNameSync(String.valueOf(constraint))
+            Logger.debug("acc", String.format("Looking for account '%s'", constraint));
+            final List<String> matches = AccountDAO.unbox(
+                    (profileUUID == null) ? dao.lookupByNameSync(String.valueOf(constraint)
+                                                                       .toUpperCase())
                                           : dao.lookupInProfileByNameSync(profileUUID,
-                                                  String.valueOf(constraint));
+                                                  String.valueOf(constraint)
+                                                        .toUpperCase()));
             results.values = matches;
             results.count = matches.size();
 
@@ -84,7 +88,7 @@ public class AccountAutocompleteAdapter extends ArrayAdapter<Account> {
             else {
                 setNotifyOnChange(false);
                 clear();
-                addAll((List<Account>) results.values);
+                addAll((List<String>) results.values);
                 notifyDataSetChanged();
             }
         }