diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6b22e0712..4705141bc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -607,6 +607,8 @@
Send Copy to Self
Automatic Moves to DeltaChat Folder
Chat conversations are moved to avoid cluttering the Inbox
+ Only Fetch from DeltaChat Folder
+ Ignore other folders. Requires your server to move chat messages to the DeltaChat folder.
Show Classic E-Mails
No, chats only
For accepted contacts
diff --git a/res/xml/preferences_advanced.xml b/res/xml/preferences_advanced.xml
index ee038ddee..8be9dc44e 100644
--- a/res/xml/preferences_advanced.xml
+++ b/res/xml/preferences_advanced.xml
@@ -36,6 +36,12 @@
android:title="@string/pref_auto_folder_moves"
android:summary="@string/pref_auto_folder_moves_explain"/>
+
+
diff --git a/src/org/thoughtcrime/securesms/connect/DcHelper.java b/src/org/thoughtcrime/securesms/connect/DcHelper.java
index bac8e4841..42a7493d0 100644
--- a/src/org/thoughtcrime/securesms/connect/DcHelper.java
+++ b/src/org/thoughtcrime/securesms/connect/DcHelper.java
@@ -58,6 +58,7 @@ public class DcHelper {
public static final String CONFIG_SENTBOX_WATCH = "sentbox_watch";
public static final String CONFIG_MVBOX_WATCH = "mvbox_watch";
public static final String CONFIG_MVBOX_MOVE = "mvbox_move";
+ public static final String CONFIG_ONLY_FETCH_MVBOX = "only_fetch_mvbox";
public static final String CONFIG_BCC_SELF = "bcc_self";
public static final String CONFIG_SHOW_EMAILS = "show_emails";
public static final String CONFIG_MEDIA_QUALITY = "media_quality";
diff --git a/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java b/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java
index 4ebfeb495..c650626bf 100644
--- a/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java
+++ b/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java
@@ -1,5 +1,13 @@
package org.thoughtcrime.securesms.preferences;
+import static android.app.Activity.RESULT_OK;
+import static android.text.InputType.TYPE_TEXT_VARIATION_URI;
+import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_BCC_SELF;
+import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_E2EE_ENABLED;
+import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_MVBOX_MOVE;
+import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_ONLY_FETCH_MVBOX;
+import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SENTBOX_WATCH;
+
import android.Manifest;
import android.content.Context;
import android.content.DialogInterface;
@@ -32,13 +40,6 @@ import org.thoughtcrime.securesms.util.ScreenLockUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.views.ProgressDialog;
-import static android.app.Activity.RESULT_OK;
-import static android.text.InputType.TYPE_TEXT_VARIATION_URI;
-import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_BCC_SELF;
-import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_E2EE_ENABLED;
-import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_MVBOX_MOVE;
-import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_SENTBOX_WATCH;
-
public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
implements DcEventCenter.DcEventDelegate
@@ -52,6 +53,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
CheckBoxPreference sentboxWatchCheckbox;
CheckBoxPreference bccSelfCheckbox;
CheckBoxPreference mvboxMoveCheckbox;
+ CheckBoxPreference onlyFetchMvboxCheckbox;
@Override
public void onCreate(Bundle paramBundle) {
@@ -82,10 +84,21 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
mvboxMoveCheckbox = (CheckBoxPreference) this.findPreference("pref_mvbox_move");
mvboxMoveCheckbox.setOnPreferenceChangeListener((preference, newValue) -> {
boolean enabled = (Boolean) newValue;
+ DcHelper.getAccounts(getContext()).stopIo();
dcContext.setConfigInt(CONFIG_MVBOX_MOVE, enabled? 1 : 0);
+ DcHelper.getAccounts(getContext()).startIo();
return true;
});
+ onlyFetchMvboxCheckbox = this.findPreference("pref_only_fetch_mvbox");
+ onlyFetchMvboxCheckbox.setOnPreferenceChangeListener(((preference, newValue) -> {
+ boolean enabled = (Boolean) newValue;
+ DcHelper.getAccounts(getContext()).stopIo();
+ dcContext.setConfigInt(CONFIG_ONLY_FETCH_MVBOX, enabled? 1 : 0);
+ DcHelper.getAccounts(getContext()).startIo();
+ return true;
+ }));
+
Preference manageKeys = this.findPreference("pref_manage_keys");
manageKeys.setOnPreferenceClickListener(new ManageKeysListener());
@@ -151,6 +164,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
sentboxWatchCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_SENTBOX_WATCH));
bccSelfCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_BCC_SELF));
mvboxMoveCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_MVBOX_MOVE));
+ onlyFetchMvboxCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_ONLY_FETCH_MVBOX));
}
@Override