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<>();
folders.addAll(_folders);
EntityFolder.sort(context, folders);
EntityFolder.sort(context, folders, false);
all.clear();
for (EntityFolder folder : folders)

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

@ -333,7 +333,7 @@ public class EntityFolder implements Serializable {
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());
collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc
@ -345,9 +345,13 @@ public class EntityFolder implements Serializable {
int s = Integer.compare(i1, i2);
if (s != 0)
return s;
int c = -f1.synchronize.compareTo(f2.synchronize);
if (c != 0)
return c;
if (!menu) {
int c = -f1.synchronize.compareTo(f2.synchronize);
if (c != 0)
return c;
}
String name1 = f1.getDisplayName(context);
String name2 = f2.getDisplayName(context);
return collator.compare(name1, name2);

@ -674,7 +674,7 @@ public class FragmentAccount extends FragmentBase {
for (EntityFolder folder : result.folders)
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) {
for (EntityFolder folder : folders)
folder.display = folder.getDisplayName(getContext());
EntityFolder.sort(getContext(), folders);
EntityFolder.sort(getContext(), folders, true);
}
return folders;

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

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

Loading…
Cancel
Save