summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2013-05-22 17:30:56 -0700
committerAngus Kong <shkong@google.com>2013-05-23 11:31:04 -0700
commitdff672d644f3db07d13f6d58bfceb2b1cc10d345 (patch)
tree51403ae16e90d11605b12b211da22181d37223a3 /src/com/android/camera
parentfd382ee5142bb87707be00dec9bc7235f01733d1 (diff)
downloadandroid_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')
-rw-r--r--src/com/android/camera/data/LocalData.java20
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());