diff options
author | Angus Kong <shkong@google.com> | 2013-05-23 20:58:17 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-05-23 20:58:17 +0000 |
commit | 4f675e3c7509efea7e0d140bda1631042a21f8ca (patch) | |
tree | f5e7040c08a7908963fc45649a897dfc41bd4b38 /src/com/android | |
parent | af956d7c25877dc3614a022a608948b6ed9b2e8f (diff) | |
parent | dff672d644f3db07d13f6d58bfceb2b1cc10d345 (diff) | |
download | android_packages_apps_Snap-4f675e3c7509efea7e0d140bda1631042a21f8ca.tar.gz android_packages_apps_Snap-4f675e3c7509efea7e0d140bda1631042a21f8ca.tar.bz2 android_packages_apps_Snap-4f675e3c7509efea7e0d140bda1631042a21f8ca.zip |
Merge "Fix/simplify comparator of LocalData." into gb-ub-photos-carlsbad
Diffstat (limited to 'src/com/android')
-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()); |