From 31f4445773c92c2187e12665024752624c121eda Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 9 Nov 2018 12:21:12 +0000 Subject: [PATCH] Fixed identity selection compose --- app/src/main/java/eu/faircode/email/DaoIdentity.java | 5 +++-- app/src/main/java/eu/faircode/email/FragmentCompose.java | 4 ++-- app/src/main/java/eu/faircode/email/FragmentSetup.java | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DaoIdentity.java b/app/src/main/java/eu/faircode/email/DaoIdentity.java index 46917979a4..1e768e0144 100644 --- a/app/src/main/java/eu/faircode/email/DaoIdentity.java +++ b/app/src/main/java/eu/faircode/email/DaoIdentity.java @@ -35,9 +35,10 @@ public interface DaoIdentity { @Query("SELECT identity.* FROM identity" + " JOIN account ON account.id = identity.account" + - " WHERE account.synchronize = :synchronize" + + " WHERE (:account IS NULL OR account.id = :account)" + + " AND account.synchronize = :synchronize" + " AND identity.synchronize = :synchronize") - LiveData> liveIdentities(boolean synchronize); + LiveData> liveIdentities(Long account, boolean synchronize); @Query("SELECT * FROM identity") List getIdentities(); diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 1b4a29c1e6..9c82680a78 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -1299,8 +1299,8 @@ public class FragmentCompose extends FragmentEx { DB db = DB.getInstance(getContext()); - db.identity().liveIdentities(true).removeObservers(getViewLifecycleOwner()); - db.identity().liveIdentities(true).observe(getViewLifecycleOwner(), new Observer>() { + db.identity().liveIdentities(result.draft.account, true).removeObservers(getViewLifecycleOwner()); + db.identity().liveIdentities(result.draft.account, true).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 a3484fab1d..810138f1b9 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -354,7 +354,7 @@ public class FragmentSetup extends FragmentEx { } }); - db.identity().liveIdentities(true).observe(getViewLifecycleOwner(), new Observer>() { + db.identity().liveIdentities(null, true).observe(getViewLifecycleOwner(), new Observer>() { @Override public void onChanged(@Nullable List identities) { boolean done = (identities != null && identities.size() > 0);