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);