summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaScanner.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index b2dc1e3f5122..74d65d190a1c 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -794,6 +794,15 @@ public class MediaScanner
long time = exif.getGpsDateTime();
if (time != -1) {
values.put(Images.Media.DATE_TAKEN, time);
+ } else {
+ // If no time zone information is available, we should consider using
+ // EXIF local time as taken time if the difference between file time
+ // and EXIF local time is not less than 1 Day, otherwise MediaProvider
+ // will use file time as taken time.
+ time = exif.getDateTime();
+ if (Math.abs(mLastModified * 1000 - time) >= 86400000) {
+ values.put(Images.Media.DATE_TAKEN, time);
+ }
}
int orientation = exif.getAttributeInt(