private int calculateOffsetOfIfd( IfdData ifd, int offset ) { offset += 2 + ifd.getTagCount() * TAG_SIZE + 4; ExifTag[] tags = ifd.getAllTags(); for( ExifTag tag : tags ) { if( tag.getDataSize() > 4 ) { tag.setOffset( offset ); offset += tag.getDataSize(); } } return offset; }
private int calculateOffsetOfIfd( IfdData ifd, int offset ) { offset += 2 + ifd.getTagCount() * TAG_SIZE + 4; ExifTag[] tags = ifd.getAllTags(); for( ExifTag tag : tags ) { if( tag.getDataSize() > 4 ) { tag.setOffset( offset ); offset += tag.getDataSize(); } } return offset; }
/** * Returns true if all tags in this two IFDs are equal. Note that tags of * IFDs offset or thumbnail offset will be ignored. */ @Override public boolean equals( Object obj ) { if( this == obj ) { return true; } if( obj == null ) { return false; } if( obj instanceof IfdData ) { IfdData data = (IfdData) obj; if( data.getId() == mIfdId && data.getTagCount() == getTagCount() ) { ExifTag[] tags = data.getAllTags(); for( ExifTag tag : tags ) { if( ExifInterface.isOffsetTag( tag.getTagId() ) ) { continue; } ExifTag tag2 = mExifTags.get( tag.getTagId() ); if( ! tag.equals( tag2 ) ) { return false; } } return true; } } return false; }
/** * Returns true if all tags in this two IFDs are equal. Note that tags of * IFDs offset or thumbnail offset will be ignored. */ @Override public boolean equals( Object obj ) { if( this == obj ) { return true; } if( obj == null ) { return false; } if( obj instanceof IfdData ) { IfdData data = (IfdData) obj; if( data.getId() == mIfdId && data.getTagCount() == getTagCount() ) { ExifTag[] tags = data.getAllTags(); for( ExifTag tag : tags ) { if( ExifInterface.isOffsetTag( tag.getTagId() ) ) { continue; } ExifTag tag2 = mExifTags.get( tag.getTagId() ); if( ! tag.equals( tag2 ) ) { return false; } } return true; } } return false; }