From 20858227fc6fdefc3e44da6f4921584a696f4b10 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 31 Dec 2022 10:46:25 +0100 Subject: [PATCH] Prevent importing duplicate saved searches --- .../main/java/eu/faircode/email/ActivitySetup.java | 14 ++++++++++++-- .../main/java/eu/faircode/email/EntitySearch.java | 3 ++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index 52336d96be..570e87d6f9 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -1118,8 +1118,18 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac for (int s = 0; s < jsearches.length(); s++) { JSONObject jsearch = (JSONObject) jsearches.get(s); EntitySearch search = EntitySearch.fromJSON(jsearch); - search.id = null; - db.search().insertSearch(search); + + boolean found = false; + for (EntitySearch other : db.search().getSearches()) + if (other.equals(search)) { + found = true; + break; + } + + if (!found) { + search.id = null; + db.search().insertSearch(search); + } } } diff --git a/app/src/main/java/eu/faircode/email/EntitySearch.java b/app/src/main/java/eu/faircode/email/EntitySearch.java index 055888b461..935e5c54db 100644 --- a/app/src/main/java/eu/faircode/email/EntitySearch.java +++ b/app/src/main/java/eu/faircode/email/EntitySearch.java @@ -82,7 +82,8 @@ public class EntitySearch { public boolean equals(Object obj) { if (obj instanceof EntitySearch) { EntitySearch other = (EntitySearch) obj; - return (this.id.equals(other.id) && + return (Objects.equals(this.account_uuid, other.account_uuid) && + Objects.equals(this.folder_name, other.folder_name) && this.name.equals(other.name) && Objects.equals(this.order, other.order) && Objects.equals(this.color, other.color) &&