diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 0ef1a21c..15b42923 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -654,6 +654,7 @@ public class FragmentMessages extends FragmentEx { if (TextUtils.isEmpty(search)) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); String sort = prefs.getString("sort", "time"); + boolean browse = prefs.getBoolean("browse", true); boolean debug = prefs.getBoolean("debug", false); if (messages != null) @@ -693,7 +694,8 @@ public class FragmentMessages extends FragmentEx { .build(); LivePagedListBuilder builder = new LivePagedListBuilder<>( db.message().pagedFolder(folder, sort, false, debug), config); - builder.setBoundaryCallback(searchCallback); + if (browse) + builder.setBoundaryCallback(searchCallback); messages = builder.build(); break; diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 0af71012..32f8bf6f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -34,6 +34,7 @@ import androidx.annotation.Nullable; public class FragmentOptions extends FragmentEx { private CheckBox cbAvatars; private CheckBox cbLight; + private CheckBox cbBrowse; private CheckBox cbDebug; @Override @@ -46,6 +47,7 @@ public class FragmentOptions extends FragmentEx { // Get controls cbAvatars = view.findViewById(R.id.cbAvatars); cbLight = view.findViewById(R.id.cbLight); + cbBrowse = view.findViewById(R.id.cbBrowse); cbDebug = view.findViewById(R.id.cbDebug); // Wire controls @@ -68,6 +70,14 @@ public class FragmentOptions extends FragmentEx { } }); + cbBrowse.setChecked(prefs.getBoolean("browse", true)); + cbBrowse.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("browse", checked).apply(); + } + }); + cbDebug.setChecked(prefs.getBoolean("debug", false)); cbDebug.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index c786e633..f51f0fac 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -103,6 +103,7 @@ public class FragmentSetup extends FragmentEx { static final List EXPORT_SETTINGS = Arrays.asList( "avatars", "light", + "browse", "sort" ); diff --git a/app/src/main/res/layout/fragment_options.xml b/app/src/main/res/layout/fragment_options.xml index f122108b..3316dbf6 100644 --- a/app/src/main/res/layout/fragment_options.xml +++ b/app/src/main/res/layout/fragment_options.xml @@ -31,6 +31,16 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/cbAvatars" /> + + + app:layout_constraintTop_toBottomOf="@id/cbBrowse" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f33816db..5751c506 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -78,6 +78,7 @@ Advanced options Show contact photos Use notification light + Browse message on the server Debug mode Select …