summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
index 4d433013..6058d169 100644
--- a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
@@ -129,13 +129,15 @@ public class PasswordFragment extends Fragment{
public void filterAdapter(String filter) {
if (filter.isEmpty()) {
updateAdapter();
- return;
- }
- for (int i=0; i<recyclerAdapter.getItemCount(); i++) {
- PasswordItem item = recyclerAdapter.getValues().get(i);
- boolean matches = item.getName().toLowerCase().contains(filter);
- if (!matches) {
- recyclerAdapter.remove(i);
+ } else {
+ for (PasswordItem item : PasswordRepository.getPasswords()) {
+ boolean matches = item.getName().toLowerCase().contains(filter);
+ boolean inAdapter = recyclerAdapter.getValues().contains(item);
+ if (matches && !inAdapter) {
+ recyclerAdapter.add(item);
+ } else if (!matches && inAdapter) {
+ recyclerAdapter.remove(recyclerAdapter.getValues().indexOf(item));
+ }
}
}
}