From 51083556f18c0fab2647edd2385bcb6bf7f7ce9b Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Mon, 5 Oct 2020 19:51:56 +0300 Subject: [PATCH] CommonComposeViewModel: filter all unrelated autocomplete suggestions --- .../tusky/adapter/ComposeAutoCompleteAdapter.java | 2 +- .../tusky/components/common/CommonComposeViewModel.kt | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/ComposeAutoCompleteAdapter.java b/app/src/main/java/com/keylesspalace/tusky/adapter/ComposeAutoCompleteAdapter.java index ebc292ab..35bee804 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/ComposeAutoCompleteAdapter.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/ComposeAutoCompleteAdapter.java @@ -267,7 +267,7 @@ public class ComposeAutoCompleteAdapter extends BaseAdapter } public final static class AccountResult extends AutocompleteResult { - private final Account account; + public final Account account; public AccountResult(Account account) { this.account = account; diff --git a/app/src/main/java/com/keylesspalace/tusky/components/common/CommonComposeViewModel.kt b/app/src/main/java/com/keylesspalace/tusky/components/common/CommonComposeViewModel.kt index d927dea7..ce4e69c8 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/common/CommonComposeViewModel.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/common/CommonComposeViewModel.kt @@ -252,9 +252,13 @@ open class CommonComposeViewModel( when (token[0]) { '@' -> { return try { - api.searchAccounts(query = token.substring(1), limit = 10) + val acct = token.substring(1) + api.searchAccounts(query = acct, resolve = true, limit = 10) .blockingGet() .map { ComposeAutoCompleteAdapter.AccountResult(it) } + .filter { + it.account.username.startsWith(acct, ignoreCase = true) + } } catch (e: Throwable) { Log.e(TAG, String.format("Autocomplete search for %s failed.", token), e) emptyList()