From 43ab783ac3f7d425e63a4c242b09038dbefaa247 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 17 Apr 2022 14:04:00 +0200 Subject: [PATCH] Updated / account type --- .../main/java/eu/faircode/email/DaoAccount.java | 3 ++- .../java/eu/faircode/email/FragmentGmail.java | 4 +++- .../java/eu/faircode/email/FragmentOAuth.java | 4 +++- .../eu/faircode/email/FragmentQuickSetup.java | 15 +++++---------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DaoAccount.java b/app/src/main/java/eu/faircode/email/DaoAccount.java index 7bd2128f01..437b8b9a5e 100644 --- a/app/src/main/java/eu/faircode/email/DaoAccount.java +++ b/app/src/main/java/eu/faircode/email/DaoAccount.java @@ -155,9 +155,10 @@ public interface DaoAccount { @Query("SELECT * FROM account" + " WHERE user = :user" + + " AND pop = :protocol" + " AND auth_type IN (:auth_type)" + " AND tbd IS NULL") - List getAccounts(String user, int[] auth_type); + List getAccounts(String user, int protocol, int[] auth_type); @Query("SELECT * FROM account WHERE `primary`") EntityAccount getPrimaryAccount(); diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index 71483c460c..0e8a6352f9 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -456,7 +456,9 @@ public class FragmentGmail extends FragmentBase { if (args.getBoolean("update")) { List accounts = - db.account().getAccounts(user, new int[]{AUTH_TYPE_GMAIL, AUTH_TYPE_PASSWORD}); + db.account().getAccounts(user, + EntityAccount.TYPE_IMAP, + new int[]{AUTH_TYPE_GMAIL, AUTH_TYPE_PASSWORD}); if (accounts != null && accounts.size() == 1) update = accounts.get(0); } diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index 042d73db98..986888c110 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -765,7 +765,9 @@ public class FragmentOAuth extends FragmentBase { if (args.getBoolean("update")) { List accounts = - db.account().getAccounts(username, new int[]{AUTH_TYPE_OAUTH, AUTH_TYPE_PASSWORD}); + db.account().getAccounts(username, + pop ? EntityAccount.TYPE_POP : EntityAccount.TYPE_IMAP, + new int[]{AUTH_TYPE_OAUTH, AUTH_TYPE_PASSWORD}); if (accounts != null && accounts.size() == 1) update = accounts.get(0); } diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java index 3ceda469ba..fa68de9a32 100644 --- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java @@ -457,16 +457,11 @@ public class FragmentQuickSetup extends FragmentBase { if (args.getBoolean("update")) { List accounts = - db.account().getAccounts(user, new int[]{AUTH_TYPE_PASSWORD}); - if (accounts != null) - for (EntityAccount existing : accounts) - if (existing.protocol == EntityAccount.TYPE_IMAP) - if (update == null) - update = existing; - else { - update = null; - break; - } + db.account().getAccounts(user, + EntityAccount.TYPE_IMAP, + new int[]{AUTH_TYPE_PASSWORD}); + if (accounts != null && accounts.size() == 1) + update = accounts.get(0); } if (update == null) {