public static void extractExifInfo(MediaDetails details, String filePath) {
try {
ExifInterface exif = new ExifInterface(filePath);
setExifData(details, exif, ExifInterface.TAG_FLASH, MediaDetails.INDEX_FLASH);
setExifData(details, exif, ExifInterface.TAG_IMAGE_WIDTH, MediaDetails.INDEX_WIDTH);
setExifData(details, exif, ExifInterface.TAG_IMAGE_LENGTH,
MediaDetails.INDEX_HEIGHT);
setExifData(details, exif, ExifInterface.TAG_MAKE, MediaDetails.INDEX_MAKE);
setExifData(details, exif, ExifInterface.TAG_MODEL, MediaDetails.INDEX_MODEL);
setExifData(details, exif, ExifInterface.TAG_APERTURE, MediaDetails.INDEX_APERTURE);
setExifData(details, exif, ExifInterface.TAG_ISO, MediaDetails.INDEX_ISO);
setExifData(details, exif, ExifInterface.TAG_WHITE_BALANCE,
MediaDetails.INDEX_WHITE_BALANCE);
setExifData(details, exif, ExifInterface.TAG_EXPOSURE_TIME,
MediaDetails.INDEX_EXPOSURE_TIME);
double data = exif.getAttributeDouble(ExifInterface.TAG_FOCAL_LENGTH, 0);
if (data != 0f) {
details.addDetail(MediaDetails.INDEX_FOCAL_LENGTH, data);
details.setUnit(MediaDetails.INDEX_FOCAL_LENGTH, R.string.unit_mm);
}
} catch (IOException ex) {
Log.w(TAG, "", ex);
}
}
}