Separated list and thread sorting

pull/162/head
M66B 6 years ago
parent 9f91384b69
commit d24e805f9f

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

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

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

Loading…
Cancel
Save