From ab8f5198088c36ca3aa9dd24aba4add0d972fdb7 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 22 Feb 2020 08:30:49 +0100 Subject: [PATCH] Improved error message --- .../java/eu/faircode/email/DaoIdentity.java | 18 ++++++++++++------ .../eu/faircode/email/FragmentIdentities.java | 2 +- .../java/eu/faircode/email/FragmentSetup.java | 2 +- app/src/main/res/values/strings.xml | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DaoIdentity.java b/app/src/main/java/eu/faircode/email/DaoIdentity.java index 113e9de04e..eb356a34eb 100644 --- a/app/src/main/java/eu/faircode/email/DaoIdentity.java +++ b/app/src/main/java/eu/faircode/email/DaoIdentity.java @@ -29,18 +29,24 @@ import java.util.List; @Dao public interface DaoIdentity { - @Query("SELECT identity.*, account.name AS accountName FROM identity" + - " JOIN account ON account.id = identity.account" + - " WHERE NOT :synchronize OR account.synchronize") - LiveData> liveIdentities(boolean synchronize); - @Query(TupleIdentityView.query) LiveData> liveIdentityView(); + @Query("SELECT identity.*, account.name AS accountName FROM identity" + + " JOIN account ON account.id = identity.account") + LiveData> liveIdentities(); + @Query("SELECT identity.*, account.name AS accountName FROM identity" + " JOIN account ON account.id = identity.account" + " JOIN folder ON folder.account = identity.account AND folder.type = '" + EntityFolder.DRAFTS + "'" + - " WHERE (:account IS NULL OR identity.account = :account)" + + " AND identity.synchronize" + + " AND account.synchronize") + LiveData> liveComposableIdentities(); + + @Query("SELECT identity.*, account.name AS accountName FROM identity" + + " JOIN account ON account.id = identity.account" + + " JOIN folder ON folder.account = identity.account AND folder.type = '" + EntityFolder.DRAFTS + "'" + + " WHERE (:account IS NULL OR account.id = :account)" + " AND identity.synchronize" + " AND account.synchronize" + " ORDER BY account.`order`, account.`primary` DESC, account.name COLLATE NOCASE" + diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentities.java b/app/src/main/java/eu/faircode/email/FragmentIdentities.java index 241afbd045..d3d284dd68 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentities.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentities.java @@ -128,7 +128,7 @@ public class FragmentIdentities extends FragmentBase { super.onActivityCreated(savedInstanceState); // Observe identities - DB.getInstance(getContext()).identity().liveIdentities(false).observe(getViewLifecycleOwner(), new Observer>() { + DB.getInstance(getContext()).identity().liveIdentities().observe(getViewLifecycleOwner(), new Observer>() { @Override public void onChanged(@Nullable List identities) { if (identities == null) diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index b28800f438..da8c2f1173 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -394,7 +394,7 @@ public class FragmentSetup extends FragmentBase { } }); - db.identity().liveIdentities(true).observe(getViewLifecycleOwner(), new Observer>() { + db.identity().liveComposableIdentities().observe(getViewLifecycleOwner(), new Observer>() { @Override public void onChanged(@Nullable List identities) { boolean done = (identities != null && identities.size() > 0); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 80bbc6c411..7e319b0856 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -547,7 +547,7 @@ Password missing Inbox not found No primary account or no drafts folder - Sending emails requires at least one identity + Sending emails requires at least one identity and a drafts folder This provider uses a proprietary email protocol and therefore it is not possible to use third party email clients This provider does not support push messages. This will delay reception of new messages and increase battery usage. This provider does not support UTF-8