aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java21
1 files changed, 15 insertions, 6 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java
index 2ad769b00..9343b166a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SelectPublicKeyFragment.java
@@ -55,7 +55,7 @@ public class SelectPublicKeyFragment extends ListFragmentWorkaround implements T
private SelectKeyCursorAdapter mAdapter;
private EditText mSearchView;
private long mSelectedMasterKeyIds[];
- private String mCurQuery;
+ private String mQuery;
// copied from ListFragment
static final int INTERNAL_EMPTY_ID = 0x00ff0001;
@@ -281,9 +281,18 @@ public class SelectPublicKeyFragment extends ListFragmentWorkaround implements T
}
String where = null;
String whereArgs[] = null;
- if (mCurQuery != null) {
- where = KeyRings.USER_ID + " LIKE ?";
- whereArgs = new String[]{"%" + mCurQuery + "%"};
+ if (mQuery != null) {
+ String[] words = mQuery.trim().split("\\s+");
+ whereArgs = new String[words.length];
+ for (int i = 0; i < words.length; ++i) {
+ if (where == null) {
+ where = "";
+ } else {
+ where += " AND ";
+ }
+ where += KeyRings.USER_ID + " LIKE ?";
+ whereArgs[i] = "%" + words[i] + "%";
+ }
}
// Now create and return a CursorLoader that will take care of
@@ -295,7 +304,7 @@ public class SelectPublicKeyFragment extends ListFragmentWorkaround implements T
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
// Swap the new cursor in. (The framework will take care of closing the
// old cursor once we return.)
- mAdapter.setSearchQuery(mCurQuery);
+ mAdapter.setSearchQuery(mQuery);
mAdapter.swapCursor(data);
// The list should now be shown.
@@ -329,7 +338,7 @@ public class SelectPublicKeyFragment extends ListFragmentWorkaround implements T
@Override
public void afterTextChanged(Editable editable) {
- mCurQuery = !TextUtils.isEmpty(editable.toString()) ? editable.toString() : null;
+ mQuery = !TextUtils.isEmpty(editable.toString()) ? editable.toString() : null;
getLoaderManager().restartLoader(0, null, this);
}