Separated list and thread sorting

This commit is contained in:
M66B 2019-09-09 09:46:54 +02:00
parent 9f91384b69
commit d24e805f9f
3 changed files with 15 additions and 5 deletions

View File

@ -139,6 +139,11 @@ public class ApplicationEx extends Application {
String theme = prefs.getString("theme", "light");
if ("grey".equals(theme))
editor.putString("theme", "grey_dark");
if (prefs.contains("ascending")) {
editor.putBoolean("ascending_list", prefs.getBoolean("ascending", false));
editor.remove("ascending");
}
}
if (BuildConfig.DEBUG && false) {

View File

@ -588,7 +588,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
boolean compact = prefs.getBoolean("compact", false);
int zoom = prefs.getInt("zoom", compact ? 0 : 1);
String sort = prefs.getString("sort", "time");
boolean ascending = prefs.getBoolean("ascending", false);
boolean ascending = prefs.getBoolean(
viewType == AdapterMessage.ViewType.THREAD ? "ascending_thread" : "ascending_list", false);
boolean filter_duplicates = prefs.getBoolean("filter_duplicates", false);
adapter = new AdapterMessage(this, type, viewType, compact, zoom, sort, ascending, filter_duplicates, iProperties);
@ -2470,7 +2471,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
public void onPrepareOptionsMenu(Menu menu) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
String sort = prefs.getString("sort", "time");
boolean ascending = prefs.getBoolean("ascending", false);
boolean ascending = prefs.getBoolean(
viewType == AdapterMessage.ViewType.THREAD ? "ascending_thread" : "ascending_list", false);
boolean filter_seen = prefs.getBoolean("filter_seen", false);
boolean filter_unflagged = prefs.getBoolean("filter_unflagged", false);
boolean filter_snoozed = prefs.getBoolean("filter_snoozed", true);
@ -2657,7 +2659,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
private void onMenuAscending(boolean ascending) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("ascending", ascending).apply();
prefs.edit().putBoolean(
viewType == AdapterMessage.ViewType.THREAD ? "ascending_thread" : "ascending_list", ascending).apply();
adapter.setAscending(ascending);
getActivity().invalidateOptionsMenu();
loadMessages(true);

View File

@ -63,7 +63,7 @@ public class ViewModelMessages extends ViewModel {
String thread, long id,
String query, boolean server) {
Args args = new Args(context, type, account, folder, thread, id, query, server);
Args args = new Args(context, viewType, type, account, folder, thread, id, query, server);
Log.i("Get model=" + viewType + " " + args);
dump();
@ -309,6 +309,7 @@ public class ViewModelMessages extends ViewModel {
private boolean debug;
Args(Context context,
AdapterMessage.ViewType viewType,
String type, long account, long folder,
String thread, long id,
String query, boolean server) {
@ -324,7 +325,8 @@ public class ViewModelMessages extends ViewModel {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
this.threading = prefs.getBoolean("threading", true);
this.sort = prefs.getString("sort", "time");
this.ascending = prefs.getBoolean("ascending", false);
this.ascending = prefs.getBoolean(
viewType == AdapterMessage.ViewType.THREAD ? "ascending_thread" : "ascending_list", false);
this.filter_seen = prefs.getBoolean("filter_seen", false);
this.filter_unflagged = prefs.getBoolean("filter_unflagged", false);
this.filter_snoozed = prefs.getBoolean("filter_snoozed", true);