fixed entry date comparison when null
This commit is contained in:
parent
2991df5f49
commit
5258ab721a
1 changed files with 12 additions and 1 deletions
|
@ -419,18 +419,29 @@ class ImageEntry {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// compare by:
|
||||||
|
// 1) title ascending
|
||||||
|
// 2) extension ascending
|
||||||
static int compareByName(ImageEntry a, ImageEntry b) {
|
static int compareByName(ImageEntry a, ImageEntry b) {
|
||||||
final c = compareAsciiUpperCase(a.bestTitle, b.bestTitle);
|
final c = compareAsciiUpperCase(a.bestTitle, b.bestTitle);
|
||||||
return c != 0 ? c : compareAsciiUpperCase(a.extension, b.extension);
|
return c != 0 ? c : compareAsciiUpperCase(a.extension, b.extension);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// compare by:
|
||||||
|
// 1) size descending
|
||||||
|
// 2) name ascending
|
||||||
static int compareBySize(ImageEntry a, ImageEntry b) {
|
static int compareBySize(ImageEntry a, ImageEntry b) {
|
||||||
final c = b.sizeBytes.compareTo(a.sizeBytes);
|
final c = b.sizeBytes.compareTo(a.sizeBytes);
|
||||||
return c != 0 ? c : compareByName(a, b);
|
return c != 0 ? c : compareByName(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static final _epoch = DateTime.fromMillisecondsSinceEpoch(0);
|
||||||
|
|
||||||
|
// compare by:
|
||||||
|
// 1) date descending
|
||||||
|
// 2) name ascending
|
||||||
static int compareByDate(ImageEntry a, ImageEntry b) {
|
static int compareByDate(ImageEntry a, ImageEntry b) {
|
||||||
final c = b.bestDate?.compareTo(a.bestDate) ?? -1;
|
final c = (b.bestDate ?? _epoch).compareTo(a.bestDate ?? _epoch);
|
||||||
return c != 0 ? c : compareByName(a, b);
|
return c != 0 ? c : compareByName(a, b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue