mirror of
https://github.com/M66B/FairEmail.git
synced 2024-12-29 11:15:51 +00:00
Updated encryption on changing identity
This commit is contained in:
parent
4b99002b45
commit
c51f0e99e7
1 changed files with 60 additions and 0 deletions
|
@ -4648,6 +4648,8 @@ public class FragmentCompose extends FragmentBase {
|
|||
grpSignature.setVisibility(signature == null ? View.GONE : View.VISIBLE);
|
||||
|
||||
setBodyPadding();
|
||||
|
||||
updateEncryption();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4659,6 +4661,64 @@ public class FragmentCompose extends FragmentBase {
|
|||
grpSignature.setVisibility(View.GONE);
|
||||
|
||||
setBodyPadding();
|
||||
|
||||
updateEncryption();
|
||||
}
|
||||
|
||||
private void updateEncryption() {
|
||||
EntityIdentity identity = (EntityIdentity) spIdentity.getSelectedItem();
|
||||
if (identity == null)
|
||||
return;
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("id", working);
|
||||
args.putLong("identity", identity.id);
|
||||
|
||||
new SimpleTask<Integer>() {
|
||||
@Override
|
||||
protected Integer onExecute(Context context, Bundle args) {
|
||||
long id = args.getLong("id");
|
||||
long iid = args.getLong("identity");
|
||||
|
||||
DB db = DB.getInstance(context);
|
||||
EntityMessage draft = db.message().getMessage(id);
|
||||
if (draft == null ||
|
||||
draft.ui_encrypt == null || EntityMessage.ENCRYPT_NONE.equals(draft.ui_encrypt))
|
||||
return null;
|
||||
|
||||
EntityIdentity identity = db.identity().getIdentity(iid);
|
||||
if (identity == null)
|
||||
return null;
|
||||
|
||||
int encrypt = draft.ui_encrypt;
|
||||
if (identity.encrypt == 0) {
|
||||
if (EntityMessage.SMIME_SIGNONLY.equals(draft.ui_encrypt))
|
||||
encrypt = EntityMessage.PGP_SIGNONLY;
|
||||
else if (EntityMessage.SMIME_SIGNENCRYPT.equals(draft.ui_encrypt))
|
||||
encrypt = EntityMessage.PGP_SIGNENCRYPT;
|
||||
} else {
|
||||
if (EntityMessage.PGP_SIGNONLY.equals(draft.ui_encrypt))
|
||||
encrypt = EntityMessage.SMIME_SIGNONLY;
|
||||
else if (EntityMessage.PGP_SIGNENCRYPT.equals(draft.ui_encrypt))
|
||||
encrypt = EntityMessage.SMIME_SIGNENCRYPT;
|
||||
}
|
||||
|
||||
if (draft.ui_encrypt != encrypt)
|
||||
db.message().setMessageUiEncrypt(draft.id, encrypt);
|
||||
|
||||
return encrypt;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onExecuted(Bundle args, Integer encrypt) {
|
||||
FragmentCompose.this.encrypt = encrypt;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onException(Bundle args, Throwable ex) {
|
||||
Log.unexpectedError(getParentFragmentManager(), ex);
|
||||
}
|
||||
}.execute(FragmentCompose.this, args, "compose:identity");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue