diff options
author | Angus Kong <shkong@google.com> | 2013-05-22 17:30:56 -0700 |
---|---|---|
committer | Angus Kong <shkong@google.com> | 2013-05-23 11:31:04 -0700 |
commit | dff672d644f3db07d13f6d58bfceb2b1cc10d345 (patch) | |
tree | 51403ae16e90d11605b12b211da22181d37223a3 /src/com/android/camera/data | |
parent | fd382ee5142bb87707be00dec9bc7235f01733d1 (diff) | |
download | android_packages_apps_Snap-dff672d644f3db07d13f6d58bfceb2b1cc10d345.tar.gz android_packages_apps_Snap-dff672d644f3db07d13f6d58bfceb2b1cc10d345.tar.bz2 android_packages_apps_Snap-dff672d644f3db07d13f6d58bfceb2b1cc10d345.zip |
Fix/simplify comparator of LocalData.
Change-Id: I433516d630de3d0f98d7ab8c35becf0cc6495bef
Diffstat (limited to 'src/com/android/camera/data')
-rw-r--r-- | src/com/android/camera/data/LocalData.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/com/android/camera/data/LocalData.java b/src/com/android/camera/data/LocalData.java index 1f60160a9..2a077507c 100644 --- a/src/com/android/camera/data/LocalData.java +++ b/src/com/android/camera/data/LocalData.java @@ -49,21 +49,23 @@ abstract interface LocalData extends FilmStripView.ImageData { static class NewestFirstComparator implements Comparator<LocalData> { - private static int compare(long v1, long v2) { - if (v1 == -1) { - if (v2 == -1) return 0; - return -1; + // Compare taken/modified date of LocalData in descent order to make + // newer data in the front. + // The negavive numbers here are always considered "bigger" than + // postive ones. Thus, if any one of the numbers is negative, the logic + // is reversed. + private static int compareDate(long v1, long v2) { + if (v1 >= 0 && v2 >= 0) { + return ((v1 > v2) ? 1 : ((v1 < v2) ? -1 : 0)); } - if (v2 == -1) return 0; - - return ((v1 > v2) ? 1 : ((v1 < v2) ? -1 : 0)); + return ((v2 > v1) ? 1 : ((v2 < v1) ? -1 : 0)); } @Override public int compare(LocalData d1, LocalData d2) { - int cmp = compare(d1.getDateTaken(), d2.getDateTaken()); + int cmp = compareDate(d1.getDateTaken(), d2.getDateTaken()); if (cmp == 0) { - cmp = compare(d1.getDateModified(), d2.getDateModified()); + cmp = compareDate(d1.getDateModified(), d2.getDateModified()); } if (cmp == 0) { cmp = d1.getTitle().compareTo(d2.getTitle()); |