From 1aeeebc698935ded7cdc1aea8fbeb6b492e59fc2 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 10 Dec 2018 08:48:05 +0100 Subject: [PATCH] Default primary when no primary account yet --- .../java/eu/faircode/email/DaoAccount.java | 3 -- .../eu/faircode/email/FragmentAccount.java | 29 +++++++++---------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DaoAccount.java b/app/src/main/java/eu/faircode/email/DaoAccount.java index 063cdfbc99..280bf00019 100644 --- a/app/src/main/java/eu/faircode/email/DaoAccount.java +++ b/app/src/main/java/eu/faircode/email/DaoAccount.java @@ -47,9 +47,6 @@ public interface DaoAccount { @Query("SELECT * FROM account WHERE `primary`") EntityAccount getPrimaryAccount(); - @Query("SELECT COUNT(*) FROM account WHERE synchronize") - int getSynchronizingAccountCount(); - @Query("SELECT * FROM account WHERE `primary`") LiveData livePrimaryAccount(); diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index b5c116da77..b9d69f9061 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -945,23 +945,22 @@ public class FragmentAccount extends FragmentEx { color = (account == null || account.color == null ? Color.TRANSPARENT : account.color); - if (account == null) - new SimpleTask() { - @Override - protected Integer onLoad(Context context, Bundle args) { - return DB.getInstance(context).account().getSynchronizingAccountCount(); - } + new SimpleTask() { + @Override + protected EntityAccount onLoad(Context context, Bundle args) { + return DB.getInstance(context).account().getPrimaryAccount(); + } - @Override - protected void onLoaded(Bundle args, Integer count) { - cbPrimary.setChecked(count == 0); - } + @Override + protected void onLoaded(Bundle args, EntityAccount primary) { + cbPrimary.setChecked(primary == null); + } - @Override - protected void onException(Bundle args, Throwable ex) { - Helper.unexpectedError(getContext(), getViewLifecycleOwner(), ex); - } - }.load(FragmentAccount.this, new Bundle()); + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(getContext(), getViewLifecycleOwner(), ex); + } + }.load(FragmentAccount.this, new Bundle()); } else { int provider = savedInstanceState.getInt("provider"); spProvider.setTag(provider);