Folder menu sort order

pull/152/head
M66B 7 years ago
parent cfe9f932c2
commit 3fb9b269af

@ -436,7 +436,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
List<EntityFolder> folders = new ArrayList<>(); List<EntityFolder> folders = new ArrayList<>();
folders.addAll(_folders); folders.addAll(_folders);
EntityFolder.sort(context, folders); EntityFolder.sort(context, folders, false);
all.clear(); all.clear();
for (EntityFolder folder : folders) for (EntityFolder folder : folders)

@ -1825,7 +1825,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (folders == null) if (folders == null)
return null; return null;
EntityFolder.sort(context, folders); EntityFolder.sort(context, folders, true);
return folders; return folders;
} }
@ -2444,7 +2444,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
!EntityFolder.JUNK.equals(folder.type)) !EntityFolder.JUNK.equals(folder.type))
targets.add(folder); targets.add(folder);
EntityFolder.sort(context, targets); EntityFolder.sort(context, targets, true);
return targets; return targets;
} }

@ -333,7 +333,7 @@ public class EntityFolder implements Serializable {
return folder; return folder;
} }
static void sort(final Context context, List<EntityFolder> folders) { static void sort(final Context context, List<EntityFolder> folders, final boolean menu) {
final Collator collator = Collator.getInstance(Locale.getDefault()); final Collator collator = Collator.getInstance(Locale.getDefault());
collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc
@ -345,9 +345,13 @@ public class EntityFolder implements Serializable {
int s = Integer.compare(i1, i2); int s = Integer.compare(i1, i2);
if (s != 0) if (s != 0)
return s; return s;
int c = -f1.synchronize.compareTo(f2.synchronize);
if (c != 0) if (!menu) {
return c; int c = -f1.synchronize.compareTo(f2.synchronize);
if (c != 0)
return c;
}
String name1 = f1.getDisplayName(context); String name1 = f1.getDisplayName(context);
String name2 = f2.getDisplayName(context); String name2 = f2.getDisplayName(context);
return collator.compare(name1, name2); return collator.compare(name1, name2);

@ -674,7 +674,7 @@ public class FragmentAccount extends FragmentBase {
for (EntityFolder folder : result.folders) for (EntityFolder folder : result.folders)
folder.display = folder.getDisplayName(getContext()); folder.display = folder.getDisplayName(getContext());
EntityFolder.sort(getContext(), result.folders); EntityFolder.sort(getContext(), result.folders, true);
} }
@ -1208,7 +1208,7 @@ public class FragmentAccount extends FragmentBase {
if (folders != null) { if (folders != null) {
for (EntityFolder folder : folders) for (EntityFolder folder : folders)
folder.display = folder.getDisplayName(getContext()); folder.display = folder.getDisplayName(getContext());
EntityFolder.sort(getContext(), folders); EntityFolder.sort(getContext(), folders, true);
} }
return folders; return folders;

@ -997,7 +997,7 @@ public class FragmentMessages extends FragmentBase {
!EntityFolder.JUNK.equals(target.type) && !EntityFolder.JUNK.equals(target.type) &&
(fids.size() != 1 || !fids.contains(target.id))) (fids.size() != 1 || !fids.contains(target.id)))
targets.add(target); targets.add(target);
EntityFolder.sort(context, targets); EntityFolder.sort(context, targets, true);
result.targets.put(account, targets); result.targets.put(account, targets);
} }

@ -256,7 +256,7 @@ public class FragmentRule extends FragmentBase {
for (EntityFolder folder : data.folders) for (EntityFolder folder : data.folders)
folder.display = folder.getDisplayName(context); folder.display = folder.getDisplayName(context);
EntityFolder.sort(context, data.folders); EntityFolder.sort(context, data.folders, true);
data.identities = db.identity().getIdentities(aid); data.identities = db.identity().getIdentities(aid);
data.answers = db.answer().getAnswers(); data.answers = db.answer().getAnswers();

Loading…
Cancel
Save