diff options
author | Earl Ou <shunhsingou@google.com> | 2012-08-28 18:29:09 +0800 |
---|---|---|
committer | Earl Ou <shunhsingou@google.com> | 2012-08-29 15:11:31 +0800 |
commit | ebc26da861cbe7b9725e9c8828730ee4c9d5e3de (patch) | |
tree | 6044405d545707f19629439b9fb04f54c1eed46d | |
parent | 45d791d5271e7283550140cfaca5b4bdfa0c0d14 (diff) | |
download | android_packages_apps_Snap-ebc26da861cbe7b9725e9c8828730ee4c9d5e3de.tar.gz android_packages_apps_Snap-ebc26da861cbe7b9725e9c8828730ee4c9d5e3de.tar.bz2 android_packages_apps_Snap-ebc26da861cbe7b9725e9c8828730ee4c9d5e3de.zip |
Save ByteOrder in the ExifData
This is useful for decoding undefined data.
Change-Id: Ied6864c4d3a8e05ca47215bf5358bd4196f2d3a0
-rw-r--r-- | src/com/android/gallery3d/exif/ExifData.java | 13 | ||||
-rw-r--r-- | src/com/android/gallery3d/exif/ExifParser.java | 7 | ||||
-rw-r--r-- | src/com/android/gallery3d/exif/ExifReader.java | 2 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/exif/ExifData.java b/src/com/android/gallery3d/exif/ExifData.java index 5b0e3d8e4..14d482221 100644 --- a/src/com/android/gallery3d/exif/ExifData.java +++ b/src/com/android/gallery3d/exif/ExifData.java @@ -16,6 +16,7 @@ package com.android.gallery3d.exif; +import java.nio.ByteOrder; import java.util.ArrayList; /** @@ -28,6 +29,11 @@ public class ExifData { private final IfdData[] mIfdDatas = new IfdData[IfdId.TYPE_IFD_COUNT]; private byte[] mThumbnail; private ArrayList<byte[]> mStripBytes = new ArrayList<byte[]>(); + private final ByteOrder mByteOrder; + + public ExifData(ByteOrder order) { + mByteOrder = order; + } /** * Gets the IFD data of the specified IFD. @@ -101,4 +107,11 @@ public class ExifData { public byte[] getStrip(int index) { return mStripBytes.get(index); } + + /** + * Gets the byte order. + */ + public ByteOrder getByteOrder() { + return mByteOrder; + } }
\ No newline at end of file diff --git a/src/com/android/gallery3d/exif/ExifParser.java b/src/com/android/gallery3d/exif/ExifParser.java index bd8a97dac..268c989b0 100644 --- a/src/com/android/gallery3d/exif/ExifParser.java +++ b/src/com/android/gallery3d/exif/ExifParser.java @@ -713,4 +713,11 @@ public class ExifParser { this.isRequested = isRequireByUser; } } + + /** + * Gets the byte order of the current InputStream. + */ + public ByteOrder getByteOrder() { + return mTiffStream.getByteOrder(); + } }
\ No newline at end of file diff --git a/src/com/android/gallery3d/exif/ExifReader.java b/src/com/android/gallery3d/exif/ExifReader.java index c259461f2..d8083b2dd 100644 --- a/src/com/android/gallery3d/exif/ExifReader.java +++ b/src/com/android/gallery3d/exif/ExifReader.java @@ -31,7 +31,7 @@ public class ExifReader { public ExifData read(InputStream inputStream) throws ExifInvalidFormatException, IOException { ExifParser parser = ExifParser.parse(inputStream); - ExifData exifData = new ExifData(); + ExifData exifData = new ExifData(parser.getByteOrder()); int event = parser.next(); while (event != ExifParser.EVENT_END) { |