Browse Source

Set first new account/identity primary only

main
M66B 6 years ago
parent
commit
ee08ec2597
3 changed files with 28 additions and 2 deletions
  1. +2
    -2
      app/src/main/java/eu/faircode/email/DaoIdentity.java
  2. +13
    -0
      app/src/main/java/eu/faircode/email/FragmentAccount.java
  3. +13
    -0
      app/src/main/java/eu/faircode/email/FragmentIdentity.java

+ 2
- 2
app/src/main/java/eu/faircode/email/DaoIdentity.java View File

@ -48,8 +48,8 @@ public interface DaoIdentity {
@Query("SELECT * FROM identity WHERE id = :id") @Query("SELECT * FROM identity WHERE id = :id")
LiveData<EntityIdentity> liveIdentity(long id); LiveData<EntityIdentity> liveIdentity(long id);
@Query("SELECT * FROM identity WHERE account = :account AND `primary`")
EntityIdentity getPrimaryIdentity(long account);
@Query("SELECT COUNT(*) FROM identity WHERE synchronize")
int getSynchronizingIdentityCount();
@Insert @Insert
long insertIdentity(EntityIdentity identity); long insertIdentity(EntityIdentity identity);


+ 13
- 0
app/src/main/java/eu/faircode/email/FragmentAccount.java View File

@ -751,6 +751,19 @@ public class FragmentAccount extends FragmentEx {
cbSynchronize.setChecked(account == null ? true : account.synchronize); cbSynchronize.setChecked(account == null ? true : account.synchronize);
cbPrimary.setChecked(account == null ? true : account.primary); cbPrimary.setChecked(account == null ? true : account.primary);
if (account == null)
new SimpleTask<Integer>() {
@Override
protected Integer onLoad(Context context, Bundle args) {
return DB.getInstance(context).account().getSynchronizingAccountCount();
}
@Override
protected void onLoaded(Bundle args, Integer count) {
cbPrimary.setChecked(count == 0);
}
}.load(FragmentAccount.this, new Bundle());
} else { } else {
int provider = savedInstanceState.getInt("provider"); int provider = savedInstanceState.getInt("provider");
spProvider.setTag(provider); spProvider.setTag(provider);


+ 13
- 0
app/src/main/java/eu/faircode/email/FragmentIdentity.java View File

@ -436,6 +436,19 @@ public class FragmentIdentity extends FragmentEx {
cbStoreSent.setChecked(identity == null ? false : identity.store_sent); cbStoreSent.setChecked(identity == null ? false : identity.store_sent);
etName.requestFocus(); etName.requestFocus();
if (identity == null)
new SimpleTask<Integer>() {
@Override
protected Integer onLoad(Context context, Bundle args) {
return DB.getInstance(context).identity().getSynchronizingIdentityCount();
}
@Override
protected void onLoaded(Bundle args, Integer count) {
cbPrimary.setChecked(count == 0);
}
}.load(FragmentIdentity.this, new Bundle());
} else { } else {
tilPassword.getEditText().setText(savedInstanceState.getString("password")); tilPassword.getEditText().setText(savedInstanceState.getString("password"));
grpAdvanced.setVisibility(savedInstanceState.getInt("advanced")); grpAdvanced.setVisibility(savedInstanceState.getInt("advanced"));


Loading…
Cancel
Save