diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java
index 0c9d2211f8..d4b144709d 100644
--- a/app/src/main/java/eu/faircode/email/FragmentCompose.java
+++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java
@@ -5667,9 +5667,9 @@ public class FragmentCompose extends FragmentBase {
final TextView tvTo = dview.findViewById(R.id.tvTo);
final TextView tvVia = dview.findViewById(R.id.tvVia);
final CheckBox cbPlainOnly = dview.findViewById(R.id.cbPlainOnly);
- final TextView tvRemindPlain = dview.findViewById(R.id.tvRemindPlain);
+ final TextView tvPlainHint = dview.findViewById(R.id.tvPlainHint);
final CheckBox cbReceipt = dview.findViewById(R.id.cbReceipt);
- final TextView tvReceipt = dview.findViewById(R.id.tvReceiptType);
+ final TextView tvReceiptHint = dview.findViewById(R.id.tvReceiptHint);
final Spinner spEncrypt = dview.findViewById(R.id.spEncrypt);
final ImageButton ibEncryption = dview.findViewById(R.id.ibEncryption);
final Spinner spPriority = dview.findViewById(R.id.spPriority);
@@ -5678,6 +5678,7 @@ public class FragmentCompose extends FragmentBase {
final CheckBox cbArchive = dview.findViewById(R.id.cbArchive);
final CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain);
final TextView tvNotAgain = dview.findViewById(R.id.tvNotAgain);
+ final Group grpDsn = dview.findViewById(R.id.grpDsn);
tvAddressError.setText(address_error == null ? mx_error : address_error);
tvAddressError.setVisibility(address_error == null && mx_error == null ? View.GONE : View.VISIBLE);
@@ -5696,8 +5697,8 @@ public class FragmentCompose extends FragmentBase {
tvTo.setText(null);
tvVia.setText(null);
- tvRemindPlain.setVisibility(View.GONE);
- tvReceipt.setVisibility(View.GONE);
+ tvPlainHint.setVisibility(View.GONE);
+ tvReceiptHint.setVisibility(View.GONE);
spEncrypt.setTag(0);
spEncrypt.setSelection(0);
spPriority.setTag(1);
@@ -5740,7 +5741,7 @@ public class FragmentCompose extends FragmentBase {
cbPlainOnly.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- tvRemindPlain.setVisibility(checked && formatted ? View.VISIBLE : View.GONE);
+ tvPlainHint.setVisibility(checked && formatted ? View.VISIBLE : View.GONE);
Bundle args = new Bundle();
args.putLong("id", id);
@@ -5769,7 +5770,7 @@ public class FragmentCompose extends FragmentBase {
cbReceipt.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- tvReceipt.setVisibility(checked ? View.VISIBLE : View.GONE);
+ tvReceiptHint.setVisibility(checked ? View.VISIBLE : View.GONE);
Bundle args = new Bundle();
args.putLong("id", id);
@@ -5937,6 +5938,7 @@ public class FragmentCompose extends FragmentBase {
return;
}
+ boolean dsn = (draft.dsn != null && !EntityMessage.DSN_NONE.equals(draft.dsn));
int to = (draft.to == null ? 0 : draft.to.length);
int cc = (draft.cc == null ? 0 : draft.cc.length) + (draft.bcc == null ? 0 : draft.bcc.length);
if (cc == 0)
@@ -5948,26 +5950,16 @@ public class FragmentCompose extends FragmentBase {
to + cc > RECIPIENTS_WARNING ? R.attr.colorWarning : android.R.attr.textColorPrimary));
tvVia.setText(draft.identityEmail);
- cbPlainOnly.setChecked(draft.plain_only != null && draft.plain_only);
- cbReceipt.setChecked(draft.receipt_request != null && draft.receipt_request);
+ cbPlainOnly.setChecked(draft.plain_only != null && draft.plain_only && !dsn);
+ cbReceipt.setChecked(draft.receipt_request != null && draft.receipt_request && !dsn);
- cbPlainOnly.setVisibility(
- draft.dsn != null && !EntityMessage.DSN_NONE.equals(draft.dsn)
- ? View.GONE : View.VISIBLE);
- cbReceipt.setVisibility(
- draft.dsn != null && !EntityMessage.DSN_NONE.equals(draft.dsn)
- ? View.GONE : View.VISIBLE);
-
- int encrypt = (draft.ui_encrypt == null ? EntityMessage.ENCRYPT_NONE : draft.ui_encrypt);
+ int encrypt = (draft.ui_encrypt == null || dsn ? EntityMessage.ENCRYPT_NONE : draft.ui_encrypt);
for (int i = 0; i < encryptValues.length; i++)
if (encryptValues[i] == encrypt) {
spEncrypt.setTag(i);
spEncrypt.setSelection(i);
break;
}
- spEncrypt.setVisibility(
- draft.dsn != null && !EntityMessage.DSN_NONE.equals(draft.dsn)
- ? View.GONE : View.VISIBLE);
int priority = (draft.priority == null ? 1 : draft.priority);
spPriority.setTag(priority);
@@ -5988,6 +5980,8 @@ public class FragmentCompose extends FragmentBase {
tvSendAt.setText(D.format(draft.ui_snoozed) + " " + DTF.format(draft.ui_snoozed));
}
+ grpDsn.setVisibility(dsn ? View.GONE : View.VISIBLE);
+
if (!TextUtils.isEmpty(draft.inreplyto))
if (archive == null) {
Bundle args = new Bundle();
diff --git a/app/src/main/res/layout/dialog_send.xml b/app/src/main/res/layout/dialog_send.xml
index 1e106515d9..ee80e0f9c7 100644
--- a/app/src/main/res/layout/dialog_send.xml
+++ b/app/src/main/res/layout/dialog_send.xml
@@ -186,7 +186,7 @@
app:layout_constraintTop_toBottomOf="@id/tvVia" />
+ app:layout_constraintTop_toBottomOf="@id/tvPlainHint" />
+ app:layout_constraintTop_toBottomOf="@id/tvReceiptHint" />
+
+
\ No newline at end of file