summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2013-05-23 20:58:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-05-23 20:58:17 +0000
commit4f675e3c7509efea7e0d140bda1631042a21f8ca (patch)
treef5e7040c08a7908963fc45649a897dfc41bd4b38 /src/com/android/camera
parentaf956d7c25877dc3614a022a608948b6ed9b2e8f (diff)
parentdff672d644f3db07d13f6d58bfceb2b1cc10d345 (diff)
downloadandroid_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/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());