Loading media/java/android/media/ExifInterface.java +22 −3 Original line number Diff line number Diff line Loading @@ -58,6 +58,11 @@ public class ExifInterface { /** Type is String. */ public static final String TAG_ISO = "ISOSpeedRatings"; /** * @hide */ public static final String TAG_SUBSECTIME = "SubSecTime"; /** * The altitude (in meters) based on the reference in TAG_GPS_ALTITUDE_REF. * Type is rational. Loading Loading @@ -346,7 +351,7 @@ public class ExifInterface { } /** * Returns number of milliseconds since Jan. 1, 1970, midnight. * Returns number of milliseconds since Jan. 1, 1970, midnight local time. * Returns -1 if the date time information if not available. * @hide */ Loading @@ -356,9 +361,24 @@ public class ExifInterface { ParsePosition pos = new ParsePosition(0); try { // The exif field is in local time. Parsing it as if it is UTC will yield time // since 1/1/1970 local time Date datetime = sFormatter.parse(dateTimeString, pos); if (datetime == null) return -1; return datetime.getTime(); long msecs = datetime.getTime(); String subSecs = mAttributes.get(TAG_SUBSECTIME); if (subSecs != null) { try { long sub = Long.valueOf(subSecs); while (sub > 1000) { sub /= 10; } msecs += sub; } catch (NumberFormatException e) { } } return msecs; } catch (IllegalArgumentException ex) { return -1; } Loading @@ -375,7 +395,6 @@ public class ExifInterface { if (date == null || time == null) return -1; String dateTimeString = date + ' ' + time; if (dateTimeString == null) return -1; ParsePosition pos = new ParsePosition(0); try { Loading Loading
media/java/android/media/ExifInterface.java +22 −3 Original line number Diff line number Diff line Loading @@ -58,6 +58,11 @@ public class ExifInterface { /** Type is String. */ public static final String TAG_ISO = "ISOSpeedRatings"; /** * @hide */ public static final String TAG_SUBSECTIME = "SubSecTime"; /** * The altitude (in meters) based on the reference in TAG_GPS_ALTITUDE_REF. * Type is rational. Loading Loading @@ -346,7 +351,7 @@ public class ExifInterface { } /** * Returns number of milliseconds since Jan. 1, 1970, midnight. * Returns number of milliseconds since Jan. 1, 1970, midnight local time. * Returns -1 if the date time information if not available. * @hide */ Loading @@ -356,9 +361,24 @@ public class ExifInterface { ParsePosition pos = new ParsePosition(0); try { // The exif field is in local time. Parsing it as if it is UTC will yield time // since 1/1/1970 local time Date datetime = sFormatter.parse(dateTimeString, pos); if (datetime == null) return -1; return datetime.getTime(); long msecs = datetime.getTime(); String subSecs = mAttributes.get(TAG_SUBSECTIME); if (subSecs != null) { try { long sub = Long.valueOf(subSecs); while (sub > 1000) { sub /= 10; } msecs += sub; } catch (NumberFormatException e) { } } return msecs; } catch (IllegalArgumentException ex) { return -1; } Loading @@ -375,7 +395,6 @@ public class ExifInterface { if (date == null || time == null) return -1; String dateTimeString = date + ' ' + time; if (dateTimeString == null) return -1; ParsePosition pos = new ParsePosition(0); try { Loading