diff options
| author | 2017-01-26 04:55:56 +0000 | |
|---|---|---|
| committer | 2017-01-26 04:55:59 +0000 | |
| commit | 27c793146d3e3440b95f45dcf17de80d77192f80 (patch) | |
| tree | 3ff12832472df8d7dc8bf50fdfcbedf06cc1faeb | |
| parent | 5894f5483ae9b23e9c6aa4775df895ee9d7e8752 (diff) | |
| parent | 644e1375e80738d3c14108406937d5317b02ce2e (diff) | |
Merge "ExifInterface: Accept decimal values for RATIONAL formats"
| -rw-r--r-- | media/java/android/media/ExifInterface.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java index 52d5b7ca9188..71f779073703 100644 --- a/media/java/android/media/ExifInterface.java +++ b/media/java/android/media/ExifInterface.java @@ -1597,8 +1597,8 @@ public class ExifInterface { final Rational[] rationalArray = new Rational[values.length]; for (int j = 0; j < values.length; ++j) { final String[] numbers = values[j].split("/"); - rationalArray[j] = new Rational(Long.parseLong(numbers[0]), - Long.parseLong(numbers[1])); + rationalArray[j] = new Rational((long) Double.parseDouble(numbers[0]), + (long) Double.parseDouble(numbers[1])); } mAttributes[i].put(tag, ExifAttribute.createURational(rationalArray, mExifByteOrder)); @@ -1609,8 +1609,8 @@ public class ExifInterface { final Rational[] rationalArray = new Rational[values.length]; for (int j = 0; j < values.length; ++j) { final String[] numbers = values[j].split("/"); - rationalArray[j] = new Rational(Long.parseLong(numbers[0]), - Long.parseLong(numbers[1])); + rationalArray[j] = new Rational((long) Double.parseDouble(numbers[0]), + (long) Double.parseDouble(numbers[1])); } mAttributes[i].put(tag, ExifAttribute.createSRational(rationalArray, mExifByteOrder)); @@ -3442,8 +3442,8 @@ public class ExifInterface { String[] rationalNumber = entryValue.split("/"); if (rationalNumber.length == 2) { try { - long numerator = Long.parseLong(rationalNumber[0]); - long denominator = Long.parseLong(rationalNumber[1]); + long numerator = (long) Double.parseDouble(rationalNumber[0]); + long denominator = (long) Double.parseDouble(rationalNumber[1]); if (numerator < 0L || denominator < 0L) { return new Pair<>(IFD_FORMAT_SRATIONAL, -1); } |