From f6ecb94047a4aee55f427a68e57636e6abdd861d Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 28 May 2026 19:30:07 +0200 Subject: [PATCH] respect IMAP Folder field if set --- .../securesms/relay/EditRelayActivity.java | 14 ++++++++++++++ .../res/layout/activity_edittransport.xml | 19 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/thoughtcrime/securesms/relay/EditRelayActivity.java b/src/main/java/org/thoughtcrime/securesms/relay/EditRelayActivity.java index 6d4e7dff2..2f103d69e 100644 --- a/src/main/java/org/thoughtcrime/securesms/relay/EditRelayActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/relay/EditRelayActivity.java @@ -73,6 +73,9 @@ public class EditRelayActivity extends BaseActionBarActivity private ProgressDialog progressDialog; private boolean cancelled = false; + private View imapFolderLayout; + private boolean showImapFolder = false; + Spinner imapSecurity; Spinner smtpSecurity; Spinner certCheck; @@ -102,9 +105,11 @@ public class EditRelayActivity extends BaseActionBarActivity advancedGroup = findViewById(R.id.advanced_group); advancedIcon = findViewById(R.id.advanced_icon); + imapFolderLayout = findViewById(R.id.imap_folder); TextView advancedTextView = findViewById(R.id.advanced_text); TextInputEditText imapServerInput = findViewById(R.id.imap_server_text); TextInputEditText imapPortInput = findViewById(R.id.imap_port_text); + TextInputEditText imapFolderInput = findViewById(R.id.imap_folder_text); TextInputEditText smtpServerInput = findViewById(R.id.smtp_server_text); TextInputEditText smtpPortInput = findViewById(R.id.smtp_port_text); TextView viewLogText = findViewById(R.id.view_log_button); @@ -197,6 +202,12 @@ public class EditRelayActivity extends BaseActionBarActivity if (config.imapPort != null) imapPortInput.setText(config.imapPort.toString()); expandAdvanced = expandAdvanced || config.imapPort != null; + showImapFolder = !TextUtils.isEmpty(config.imapFolder); + if (showImapFolder) { + imapFolderInput.setText(config.imapFolder); + expandAdvanced = true; + } + intVal = socketSecurityToInt(config.imapSecurity); imapSecurity.setSelection(ViewUtil.checkBounds(intVal, imapSecurity)); expandAdvanced = expandAdvanced || intVal != 0; @@ -393,9 +404,11 @@ public class EditRelayActivity extends BaseActionBarActivity boolean advancedViewVisible = advancedGroup.getVisibility() == View.VISIBLE; if (advancedViewVisible) { advancedGroup.setVisibility(View.GONE); + imapFolderLayout.setVisibility(View.GONE); advancedIcon.setRotation(45); } else { advancedGroup.setVisibility(View.VISIBLE); + imapFolderLayout.setVisibility(showImapFolder ? View.VISIBLE : View.GONE); advancedIcon.setRotation(0); } } @@ -498,6 +511,7 @@ public class EditRelayActivity extends BaseActionBarActivity param.password = getParam(R.id.password_text, false); param.imapServer = getParam(R.id.imap_server_text, true); param.imapPort = Util.objectToInt(getParam(R.id.imap_port_text, true)); + param.imapFolder = getParam(R.id.imap_folder_text, true); param.imapSecurity = socketSecurityFromInt(imapSecurity.getSelectedItemPosition()); param.imapUser = getParam(R.id.imap_login_text, false); param.smtpServer = getParam(R.id.smtp_server_text, true); diff --git a/src/main/res/layout/activity_edittransport.xml b/src/main/res/layout/activity_edittransport.xml index be91d3795..9ec3c8b90 100644 --- a/src/main/res/layout/activity_edittransport.xml +++ b/src/main/res/layout/activity_edittransport.xml @@ -220,6 +220,23 @@ + + + + + + + app:layout_constraintTop_toBottomOf="@id/imap_folder" />