diff options
-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) { |