Browse Source

Better folder sort

main
M66B 6 years ago
parent
commit
cf73512897
2 changed files with 14 additions and 8 deletions
  1. +10
    -8
      app/src/main/java/eu/faircode/email/AdapterFolder.java
  2. +4
    -0
      app/src/main/java/eu/faircode/email/EntityFolder.java

+ 10
- 8
app/src/main/java/eu/faircode/email/AdapterFolder.java View File

@ -119,15 +119,17 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
Collections.sort(folders, new Comparator<TupleFolderEx>() { Collections.sort(folders, new Comparator<TupleFolderEx>() {
@Override @Override
public int compare(TupleFolderEx f1, TupleFolderEx f2) { public int compare(TupleFolderEx f1, TupleFolderEx f2) {
if (f1.accountName == null)
if (f2.accountName == null)
return 0;
int s = EntityFolder.isUser(f1.type).compareTo(EntityFolder.isUser(f2.type));
if (s == 0) {
int a = collator.compare(
f1.accountName == null ? "" : f1.accountName,
f2.accountName == null ? "" : f2.accountName);
if (a == 0)
return collator.compare(f1.name, f2.name);
else else
return -1;
else if (f2.accountName == null)
return 1;
else
return collator.compare(f1.accountName, f2.accountName);
return a;
} else
return s;
} }
}); });


+ 4
- 0
app/src/main/java/eu/faircode/email/EntityFolder.java View File

@ -73,6 +73,10 @@ public class EntityFolder {
return (TYPE_OUTBOX.equals(type) || TYPE_DRAFTS.equals(type) || TYPE_SENT.equals(type)); return (TYPE_OUTBOX.equals(type) || TYPE_DRAFTS.equals(type) || TYPE_SENT.equals(type));
} }
static Boolean isUser(String type) {
return TYPE_USER.equals(type);
}
@PrimaryKey(autoGenerate = true) @PrimaryKey(autoGenerate = true)
public Long id; public Long id;
public Long account; // Outbox = null public Long account; // Outbox = null


Loading…
Cancel
Save