ExifInterface.smali
.class public Landroidx/exifinterface/media/ExifInterface;
.super Ljava/lang/Object;
.source "ExifInterface.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;,
Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;,
Landroidx/exifinterface/media/ExifInterface$IfdType;,
Landroidx/exifinterface/media/ExifInterface$ExifTag;,
Landroidx/exifinterface/media/ExifInterface$ExifAttribute;,
Landroidx/exifinterface/media/ExifInterface$Rational;
}
.end annotation
# static fields
.field public static final ALTITUDE_ABOVE_SEA_LEVEL:S = 0x0s
.field public static final ALTITUDE_BELOW_SEA_LEVEL:S = 0x1s
.field static final ASCII:Ljava/nio/charset/Charset;
.field public static final BITS_PER_SAMPLE_GREYSCALE_1:[I
.field public static final BITS_PER_SAMPLE_GREYSCALE_2:[I
.field public static final BITS_PER_SAMPLE_RGB:[I
.field static final BYTE_ALIGN_II:S = 0x4949s
.field static final BYTE_ALIGN_MM:S = 0x4d4ds
.field public static final COLOR_SPACE_S_RGB:I = 0x1
.field public static final COLOR_SPACE_UNCALIBRATED:I = 0xffff
.field public static final CONTRAST_HARD:S = 0x2s
.field public static final CONTRAST_NORMAL:S = 0x0s
.field public static final CONTRAST_SOFT:S = 0x1s
.field public static final DATA_DEFLATE_ZIP:I = 0x8
.field public static final DATA_HUFFMAN_COMPRESSED:I = 0x2
.field public static final DATA_JPEG:I = 0x6
.field public static final DATA_JPEG_COMPRESSED:I = 0x7
.field public static final DATA_LOSSY_JPEG:I = 0x884c
.field public static final DATA_PACK_BITS_COMPRESSED:I = 0x8005
.field public static final DATA_UNCOMPRESSED:I = 0x1
.field private static final DEBUG:Z
.field static final EXIF_ASCII_PREFIX:[B
.field private static final EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field static final EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final EXPOSURE_MODE_AUTO:S = 0x0s
.field public static final EXPOSURE_MODE_AUTO_BRACKET:S = 0x2s
.field public static final EXPOSURE_MODE_MANUAL:S = 0x1s
.field public static final EXPOSURE_PROGRAM_ACTION:S = 0x6s
.field public static final EXPOSURE_PROGRAM_APERTURE_PRIORITY:S = 0x3s
.field public static final EXPOSURE_PROGRAM_CREATIVE:S = 0x5s
.field public static final EXPOSURE_PROGRAM_LANDSCAPE_MODE:S = 0x8s
.field public static final EXPOSURE_PROGRAM_MANUAL:S = 0x1s
.field public static final EXPOSURE_PROGRAM_NORMAL:S = 0x2s
.field public static final EXPOSURE_PROGRAM_NOT_DEFINED:S = 0x0s
.field public static final EXPOSURE_PROGRAM_PORTRAIT_MODE:S = 0x7s
.field public static final EXPOSURE_PROGRAM_SHUTTER_PRIORITY:S = 0x4s
.field public static final FILE_SOURCE_DSC:S = 0x3s
.field public static final FILE_SOURCE_OTHER:S = 0x0s
.field public static final FILE_SOURCE_REFLEX_SCANNER:S = 0x2s
.field public static final FILE_SOURCE_TRANSPARENT_SCANNER:S = 0x1s
.field public static final FLAG_FLASH_FIRED:S = 0x1s
.field public static final FLAG_FLASH_MODE_AUTO:S = 0x18s
.field public static final FLAG_FLASH_MODE_COMPULSORY_FIRING:S = 0x8s
.field public static final FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION:S = 0x10s
.field public static final FLAG_FLASH_NO_FLASH_FUNCTION:S = 0x20s
.field public static final FLAG_FLASH_RED_EYE_SUPPORTED:S = 0x40s
.field public static final FLAG_FLASH_RETURN_LIGHT_DETECTED:S = 0x6s
.field public static final FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED:S = 0x4s
.field private static final FLIPPED_ROTATION_ORDER:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field public static final FORMAT_CHUNKY:S = 0x1s
.field public static final FORMAT_PLANAR:S = 0x2s
.field public static final GAIN_CONTROL_HIGH_GAIN_DOWN:S = 0x4s
.field public static final GAIN_CONTROL_HIGH_GAIN_UP:S = 0x2s
.field public static final GAIN_CONTROL_LOW_GAIN_DOWN:S = 0x3s
.field public static final GAIN_CONTROL_LOW_GAIN_UP:S = 0x1s
.field public static final GAIN_CONTROL_NONE:S = 0x0s
.field public static final GPS_DIRECTION_MAGNETIC:Ljava/lang/String; = "M"
.field public static final GPS_DIRECTION_TRUE:Ljava/lang/String; = "T"
.field public static final GPS_DISTANCE_KILOMETERS:Ljava/lang/String; = "K"
.field public static final GPS_DISTANCE_MILES:Ljava/lang/String; = "M"
.field public static final GPS_DISTANCE_NAUTICAL_MILES:Ljava/lang/String; = "N"
.field public static final GPS_MEASUREMENT_2D:Ljava/lang/String; = "2"
.field public static final GPS_MEASUREMENT_3D:Ljava/lang/String; = "3"
.field public static final GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED:S = 0x1s
.field public static final GPS_MEASUREMENT_INTERRUPTED:Ljava/lang/String; = "V"
.field public static final GPS_MEASUREMENT_IN_PROGRESS:Ljava/lang/String; = "A"
.field public static final GPS_MEASUREMENT_NO_DIFFERENTIAL:S = 0x0s
.field public static final GPS_SPEED_KILOMETERS_PER_HOUR:Ljava/lang/String; = "K"
.field public static final GPS_SPEED_KNOTS:Ljava/lang/String; = "N"
.field public static final GPS_SPEED_MILES_PER_HOUR:Ljava/lang/String; = "M"
.field private static final HEIF_BRAND_HEIC:[B
.field private static final HEIF_BRAND_MIF1:[B
.field private static final HEIF_TYPE_FTYP:[B
.field static final IDENTIFIER_EXIF_APP1:[B
.field private static final IDENTIFIER_XMP_APP1:[B
.field private static final IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final IFD_FORMAT_BYTE:I = 0x1
.field static final IFD_FORMAT_BYTES_PER_FORMAT:[I
.field private static final IFD_FORMAT_DOUBLE:I = 0xc
.field private static final IFD_FORMAT_IFD:I = 0xd
.field static final IFD_FORMAT_NAMES:[Ljava/lang/String;
.field private static final IFD_FORMAT_SBYTE:I = 0x6
.field private static final IFD_FORMAT_SINGLE:I = 0xb
.field private static final IFD_FORMAT_SLONG:I = 0x9
.field private static final IFD_FORMAT_SRATIONAL:I = 0xa
.field private static final IFD_FORMAT_SSHORT:I = 0x8
.field private static final IFD_FORMAT_STRING:I = 0x2
.field private static final IFD_FORMAT_ULONG:I = 0x4
.field private static final IFD_FORMAT_UNDEFINED:I = 0x7
.field private static final IFD_FORMAT_URATIONAL:I = 0x5
.field private static final IFD_FORMAT_USHORT:I = 0x3
.field private static final IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final IFD_INTEROPERABILITY_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final IFD_OFFSET:I = 0x8
.field private static final IFD_THUMBNAIL_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final IFD_TYPE_EXIF:I = 0x1
.field private static final IFD_TYPE_GPS:I = 0x2
.field private static final IFD_TYPE_INTEROPERABILITY:I = 0x3
.field private static final IFD_TYPE_ORF_CAMERA_SETTINGS:I = 0x7
.field private static final IFD_TYPE_ORF_IMAGE_PROCESSING:I = 0x8
.field private static final IFD_TYPE_ORF_MAKER_NOTE:I = 0x6
.field private static final IFD_TYPE_PEF:I = 0x9
.field static final IFD_TYPE_PREVIEW:I = 0x5
.field static final IFD_TYPE_PRIMARY:I = 0x0
.field static final IFD_TYPE_THUMBNAIL:I = 0x4
.field private static final IMAGE_TYPE_ARW:I = 0x1
.field private static final IMAGE_TYPE_CR2:I = 0x2
.field private static final IMAGE_TYPE_DNG:I = 0x3
.field private static final IMAGE_TYPE_HEIF:I = 0xc
.field private static final IMAGE_TYPE_JPEG:I = 0x4
.field private static final IMAGE_TYPE_NEF:I = 0x5
.field private static final IMAGE_TYPE_NRW:I = 0x6
.field private static final IMAGE_TYPE_ORF:I = 0x7
.field private static final IMAGE_TYPE_PEF:I = 0x8
.field private static final IMAGE_TYPE_RAF:I = 0x9
.field private static final IMAGE_TYPE_RW2:I = 0xa
.field private static final IMAGE_TYPE_SRW:I = 0xb
.field private static final IMAGE_TYPE_UNKNOWN:I = 0x0
.field private static final JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field static final JPEG_SIGNATURE:[B
.field public static final LATITUDE_NORTH:Ljava/lang/String; = "N"
.field public static final LATITUDE_SOUTH:Ljava/lang/String; = "S"
.field public static final LIGHT_SOURCE_CLOUDY_WEATHER:S = 0xas
.field public static final LIGHT_SOURCE_COOL_WHITE_FLUORESCENT:S = 0xes
.field public static final LIGHT_SOURCE_D50:S = 0x17s
.field public static final LIGHT_SOURCE_D55:S = 0x14s
.field public static final LIGHT_SOURCE_D65:S = 0x15s
.field public static final LIGHT_SOURCE_D75:S = 0x16s
.field public static final LIGHT_SOURCE_DAYLIGHT:S = 0x1s
.field public static final LIGHT_SOURCE_DAYLIGHT_FLUORESCENT:S = 0xcs
.field public static final LIGHT_SOURCE_DAY_WHITE_FLUORESCENT:S = 0xds
.field public static final LIGHT_SOURCE_FINE_WEATHER:S = 0x9s
.field public static final LIGHT_SOURCE_FLASH:S = 0x4s
.field public static final LIGHT_SOURCE_FLUORESCENT:S = 0x2s
.field public static final LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN:S = 0x18s
.field public static final LIGHT_SOURCE_OTHER:S = 0xffs
.field public static final LIGHT_SOURCE_SHADE:S = 0xbs
.field public static final LIGHT_SOURCE_STANDARD_LIGHT_A:S = 0x11s
.field public static final LIGHT_SOURCE_STANDARD_LIGHT_B:S = 0x12s
.field public static final LIGHT_SOURCE_STANDARD_LIGHT_C:S = 0x13s
.field public static final LIGHT_SOURCE_TUNGSTEN:S = 0x3s
.field public static final LIGHT_SOURCE_UNKNOWN:S = 0x0s
.field public static final LIGHT_SOURCE_WARM_WHITE_FLUORESCENT:S = 0x10s
.field public static final LIGHT_SOURCE_WHITE_FLUORESCENT:S = 0xfs
.field public static final LONGITUDE_EAST:Ljava/lang/String; = "E"
.field public static final LONGITUDE_WEST:Ljava/lang/String; = "W"
.field static final MARKER:B = -0x1t
.field static final MARKER_APP1:B = -0x1ft
.field private static final MARKER_COM:B = -0x2t
.field static final MARKER_EOI:B = -0x27t
.field private static final MARKER_SOF0:B = -0x40t
.field private static final MARKER_SOF1:B = -0x3ft
.field private static final MARKER_SOF10:B = -0x36t
.field private static final MARKER_SOF11:B = -0x35t
.field private static final MARKER_SOF13:B = -0x33t
.field private static final MARKER_SOF14:B = -0x32t
.field private static final MARKER_SOF15:B = -0x31t
.field private static final MARKER_SOF2:B = -0x3et
.field private static final MARKER_SOF3:B = -0x3dt
.field private static final MARKER_SOF5:B = -0x3bt
.field private static final MARKER_SOF6:B = -0x3at
.field private static final MARKER_SOF7:B = -0x39t
.field private static final MARKER_SOF9:B = -0x37t
.field private static final MARKER_SOI:B = -0x28t
.field private static final MARKER_SOS:B = -0x26t
.field private static final MAX_THUMBNAIL_SIZE:I = 0x200
.field public static final METERING_MODE_AVERAGE:S = 0x1s
.field public static final METERING_MODE_CENTER_WEIGHT_AVERAGE:S = 0x2s
.field public static final METERING_MODE_MULTI_SPOT:S = 0x4s
.field public static final METERING_MODE_OTHER:S = 0xffs
.field public static final METERING_MODE_PARTIAL:S = 0x6s
.field public static final METERING_MODE_PATTERN:S = 0x5s
.field public static final METERING_MODE_SPOT:S = 0x3s
.field public static final METERING_MODE_UNKNOWN:S = 0x0s
.field private static final ORF_CAMERA_SETTINGS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final ORF_IMAGE_PROCESSING_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final ORF_MAKER_NOTE_HEADER_1:[B
.field private static final ORF_MAKER_NOTE_HEADER_1_SIZE:I = 0x8
.field private static final ORF_MAKER_NOTE_HEADER_2:[B
.field private static final ORF_MAKER_NOTE_HEADER_2_SIZE:I = 0xc
.field private static final ORF_MAKER_NOTE_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field private static final ORF_SIGNATURE_1:S = 0x4f52s
.field private static final ORF_SIGNATURE_2:S = 0x5352s
.field public static final ORIENTATION_FLIP_HORIZONTAL:I = 0x2
.field public static final ORIENTATION_FLIP_VERTICAL:I = 0x4
.field public static final ORIENTATION_NORMAL:I = 0x1
.field public static final ORIENTATION_ROTATE_180:I = 0x3
.field public static final ORIENTATION_ROTATE_270:I = 0x8
.field public static final ORIENTATION_ROTATE_90:I = 0x6
.field public static final ORIENTATION_TRANSPOSE:I = 0x5
.field public static final ORIENTATION_TRANSVERSE:I = 0x7
.field public static final ORIENTATION_UNDEFINED:I = 0x0
.field public static final ORIGINAL_RESOLUTION_IMAGE:I = 0x0
.field private static final PEF_MAKER_NOTE_SKIP_SIZE:I = 0x6
.field private static final PEF_SIGNATURE:Ljava/lang/String; = "PENTAX"
.field private static final PEF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO:I = 0x1
.field public static final PHOTOMETRIC_INTERPRETATION_RGB:I = 0x2
.field public static final PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO:I = 0x0
.field public static final PHOTOMETRIC_INTERPRETATION_YCBCR:I = 0x6
.field private static final RAF_INFO_SIZE:I = 0xa0
.field private static final RAF_JPEG_LENGTH_VALUE_SIZE:I = 0x4
.field private static final RAF_OFFSET_TO_JPEG_IMAGE_OFFSET:I = 0x54
.field private static final RAF_SIGNATURE:Ljava/lang/String; = "FUJIFILMCCD-RAW"
.field public static final REDUCED_RESOLUTION_IMAGE:I = 0x1
.field public static final RENDERED_PROCESS_CUSTOM:S = 0x1s
.field public static final RENDERED_PROCESS_NORMAL:S = 0x0s
.field public static final RESOLUTION_UNIT_CENTIMETERS:S = 0x3s
.field public static final RESOLUTION_UNIT_INCHES:S = 0x2s
.field private static final ROTATION_ORDER:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final RW2_SIGNATURE:S = 0x55s
.field public static final SATURATION_HIGH:S = 0x0s
.field public static final SATURATION_LOW:S = 0x0s
.field public static final SATURATION_NORMAL:S = 0x0s
.field public static final SCENE_CAPTURE_TYPE_LANDSCAPE:S = 0x1s
.field public static final SCENE_CAPTURE_TYPE_NIGHT:S = 0x3s
.field public static final SCENE_CAPTURE_TYPE_PORTRAIT:S = 0x2s
.field public static final SCENE_CAPTURE_TYPE_STANDARD:S = 0x0s
.field public static final SCENE_TYPE_DIRECTLY_PHOTOGRAPHED:S = 0x1s
.field public static final SENSITIVITY_TYPE_ISO_SPEED:S = 0x3s
.field public static final SENSITIVITY_TYPE_REI:S = 0x2s
.field public static final SENSITIVITY_TYPE_REI_AND_ISO:S = 0x6s
.field public static final SENSITIVITY_TYPE_SOS:S = 0x1s
.field public static final SENSITIVITY_TYPE_SOS_AND_ISO:S = 0x5s
.field public static final SENSITIVITY_TYPE_SOS_AND_REI:S = 0x4s
.field public static final SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO:S = 0x7s
.field public static final SENSITIVITY_TYPE_UNKNOWN:S = 0x0s
.field public static final SENSOR_TYPE_COLOR_SEQUENTIAL:S = 0x5s
.field public static final SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR:S = 0x8s
.field public static final SENSOR_TYPE_NOT_DEFINED:S = 0x1s
.field public static final SENSOR_TYPE_ONE_CHIP:S = 0x2s
.field public static final SENSOR_TYPE_THREE_CHIP:S = 0x4s
.field public static final SENSOR_TYPE_TRILINEAR:S = 0x7s
.field public static final SENSOR_TYPE_TWO_CHIP:S = 0x3s
.field public static final SHARPNESS_HARD:S = 0x2s
.field public static final SHARPNESS_NORMAL:S = 0x0s
.field public static final SHARPNESS_SOFT:S = 0x1s
.field private static final SIGNATURE_CHECK_SIZE:I = 0x1388
.field static final START_CODE:B = 0x2at
.field public static final SUBJECT_DISTANCE_RANGE_CLOSE_VIEW:S = 0x2s
.field public static final SUBJECT_DISTANCE_RANGE_DISTANT_VIEW:S = 0x3s
.field public static final SUBJECT_DISTANCE_RANGE_MACRO:S = 0x1s
.field public static final SUBJECT_DISTANCE_RANGE_UNKNOWN:S = 0x0s
.field private static final TAG:Ljava/lang/String; = "ExifInterface"
.field public static final TAG_APERTURE_VALUE:Ljava/lang/String; = "ApertureValue"
.field public static final TAG_ARTIST:Ljava/lang/String; = "Artist"
.field public static final TAG_BITS_PER_SAMPLE:Ljava/lang/String; = "BitsPerSample"
.field public static final TAG_BODY_SERIAL_NUMBER:Ljava/lang/String; = "BodySerialNumber"
.field public static final TAG_BRIGHTNESS_VALUE:Ljava/lang/String; = "BrightnessValue"
.field public static final TAG_CAMARA_OWNER_NAME:Ljava/lang/String; = "CameraOwnerName"
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final TAG_CAMERA_OWNER_NAME:Ljava/lang/String; = "CameraOwnerName"
.field public static final TAG_CFA_PATTERN:Ljava/lang/String; = "CFAPattern"
.field public static final TAG_COLOR_SPACE:Ljava/lang/String; = "ColorSpace"
.field public static final TAG_COMPONENTS_CONFIGURATION:Ljava/lang/String; = "ComponentsConfiguration"
.field public static final TAG_COMPRESSED_BITS_PER_PIXEL:Ljava/lang/String; = "CompressedBitsPerPixel"
.field public static final TAG_COMPRESSION:Ljava/lang/String; = "Compression"
.field public static final TAG_CONTRAST:Ljava/lang/String; = "Contrast"
.field public static final TAG_COPYRIGHT:Ljava/lang/String; = "Copyright"
.field public static final TAG_CUSTOM_RENDERED:Ljava/lang/String; = "CustomRendered"
.field public static final TAG_DATETIME:Ljava/lang/String; = "DateTime"
.field public static final TAG_DATETIME_DIGITIZED:Ljava/lang/String; = "DateTimeDigitized"
.field public static final TAG_DATETIME_ORIGINAL:Ljava/lang/String; = "DateTimeOriginal"
.field public static final TAG_DEFAULT_CROP_SIZE:Ljava/lang/String; = "DefaultCropSize"
.field public static final TAG_DEVICE_SETTING_DESCRIPTION:Ljava/lang/String; = "DeviceSettingDescription"
.field public static final TAG_DIGITAL_ZOOM_RATIO:Ljava/lang/String; = "DigitalZoomRatio"
.field public static final TAG_DNG_VERSION:Ljava/lang/String; = "DNGVersion"
.field private static final TAG_EXIF_IFD_POINTER:Ljava/lang/String; = "ExifIFDPointer"
.field public static final TAG_EXIF_VERSION:Ljava/lang/String; = "ExifVersion"
.field public static final TAG_EXPOSURE_BIAS_VALUE:Ljava/lang/String; = "ExposureBiasValue"
.field public static final TAG_EXPOSURE_INDEX:Ljava/lang/String; = "ExposureIndex"
.field public static final TAG_EXPOSURE_MODE:Ljava/lang/String; = "ExposureMode"
.field public static final TAG_EXPOSURE_PROGRAM:Ljava/lang/String; = "ExposureProgram"
.field public static final TAG_EXPOSURE_TIME:Ljava/lang/String; = "ExposureTime"
.field public static final TAG_FILE_SOURCE:Ljava/lang/String; = "FileSource"
.field public static final TAG_FLASH:Ljava/lang/String; = "Flash"
.field public static final TAG_FLASHPIX_VERSION:Ljava/lang/String; = "FlashpixVersion"
.field public static final TAG_FLASH_ENERGY:Ljava/lang/String; = "FlashEnergy"
.field public static final TAG_FOCAL_LENGTH:Ljava/lang/String; = "FocalLength"
.field public static final TAG_FOCAL_LENGTH_IN_35MM_FILM:Ljava/lang/String; = "FocalLengthIn35mmFilm"
.field public static final TAG_FOCAL_PLANE_RESOLUTION_UNIT:Ljava/lang/String; = "FocalPlaneResolutionUnit"
.field public static final TAG_FOCAL_PLANE_X_RESOLUTION:Ljava/lang/String; = "FocalPlaneXResolution"
.field public static final TAG_FOCAL_PLANE_Y_RESOLUTION:Ljava/lang/String; = "FocalPlaneYResolution"
.field public static final TAG_F_NUMBER:Ljava/lang/String; = "FNumber"
.field public static final TAG_GAIN_CONTROL:Ljava/lang/String; = "GainControl"
.field public static final TAG_GAMMA:Ljava/lang/String; = "Gamma"
.field public static final TAG_GPS_ALTITUDE:Ljava/lang/String; = "GPSAltitude"
.field public static final TAG_GPS_ALTITUDE_REF:Ljava/lang/String; = "GPSAltitudeRef"
.field public static final TAG_GPS_AREA_INFORMATION:Ljava/lang/String; = "GPSAreaInformation"
.field public static final TAG_GPS_DATESTAMP:Ljava/lang/String; = "GPSDateStamp"
.field public static final TAG_GPS_DEST_BEARING:Ljava/lang/String; = "GPSDestBearing"
.field public static final TAG_GPS_DEST_BEARING_REF:Ljava/lang/String; = "GPSDestBearingRef"
.field public static final TAG_GPS_DEST_DISTANCE:Ljava/lang/String; = "GPSDestDistance"
.field public static final TAG_GPS_DEST_DISTANCE_REF:Ljava/lang/String; = "GPSDestDistanceRef"
.field public static final TAG_GPS_DEST_LATITUDE:Ljava/lang/String; = "GPSDestLatitude"
.field public static final TAG_GPS_DEST_LATITUDE_REF:Ljava/lang/String; = "GPSDestLatitudeRef"
.field public static final TAG_GPS_DEST_LONGITUDE:Ljava/lang/String; = "GPSDestLongitude"
.field public static final TAG_GPS_DEST_LONGITUDE_REF:Ljava/lang/String; = "GPSDestLongitudeRef"
.field public static final TAG_GPS_DIFFERENTIAL:Ljava/lang/String; = "GPSDifferential"
.field public static final TAG_GPS_DOP:Ljava/lang/String; = "GPSDOP"
.field public static final TAG_GPS_H_POSITIONING_ERROR:Ljava/lang/String; = "GPSHPositioningError"
.field public static final TAG_GPS_IMG_DIRECTION:Ljava/lang/String; = "GPSImgDirection"
.field public static final TAG_GPS_IMG_DIRECTION_REF:Ljava/lang/String; = "GPSImgDirectionRef"
.field private static final TAG_GPS_INFO_IFD_POINTER:Ljava/lang/String; = "GPSInfoIFDPointer"
.field public static final TAG_GPS_LATITUDE:Ljava/lang/String; = "GPSLatitude"
.field public static final TAG_GPS_LATITUDE_REF:Ljava/lang/String; = "GPSLatitudeRef"
.field public static final TAG_GPS_LONGITUDE:Ljava/lang/String; = "GPSLongitude"
.field public static final TAG_GPS_LONGITUDE_REF:Ljava/lang/String; = "GPSLongitudeRef"
.field public static final TAG_GPS_MAP_DATUM:Ljava/lang/String; = "GPSMapDatum"
.field public static final TAG_GPS_MEASURE_MODE:Ljava/lang/String; = "GPSMeasureMode"
.field public static final TAG_GPS_PROCESSING_METHOD:Ljava/lang/String; = "GPSProcessingMethod"
.field public static final TAG_GPS_SATELLITES:Ljava/lang/String; = "GPSSatellites"
.field public static final TAG_GPS_SPEED:Ljava/lang/String; = "GPSSpeed"
.field public static final TAG_GPS_SPEED_REF:Ljava/lang/String; = "GPSSpeedRef"
.field public static final TAG_GPS_STATUS:Ljava/lang/String; = "GPSStatus"
.field public static final TAG_GPS_TIMESTAMP:Ljava/lang/String; = "GPSTimeStamp"
.field public static final TAG_GPS_TRACK:Ljava/lang/String; = "GPSTrack"
.field public static final TAG_GPS_TRACK_REF:Ljava/lang/String; = "GPSTrackRef"
.field public static final TAG_GPS_VERSION_ID:Ljava/lang/String; = "GPSVersionID"
.field private static final TAG_HAS_THUMBNAIL:Ljava/lang/String; = "HasThumbnail"
.field public static final TAG_IMAGE_DESCRIPTION:Ljava/lang/String; = "ImageDescription"
.field public static final TAG_IMAGE_LENGTH:Ljava/lang/String; = "ImageLength"
.field public static final TAG_IMAGE_UNIQUE_ID:Ljava/lang/String; = "ImageUniqueID"
.field public static final TAG_IMAGE_WIDTH:Ljava/lang/String; = "ImageWidth"
.field private static final TAG_INTEROPERABILITY_IFD_POINTER:Ljava/lang/String; = "InteroperabilityIFDPointer"
.field public static final TAG_INTEROPERABILITY_INDEX:Ljava/lang/String; = "InteroperabilityIndex"
.field public static final TAG_ISO_SPEED:Ljava/lang/String; = "ISOSpeed"
.field public static final TAG_ISO_SPEED_LATITUDE_YYY:Ljava/lang/String; = "ISOSpeedLatitudeyyy"
.field public static final TAG_ISO_SPEED_LATITUDE_ZZZ:Ljava/lang/String; = "ISOSpeedLatitudezzz"
.field public static final TAG_ISO_SPEED_RATINGS:Ljava/lang/String; = "ISOSpeedRatings"
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final TAG_JPEG_INTERCHANGE_FORMAT:Ljava/lang/String; = "JPEGInterchangeFormat"
.field public static final TAG_JPEG_INTERCHANGE_FORMAT_LENGTH:Ljava/lang/String; = "JPEGInterchangeFormatLength"
.field public static final TAG_LENS_MAKE:Ljava/lang/String; = "LensMake"
.field public static final TAG_LENS_MODEL:Ljava/lang/String; = "LensModel"
.field public static final TAG_LENS_SERIAL_NUMBER:Ljava/lang/String; = "LensSerialNumber"
.field public static final TAG_LENS_SPECIFICATION:Ljava/lang/String; = "LensSpecification"
.field public static final TAG_LIGHT_SOURCE:Ljava/lang/String; = "LightSource"
.field public static final TAG_MAKE:Ljava/lang/String; = "Make"
.field public static final TAG_MAKER_NOTE:Ljava/lang/String; = "MakerNote"
.field public static final TAG_MAX_APERTURE_VALUE:Ljava/lang/String; = "MaxApertureValue"
.field public static final TAG_METERING_MODE:Ljava/lang/String; = "MeteringMode"
.field public static final TAG_MODEL:Ljava/lang/String; = "Model"
.field public static final TAG_NEW_SUBFILE_TYPE:Ljava/lang/String; = "NewSubfileType"
.field public static final TAG_OECF:Ljava/lang/String; = "OECF"
.field public static final TAG_ORF_ASPECT_FRAME:Ljava/lang/String; = "AspectFrame"
.field private static final TAG_ORF_CAMERA_SETTINGS_IFD_POINTER:Ljava/lang/String; = "CameraSettingsIFDPointer"
.field private static final TAG_ORF_IMAGE_PROCESSING_IFD_POINTER:Ljava/lang/String; = "ImageProcessingIFDPointer"
.field public static final TAG_ORF_PREVIEW_IMAGE_LENGTH:Ljava/lang/String; = "PreviewImageLength"
.field public static final TAG_ORF_PREVIEW_IMAGE_START:Ljava/lang/String; = "PreviewImageStart"
.field public static final TAG_ORF_THUMBNAIL_IMAGE:Ljava/lang/String; = "ThumbnailImage"
.field public static final TAG_ORIENTATION:Ljava/lang/String; = "Orientation"
.field public static final TAG_PHOTOGRAPHIC_SENSITIVITY:Ljava/lang/String; = "PhotographicSensitivity"
.field public static final TAG_PHOTOMETRIC_INTERPRETATION:Ljava/lang/String; = "PhotometricInterpretation"
.field public static final TAG_PIXEL_X_DIMENSION:Ljava/lang/String; = "PixelXDimension"
.field public static final TAG_PIXEL_Y_DIMENSION:Ljava/lang/String; = "PixelYDimension"
.field public static final TAG_PLANAR_CONFIGURATION:Ljava/lang/String; = "PlanarConfiguration"
.field public static final TAG_PRIMARY_CHROMATICITIES:Ljava/lang/String; = "PrimaryChromaticities"
.field private static final TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final TAG_RECOMMENDED_EXPOSURE_INDEX:Ljava/lang/String; = "RecommendedExposureIndex"
.field public static final TAG_REFERENCE_BLACK_WHITE:Ljava/lang/String; = "ReferenceBlackWhite"
.field public static final TAG_RELATED_SOUND_FILE:Ljava/lang/String; = "RelatedSoundFile"
.field public static final TAG_RESOLUTION_UNIT:Ljava/lang/String; = "ResolutionUnit"
.field public static final TAG_ROWS_PER_STRIP:Ljava/lang/String; = "RowsPerStrip"
.field public static final TAG_RW2_ISO:Ljava/lang/String; = "ISO"
.field public static final TAG_RW2_JPG_FROM_RAW:Ljava/lang/String; = "JpgFromRaw"
.field public static final TAG_RW2_SENSOR_BOTTOM_BORDER:Ljava/lang/String; = "SensorBottomBorder"
.field public static final TAG_RW2_SENSOR_LEFT_BORDER:Ljava/lang/String; = "SensorLeftBorder"
.field public static final TAG_RW2_SENSOR_RIGHT_BORDER:Ljava/lang/String; = "SensorRightBorder"
.field public static final TAG_RW2_SENSOR_TOP_BORDER:Ljava/lang/String; = "SensorTopBorder"
.field public static final TAG_SAMPLES_PER_PIXEL:Ljava/lang/String; = "SamplesPerPixel"
.field public static final TAG_SATURATION:Ljava/lang/String; = "Saturation"
.field public static final TAG_SCENE_CAPTURE_TYPE:Ljava/lang/String; = "SceneCaptureType"
.field public static final TAG_SCENE_TYPE:Ljava/lang/String; = "SceneType"
.field public static final TAG_SENSING_METHOD:Ljava/lang/String; = "SensingMethod"
.field public static final TAG_SENSITIVITY_TYPE:Ljava/lang/String; = "SensitivityType"
.field public static final TAG_SHARPNESS:Ljava/lang/String; = "Sharpness"
.field public static final TAG_SHUTTER_SPEED_VALUE:Ljava/lang/String; = "ShutterSpeedValue"
.field public static final TAG_SOFTWARE:Ljava/lang/String; = "Software"
.field public static final TAG_SPATIAL_FREQUENCY_RESPONSE:Ljava/lang/String; = "SpatialFrequencyResponse"
.field public static final TAG_SPECTRAL_SENSITIVITY:Ljava/lang/String; = "SpectralSensitivity"
.field public static final TAG_STANDARD_OUTPUT_SENSITIVITY:Ljava/lang/String; = "StandardOutputSensitivity"
.field public static final TAG_STRIP_BYTE_COUNTS:Ljava/lang/String; = "StripByteCounts"
.field public static final TAG_STRIP_OFFSETS:Ljava/lang/String; = "StripOffsets"
.field public static final TAG_SUBFILE_TYPE:Ljava/lang/String; = "SubfileType"
.field public static final TAG_SUBJECT_AREA:Ljava/lang/String; = "SubjectArea"
.field public static final TAG_SUBJECT_DISTANCE:Ljava/lang/String; = "SubjectDistance"
.field public static final TAG_SUBJECT_DISTANCE_RANGE:Ljava/lang/String; = "SubjectDistanceRange"
.field public static final TAG_SUBJECT_LOCATION:Ljava/lang/String; = "SubjectLocation"
.field public static final TAG_SUBSEC_TIME:Ljava/lang/String; = "SubSecTime"
.field public static final TAG_SUBSEC_TIME_DIGITIZED:Ljava/lang/String; = "SubSecTimeDigitized"
.field public static final TAG_SUBSEC_TIME_ORIGINAL:Ljava/lang/String; = "SubSecTimeOriginal"
.field private static final TAG_SUB_IFD_POINTER:Ljava/lang/String; = "SubIFDPointer"
.field private static final TAG_THUMBNAIL_DATA:Ljava/lang/String; = "ThumbnailData"
.field public static final TAG_THUMBNAIL_IMAGE_LENGTH:Ljava/lang/String; = "ThumbnailImageLength"
.field public static final TAG_THUMBNAIL_IMAGE_WIDTH:Ljava/lang/String; = "ThumbnailImageWidth"
.field private static final TAG_THUMBNAIL_LENGTH:Ljava/lang/String; = "ThumbnailLength"
.field private static final TAG_THUMBNAIL_OFFSET:Ljava/lang/String; = "ThumbnailOffset"
.field public static final TAG_THUMBNAIL_ORIENTATION:Ljava/lang/String; = "ThumbnailOrientation"
.field public static final TAG_TRANSFER_FUNCTION:Ljava/lang/String; = "TransferFunction"
.field public static final TAG_USER_COMMENT:Ljava/lang/String; = "UserComment"
.field public static final TAG_WHITE_BALANCE:Ljava/lang/String; = "WhiteBalance"
.field public static final TAG_WHITE_POINT:Ljava/lang/String; = "WhitePoint"
.field public static final TAG_XMP:Ljava/lang/String; = "Xmp"
.field public static final TAG_X_RESOLUTION:Ljava/lang/String; = "XResolution"
.field public static final TAG_Y_CB_CR_COEFFICIENTS:Ljava/lang/String; = "YCbCrCoefficients"
.field public static final TAG_Y_CB_CR_POSITIONING:Ljava/lang/String; = "YCbCrPositioning"
.field public static final TAG_Y_CB_CR_SUB_SAMPLING:Ljava/lang/String; = "YCbCrSubSampling"
.field public static final TAG_Y_RESOLUTION:Ljava/lang/String; = "YResolution"
.field public static final WHITEBALANCE_AUTO:I = 0x0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final WHITEBALANCE_MANUAL:I = 0x1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final WHITE_BALANCE_AUTO:S = 0x0s
.field public static final WHITE_BALANCE_MANUAL:S = 0x1s
.field public static final Y_CB_CR_POSITIONING_CENTERED:S = 0x1s
.field public static final Y_CB_CR_POSITIONING_CO_SITED:S = 0x2s
.field private static final sExifPointerTagMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final sExifTagMapsForReading:[Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/util/HashMap<",
"Ljava/lang/Integer;",
"Landroidx/exifinterface/media/ExifInterface$ExifTag;",
">;"
}
.end annotation
.end field
.field private static final sExifTagMapsForWriting:[Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Landroidx/exifinterface/media/ExifInterface$ExifTag;",
">;"
}
.end annotation
.end field
.field private static sFormatter:Ljava/text/SimpleDateFormat;
.field private static final sGpsTimestampPattern:Ljava/util/regex/Pattern;
.field private static final sNonZeroTimePattern:Ljava/util/regex/Pattern;
.field private static final sTagSetForCompatibility:Ljava/util/HashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashSet<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# instance fields
.field private mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.field private final mAttributes:[Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Landroidx/exifinterface/media/ExifInterface$ExifAttribute;",
">;"
}
.end annotation
.end field
.field private mAttributesOffsets:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private mExifByteOrder:Ljava/nio/ByteOrder;
.field private mExifOffset:I
.field private mFilename:Ljava/lang/String;
.field private mHasThumbnail:Z
.field private mIsSupportedFile:Z
.field private mMimeType:I
.field private mModified:Z
.field private mOrfMakerNoteOffset:I
.field private mOrfThumbnailLength:I
.field private mOrfThumbnailOffset:I
.field private mRw2JpgFromRawOffset:I
.field private mSeekableFileDescriptor:Ljava/io/FileDescriptor;
.field private mThumbnailBytes:[B
.field private mThumbnailCompression:I
.field private mThumbnailLength:I
.field private mThumbnailOffset:I
# direct methods
.method static constructor <clinit>()V
.registers 30
.line 80
const/4 v0, 0x3
.line 2182
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
.line 80
const-string v2, "ExifInterface"
invoke-static {v2, v0}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v2
sput-boolean v2, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
.line 2181
const/4 v2, 0x4
new-array v3, v2, [Ljava/lang/Integer;
const/4 v4, 0x1
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
const/4 v6, 0x0
aput-object v5, v3, v6
.line 2182
const/4 v7, 0x6
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v3, v4
const/4 v8, 0x2
.line 2184
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
.line 2182
aput-object v1, v3, v8
const/16 v10, 0x8
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v11
aput-object v11, v3, v0
.line 2181
invoke-static {v3}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ROTATION_ORDER:Ljava/util/List;
.line 2183
new-array v3, v2, [Ljava/lang/Integer;
.line 2184
aput-object v9, v3, v6
const/4 v12, 0x7
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v13
aput-object v13, v3, v4
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
aput-object v14, v3, v8
.line 2185
const/4 v14, 0x5
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v15
aput-object v15, v3, v0
.line 2183
invoke-static {v3}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->FLIPPED_ROTATION_ORDER:Ljava/util/List;
.line 2824
new-array v3, v0, [I
fill-array-data v3, :array_b62
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
.line 2829
new-array v3, v4, [I
aput v2, v3, v6
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_1:[I
.line 2834
new-array v3, v4, [I
aput v10, v3, v6
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I
.line 2865
new-array v3, v0, [B
fill-array-data v3, :array_b6c
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->JPEG_SIGNATURE:[B
.line 2871
new-array v3, v2, [B
fill-array-data v3, :array_b72
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->HEIF_TYPE_FTYP:[B
.line 2872
new-array v3, v2, [B
fill-array-data v3, :array_b78
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_MIF1:[B
.line 2873
new-array v3, v2, [B
fill-array-data v3, :array_b7e
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_HEIC:[B
.line 2881
new-array v3, v7, [B
fill-array-data v3, :array_b84
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
.line 2883
const/16 v3, 0xa
new-array v12, v3, [B
fill-array-data v12, :array_b8c
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
.line 2928
const-string v16, ""
const-string v17, "BYTE"
const-string v18, "STRING"
const-string v19, "USHORT"
const-string v20, "ULONG"
const-string v21, "URATIONAL"
const-string v22, "SBYTE"
const-string v23, "UNDEFINED"
const-string v24, "SSHORT"
const-string v25, "SLONG"
const-string v26, "SRATIONAL"
const-string v27, "SINGLE"
const-string v28, "DOUBLE"
const-string v29, "IFD"
filled-new-array/range {v16 .. v29}, [Ljava/lang/String;
move-result-object v12
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
.line 2933
const/16 v12, 0xe
new-array v3, v12, [I
fill-array-data v3, :array_b96
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
.line 2938
new-array v3, v10, [B
fill-array-data v3, :array_bb6
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_ASCII_PREFIX:[B
.line 3393
const/16 v3, 0x2a
new-array v3, v3, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "NewSubfileType"
const/16 v7, 0xfe
invoke-direct {v12, v10, v7, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v12, v3, v6
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "SubfileType"
const/16 v12, 0xff
invoke-direct {v7, v10, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v7, v3, v4
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ImageWidth"
const/16 v12, 0x100
invoke-direct {v7, v10, v12, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
aput-object v7, v3, v8
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ImageLength"
const/16 v12, 0x101
invoke-direct {v7, v10, v12, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
aput-object v7, v3, v0
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "BitsPerSample"
const/16 v12, 0x102
invoke-direct {v7, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v7, v3, v2
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "Compression"
const/16 v12, 0x103
invoke-direct {v7, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v7, v3, v14
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "PhotometricInterpretation"
const/16 v12, 0x106
invoke-direct {v7, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v10, 0x6
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ImageDescription"
const/16 v12, 0x10e
invoke-direct {v7, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v10, 0x7
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "Make"
const/16 v12, 0x10f
invoke-direct {v7, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x8
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "Model"
const/16 v12, 0x110
invoke-direct {v7, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x9
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "StripOffsets"
const/16 v10, 0x111
invoke-direct {v7, v12, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v10, 0xa
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "Orientation"
const/16 v12, 0x112
invoke-direct {v7, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0xb
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "SamplesPerPixel"
const/16 v10, 0x115
invoke-direct {v7, v12, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0xc
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "RowsPerStrip"
const/16 v10, 0x116
invoke-direct {v7, v12, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v10, 0xd
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "StripByteCounts"
const/16 v10, 0x117
invoke-direct {v7, v12, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v10, 0xe
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "XResolution"
const/16 v12, 0x11a
invoke-direct {v7, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0xf
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "YResolution"
const/16 v10, 0x11b
invoke-direct {v7, v12, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x10
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "PlanarConfiguration"
const/16 v10, 0x11c
invoke-direct {v7, v12, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x11
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "ResolutionUnit"
const/16 v10, 0x128
invoke-direct {v7, v12, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x12
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "TransferFunction"
const/16 v10, 0x12d
invoke-direct {v7, v12, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x13
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "Software"
const/16 v10, 0x131
invoke-direct {v7, v12, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x14
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "DateTime"
const/16 v10, 0x132
invoke-direct {v7, v12, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x15
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "Artist"
const/16 v12, 0x13b
invoke-direct {v7, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x16
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "WhitePoint"
const/16 v12, 0x13e
invoke-direct {v7, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0x17
aput-object v7, v3, v10
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v12, "PrimaryChromaticities"
const/16 v6, 0x13f
invoke-direct {v7, v12, v6, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x18
aput-object v7, v3, v6
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubIFDPointer"
const/16 v12, 0x14a
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x19
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "JPEGInterchangeFormat"
const/16 v12, 0x201
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1a
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "JPEGInterchangeFormatLength"
const/16 v12, 0x202
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1b
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YCbCrCoefficients"
const/16 v12, 0x211
invoke-direct {v6, v7, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1c
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YCbCrSubSampling"
const/16 v12, 0x212
invoke-direct {v6, v7, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1d
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YCbCrPositioning"
const/16 v12, 0x213
invoke-direct {v6, v7, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1e
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ReferenceBlackWhite"
const/16 v12, 0x214
invoke-direct {v6, v7, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1f
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Copyright"
const v12, 0x8298
invoke-direct {v6, v7, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x20
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExifIFDPointer"
const v12, 0x8769
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x21
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSInfoIFDPointer"
const v12, 0x8825
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x22
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SensorTopBorder"
invoke-direct {v6, v7, v2, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x23
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SensorLeftBorder"
invoke-direct {v6, v7, v14, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x24
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SensorBottomBorder"
const/4 v12, 0x6
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x25
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SensorRightBorder"
const/4 v12, 0x7
invoke-direct {v6, v7, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x26
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ISO"
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x27
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "JpgFromRaw"
const/16 v10, 0x2e
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x28
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Xmp"
const/16 v10, 0x2bc
invoke-direct {v6, v7, v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x29
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3443
const/16 v3, 0x3b
new-array v3, v3, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExposureTime"
const v10, 0x829a
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x0
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FNumber"
const v10, 0x829d
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v4
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExposureProgram"
const v10, 0x8822
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v8
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SpectralSensitivity"
const v10, 0x8824
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v0
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PhotographicSensitivity"
const v10, 0x8827
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v2
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "OECF"
const v10, 0x8828
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v14
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExifVersion"
const v10, 0x9000
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x6
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DateTimeOriginal"
const v10, 0x9003
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v12
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DateTimeDigitized"
const v10, 0x9004
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x8
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ComponentsConfiguration"
const v10, 0x9101
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x9
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "CompressedBitsPerPixel"
const v10, 0x9102
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xa
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ShutterSpeedValue"
const v12, 0x9201
invoke-direct {v6, v10, v12, v7}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0xb
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ApertureValue"
const v12, 0x9202
invoke-direct {v6, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0xc
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "BrightnessValue"
const v12, 0x9203
invoke-direct {v6, v10, v12, v7}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v10, 0xd
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ExposureBiasValue"
const v12, 0x9204
invoke-direct {v6, v10, v12, v7}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xe
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "MaxApertureValue"
const v10, 0x9205
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xf
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubjectDistance"
const v10, 0x9206
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x10
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "MeteringMode"
const v10, 0x9207
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x11
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "LightSource"
const v10, 0x9208
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x12
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Flash"
const v10, 0x9209
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x13
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FocalLength"
const v10, 0x920a
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x14
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubjectArea"
const v10, 0x9214
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x15
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "MakerNote"
const v10, 0x927c
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x16
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "UserComment"
const v10, 0x9286
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x17
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubSecTime"
const v10, 0x9290
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x18
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubSecTimeOriginal"
const v10, 0x9291
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x19
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubSecTimeDigitized"
const v10, 0x9292
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1a
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FlashpixVersion"
const v10, 0xa000
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1b
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ColorSpace"
const v10, 0xa001
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1c
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PixelXDimension"
const v10, 0xa002
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0x1d
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PixelYDimension"
const v10, 0xa003
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0x1e
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "RelatedSoundFile"
const v10, 0xa004
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1f
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "InteroperabilityIFDPointer"
const v10, 0xa005
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x20
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FlashEnergy"
const v10, 0xa20b
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x21
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SpatialFrequencyResponse"
const v10, 0xa20c
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x22
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FocalPlaneXResolution"
const v10, 0xa20e
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x23
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FocalPlaneYResolution"
const v10, 0xa20f
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x24
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FocalPlaneResolutionUnit"
const v10, 0xa210
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x25
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubjectLocation"
const v10, 0xa214
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x26
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExposureIndex"
const v10, 0xa215
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x27
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SensingMethod"
const v10, 0xa217
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x28
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FileSource"
const v10, 0xa300
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x29
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SceneType"
const v10, 0xa301
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x2a
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "CFAPattern"
const v10, 0xa302
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x2b
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "CustomRendered"
const v10, 0xa401
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x2c
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExposureMode"
const v10, 0xa402
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x2d
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "WhiteBalance"
const v10, 0xa403
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x2e
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DigitalZoomRatio"
const v10, 0xa404
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x2f
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "FocalLengthIn35mmFilm"
const v10, 0xa405
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x30
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SceneCaptureType"
const v10, 0xa406
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x31
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GainControl"
const v10, 0xa407
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x32
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Contrast"
const v10, 0xa408
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x33
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Saturation"
const v10, 0xa409
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x34
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Sharpness"
const v10, 0xa40a
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x35
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DeviceSettingDescription"
const v10, 0xa40b
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x36
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubjectDistanceRange"
const v10, 0xa40c
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x37
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageUniqueID"
const v10, 0xa420
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x38
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DNGVersion"
const v10, 0xc612
invoke-direct {v6, v7, v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x39
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DefaultCropSize"
const v10, 0xc620
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0x3a
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3506
const/16 v3, 0x1f
new-array v3, v3, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSVersionID"
const/4 v10, 0x0
invoke-direct {v6, v7, v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSLatitudeRef"
invoke-direct {v6, v7, v4, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v4
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSLatitude"
invoke-direct {v6, v7, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v8
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSLongitudeRef"
invoke-direct {v6, v7, v0, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v0
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSLongitude"
invoke-direct {v6, v7, v2, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v2
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSAltitudeRef"
invoke-direct {v6, v7, v14, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v14
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSAltitude"
const/4 v10, 0x6
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSTimeStamp"
const/4 v10, 0x7
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSSatellites"
const/16 v10, 0x8
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSStatus"
const/16 v10, 0x9
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSMeasureMode"
const/16 v10, 0xa
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDOP"
const/16 v10, 0xb
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSSpeedRef"
const/16 v10, 0xc
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSSpeed"
const/16 v10, 0xd
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSTrackRef"
const/16 v10, 0xe
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSTrack"
const/16 v10, 0xf
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSImgDirectionRef"
const/16 v10, 0x10
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSImgDirection"
const/16 v10, 0x11
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSMapDatum"
const/16 v10, 0x12
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestLatitudeRef"
const/16 v10, 0x13
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestLatitude"
const/16 v10, 0x14
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestLongitudeRef"
const/16 v10, 0x15
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x15
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestLongitude"
const/16 v10, 0x16
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x16
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestBearingRef"
const/16 v10, 0x17
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v10
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestBearing"
const/16 v10, 0x18
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x18
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestDistanceRef"
const/16 v10, 0x19
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x19
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDestDistance"
const/16 v10, 0x1a
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1a
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSProcessingMethod"
const/16 v10, 0x1b
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1b
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSAreaInformation"
const/16 v10, 0x1c
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1c
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDateStamp"
const/16 v10, 0x1d
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1d
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSDifferential"
const/16 v10, 0x1e
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1e
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3540
new-array v3, v4, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "InteroperabilityIndex"
invoke-direct {v6, v7, v4, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x0
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_INTEROPERABILITY_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3544
const/16 v3, 0x25
new-array v3, v3, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "NewSubfileType"
const/16 v12, 0xfe
invoke-direct {v6, v10, v12, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubfileType"
const/16 v10, 0xff
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v4
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ThumbnailImageWidth"
const/16 v10, 0x100
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
aput-object v6, v3, v8
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ThumbnailImageLength"
const/16 v10, 0x101
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
aput-object v6, v3, v0
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "BitsPerSample"
const/16 v10, 0x102
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v2
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Compression"
const/16 v10, 0x103
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v14
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PhotometricInterpretation"
const/16 v10, 0x106
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x6
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageDescription"
const/16 v10, 0x10e
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x7
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Make"
const/16 v10, 0x10f
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x8
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Model"
const/16 v10, 0x110
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x9
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "StripOffsets"
const/16 v10, 0x111
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0xa
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ThumbnailOrientation"
const/16 v10, 0x112
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xb
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SamplesPerPixel"
const/16 v10, 0x115
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xc
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "RowsPerStrip"
const/16 v10, 0x116
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0xd
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "StripByteCounts"
const/16 v10, 0x117
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0xe
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "XResolution"
const/16 v10, 0x11a
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xf
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YResolution"
const/16 v10, 0x11b
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x10
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PlanarConfiguration"
const/16 v10, 0x11c
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x11
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ResolutionUnit"
const/16 v10, 0x128
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x12
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "TransferFunction"
const/16 v10, 0x12d
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x13
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Software"
const/16 v10, 0x131
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x14
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DateTime"
const/16 v10, 0x132
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x15
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Artist"
const/16 v10, 0x13b
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x16
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "WhitePoint"
const/16 v10, 0x13e
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x17
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PrimaryChromaticities"
const/16 v10, 0x13f
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x18
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubIFDPointer"
const/16 v10, 0x14a
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x19
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "JPEGInterchangeFormat"
const/16 v10, 0x201
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1a
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "JPEGInterchangeFormatLength"
const/16 v10, 0x202
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1b
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YCbCrCoefficients"
const/16 v10, 0x211
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1c
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YCbCrSubSampling"
const/16 v10, 0x212
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1d
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "YCbCrPositioning"
const/16 v10, 0x213
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1e
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ReferenceBlackWhite"
const/16 v10, 0x214
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x1f
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Copyright"
const v10, 0x8298
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x20
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExifIFDPointer"
const v10, 0x8769
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x21
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSInfoIFDPointer"
const v10, 0x8825
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x22
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DNGVersion"
const v10, 0xc612
invoke-direct {v6, v7, v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x23
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "DefaultCropSize"
const v10, 0xc620
invoke-direct {v6, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0x24
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_THUMBNAIL_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3587
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "StripOffsets"
const/16 v7, 0x111
invoke-direct {v3, v6, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3591
new-array v3, v0, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ThumbnailImage"
const/16 v10, 0x100
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x0
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "CameraSettingsIFDPointer"
const/16 v10, 0x2020
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v4
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageProcessingIFDPointer"
const/16 v10, 0x2040
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v8
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3596
new-array v3, v8, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PreviewImageStart"
const/16 v10, 0x101
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x0
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PreviewImageLength"
const/16 v10, 0x102
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v4
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_CAMERA_SETTINGS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3600
new-array v3, v4, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "AspectFrame"
const/16 v10, 0x1113
invoke-direct {v6, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x0
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_IMAGE_PROCESSING_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3604
new-array v3, v4, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ColorSpace"
const/16 v12, 0x37
invoke-direct {v6, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->PEF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3632
const/16 v6, 0xa
new-array v6, v6, [[Landroidx/exifinterface/media/ExifInterface$ExifTag;
sget-object v10, Landroidx/exifinterface/media/ExifInterface;->IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aput-object v10, v6, v7
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aput-object v7, v6, v4
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aput-object v7, v6, v8
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->IFD_INTEROPERABILITY_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aput-object v7, v6, v0
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->IFD_THUMBNAIL_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aput-object v7, v6, v2
aput-object v10, v6, v14
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/4 v10, 0x6
aput-object v7, v6, v10
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->ORF_CAMERA_SETTINGS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/4 v12, 0x7
aput-object v7, v6, v12
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->ORF_IMAGE_PROCESSING_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/16 v12, 0x8
aput-object v7, v6, v12
const/16 v7, 0x9
aput-object v3, v6, v7
sput-object v6, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3638
new-array v3, v10, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubIFDPointer"
const/16 v10, 0x14a
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x0
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ExifIFDPointer"
const v10, 0x8769
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v4
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSInfoIFDPointer"
const v10, 0x8825
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v8
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "InteroperabilityIFDPointer"
const v10, 0xa005
invoke-direct {v6, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v0
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "CameraSettingsIFDPointer"
const/16 v10, 0x2020
invoke-direct {v6, v7, v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v2
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageProcessingIFDPointer"
const/16 v10, 0x2040
invoke-direct {v6, v7, v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v6, v3, v14
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3648
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "JPEGInterchangeFormat"
const/16 v7, 0x201
invoke-direct {v3, v6, v7, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3650
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "JPEGInterchangeFormatLength"
const/16 v7, 0x202
invoke-direct {v3, v6, v7, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 3655
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v6, v3
new-array v6, v6, [Ljava/util/HashMap;
sput-object v6, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
.line 3659
array-length v3, v3
new-array v3, v3, [Ljava/util/HashMap;
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
.line 3661
new-instance v3, Ljava/util/HashSet;
const-string v6, "FNumber"
const-string v7, "DigitalZoomRatio"
const-string v10, "ExposureTime"
const-string v12, "SubjectDistance"
const-string v14, "GPSTimeStamp"
filled-new-array {v6, v7, v10, v12, v14}, [Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v6
invoke-direct {v3, v6}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet;
.line 3666
new-instance v3, Ljava/util/HashMap;
invoke-direct {v3}, Ljava/util/HashMap;-><init>()V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
.line 3673
const-string v3, "US-ASCII"
invoke-static {v3}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
.line 3675
const-string v6, "Exif\u0000\u0000"
invoke-virtual {v6, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
.line 3677
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
.line 3678
const-string v6, "http://ns.adobe.com/xap/1.0/\u0000"
invoke-virtual {v6, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_XMP_APP1:[B
.line 3718
new-instance v3, Ljava/text/SimpleDateFormat;
const-string/jumbo v6, "yyyy:MM:dd HH:mm:ss"
invoke-direct {v3, v6}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
.line 3719
const-string v6, "UTC"
invoke-static {v6}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v6
invoke-virtual {v3, v6}, Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V
.line 3722
const/4 v3, 0x0
.local v3, "ifdType":I
:goto_ab3
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v6, v6
if-ge v3, v6, :cond_af2
.line 3723
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
aput-object v7, v6, v3
.line 3724
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
aput-object v7, v6, v3
.line 3725
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v6, v6, v3
array-length v7, v6
const/4 v10, 0x0
:goto_ad0
if-ge v10, v7, :cond_aee
aget-object v12, v6, v10
.line 3726
.local v12, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
sget-object v14, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
aget-object v14, v14, v3
iget v2, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v14, v2, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3727
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
aget-object v2, v2, v3
iget-object v14, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-virtual {v2, v14, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3725
.end local v12 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
add-int/lit8 v10, v10, 0x1
const/4 v2, 0x4
goto :goto_ad0
.line 3722
:cond_aee
add-int/lit8 v3, v3, 0x1
const/4 v2, 0x4
goto :goto_ab3
.line 3732
.end local v3 # "ifdType":I
:cond_af2
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/4 v6, 0x0
aget-object v3, v3, v6
iget v3, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v2, v3, v15}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3733
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v3, v3, v4
iget v3, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v2, v3, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3734
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v3, v3, v8
iget v3, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v2, v3, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3735
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v0, v3, v0
iget v0, v0, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v2, v0, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3736
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/4 v2, 0x4
aget-object v1, v1, v2
iget v1, v1, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3737
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/4 v2, 0x5
aget-object v1, v1, v2
iget v1, v1, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3763
const-string v0, ".*[1-9].*"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
.line 3765
nop
.line 3766
const-string v0, "^([0-9][0-9]):([0-9][0-9]):([0-9][0-9])$"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sGpsTimestampPattern:Ljava/util/regex/Pattern;
.line 3765
return-void
nop
:array_b62
.array-data 4
0x8
0x8
0x8
.end array-data
:array_b6c
.array-data 1
-0x1t
-0x28t
-0x1t
.end array-data
:array_b72
.array-data 1
0x66t
0x74t
0x79t
0x70t
.end array-data
:array_b78
.array-data 1
0x6dt
0x69t
0x66t
0x31t
.end array-data
:array_b7e
.array-data 1
0x68t
0x65t
0x69t
0x63t
.end array-data
:array_b84
.array-data 1
0x4ft
0x4ct
0x59t
0x4dt
0x50t
0x0t
.end array-data
nop
:array_b8c
.array-data 1
0x4ft
0x4ct
0x59t
0x4dt
0x50t
0x55t
0x53t
0x0t
0x49t
0x49t
.end array-data
nop
:array_b96
.array-data 4
0x0
0x1
0x1
0x2
0x4
0x8
0x1
0x1
0x2
0x4
0x8
0x4
0x8
0x1
.end array-data
:array_bb6
.array-data 1
0x41t
0x53t
0x43t
0x49t
0x49t
0x0t
0x0t
0x0t
.end array-data
.end method
.method public constructor <init>(Ljava/io/File;)V
.registers 4
.param p1, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3771
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3744
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v0, v0
new-array v0, v0, [Ljava/util/HashMap;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
.line 3746
new-instance v0, Ljava/util/HashSet;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(I)V
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
.line 3747
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 3772
if-eqz p1, :cond_22
.line 3775
invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->initForFilename(Ljava/lang/String;)V
.line 3776
return-void
.line 3773
:cond_22
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "file cannot be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public constructor <init>(Ljava/io/FileDescriptor;)V
.registers 6
.param p1, "fileDescriptor" # Ljava/io/FileDescriptor;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3793
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3744
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v0, v0
new-array v0, v0, [Ljava/util/HashMap;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
.line 3746
new-instance v0, Ljava/util/HashSet;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(I)V
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
.line 3747
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 3794
if-eqz p1, :cond_5d
.line 3797
const/4 v0, 0x0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.line 3798
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
.line 3799
const/4 v1, 0x0
.line 3800
.local v1, "isFdDuped":Z
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x15
if-lt v2, v3, :cond_3e
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
move-result v2
if-eqz v2, :cond_3e
.line 3801
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
.line 3806
:try_start_2e
invoke-static {p1}, Landroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
move-result-object v0
:try_end_32
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_32} :catch_35
move-object p1, v0
.line 3807
const/4 v1, 0x1
.line 3810
goto :goto_40
.line 3808
:catch_35
move-exception v0
.line 3809
.local v0, "e":Ljava/lang/Exception;
new-instance v2, Ljava/io/IOException;
const-string v3, "Failed to duplicate file descriptor"
invoke-direct {v2, v3, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.line 3812
.end local v0 # "e":Ljava/lang/Exception;
:cond_3e
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
.line 3814
:goto_40
const/4 v0, 0x0
.line 3816
.local v0, "in":Ljava/io/FileInputStream;
:try_start_41
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
move-object v0, v2
.line 3817
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
:try_end_4a
.catchall {:try_start_41 .. :try_end_4a} :catchall_53
.line 3819
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 3820
if-eqz v1, :cond_52
.line 3821
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
.line 3824
:cond_52
return-void
.line 3819
:catchall_53
move-exception v2
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 3820
if-eqz v1, :cond_5c
.line 3821
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
.line 3823
:cond_5c
throw v2
.line 3795
.end local v0 # "in":Ljava/io/FileInputStream;
.end local v1 # "isFdDuped":Z
:cond_5d
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "fileDescriptor cannot be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 4
.param p1, "inputStream" # Ljava/io/InputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3832
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3744
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v0, v0
new-array v0, v0, [Ljava/util/HashMap;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
.line 3746
new-instance v0, Ljava/util/HashSet;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(I)V
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
.line 3747
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 3833
if-eqz p1, :cond_4e
.line 3836
const/4 v0, 0x0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
.line 3837
instance-of v1, p1, Landroid/content/res/AssetManager$AssetInputStream;
if-eqz v1, :cond_29
.line 3838
move-object v1, p1
check-cast v1, Landroid/content/res/AssetManager$AssetInputStream;
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.line 3839
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
goto :goto_4a
.line 3840
:cond_29
instance-of v1, p1, Ljava/io/FileInputStream;
if-eqz v1, :cond_46
move-object v1, p1
check-cast v1, Ljava/io/FileInputStream;
.line 3841
invoke-virtual {v1}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v1
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
move-result v1
if-eqz v1, :cond_46
.line 3842
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.line 3843
move-object v0, p1
check-cast v0, Ljava/io/FileInputStream;
invoke-virtual {v0}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
goto :goto_4a
.line 3845
:cond_46
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.line 3846
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
.line 3848
:goto_4a
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
.line 3849
return-void
.line 3834
:cond_4e
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "inputStream cannot be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
.param p1, "filename" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3781
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3744
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v0, v0
new-array v0, v0, [Ljava/util/HashMap;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
.line 3746
new-instance v0, Ljava/util/HashSet;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v1, v1
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(I)V
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
.line 3747
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 3782
if-eqz p1, :cond_1e
.line 3785
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->initForFilename(Ljava/lang/String;)V
.line 3786
return-void
.line 3783
:cond_1e
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "filename cannot be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private addDefaultValuesForCompatibility()V
.registers 8
.line 5795
const-string v0, "DateTimeOriginal"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 5796
.local v0, "valueOfDateTimeOriginal":Ljava/lang/String;
const/4 v1, 0x0
if-eqz v0, :cond_1c
const-string v2, "DateTime"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-nez v3, :cond_1c
.line 5797
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v1
.line 5798
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
.line 5797
invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5802
:cond_1c
const-string v2, "ImageWidth"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
const-wide/16 v4, 0x0
if-nez v3, :cond_33
.line 5803
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v1
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5804
invoke-static {v4, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v6
.line 5803
invoke-virtual {v3, v2, v6}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5806
:cond_33
const-string v2, "ImageLength"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-nez v3, :cond_48
.line 5807
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v1
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5808
invoke-static {v4, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v6
.line 5807
invoke-virtual {v3, v2, v6}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5810
:cond_48
const-string v2, "Orientation"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-nez v3, :cond_5d
.line 5811
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v3, v1
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5812
invoke-static {v4, v5, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v3
.line 5811
invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5814
:cond_5d
const-string v1, "LightSource"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-nez v2, :cond_73
.line 5815
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v3, 0x1
aget-object v2, v2, v3
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5816
invoke-static {v4, v5, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v3
.line 5815
invoke-virtual {v2, v1, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5818
:cond_73
return-void
.end method
.method private static closeFileDescriptor(Ljava/io/FileDescriptor;)V
.registers 4
.param p0, "fd" # Ljava/io/FileDescriptor;
.line 7056
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const-string v1, "ExifInterface"
const/16 v2, 0x15
if-lt v0, v2, :cond_13
.line 7058
:try_start_8
invoke-static {p0}, Landroid/system/Os;->close(Ljava/io/FileDescriptor;)V
:try_end_b
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_b} :catch_c
.line 7062
:goto_b
goto :goto_18
.line 7060
:catch_c
move-exception v0
.line 7061
.local v0, "ex":Ljava/lang/Exception;
const-string v2, "Error closing fd."
invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.end local v0 # "ex":Ljava/lang/Exception;
goto :goto_b
.line 7064
:cond_13
const-string v0, "closeFileDescriptor is called in API < 21, which must be wrong."
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 7066
:goto_18
return-void
.end method
.method private static closeQuietly(Ljava/io/Closeable;)V
.registers 2
.param p0, "closeable" # Ljava/io/Closeable;
.line 7040
if-eqz p0, :cond_a
.line 7042
:try_start_2
invoke-interface {p0}, Ljava/io/Closeable;->close()V
:try_end_5
.catch Ljava/lang/RuntimeException; {:try_start_2 .. :try_end_5} :catch_8
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_6
.line 7046
goto :goto_a
.line 7045
:catch_6
move-exception v0
goto :goto_a
.line 7043
:catch_8
move-exception v0
.line 7044
.local v0, "rethrown":Ljava/lang/RuntimeException;
throw v0
.line 7048
.end local v0 # "rethrown":Ljava/lang/RuntimeException;
:cond_a
:goto_a
return-void
.end method
.method private convertDecimalDegree(D)Ljava/lang/String;
.registers 13
.param p1, "decimalDegree" # D
.line 5001
double-to-long v0, p1
.line 5002
.local v0, "degrees":J
long-to-double v2, v0
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
sub-double v2, p1, v2
const-wide/high16 v4, 0x404e000000000000L # 60.0
mul-double v2, v2, v4
double-to-long v2, v2
.line 5003
.local v2, "minutes":J
long-to-double v6, v0
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
sub-double v6, p1, v6
long-to-double v8, v2
invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v8, v4
sub-double/2addr v6, v8
const-wide v4, 0x40ac200000000000L # 3600.0
mul-double v6, v6, v4
const-wide v4, 0x416312d000000000L # 1.0E7
mul-double v6, v6, v4
invoke-static {v6, v7}, Ljava/lang/Math;->round(D)J
move-result-wide v4
.line 5004
.local v4, "seconds":J
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v7, "/1,"
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v7, "/10000000"
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
return-object v6
.end method
.method private static convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D
.registers 16
.param p0, "rationalString" # Ljava/lang/String;
.param p1, "ref" # Ljava/lang/String;
.line 4970
const-string v0, "/"
:try_start_2
const-string v1, ","
const/4 v2, -0x1
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v1
.line 4973
.local v1, "parts":[Ljava/lang/String;
const/4 v3, 0x0
aget-object v4, v1, v3
invoke-virtual {v4, v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v4
.line 4974
.local v4, "pair":[Ljava/lang/String;
aget-object v5, v4, v3
invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v5
const/4 v7, 0x1
aget-object v8, v4, v7
.line 4975
invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v8
div-double/2addr v5, v8
.line 4977
.local v5, "degrees":D
aget-object v8, v1, v7
invoke-virtual {v8, v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v8
move-object v4, v8
.line 4978
aget-object v8, v4, v3
invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v8
aget-object v10, v4, v7
.line 4979
invoke-virtual {v10}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v10
invoke-static {v10}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v10
div-double/2addr v8, v10
.line 4981
.local v8, "minutes":D
const/4 v10, 0x2
aget-object v10, v1, v10
invoke-virtual {v10, v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 4982
.end local v4 # "pair":[Ljava/lang/String;
.local v0, "pair":[Ljava/lang/String;
aget-object v2, v0, v3
invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v2
aget-object v4, v0, v7
.line 4983
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v10
div-double/2addr v2, v10
.line 4985
.local v2, "seconds":D
const-wide/high16 v10, 0x404e000000000000L # 60.0
div-double v10, v8, v10
add-double/2addr v10, v5
const-wide v12, 0x40ac200000000000L # 3600.0
div-double v12, v2, v12
add-double/2addr v10, v12
.line 4986
.local v10, "result":D
const-string v4, "S"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_94
const-string v4, "W"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_7c
goto :goto_94
.line 4988
:cond_7c
const-string v4, "N"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_93
const-string v4, "E"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_8d
goto :goto_93
.line 4992
:cond_8d
new-instance v4, Ljava/lang/IllegalArgumentException;
invoke-direct {v4}, Ljava/lang/IllegalArgumentException;-><init>()V
.end local p0 # "rationalString":Ljava/lang/String;
.end local p1 # "ref":Ljava/lang/String;
throw v4
:try_end_93
.catch Ljava/lang/NumberFormatException; {:try_start_2 .. :try_end_93} :catch_98
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_2 .. :try_end_93} :catch_96
.line 4989
.restart local p0 # "rationalString":Ljava/lang/String;
.restart local p1 # "ref":Ljava/lang/String;
:cond_93
:goto_93
return-wide v10
.line 4987
:cond_94
:goto_94
neg-double v12, v10
return-wide v12
.line 4994
.end local v0 # "pair":[Ljava/lang/String;
.end local v1 # "parts":[Ljava/lang/String;
.end local v2 # "seconds":D
.end local v5 # "degrees":D
.end local v8 # "minutes":D
.end local v10 # "result":D
:catch_96
move-exception v0
goto :goto_99
:catch_98
move-exception v0
.line 4996
.local v0, "e":Ljava/lang/RuntimeException;
:goto_99
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v1
.end method
.method private static convertToLongArray(Ljava/lang/Object;)[J
.registers 6
.param p0, "inputObj" # Ljava/lang/Object;
.line 7088
instance-of v0, p0, [I
if-eqz v0, :cond_19
.line 7089
move-object v0, p0
check-cast v0, [I
check-cast v0, [I
.line 7090
.local v0, "input":[I
array-length v1, v0
new-array v1, v1, [J
.line 7091
.local v1, "result":[J
const/4 v2, 0x0
.local v2, "i":I
:goto_d
array-length v3, v0
if-ge v2, v3, :cond_18
.line 7092
aget v3, v0, v2
int-to-long v3, v3
aput-wide v3, v1, v2
.line 7091
add-int/lit8 v2, v2, 0x1
goto :goto_d
.line 7094
.end local v2 # "i":I
:cond_18
return-object v1
.line 7095
.end local v0 # "input":[I
.end local v1 # "result":[J
:cond_19
instance-of v0, p0, [J
if-eqz v0, :cond_23
.line 7096
move-object v0, p0
check-cast v0, [J
check-cast v0, [J
return-object v0
.line 7098
:cond_23
const/4 v0, 0x0
return-object v0
.end method
.method private static copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
.registers 7
.param p0, "in" # Ljava/io/InputStream;
.param p1, "out" # Ljava/io/OutputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 7073
const/4 v0, 0x0
.line 7074
.local v0, "total":I
const/16 v1, 0x2000
new-array v1, v1, [B
.line 7076
.local v1, "buffer":[B
:goto_5
invoke-virtual {p0, v1}, Ljava/io/InputStream;->read([B)I
move-result v2
move v3, v2
.local v3, "c":I
const/4 v4, -0x1
if-eq v2, v4, :cond_13
.line 7077
add-int/2addr v0, v3
.line 7078
const/4 v2, 0x0
invoke-virtual {p1, v1, v2, v3}, Ljava/io/OutputStream;->write([BII)V
goto :goto_5
.line 7080
:cond_13
return v0
.end method
.method private getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.registers 4
.param p1, "tag" # Ljava/lang/String;
.line 3859
if-eqz p1, :cond_2f
.line 3862
const-string v0, "ISOSpeedRatings"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_17
.line 3863
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_15
.line 3864
const-string v0, "ExifInterface"
const-string v1, "getExifAttribute: Replacing TAG_ISO_SPEED_RATINGS with TAG_PHOTOGRAPHIC_SENSITIVITY."
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 3867
:cond_15
const-string p1, "PhotographicSensitivity"
.line 3871
:cond_17
const/4 v0, 0x0
.local v0, "i":I
:goto_18
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v1, v1
if-ge v0, v1, :cond_2d
.line 3872
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, v0
invoke-virtual {v1, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 3873
.local v1, "value":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v1, :cond_2a
.line 3874
return-object v1
.line 3871
.end local v1 # "value":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_2a
add-int/lit8 v0, v0, 0x1
goto :goto_18
.line 3877
.end local v0 # "i":I
:cond_2d
const/4 v0, 0x0
return-object v0
.line 3860
:cond_2f
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "tag shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_39
:goto_38
throw v0
:goto_39
goto :goto_38
.end method
.method private getHeifAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 19
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5409
move-object/from16 v1, p0
move-object/from16 v2, p1
const-string/jumbo v0, "yes"
new-instance v3, Landroid/media/MediaMetadataRetriever;
invoke-direct {v3}, Landroid/media/MediaMetadataRetriever;-><init>()V
.line 5411
.local v3, "retriever":Landroid/media/MediaMetadataRetriever;
:try_start_c
sget v4, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v5, 0x17
if-lt v4, v5, :cond_1b
.line 5412
new-instance v4, Landroidx/exifinterface/media/ExifInterface$1;
invoke-direct {v4, v1, v2}, Landroidx/exifinterface/media/ExifInterface$1;-><init>(Landroidx/exifinterface/media/ExifInterface;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
invoke-virtual {v3, v4}, Landroid/media/MediaMetadataRetriever;->setDataSource(Landroid/media/MediaDataSource;)V
goto :goto_2e
.line 5465
:cond_1b
iget-object v4, v1, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v4, :cond_25
.line 5466
iget-object v4, v1, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-virtual {v3, v4}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/io/FileDescriptor;)V
goto :goto_2e
.line 5467
:cond_25
iget-object v4, v1, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v4, :cond_16f
.line 5468
iget-object v4, v1, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-virtual {v3, v4}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/lang/String;)V
.line 5474
:goto_2e
const/16 v4, 0x21
invoke-virtual {v3, v4}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v4
.line 5476
.local v4, "exifOffsetStr":Ljava/lang/String;
const/16 v5, 0x22
invoke-virtual {v3, v5}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v5
.line 5478
.local v5, "exifLengthStr":Ljava/lang/String;
const/16 v6, 0x1a
invoke-virtual {v3, v6}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v6
.line 5480
.local v6, "hasImage":Ljava/lang/String;
const/16 v7, 0x11
invoke-virtual {v3, v7}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v7
.line 5483
.local v7, "hasVideo":Ljava/lang/String;
const/4 v8, 0x0
.line 5484
.local v8, "width":Ljava/lang/String;
const/4 v9, 0x0
.line 5485
.local v9, "height":Ljava/lang/String;
const/4 v10, 0x0
.line 5486
.local v10, "rotation":Ljava/lang/String;
move-object v11, v0
.line 5490
.local v11, "metadataValueYes":Ljava/lang/String;
invoke-virtual {v0, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v12
if-eqz v12, :cond_66
.line 5491
const/16 v0, 0x1d
invoke-virtual {v3, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
move-object v8, v0
.line 5493
const/16 v0, 0x1e
invoke-virtual {v3, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
move-object v9, v0
.line 5495
const/16 v0, 0x1f
invoke-virtual {v3, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
move-object v10, v0
goto :goto_81
.line 5497
:cond_66
invoke-virtual {v0, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_81
.line 5498
const/16 v0, 0x12
invoke-virtual {v3, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
move-object v8, v0
.line 5500
const/16 v0, 0x13
invoke-virtual {v3, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
move-object v9, v0
.line 5502
const/16 v0, 0x18
invoke-virtual {v3, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
move-object v10, v0
.line 5506
:cond_81
:goto_81
const/4 v0, 0x0
if-eqz v8, :cond_97
.line 5507
iget-object v12, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v12, v0
const-string v13, "ImageWidth"
.line 5508
invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v14
iget-object v15, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v14
.line 5507
invoke-virtual {v12, v13, v14}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5511
:cond_97
if-eqz v9, :cond_ac
.line 5512
iget-object v12, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v12, v0
const-string v13, "ImageLength"
.line 5513
invoke-static {v9}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v14
iget-object v15, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v14
.line 5512
invoke-virtual {v12, v13, v14}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5516
:cond_ac
if-eqz v10, :cond_d6
.line 5517
const/4 v12, 0x1
.line 5520
.local v12, "orientation":I
invoke-static {v10}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v13
const/16 v14, 0x5a
if-eq v13, v14, :cond_c5
const/16 v14, 0xb4
if-eq v13, v14, :cond_c3
const/16 v14, 0x10e
if-eq v13, v14, :cond_c0
goto :goto_c7
.line 5528
:cond_c0
const/16 v12, 0x8
goto :goto_c7
.line 5525
:cond_c3
const/4 v12, 0x3
.line 5526
goto :goto_c7
.line 5522
:cond_c5
const/4 v12, 0x6
.line 5523
nop
.line 5532
:goto_c7
iget-object v13, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v13, v13, v0
const-string v14, "Orientation"
iget-object v15, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5533
invoke-static {v12, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v15
.line 5532
invoke-virtual {v13, v14, v15}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5536
.end local v12 # "orientation":I
:cond_d6
if-eqz v4, :cond_13c
if-eqz v5, :cond_13c
.line 5537
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v12
.line 5538
.local v12, "offset":I
invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v13
:try_end_e2
.catchall {:try_start_c .. :try_end_e2} :catchall_174
.line 5539
.local v13, "length":I
const/4 v14, 0x6
if-le v13, v14, :cond_133
.line 5542
int-to-long v0, v12
:try_start_e6
invoke-virtual {v2, v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5543
new-array v0, v14, [B
.line 5544
.local v0, "identifier":[B
invoke-virtual {v2, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
move-result v1
if-ne v1, v14, :cond_123
.line 5547
add-int/2addr v12, v14
.line 5548
add-int/lit8 v13, v13, -0x6
.line 5549
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-static {v0, v1}, Ljava/util/Arrays;->equals([B[B)Z
move-result v1
if-eqz v1, :cond_117
.line 5553
new-array v1, v13, [B
.line 5554
.local v1, "bytes":[B
invoke-virtual {v2, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
move-result v14
:try_end_102
.catchall {:try_start_e6 .. :try_end_102} :catchall_12f
if-ne v14, v13, :cond_10b
.line 5557
const/4 v15, 0x0
move-object/from16 v14, p0
:try_start_107
invoke-direct {v14, v1, v15}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
goto :goto_13d
.line 5555
:cond_10b
move-object/from16 v14, p0
new-instance v15, Ljava/io/IOException;
move-object/from16 v16, v0
.end local v0 # "identifier":[B
.local v16, "identifier":[B
const-string v0, "Can\'t read exif"
invoke-direct {v15, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.end local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
throw v15
.line 5550
.end local v1 # "bytes":[B
.end local v16 # "identifier":[B
.restart local v0 # "identifier":[B
.restart local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.restart local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_117
move-object/from16 v14, p0
move-object/from16 v16, v0
.end local v0 # "identifier":[B
.restart local v16 # "identifier":[B
new-instance v0, Ljava/io/IOException;
const-string v1, "Invalid identifier"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.end local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
throw v0
.line 5545
.end local v16 # "identifier":[B
.restart local v0 # "identifier":[B
.restart local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.restart local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_123
move-object/from16 v14, p0
move-object/from16 v16, v0
.end local v0 # "identifier":[B
.restart local v16 # "identifier":[B
new-instance v0, Ljava/io/IOException;
const-string v1, "Can\'t read identifier"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.end local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
throw v0
.line 5564
.end local v4 # "exifOffsetStr":Ljava/lang/String;
.end local v5 # "exifLengthStr":Ljava/lang/String;
.end local v6 # "hasImage":Ljava/lang/String;
.end local v7 # "hasVideo":Ljava/lang/String;
.end local v8 # "width":Ljava/lang/String;
.end local v9 # "height":Ljava/lang/String;
.end local v10 # "rotation":Ljava/lang/String;
.end local v11 # "metadataValueYes":Ljava/lang/String;
.end local v12 # "offset":I
.end local v13 # "length":I
.end local v16 # "identifier":[B
.restart local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.restart local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:catchall_12f
move-exception v0
move-object/from16 v14, p0
goto :goto_176
.line 5540
.restart local v4 # "exifOffsetStr":Ljava/lang/String;
.restart local v5 # "exifLengthStr":Ljava/lang/String;
.restart local v6 # "hasImage":Ljava/lang/String;
.restart local v7 # "hasVideo":Ljava/lang/String;
.restart local v8 # "width":Ljava/lang/String;
.restart local v9 # "height":Ljava/lang/String;
.restart local v10 # "rotation":Ljava/lang/String;
.restart local v11 # "metadataValueYes":Ljava/lang/String;
.restart local v12 # "offset":I
.restart local v13 # "length":I
:cond_133
move-object v14, v1
new-instance v0, Ljava/io/IOException;
const-string v1, "Invalid exif length"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.end local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
throw v0
.line 5536
.end local v12 # "offset":I
.end local v13 # "length":I
.restart local v3 # "retriever":Landroid/media/MediaMetadataRetriever;
.restart local p1 # "in":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_13c
move-object v14, v1
.line 5560
:goto_13d
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_168
.line 5561
const-string v0, "ExifInterface"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v12, "Heif meta: "
invoke-virtual {v1, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string/jumbo v12, "x"
invoke-virtual {v1, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v12, ", rotation "
invoke-virtual {v1, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_168
.catchall {:try_start_107 .. :try_end_168} :catchall_16d
.line 5564
.end local v4 # "exifOffsetStr":Ljava/lang/String;
.end local v5 # "exifLengthStr":Ljava/lang/String;
.end local v6 # "hasImage":Ljava/lang/String;
.end local v7 # "hasVideo":Ljava/lang/String;
.end local v8 # "width":Ljava/lang/String;
.end local v9 # "height":Ljava/lang/String;
.end local v10 # "rotation":Ljava/lang/String;
.end local v11 # "metadataValueYes":Ljava/lang/String;
:cond_168
invoke-virtual {v3}, Landroid/media/MediaMetadataRetriever;->release()V
.line 5565
nop
.line 5566
return-void
.line 5564
:catchall_16d
move-exception v0
goto :goto_176
:cond_16f
move-object v14, v1
invoke-virtual {v3}, Landroid/media/MediaMetadataRetriever;->release()V
.line 5470
return-void
.line 5564
:catchall_174
move-exception v0
move-object v14, v1
:goto_176
invoke-virtual {v3}, Landroid/media/MediaMetadataRetriever;->release()V
.line 5565
throw v0
.end method
.method private getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
.registers 26
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "jpegOffset" # I
.param p3, "imageType" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5180
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v2, p3
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const-string v4, "ExifInterface"
if-eqz v3, :cond_20
.line 5181
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "getJpegAttributes starting with: "
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5185
:cond_20
sget-object v3, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5188
move/from16 v3, p2
int-to-long v5, v3
invoke-virtual {v1, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5189
move/from16 v5, p2
.line 5192
.local v5, "bytesRead":I
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v6
move v7, v6
.local v7, "marker":B
const-string v8, "Invalid marker: "
const/4 v9, -0x1
if-ne v6, v9, :cond_1ea
.line 5195
const/4 v6, 0x1
add-int/2addr v5, v6
.line 5196
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v10
const/16 v11, -0x28
if-ne v10, v11, :cond_1cf
.line 5199
add-int/2addr v5, v6
.line 5201
:goto_42
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v7
.line 5202
if-ne v7, v9, :cond_1b2
.line 5205
add-int/lit8 v5, v5, 0x1
.line 5206
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v7
.line 5207
sget-boolean v8, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v8, :cond_6c
.line 5208
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Found JPEG segment indicator: "
invoke-virtual {v8, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v10, v7, 0xff
invoke-static {v10}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v8, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v4, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5210
:cond_6c
add-int/2addr v5, v6
.line 5214
const/16 v8, -0x27
if-eq v7, v8, :cond_1ac
const/16 v8, -0x26
if-ne v7, v8, :cond_77
.line 5215
goto/16 :goto_1ac
.line 5217
:cond_77
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v8
add-int/lit8 v8, v8, -0x2
.line 5218
.local v8, "length":I
add-int/lit8 v5, v5, 0x2
.line 5219
sget-boolean v10, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v10, :cond_ac
.line 5220
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "JPEG segment: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v11, v7, 0xff
invoke-static {v11}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v11
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v11, " (length: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v11, v8, 0x2
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v11, ")"
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
invoke-static {v4, v10}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5223
:cond_ac
const-string v10, "Invalid length"
if-ltz v8, :cond_1a6
.line 5226
const/16 v11, -0x1f
if-eq v7, v11, :cond_101
const/4 v11, -0x2
if-eq v7, v11, :cond_159
packed-switch v7, :pswitch_data_208
packed-switch v7, :pswitch_data_214
packed-switch v7, :pswitch_data_21e
packed-switch v7, :pswitch_data_228
const/4 v9, 0x1
goto/16 :goto_17f
.line 5282
:pswitch_c6
invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v11
if-ne v11, v6, :cond_f9
.line 5285
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v11, v11, v2
.line 5286
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v12
int-to-long v12, v12
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5285
invoke-static {v12, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v12
const-string v13, "ImageLength"
invoke-virtual {v11, v13, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5287
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v11, v11, v2
.line 5288
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v12
int-to-long v12, v12
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5287
invoke-static {v12, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v12
const-string v13, "ImageWidth"
invoke-virtual {v11, v13, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5289
add-int/lit8 v8, v8, -0x5
.line 5290
const/4 v9, 0x1
goto/16 :goto_17f
.line 5283
:cond_f9
new-instance v4, Ljava/io/IOException;
const-string v6, "Invalid SOFx"
invoke-direct {v4, v6}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v4
.line 5228
:cond_101
move v11, v5
.line 5229
.local v11, "start":I
new-array v12, v8, [B
.line 5230
.local v12, "bytes":[B
invoke-virtual {v1, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
.line 5231
add-int/2addr v5, v8
.line 5232
const/4 v8, 0x0
.line 5234
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-static {v12, v13}, Landroidx/exifinterface/media/ExifInterface;->startsWith([B[B)Z
move-result v13
if-eqz v13, :cond_123
.line 5235
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v14, v13
add-int/2addr v14, v11
int-to-long v14, v14
.line 5236
.local v14, "offset":J
array-length v13, v13
array-length v9, v12
invoke-static {v12, v13, v9}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v9
.line 5239
.local v9, "value":[B
invoke-direct {v0, v9, v2}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
.line 5242
long-to-int v13, v14
iput v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifOffset:I
.end local v9 # "value":[B
.end local v14 # "offset":J
goto :goto_158
.line 5243
:cond_123
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_XMP_APP1:[B
invoke-static {v12, v9}, Landroidx/exifinterface/media/ExifInterface;->startsWith([B[B)Z
move-result v9
if-eqz v9, :cond_158
.line 5245
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_XMP_APP1:[B
array-length v13, v9
add-int/2addr v13, v11
int-to-long v13, v13
.line 5246
.local v13, "offset":J
array-length v9, v9
array-length v15, v12
invoke-static {v12, v9, v15}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v9
.line 5249
.restart local v9 # "value":[B
const-string v15, "Xmp"
invoke-virtual {v0, v15}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v16
if-nez v16, :cond_159
.line 5250
iget-object v6, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/16 v16, 0x0
aget-object v6, v6, v16
new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
const/16 v17, 0x1
array-length v3, v9
move-object/from16 v16, v2
move/from16 v18, v3
move-wide/from16 v19, v13
move-object/from16 v21, v9
invoke-direct/range {v16 .. v21}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;-><init>(IIJ[B)V
invoke-virtual {v6, v15, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_159
.line 5243
.end local v9 # "value":[B
.end local v13 # "offset":J
:cond_158
:goto_158
nop
.line 5257
.end local v11 # "start":I
.end local v12 # "bytes":[B
:cond_159
:goto_159
new-array v2, v8, [B
.line 5258
.local v2, "bytes":[B
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
move-result v3
if-ne v3, v8, :cond_19e
.line 5261
const/4 v8, 0x0
.line 5262
const-string v3, "UserComment"
invoke-virtual {v0, v3}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
if-nez v6, :cond_17e
.line 5263
iget-object v6, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v9, 0x1
aget-object v6, v6, v9
new-instance v11, Ljava/lang/String;
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
invoke-direct {v11, v2, v12}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
invoke-static {v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v11
invoke-virtual {v6, v3, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_17f
.line 5262
:cond_17e
const/4 v9, 0x1
.line 5297
.end local v2 # "bytes":[B
:goto_17f
if-ltz v8, :cond_198
.line 5300
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v2
if-ne v2, v8, :cond_190
.line 5303
add-int/2addr v5, v8
.line 5304
.end local v8 # "length":I
move/from16 v3, p2
move/from16 v2, p3
const/4 v6, 0x1
const/4 v9, -0x1
goto/16 :goto_42
.line 5301
.restart local v8 # "length":I
:cond_190
new-instance v2, Ljava/io/IOException;
const-string v3, "Invalid JPEG segment"
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5298
:cond_198
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v10}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5259
.restart local v2 # "bytes":[B
:cond_19e
new-instance v3, Ljava/io/IOException;
const-string v4, "Invalid exif"
invoke-direct {v3, v4}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v3
.line 5224
.end local v2 # "bytes":[B
:cond_1a6
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v10}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5306
.end local v8 # "length":I
:cond_1ac
:goto_1ac
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5307
return-void
.line 5203
:cond_1b2
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid marker:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v4, v7, 0xff
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5197
:cond_1cf
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v4, v7, 0xff
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5193
:cond_1ea
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v4, v7, 0xff
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_206
:goto_205
throw v2
:goto_206
goto :goto_205
nop
:pswitch_data_208
.packed-switch -0x40
:pswitch_c6
:pswitch_c6
:pswitch_c6
:pswitch_c6
.end packed-switch
:pswitch_data_214
.packed-switch -0x3b
:pswitch_c6
:pswitch_c6
:pswitch_c6
.end packed-switch
:pswitch_data_21e
.packed-switch -0x37
:pswitch_c6
:pswitch_c6
:pswitch_c6
.end packed-switch
:pswitch_data_228
.packed-switch -0x33
:pswitch_c6
:pswitch_c6
:pswitch_c6
.end packed-switch
.end method
.method private getMimeType(Ljava/io/BufferedInputStream;)I
.registers 4
.param p1, "in" # Ljava/io/BufferedInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5009
const/16 v0, 0x1388
invoke-virtual {p1, v0}, Ljava/io/BufferedInputStream;->mark(I)V
.line 5010
new-array v0, v0, [B
.line 5011
.local v0, "signatureCheckBytes":[B
invoke-virtual {p1, v0}, Ljava/io/BufferedInputStream;->read([B)I
.line 5012
invoke-virtual {p1}, Ljava/io/BufferedInputStream;->reset()V
.line 5013
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->isJpegFormat([B)Z
move-result v1
if-eqz v1, :cond_15
.line 5014
const/4 v1, 0x4
return v1
.line 5015
:cond_15
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isRafFormat([B)Z
move-result v1
if-eqz v1, :cond_1e
.line 5016
const/16 v1, 0x9
return v1
.line 5017
:cond_1e
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isHeifFormat([B)Z
move-result v1
if-eqz v1, :cond_27
.line 5018
const/16 v1, 0xc
return v1
.line 5019
:cond_27
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isOrfFormat([B)Z
move-result v1
if-eqz v1, :cond_2f
.line 5020
const/4 v1, 0x7
return v1
.line 5021
:cond_2f
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isRw2Format([B)Z
move-result v1
if-eqz v1, :cond_38
.line 5022
const/16 v1, 0xa
return v1
.line 5025
:cond_38
const/4 v1, 0x0
return v1
.end method
.method private getOrfAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 18
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5581
move-object/from16 v0, p0
invoke-direct/range {p0 .. p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 5586
iget-object v1, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v2, 0x1
aget-object v1, v1, v2
.line 5587
const-string v3, "MakerNote"
invoke-virtual {v1, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5588
.local v1, "makerNoteAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v1, :cond_100
.line 5590
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object v4, v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-direct {v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
.line 5592
.local v3, "makerNoteDataInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5596
sget-object v4, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
array-length v4, v4
new-array v4, v4, [B
.line 5597
.local v4, "makerNoteHeader1Bytes":[B
invoke-virtual {v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
.line 5598
const-wide/16 v5, 0x0
invoke-virtual {v3, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5599
sget-object v5, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
array-length v5, v5
new-array v5, v5, [B
.line 5600
.local v5, "makerNoteHeader2Bytes":[B
invoke-virtual {v3, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
.line 5602
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
invoke-static {v4, v6}, Ljava/util/Arrays;->equals([B[B)Z
move-result v6
if-eqz v6, :cond_43
.line 5603
const-wide/16 v6, 0x8
invoke-virtual {v3, v6, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
goto :goto_50
.line 5604
:cond_43
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
invoke-static {v5, v6}, Ljava/util/Arrays;->equals([B[B)Z
move-result v6
if-eqz v6, :cond_50
.line 5605
const-wide/16 v6, 0xc
invoke-virtual {v3, v6, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5609
:cond_50
:goto_50
const/4 v6, 0x6
invoke-direct {v0, v3, v6}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5612
iget-object v6, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v7, 0x7
aget-object v6, v6, v7
.line 5613
const-string v8, "PreviewImageStart"
invoke-virtual {v6, v8}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5614
.local v6, "imageStartAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v7, v8, v7
.line 5615
const-string v8, "PreviewImageLength"
invoke-virtual {v7, v8}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5617
.local v7, "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v6, :cond_84
if-eqz v7, :cond_84
.line 5618
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v9, 0x5
aget-object v8, v8, v9
const-string v10, "JPEGInterchangeFormat"
invoke-virtual {v8, v10, v6}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5620
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v9
const-string v9, "JPEGInterchangeFormatLength"
invoke-virtual {v8, v9, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5627
:cond_84
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/16 v9, 0x8
aget-object v8, v8, v9
.line 5628
const-string v9, "AspectFrame"
invoke-virtual {v8, v9}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5629
.local v8, "aspectFrameAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v8, :cond_100
.line 5630
iget-object v9, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v8, v9}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v9
check-cast v9, [I
check-cast v9, [I
.line 5631
.local v9, "aspectFrameValues":[I
if-eqz v9, :cond_e5
array-length v10, v9
const/4 v11, 0x4
if-eq v10, v11, :cond_a5
goto :goto_e5
.line 5636
:cond_a5
const/4 v10, 0x2
aget v11, v9, v10
const/4 v12, 0x0
aget v13, v9, v12
if-le v11, v13, :cond_100
const/4 v11, 0x3
aget v13, v9, v11
aget v14, v9, v2
if-le v13, v14, :cond_100
.line 5638
aget v10, v9, v10
aget v13, v9, v12
sub-int/2addr v10, v13
add-int/2addr v10, v2
.line 5639
.local v10, "primaryImageWidth":I
aget v11, v9, v11
aget v13, v9, v2
sub-int/2addr v11, v13
add-int/2addr v11, v2
.line 5641
.local v11, "primaryImageLength":I
if-ge v10, v11, :cond_c6
.line 5642
add-int/2addr v10, v11
.line 5643
sub-int v11, v10, v11
.line 5644
sub-int/2addr v10, v11
.line 5646
:cond_c6
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5647
invoke-static {v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v2
.line 5648
.local v2, "primaryImageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5649
invoke-static {v11, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 5651
.local v13, "primaryImageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v14, v14, v12
const-string v15, "ImageWidth"
invoke-virtual {v14, v15, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5652
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v14, v12
const-string v14, "ImageLength"
invoke-virtual {v12, v14, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_100
.line 5632
.end local v2 # "primaryImageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v10 # "primaryImageWidth":I
.end local v11 # "primaryImageLength":I
.end local v13 # "primaryImageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_e5
:goto_e5
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Invalid aspect frame values. frame="
invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 5633
invoke-static {v9}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 5632
const-string v10, "ExifInterface"
invoke-static {v10, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 5634
return-void
.line 5656
.end local v3 # "makerNoteDataInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.end local v4 # "makerNoteHeader1Bytes":[B
.end local v5 # "makerNoteHeader2Bytes":[B
.end local v6 # "imageStartAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v7 # "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v8 # "aspectFrameAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v9 # "aspectFrameValues":[I
:cond_100
:goto_100
return-void
.end method
.method private getRafAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 20
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5362
move-object/from16 v0, p0
move-object/from16 v1, p1
const/16 v2, 0x54
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
.line 5363
const/4 v2, 0x4
new-array v3, v2, [B
.line 5364
.local v3, "jpegOffsetBytes":[B
new-array v4, v2, [B
.line 5365
.local v4, "cfaHeaderOffsetBytes":[B
invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
.line 5367
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
.line 5368
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
.line 5369
invoke-static {v3}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v2
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->getInt()I
move-result v2
.line 5370
.local v2, "rafJpegOffset":I
invoke-static {v4}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v5
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->getInt()I
move-result v5
.line 5373
.local v5, "rafCfaHeaderOffset":I
const/4 v6, 0x5
invoke-direct {v0, v1, v2, v6}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
.line 5376
int-to-long v6, v5
invoke-virtual {v1, v6, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5379
sget-object v6, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5380
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v6
.line 5381
.local v6, "numberOfDirectoryEntry":I
sget-boolean v7, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const-string v8, "ExifInterface"
if-eqz v7, :cond_52
.line 5382
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "numberOfDirectoryEntry: "
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v8, v7}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5387
:cond_52
const/4 v7, 0x0
.local v7, "i":I
:goto_53
if-ge v7, v6, :cond_b6
.line 5388
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v9
.line 5389
.local v9, "tagNumber":I
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v10
.line 5390
.local v10, "numberOfBytes":I
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget v11, v11, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
if-ne v9, v11, :cond_ae
.line 5391
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v11
.line 5392
.local v11, "imageLength":I
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v12
.line 5393
.local v12, "imageWidth":I
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5394
invoke-static {v11, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 5395
.local v13, "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5396
invoke-static {v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v14
.line 5397
.local v14, "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/16 v16, 0x0
aget-object v15, v15, v16
move/from16 v17, v2
.end local v2 # "rafJpegOffset":I
.local v17, "rafJpegOffset":I
const-string v2, "ImageLength"
invoke-virtual {v15, v2, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5398
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v16
const-string v15, "ImageWidth"
invoke-virtual {v2, v15, v14}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5399
sget-boolean v2, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v2, :cond_ad
.line 5400
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, "Updated to length: "
invoke-virtual {v2, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v15, ", width: "
invoke-virtual {v2, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v8, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5402
:cond_ad
return-void
.line 5404
.end local v11 # "imageLength":I
.end local v12 # "imageWidth":I
.end local v13 # "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v14 # "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v17 # "rafJpegOffset":I
.restart local v2 # "rafJpegOffset":I
:cond_ae
move/from16 v17, v2
.end local v2 # "rafJpegOffset":I
.restart local v17 # "rafJpegOffset":I
invoke-virtual {v1, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
.line 5387
.end local v9 # "tagNumber":I
.end local v10 # "numberOfBytes":I
add-int/lit8 v7, v7, 0x1
goto :goto_53
.line 5406
.end local v7 # "i":I
.end local v17 # "rafJpegOffset":I
.restart local v2 # "rafJpegOffset":I
:cond_b6
return-void
.end method
.method private getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 8
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5311
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->available()I
move-result v0
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->parseTiffHeaders(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5314
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5317
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5318
const/4 v0, 0x5
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5319
const/4 v0, 0x4
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5322
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->validateImages(Ljava/io/InputStream;)V
.line 5324
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/16 v1, 0x8
if-ne v0, v1, :cond_59
.line 5327
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v1, 0x1
aget-object v0, v0, v1
.line 5328
const-string v2, "MakerNote"
invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5329
.local v0, "makerNoteAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_59
.line 5331
new-instance v2, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-direct {v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
.line 5333
.local v2, "makerNoteDataInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5336
const-wide/16 v3, 0x6
invoke-virtual {v2, v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5339
const/16 v3, 0x9
invoke-direct {p0, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5342
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v4, v3
.line 5343
const-string v4, "ColorSpace"
invoke-virtual {v3, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5344
.local v3, "colorSpaceAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v3, :cond_59
.line 5345
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v5, v1
invoke-virtual {v1, v4, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5349
.end local v0 # "makerNoteAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v2 # "makerNoteDataInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.end local v3 # "colorSpaceAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_59
return-void
.end method
.method private getRw2Attributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 8
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5663
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 5666
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v1, 0x0
aget-object v0, v0, v1
.line 5667
const-string v2, "JpgFromRaw"
invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5668
.local v0, "jpgFromRawAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_18
.line 5669
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mRw2JpgFromRawOffset:I
const/4 v3, 0x5
invoke-direct {p0, p1, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
.line 5673
:cond_18
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v2, v1
.line 5674
const-string v2, "ISO"
invoke-virtual {v1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5675
.local v1, "rw2IsoAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v3, 0x1
aget-object v2, v2, v3
.line 5676
const-string v4, "PhotographicSensitivity"
invoke-virtual {v2, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 5677
.local v2, "exifIsoAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v1, :cond_3c
if-nez v2, :cond_3c
.line 5679
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v5, v3
invoke-virtual {v3, v4, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5681
:cond_3c
return-void
.end method
.method private static guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
.registers 13
.param p0, "entryValue" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Landroid/util/Pair<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 6612
const-string v0, ","
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
const/4 v2, 0x0
const/4 v3, 0x2
.line 6661
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
.line 6612
const/4 v5, -0x1
.line 6661
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
.line 6612
if-eqz v1, :cond_a5
.line 6613
invoke-virtual {p0, v0, v5}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 6614
.local v0, "entryValues":[Ljava/lang/String;
aget-object v1, v0, v2
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
move-result-object v1
.line 6615
.local v1, "dataFormat":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
iget-object v2, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v2, Ljava/lang/Integer;
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
if-ne v2, v3, :cond_28
.line 6616
return-object v1
.line 6618
:cond_28
const/4 v2, 0x1
.local v2, "i":I
:goto_29
array-length v3, v0
if-ge v2, v3, :cond_a4
.line 6619
aget-object v3, v0, v2
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
move-result-object v3
.line 6620
.local v3, "guessDataFormat":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
const/4 v7, -0x1
.local v7, "first":I
const/4 v8, -0x1
.line 6621
.local v8, "second":I
iget-object v9, v3, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
iget-object v10, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
invoke-virtual {v9, v10}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_4c
iget-object v9, v3, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
iget-object v10, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
.line 6622
invoke-virtual {v9, v10}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_54
.line 6623
:cond_4c
iget-object v9, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I
move-result v7
.line 6625
:cond_54
iget-object v9, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I
move-result v9
if-eq v9, v5, :cond_7e
iget-object v9, v3, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
iget-object v10, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
invoke-virtual {v9, v10}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v9
if-nez v9, :cond_76
iget-object v9, v3, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
iget-object v10, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
.line 6626
invoke-virtual {v9, v10}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_7e
.line 6627
:cond_76
iget-object v9, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I
move-result v8
.line 6629
:cond_7e
if-ne v7, v5, :cond_88
if-ne v8, v5, :cond_88
.line 6630
new-instance v5, Landroid/util/Pair;
invoke-direct {v5, v4, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v5
.line 6632
:cond_88
if-ne v7, v5, :cond_95
.line 6633
new-instance v9, Landroid/util/Pair;
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
invoke-direct {v9, v10, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
move-object v1, v9
.line 6634
goto :goto_a1
.line 6636
:cond_95
if-ne v8, v5, :cond_a1
.line 6637
new-instance v9, Landroid/util/Pair;
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
invoke-direct {v9, v10, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
move-object v1, v9
.line 6618
.end local v3 # "guessDataFormat":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v7 # "first":I
.end local v8 # "second":I
:cond_a1
:goto_a1
add-int/lit8 v2, v2, 0x1
goto :goto_29
.line 6641
.end local v2 # "i":I
:cond_a4
return-object v1
.line 6644
.end local v0 # "entryValues":[Ljava/lang/String;
.end local v1 # "dataFormat":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:cond_a5
const-string v0, "/"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
const-wide/16 v7, 0x0
if-eqz v1, :cond_106
.line 6645
invoke-virtual {p0, v0, v5}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 6646
.local v0, "rationalNumber":[Ljava/lang/String;
array-length v1, v0
if-ne v1, v3, :cond_100
.line 6648
:try_start_b6
aget-object v1, v0, v2
invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v1
double-to-long v1, v1
.line 6649
.local v1, "numerator":J
const/4 v3, 0x1
aget-object v3, v0, v3
invoke-static {v3}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v9
double-to-long v9, v9
.line 6650
.local v9, "denominator":J
const/16 v3, 0xa
cmp-long v5, v1, v7
if-ltz v5, :cond_f5
cmp-long v5, v9, v7
if-gez v5, :cond_d0
goto :goto_f5
.line 6653
:cond_d0
const/4 v5, 0x5
const-wide/32 v7, 0x7fffffff
cmp-long v11, v1, v7
if-gtz v11, :cond_eb
cmp-long v11, v9, v7
if-lez v11, :cond_dd
goto :goto_eb
.line 6656
:cond_dd
new-instance v7, Landroid/util/Pair;
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-direct {v7, v3, v5}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v7
.line 6654
:cond_eb
:goto_eb
new-instance v3, Landroid/util/Pair;
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-direct {v3, v5, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v3
.line 6651
:cond_f5
:goto_f5
new-instance v5, Landroid/util/Pair;
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-direct {v5, v3, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_fe
.catch Ljava/lang/NumberFormatException; {:try_start_b6 .. :try_end_fe} :catch_ff
return-object v5
.line 6657
.end local v1 # "numerator":J
.end local v9 # "denominator":J
:catch_ff
move-exception v1
.line 6661
:cond_100
new-instance v1, Landroid/util/Pair;
invoke-direct {v1, v4, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v1
.line 6664
.end local v0 # "rationalNumber":[Ljava/lang/String;
:cond_106
:try_start_106
invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
.line 6665
.local v0, "longValue":Ljava/lang/Long;
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v1
const/4 v3, 0x4
cmp-long v5, v1, v7
if-ltz v5, :cond_131
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v1
const-wide/32 v9, 0xffff
cmp-long v5, v1, v9
if-gtz v5, :cond_131
.line 6666
new-instance v1, Landroid/util/Pair;
const/4 v2, 0x3
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-direct {v1, v2, v3}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v1
.line 6668
:cond_131
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v1
cmp-long v5, v1, v7
if-gez v5, :cond_145
.line 6669
new-instance v1, Landroid/util/Pair;
const/16 v2, 0x9
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-direct {v1, v2, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v1
.line 6671
:cond_145
new-instance v1, Landroid/util/Pair;
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-direct {v1, v2, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_14e
.catch Ljava/lang/NumberFormatException; {:try_start_106 .. :try_end_14e} :catch_14f
return-object v1
.line 6672
.end local v0 # "longValue":Ljava/lang/Long;
:catch_14f
move-exception v0
.line 6676
:try_start_150
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
.line 6677
new-instance v0, Landroid/util/Pair;
const/16 v1, 0xc
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, v1, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_15e
.catch Ljava/lang/NumberFormatException; {:try_start_150 .. :try_end_15e} :catch_15f
return-object v0
.line 6678
:catch_15f
move-exception v0
.line 6681
new-instance v0, Landroid/util/Pair;
invoke-direct {v0, v4, v6}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
.end method
.method private handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
.registers 10
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "thumbnailData" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6167
nop
.line 6168
const-string v0, "JPEGInterchangeFormat"
invoke-virtual {p2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6169
.local v0, "jpegInterchangeFormatAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
nop
.line 6170
const-string v1, "JPEGInterchangeFormatLength"
invoke-virtual {p2, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6171
.local v1, "jpegInterchangeFormatLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_87
if-eqz v1, :cond_87
.line 6173
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v2
.line 6174
.local v2, "thumbnailOffset":I
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v3
.line 6177
.local v3, "thumbnailLength":I
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->getLength()I
move-result v4
sub-int/2addr v4, v2
invoke-static {v3, v4}, Ljava/lang/Math;->min(II)I
move-result v3
.line 6178
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v5, 0x4
if-eq v4, v5, :cond_40
const/16 v5, 0x9
if-eq v4, v5, :cond_40
const/16 v5, 0xa
if-ne v4, v5, :cond_39
goto :goto_40
.line 6181
:cond_39
const/4 v5, 0x7
if-ne v4, v5, :cond_43
.line 6183
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mOrfMakerNoteOffset:I
add-int/2addr v2, v4
goto :goto_43
.line 6180
:cond_40
:goto_40
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifOffset:I
add-int/2addr v2, v4
.line 6185
:cond_43
:goto_43
sget-boolean v4, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v4, :cond_65
.line 6186
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Setting thumbnail attributes with offset: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, ", length: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
const-string v5, "ExifInterface"
invoke-static {v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6189
:cond_65
if-lez v2, :cond_87
if-lez v3, :cond_87
.line 6190
const/4 v4, 0x1
iput-boolean v4, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
.line 6191
iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
.line 6192
iput v3, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
.line 6193
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-nez v4, :cond_87
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
if-nez v4, :cond_87
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-nez v4, :cond_87
.line 6196
new-array v4, v3, [B
.line 6197
.local v4, "thumbnailBytes":[B
int-to-long v5, v2
invoke-virtual {p1, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 6198
invoke-virtual {p1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
.line 6199
iput-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
.line 6203
.end local v2 # "thumbnailOffset":I
.end local v3 # "thumbnailLength":I
.end local v4 # "thumbnailBytes":[B
:cond_87
return-void
.end method
.method private handleThumbnailFromStrips(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
.registers 22
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "thumbnailData" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6208
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
.line 6209
const-string v3, "StripOffsets"
invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6210
.local v3, "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
nop
.line 6211
const-string v4, "StripByteCounts"
invoke-virtual {v2, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6213
.local v4, "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v3, :cond_9d
if-eqz v4, :cond_9d
.line 6214
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6215
invoke-virtual {v3, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v5
invoke-static {v5}, Landroidx/exifinterface/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J
move-result-object v5
.line 6216
.local v5, "stripOffsets":[J
iget-object v6, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6217
invoke-virtual {v4, v6}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v6
invoke-static {v6}, Landroidx/exifinterface/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J
move-result-object v6
.line 6219
.local v6, "stripByteCounts":[J
const-string v7, "ExifInterface"
if-nez v5, :cond_3a
.line 6220
const-string/jumbo v8, "stripOffsets should not be null."
invoke-static {v7, v8}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 6221
return-void
.line 6223
:cond_3a
if-nez v6, :cond_43
.line 6224
const-string/jumbo v8, "stripByteCounts should not be null."
invoke-static {v7, v8}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 6225
return-void
.line 6228
:cond_43
const-wide/16 v8, 0x0
.line 6229
.local v8, "totalStripByteCount":J
array-length v10, v6
const/4 v12, 0x0
:goto_47
if-ge v12, v10, :cond_4f
aget-wide v13, v6, v12
.line 6230
.local v13, "byteCount":J
add-long/2addr v8, v13
.line 6229
.end local v13 # "byteCount":J
add-int/lit8 v12, v12, 0x1
goto :goto_47
.line 6234
:cond_4f
long-to-int v10, v8
new-array v10, v10, [B
.line 6236
.local v10, "totalStripBytes":[B
const/4 v12, 0x0
.line 6237
.local v12, "bytesRead":I
const/4 v13, 0x0
.line 6238
.local v13, "bytesAdded":I
const/4 v14, 0x0
.local v14, "i":I
:goto_55
array-length v15, v5
if-ge v14, v15, :cond_8e
.line 6239
move/from16 v16, v12
.end local v12 # "bytesRead":I
.local v16, "bytesRead":I
aget-wide v11, v5, v14
long-to-int v12, v11
.line 6240
.local v12, "stripOffset":I
move-object v11, v3
.end local v3 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.local v11, "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
aget-wide v2, v6, v14
long-to-int v3, v2
.line 6243
.local v3, "stripByteCount":I
sub-int v2, v12, v16
.line 6244
.local v2, "skipBytes":I
if-gez v2, :cond_6a
.line 6245
const-string v15, "Invalid strip offset value"
invoke-static {v7, v15}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6247
:cond_6a
move-object v15, v4
move-object/from16 v17, v5
.end local v4 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v5 # "stripOffsets":[J
.local v15, "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.local v17, "stripOffsets":[J
int-to-long v4, v2
invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 6248
add-int v4, v16, v2
.line 6251
.end local v16 # "bytesRead":I
.local v4, "bytesRead":I
new-array v5, v3, [B
.line 6252
.local v5, "stripBytes":[B
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
.line 6253
add-int/2addr v4, v3
.line 6256
array-length v1, v5
move/from16 v18, v2
const/4 v2, 0x0
.end local v2 # "skipBytes":I
.local v18, "skipBytes":I
invoke-static {v5, v2, v10, v13, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6258
array-length v1, v5
add-int/2addr v13, v1
.line 6238
.end local v3 # "stripByteCount":I
.end local v5 # "stripBytes":[B
.end local v12 # "stripOffset":I
.end local v18 # "skipBytes":I
add-int/lit8 v14, v14, 0x1
move-object/from16 v1, p1
move-object/from16 v2, p2
move v12, v4
move-object v3, v11
move-object v4, v15
move-object/from16 v5, v17
goto :goto_55
.end local v11 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v15 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v17 # "stripOffsets":[J
.local v3, "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.local v4, "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.local v5, "stripOffsets":[J
.local v12, "bytesRead":I
:cond_8e
move-object v11, v3
move-object v15, v4
move-object/from16 v17, v5
move/from16 v16, v12
.line 6261
.end local v3 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v4 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v5 # "stripOffsets":[J
.end local v12 # "bytesRead":I
.end local v14 # "i":I
.restart local v11 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v15 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v16 # "bytesRead":I
.restart local v17 # "stripOffsets":[J
const/4 v1, 0x1
iput-boolean v1, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
.line 6262
iput-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
.line 6263
array-length v1, v10
iput v1, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
goto :goto_9f
.line 6213
.end local v6 # "stripByteCounts":[J
.end local v8 # "totalStripByteCount":J
.end local v10 # "totalStripBytes":[B
.end local v11 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v13 # "bytesAdded":I
.end local v15 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v16 # "bytesRead":I
.end local v17 # "stripOffsets":[J
.restart local v3 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v4 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_9d
move-object v11, v3
move-object v15, v4
.line 6265
.end local v3 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v4 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v11 # "stripOffsetsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v15 # "stripByteCountsAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:goto_9f
return-void
.end method
.method private initForFilename(Ljava/lang/String;)V
.registers 5
.param p1, "filename" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4949
if-eqz p1, :cond_2e
.line 4952
const/4 v0, 0x0
.line 4953
.local v0, "in":Ljava/io/FileInputStream;
const/4 v1, 0x0
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.line 4954
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
.line 4956
:try_start_8
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, p1}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
move-object v0, v2
.line 4957
invoke-virtual {v0}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v2
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
move-result v2
if-eqz v2, :cond_1f
.line 4958
invoke-virtual {v0}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v1
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
goto :goto_21
.line 4960
:cond_1f
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
.line 4962
:goto_21
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
:try_end_24
.catchall {:try_start_8 .. :try_end_24} :catchall_29
.line 4964
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4965
nop
.line 4966
return-void
.line 4964
:catchall_29
move-exception v1
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4965
throw v1
.line 4950
.end local v0 # "in":Ljava/io/FileInputStream;
:cond_2e
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "filename cannot be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private isHeifFormat([B)Z
.registers 22
.param p1, "signatureCheckBytes" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5058
move-object/from16 v1, p1
const/4 v2, 0x0
.line 5060
.local v2, "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
const/4 v3, 0x0
:try_start_4
new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
move-object v2, v0
.line 5061
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v2, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5063
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
int-to-long v4, v0
.line 5064
.local v4, "chunkSize":J
const/4 v0, 0x4
new-array v6, v0, [B
.line 5065
.local v6, "chunkType":[B
invoke-virtual {v2, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
.line 5067
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->HEIF_TYPE_FTYP:[B
invoke-static {v6, v7}, Ljava/util/Arrays;->equals([B[B)Z
move-result v7
:try_end_20
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_20} :catch_a3
.catchall {:try_start_4 .. :try_end_20} :catchall_a1
if-nez v7, :cond_29
.line 5068
nop
.line 5121
nop
.line 5122
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v0, 0x0
.line 5068
.end local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.local v0, "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
return v3
.line 5071
.end local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_29
const-wide/16 v7, 0x8
.line 5072
.local v7, "chunkDataOffset":J
const-wide/16 v9, 0x8
const-wide/16 v11, 0x1
cmp-long v13, v4, v11
if-nez v13, :cond_46
.line 5075
:try_start_33
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readLong()J
move-result-wide v13
:try_end_37
.catch Ljava/lang/Exception; {:try_start_33 .. :try_end_37} :catch_a3
.catchall {:try_start_33 .. :try_end_37} :catchall_a1
move-wide v4, v13
.line 5076
const-wide/16 v13, 0x10
cmp-long v15, v4, v13
if-gez v15, :cond_45
.line 5078
nop
.line 5121
nop
.line 5122
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v0, 0x0
.line 5078
.end local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
return v3
.line 5080
.end local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_45
add-long/2addr v7, v9
.line 5084
:cond_46
:try_start_46
array-length v13, v1
int-to-long v13, v13
cmp-long v15, v4, v13
if-lez v15, :cond_4e
.line 5085
array-length v13, v1
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_46 .. :try_end_4d} :catch_a3
.catchall {:try_start_46 .. :try_end_4d} :catchall_a1
int-to-long v4, v13
.line 5088
:cond_4e
sub-long v13, v4, v7
.line 5092
.local v13, "chunkDataSize":J
cmp-long v15, v13, v9
if-gez v15, :cond_5b
.line 5093
nop
.line 5121
nop
.line 5122
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v0, 0x0
.line 5093
.end local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
return v3
.line 5096
.end local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_5b
:try_start_5b
new-array v0, v0, [B
.line 5097
.local v0, "brand":[B
const/4 v9, 0x0
.line 5098
.local v9, "isMif1":Z
const/4 v10, 0x0
.line 5099
.local v10, "isHeic":Z
const-wide/16 v15, 0x0
.local v15, "i":J
:goto_61
const-wide/16 v17, 0x4
div-long v17, v13, v17
cmp-long v19, v15, v17
if-gez v19, :cond_a0
.line 5100
invoke-virtual {v2, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I
move-result v11
array-length v12, v0
:try_end_6e
.catch Ljava/lang/Exception; {:try_start_5b .. :try_end_6e} :catch_a3
.catchall {:try_start_5b .. :try_end_6e} :catchall_a1
if-eq v11, v12, :cond_77
.line 5101
nop
.line 5121
nop
.line 5122
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v2, 0x0
.line 5101
return v3
.line 5103
:cond_77
const-wide/16 v11, 0x1
cmp-long v19, v15, v11
if-nez v19, :cond_7e
.line 5105
goto :goto_9c
.line 5107
:cond_7e
:try_start_7e
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_MIF1:[B
invoke-static {v0, v11}, Ljava/util/Arrays;->equals([B[B)Z
move-result v11
if-eqz v11, :cond_88
.line 5108
const/4 v9, 0x1
goto :goto_91
.line 5109
:cond_88
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_HEIC:[B
invoke-static {v0, v11}, Ljava/util/Arrays;->equals([B[B)Z
move-result v11
:try_end_8e
.catch Ljava/lang/Exception; {:try_start_7e .. :try_end_8e} :catch_a3
.catchall {:try_start_7e .. :try_end_8e} :catchall_a1
if-eqz v11, :cond_91
.line 5110
const/4 v10, 0x1
.line 5112
:cond_91
:goto_91
if-eqz v9, :cond_9c
if-eqz v10, :cond_9c
.line 5113
const/4 v3, 0x1
.line 5121
nop
.line 5122
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v2, 0x0
.line 5113
return v3
.line 5099
:cond_9c
:goto_9c
const-wide/16 v11, 0x1
add-long/2addr v15, v11
goto :goto_61
.line 5121
.end local v0 # "brand":[B
.end local v4 # "chunkSize":J
.end local v6 # "chunkType":[B
.end local v7 # "chunkDataOffset":J
.end local v9 # "isMif1":Z
.end local v10 # "isHeic":Z
.end local v13 # "chunkDataSize":J
.end local v15 # "i":J
:cond_a0
goto :goto_b1
:catchall_a1
move-exception v0
goto :goto_b8
.line 5116
:catch_a3
move-exception v0
.line 5117
.local v0, "e":Ljava/lang/Exception;
:try_start_a4
sget-boolean v4, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v4, :cond_af
.line 5118
const-string v4, "ExifInterface"
const-string v5, "Exception parsing HEIF file type box."
invoke-static {v4, v5, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_af
.catchall {:try_start_a4 .. :try_end_af} :catchall_a1
.line 5121
.end local v0 # "e":Ljava/lang/Exception;
:cond_af
if-eqz v2, :cond_b6
.line 5122
:goto_b1
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v0, 0x0
.end local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.local v0, "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
goto :goto_b7
.line 5121
.end local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:cond_b6
move-object v0, v2
.line 5126
.end local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:goto_b7
return v3
.line 5121
.end local v0 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.restart local v2 # "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
:goto_b8
if-eqz v2, :cond_be
.line 5122
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5123
const/4 v2, 0x0
.line 5125
:cond_be
goto :goto_c0
:goto_bf
throw v0
:goto_c0
goto :goto_bf
.end method
.method private static isJpegFormat([B)Z
.registers 4
.param p0, "signatureCheckBytes" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5033
const/4 v0, 0x0
.local v0, "i":I
:goto_1
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->JPEG_SIGNATURE:[B
array-length v2, v1
if-ge v0, v2, :cond_11
.line 5034
aget-byte v2, p0, v0
aget-byte v1, v1, v0
if-eq v2, v1, :cond_e
.line 5035
const/4 v1, 0x0
return v1
.line 5033
:cond_e
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 5038
.end local v0 # "i":I
:cond_11
const/4 v0, 0x1
return v0
.end method
.method private isOrfFormat([B)Z
.registers 5
.param p1, "signatureCheckBytes" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5138
new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
.line 5141
.local v0, "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
move-result-object v1
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5143
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5145
invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v1
.line 5146
.local v1, "orfSignature":S
invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5147
const/16 v2, 0x4f52
if-eq v1, v2, :cond_20
const/16 v2, 0x5352
if-ne v1, v2, :cond_1e
goto :goto_20
:cond_1e
const/4 v2, 0x0
goto :goto_21
:cond_20
:goto_20
const/4 v2, 0x1
:goto_21
return v2
.end method
.method private isRafFormat([B)Z
.registers 6
.param p1, "signatureCheckBytes" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5048
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v0
const-string v1, "FUJIFILMCCD-RAW"
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v0
.line 5049
.local v0, "rafSignatureBytes":[B
const/4 v1, 0x0
.local v1, "i":I
:goto_b
array-length v2, v0
if-ge v1, v2, :cond_19
.line 5050
aget-byte v2, p1, v1
aget-byte v3, v0, v1
if-eq v2, v3, :cond_16
.line 5051
const/4 v2, 0x0
return v2
.line 5049
:cond_16
add-int/lit8 v1, v1, 0x1
goto :goto_b
.line 5054
.end local v1 # "i":I
:cond_19
const/4 v1, 0x1
return v1
.end method
.method private isRw2Format([B)Z
.registers 5
.param p1, "signatureCheckBytes" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5155
new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
.line 5158
.local v0, "signatureInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
move-result-object v1
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5160
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5162
invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v1
.line 5163
.local v1, "signatureByte":S
invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V
.line 5164
const/16 v2, 0x55
if-ne v1, v2, :cond_1b
const/4 v2, 0x1
goto :goto_1c
:cond_1b
const/4 v2, 0x0
:goto_1c
return v2
.end method
.method private static isSeekableFD(Ljava/io/FileDescriptor;)Z
.registers 5
.param p0, "fd" # Ljava/io/FileDescriptor;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4399
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x15
if-lt v0, v2, :cond_12
.line 4401
const-wide/16 v2, 0x0
:try_start_9
sget v0, Landroid/system/OsConstants;->SEEK_CUR:I
invoke-static {p0, v2, v3, v0}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
:try_end_e
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_e} :catch_10
.line 4402
const/4 v0, 0x1
return v0
.line 4403
:catch_10
move-exception v0
.line 4404
.local v0, "e":Ljava/lang/Exception;
return v1
.line 4407
.end local v0 # "e":Ljava/lang/Exception;
:cond_12
return v1
.end method
.method private isSupportedDataType(Ljava/util/HashMap;)Z
.registers 8
.param p1, "thumbnailData" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6269
nop
.line 6270
const-string v0, "BitsPerSample"
invoke-virtual {p1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6271
.local v0, "bitsPerSampleAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_4b
.line 6272
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v1
check-cast v1, [I
check-cast v1, [I
.line 6274
.local v1, "bitsPerSampleValue":[I
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
invoke-static {v2, v1}, Ljava/util/Arrays;->equals([I[I)Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_1f
.line 6275
return v3
.line 6279
:cond_1f
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v4, 0x3
if-ne v2, v4, :cond_4b
.line 6280
nop
.line 6281
const-string v2, "PhotometricInterpretation"
invoke-virtual {p1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6282
.local v2, "photometricInterpretationAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v2, :cond_4b
.line 6283
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6284
invoke-virtual {v2, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v4
.line 6285
.local v4, "photometricInterpretationValue":I
if-ne v4, v3, :cond_3f
sget-object v5, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I
.line 6286
invoke-static {v1, v5}, Ljava/util/Arrays;->equals([I[I)Z
move-result v5
if-nez v5, :cond_4a
:cond_3f
const/4 v5, 0x6
if-ne v4, v5, :cond_4b
sget-object v5, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
.line 6288
invoke-static {v1, v5}, Ljava/util/Arrays;->equals([I[I)Z
move-result v5
if-eqz v5, :cond_4b
.line 6289
:cond_4a
return v3
.line 6296
.end local v1 # "bitsPerSampleValue":[I
.end local v2 # "photometricInterpretationAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v4 # "photometricInterpretationValue":I
:cond_4b
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_56
.line 6297
const-string v1, "ExifInterface"
const-string v2, "Unsupported data type value"
invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6299
:cond_56
const/4 v1, 0x0
return v1
.end method
.method private isThumbnail(Ljava/util/HashMap;)Z
.registers 7
.param p1, "map" # Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6305
const-string v0, "ImageLength"
invoke-virtual {p1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6306
.local v0, "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
const-string v1, "ImageWidth"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6308
.local v1, "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_28
if-eqz v1, :cond_28
.line 6309
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v2
.line 6310
.local v2, "imageLengthValue":I
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v3
.line 6311
.local v3, "imageWidthValue":I
const/16 v4, 0x200
if-gt v2, v4, :cond_28
if-gt v3, v4, :cond_28
.line 6312
const/4 v4, 0x1
return v4
.line 6315
.end local v2 # "imageLengthValue":I
.end local v3 # "imageWidthValue":I
:cond_28
const/4 v2, 0x0
return v2
.end method
.method private loadAttributes(Ljava/io/InputStream;)V
.registers 6
.param p1, "in" # Ljava/io/InputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4325
if-eqz p1, :cond_7e
.line 4330
const/4 v0, 0x0
.local v0, "i":I
:goto_3
const/4 v1, 0x0
:try_start_4
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v2, v2
if-ge v0, v2, :cond_15
.line 4331
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
new-instance v3, Ljava/util/HashMap;
invoke-direct {v3}, Ljava/util/HashMap;-><init>()V
aput-object v3, v2, v0
.line 4330
add-int/lit8 v0, v0, 0x1
goto :goto_3
.line 4335
.end local v0 # "i":I
:cond_15
new-instance v0, Ljava/io/BufferedInputStream;
const/16 v2, 0x1388
invoke-direct {v0, p1, v2}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
move-object p1, v0
.line 4336
move-object v0, p1
check-cast v0, Ljava/io/BufferedInputStream;
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getMimeType(Ljava/io/BufferedInputStream;)I
move-result v0
iput v0, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
.line 4339
new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
.line 4341
.local v0, "inputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
packed-switch v2, :pswitch_data_88
goto :goto_49
.line 4351
:pswitch_31
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getHeifAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 4352
goto :goto_49
.line 4359
:pswitch_35
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getRw2Attributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 4360
goto :goto_49
.line 4347
:pswitch_39
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getRafAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 4348
goto :goto_49
.line 4355
:pswitch_3d
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getOrfAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 4356
goto :goto_49
.line 4343
:pswitch_41
invoke-direct {p0, v0, v1, v1}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
.line 4344
goto :goto_49
.line 4370
:pswitch_45
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 4371
nop
.line 4378
:goto_49
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.line 4379
const/4 v2, 0x1
iput-boolean v2, p0, Landroidx/exifinterface/media/ExifInterface;->mIsSupportedFile:Z
:try_end_4f
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_4f} :catch_5c
.catchall {:try_start_4 .. :try_end_4f} :catchall_5a
.line 4390
.end local v0 # "inputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
.line 4392
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_72
.line 4393
:goto_56
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
goto :goto_72
.line 4390
:catchall_5a
move-exception v0
goto :goto_73
.line 4380
:catch_5c
move-exception v0
.line 4383
.local v0, "e":Ljava/io/IOException;
:try_start_5d
iput-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mIsSupportedFile:Z
.line 4384
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_6a
.line 4385
const-string v1, "ExifInterface"
const-string v2, "Invalid image: ExifInterface got an unsupported image format file(ExifInterface supports JPEG and some RAW image formats only) or a corrupted JPEG file to ExifInterface."
invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_6a
.catchall {:try_start_5d .. :try_end_6a} :catchall_5a
.line 4390
.end local v0 # "e":Ljava/io/IOException;
:cond_6a
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
.line 4392
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_72
.line 4393
goto :goto_56
.line 4396
:cond_72
:goto_72
return-void
.line 4390
:goto_73
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
.line 4392
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_7d
.line 4393
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
.line 4395
:cond_7d
throw v0
.line 4326
:cond_7e
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "inputstream shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_87
:goto_86
throw v0
:goto_87
goto :goto_86
:pswitch_data_88
.packed-switch 0x0
:pswitch_45
:pswitch_45
:pswitch_45
:pswitch_45
:pswitch_41
:pswitch_45
:pswitch_45
:pswitch_3d
:pswitch_45
:pswitch_39
:pswitch_35
:pswitch_45
:pswitch_31
.end packed-switch
.end method
.method private static parseDateTime(Ljava/lang/String;Ljava/lang/String;)J
.registers 13
.param p0, "dateTimeString" # Ljava/lang/String;
.param p1, "subSecs" # Ljava/lang/String;
.line 4893
const-wide/16 v0, -0x1
if-eqz p0, :cond_3c
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
.line 4894
invoke-virtual {v2, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
invoke-virtual {v2}, Ljava/util/regex/Matcher;->matches()Z
move-result v2
if-nez v2, :cond_11
goto :goto_3c
.line 4896
:cond_11
new-instance v2, Ljava/text/ParsePosition;
const/4 v3, 0x0
invoke-direct {v2, v3}, Ljava/text/ParsePosition;-><init>(I)V
.line 4900
.local v2, "pos":Ljava/text/ParsePosition;
:try_start_17
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
invoke-virtual {v3, p0, v2}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
move-result-object v3
.line 4901
.local v3, "datetime":Ljava/util/Date;
if-nez v3, :cond_20
return-wide v0
.line 4902
:cond_20
invoke-virtual {v3}, Ljava/util/Date;->getTime()J
move-result-wide v4
:try_end_24
.catch Ljava/lang/IllegalArgumentException; {:try_start_17 .. :try_end_24} :catch_3a
.line 4904
.local v4, "msecs":J
if-eqz p1, :cond_39
.line 4906
:try_start_26
invoke-static {p1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v6
.line 4907
.local v6, "sub":J
:goto_2a
const-wide/16 v8, 0x3e8
cmp-long v10, v6, v8
if-lez v10, :cond_36
.line 4908
const-wide/16 v8, 0xa
div-long v8, v6, v8
:try_end_34
.catch Ljava/lang/NumberFormatException; {:try_start_26 .. :try_end_34} :catch_38
.catch Ljava/lang/IllegalArgumentException; {:try_start_26 .. :try_end_34} :catch_3a
move-wide v6, v8
goto :goto_2a
.line 4910
:cond_36
add-long/2addr v4, v6
.line 4913
.end local v6 # "sub":J
goto :goto_39
.line 4911
:catch_38
move-exception v0
.line 4915
:cond_39
:goto_39
return-wide v4
.line 4916
.end local v3 # "datetime":Ljava/util/Date;
.end local v4 # "msecs":J
:catch_3a
move-exception v3
.line 4917
.local v3, "e":Ljava/lang/IllegalArgumentException;
return-wide v0
.line 4894
.end local v2 # "pos":Ljava/text/ParsePosition;
.end local v3 # "e":Ljava/lang/IllegalArgumentException;
:cond_3c
:goto_3c
return-wide v0
.end method
.method private parseTiffHeaders(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 8
.param p1, "dataInputStream" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "exifBytesLength" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5843
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
move-result-object v0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5845
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 5848
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v0
.line 5849
.local v0, "startCode":I
iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v2, 0x7
if-eq v1, v2, :cond_36
const/16 v2, 0xa
if-eq v1, v2, :cond_36
const/16 v1, 0x2a
if-ne v0, v1, :cond_1b
goto :goto_36
.line 5850
:cond_1b
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Invalid start code: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 5854
:cond_36
:goto_36
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v1
.line 5855
.local v1, "firstIfdOffset":I
const/16 v2, 0x8
if-lt v1, v2, :cond_63
if-ge v1, p2, :cond_63
.line 5858
add-int/lit8 v1, v1, -0x8
.line 5859
if-lez v1, :cond_62
.line 5860
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v2
if-ne v2, v1, :cond_4b
goto :goto_62
.line 5861
:cond_4b
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Couldn\'t jump to first Ifd: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5864
:cond_62
:goto_62
return-void
.line 5856
:cond_63
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid first Ifd offset: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.end method
.method private printAttributes()V
.registers 8
.line 4412
const/4 v0, 0x0
.local v0, "i":I
:goto_1
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
array-length v1, v1
if-ge v0, v1, :cond_89
.line 4413
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The size of tag group["
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, "]: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v0
invoke-virtual {v2}, Ljava/util/HashMap;->size()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "ExifInterface"
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 4414
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, v0
invoke-virtual {v1}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_38
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_85
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Map$Entry;
.line 4415
.local v3, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 4416
.local v4, "tagValue":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v6, "tagName: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v3}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/String;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, ", tagType: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, ", tagValue: \'"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4417
invoke-virtual {v4, v6}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, "\'"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
.line 4416
invoke-static {v2, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 4418
.end local v3 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
.end local v4 # "tagValue":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
goto :goto_38
.line 4412
:cond_85
add-int/lit8 v0, v0, 0x1
goto/16 :goto_1
.line 4420
.end local v0 # "i":I
:cond_89
return-void
.end method
.method private readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
.registers 6
.param p1, "dataInputStream" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5823
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v0
.line 5824
.local v0, "byteOrder":S
const/16 v1, 0x4949
const-string v2, "ExifInterface"
if-eq v0, v1, :cond_35
const/16 v1, 0x4d4d
if-ne v0, v1, :cond_1a
.line 5831
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_17
.line 5832
const-string v1, "readExifSegment: Byte Align MM"
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5834
:cond_17
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
return-object v1
.line 5836
:cond_1a
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Invalid byte order: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 5826
:cond_35
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_3e
.line 5827
const-string v1, "readExifSegment: Byte Align II"
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5829
:cond_3e
sget-object v1, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
return-object v1
.end method
.method private readExifSegment([BI)V
.registers 5
.param p1, "exifBytes" # [B
.param p2, "imageType" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5783
new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
.line 5787
.local v0, "dataInputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
array-length v1, p1
invoke-direct {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->parseTiffHeaders(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5790
invoke-direct {p0, v0, p2}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 5791
return-void
.end method
.method private readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 32
.param p1, "dataInputStream" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "ifdType" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5870
move-object/from16 v0, p0
move-object/from16 v1, p1
move/from16 v2, p2
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
iget v4, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-interface {v3, v4}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 5872
iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
const/4 v4, 0x2
add-int/2addr v3, v4
iget v5, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-le v3, v5, :cond_1a
.line 5874
return-void
.line 5877
:cond_1a
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v3
.line 5878
.local v3, "numberOfDirectoryEntry":S
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const-string v6, "ExifInterface"
if-eqz v5, :cond_38
.line 5879
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "numberOfDirectoryEntry: "
invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v6, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5881
:cond_38
iget v5, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
mul-int/lit8 v7, v3, 0xc
add-int/2addr v5, v7
iget v7, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v5, v7, :cond_46b
if-gtz v3, :cond_47
move/from16 v23, v3
goto/16 :goto_46d
.line 5888
:cond_47
const/4 v5, 0x0
.local v5, "i":S
:goto_48
const/4 v9, 0x0
const/4 v10, 0x5
if-ge v5, v3, :cond_3d8
.line 5889
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v13
.line 5890
.local v13, "tagNumber":I
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v14
.line 5891
.local v14, "dataFormat":I
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v15
.line 5893
.local v15, "numberOfComponents":I
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v7
int-to-long v7, v7
const-wide/16 v18, 0x4
add-long v7, v7, v18
.line 5896
.local v7, "nextEntryOffset":J
sget-object v20, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
aget-object v12, v20, v2
invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-virtual {v12, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 5898
.local v4, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
sget-boolean v12, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const/4 v11, 0x3
if-eqz v12, :cond_a5
.line 5899
new-array v10, v10, [Ljava/lang/Object;
.line 5900
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v10, v9
invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
const/16 v20, 0x1
aput-object v12, v10, v20
if-eqz v4, :cond_89
iget-object v12, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
goto :goto_8a
:cond_89
const/4 v12, 0x0
:goto_8a
const/16 v22, 0x2
aput-object v12, v10, v22
.line 5901
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v10, v11
invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
const/16 v21, 0x4
aput-object v12, v10, v21
.line 5899
const-string v12, "ifdType: %d, tagNumber: %d, tagName: %s, dataFormat: %d, numberOfComponents: %d"
invoke-static {v12, v10}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v10
invoke-static {v6, v10}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5904
:cond_a5
const-wide/16 v23, 0x0
.line 5905
.local v23, "byteCount":J
const/4 v10, 0x0
.line 5906
.local v10, "valid":Z
const/4 v12, 0x7
if-nez v4, :cond_cd
.line 5907
sget-boolean v25, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v25, :cond_c8
.line 5908
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Skip the tag entry since tag number is not defined: "
invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-static {v6, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
move/from16 v26, v10
move v9, v13
goto/16 :goto_166
.line 5907
:cond_c8
move/from16 v26, v10
move v9, v13
goto/16 :goto_166
.line 5910
:cond_cd
if-lez v14, :cond_14b
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
array-length v9, v9
if-lt v14, v9, :cond_d9
move/from16 v26, v10
move v9, v13
goto/16 :goto_14e
.line 5914
:cond_d9
invoke-virtual {v4, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->isFormatCompatible(I)Z
move-result v9
if-nez v9, :cond_10d
.line 5915
sget-boolean v9, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v9, :cond_109
.line 5916
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Skip the tag entry since data format ("
invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
aget-object v11, v11, v14
invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v11, ") is unexpected for tag: "
invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v11, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-static {v6, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
move/from16 v26, v10
move v9, v13
goto :goto_166
.line 5915
:cond_109
move/from16 v26, v10
move v9, v13
goto :goto_166
.line 5921
:cond_10d
if-ne v14, v12, :cond_111
.line 5922
iget v14, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
.line 5924
:cond_111
move v9, v13
.end local v13 # "tagNumber":I
.local v9, "tagNumber":I
int-to-long v12, v15
sget-object v26, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
aget v11, v26, v14
move/from16 v26, v10
.end local v10 # "valid":Z
.local v26, "valid":Z
int-to-long v10, v11
mul-long v23, v12, v10
.line 5925
const-wide/16 v10, 0x0
cmp-long v12, v23, v10
if-ltz v12, :cond_12e
const-wide/32 v10, 0x7fffffff
cmp-long v12, v23, v10
if-lez v12, :cond_12a
goto :goto_12e
.line 5931
:cond_12a
const/4 v10, 0x1
move-wide/from16 v11, v23
.end local v26 # "valid":Z
.restart local v10 # "valid":Z
goto :goto_16a
.line 5926
.end local v10 # "valid":Z
.restart local v26 # "valid":Z
:cond_12e
:goto_12e
sget-boolean v10, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v10, :cond_146
.line 5927
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Skip the tag entry since the number of components is invalid: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
invoke-static {v6, v10}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5934
:cond_146
move-wide/from16 v11, v23
move/from16 v10, v26
goto :goto_16a
.line 5910
.end local v9 # "tagNumber":I
.end local v26 # "valid":Z
.restart local v10 # "valid":Z
.restart local v13 # "tagNumber":I
:cond_14b
move/from16 v26, v10
move v9, v13
.line 5911
.end local v10 # "valid":Z
.end local v13 # "tagNumber":I
.restart local v9 # "tagNumber":I
.restart local v26 # "valid":Z
:goto_14e
sget-boolean v10, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v10, :cond_166
.line 5912
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Skip the tag entry since data format is invalid: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
invoke-static {v6, v10}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5934
.end local v9 # "tagNumber":I
.end local v26 # "valid":Z
.restart local v10 # "valid":Z
.restart local v13 # "tagNumber":I
:cond_166
:goto_166
move-wide/from16 v11, v23
move/from16 v10, v26
.end local v13 # "tagNumber":I
.end local v23 # "byteCount":J
.restart local v9 # "tagNumber":I
.local v11, "byteCount":J
:goto_16a
if-nez v10, :cond_175
.line 5935
invoke-virtual {v1, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5936
move/from16 v23, v3
move/from16 v26, v5
goto/16 :goto_3ce
.line 5941
:cond_175
const-string v13, "Compression"
cmp-long v23, v11, v18
if-lez v23, :cond_24e
.line 5942
move/from16 v23, v3
.end local v3 # "numberOfDirectoryEntry":S
.local v23, "numberOfDirectoryEntry":S
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v3
.line 5943
.local v3, "offset":I
sget-boolean v18, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v18, :cond_19f
.line 5944
move/from16 v24, v10
.end local v10 # "valid":Z
.local v24, "valid":Z
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
move/from16 v26, v5
.end local v5 # "i":S
.local v26, "i":S
const-string/jumbo v5, "seek to data offset: "
invoke-virtual {v10, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v6, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_1a3
.line 5943
.end local v24 # "valid":Z
.end local v26 # "i":S
.restart local v5 # "i":S
.restart local v10 # "valid":Z
:cond_19f
move/from16 v26, v5
move/from16 v24, v10
.line 5946
.end local v5 # "i":S
.end local v10 # "valid":Z
.restart local v24 # "valid":Z
.restart local v26 # "i":S
:goto_1a3
iget v5, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v10, 0x7
if-ne v5, v10, :cond_20d
.line 5947
iget-object v5, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v10, "MakerNote"
invoke-virtual {v10, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_1b9
.line 5949
iput v3, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfMakerNoteOffset:I
move/from16 v27, v14
move/from16 v18, v15
goto :goto_221
.line 5950
:cond_1b9
const/4 v5, 0x6
if-ne v2, v5, :cond_208
iget-object v10, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
.line 5951
const-string v5, "ThumbnailImage"
invoke-virtual {v5, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_203
.line 5953
iput v3, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailOffset:I
.line 5954
iput v15, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailLength:I
.line 5956
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5957
const/4 v10, 0x6
invoke-static {v10, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v5
.line 5958
.local v5, "compressionAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget v10, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailOffset:I
move/from16 v27, v14
move/from16 v18, v15
.end local v14 # "dataFormat":I
.end local v15 # "numberOfComponents":I
.local v18, "numberOfComponents":I
.local v27, "dataFormat":I
int-to-long v14, v10
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5959
invoke-static {v14, v15, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v10
.line 5960
.local v10, "jpegInterchangeFormatAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget v14, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailLength:I
int-to-long v14, v14
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 5961
invoke-static {v14, v15, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v2
.line 5963
.local v2, "jpegInterchangeFormatLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v15, 0x4
aget-object v14, v14, v15
invoke-virtual {v14, v13, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5964
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v14, v14, v15
const-string v15, "JPEGInterchangeFormat"
invoke-virtual {v14, v15, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5966
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v15, 0x4
aget-object v14, v14, v15
const-string v15, "JPEGInterchangeFormatLength"
invoke-virtual {v14, v15, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5968
.end local v2 # "jpegInterchangeFormatLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v5 # "compressionAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v10 # "jpegInterchangeFormatAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
goto :goto_221
.line 5951
.end local v18 # "numberOfComponents":I
.end local v27 # "dataFormat":I
.restart local v14 # "dataFormat":I
.restart local v15 # "numberOfComponents":I
:cond_203
move/from16 v27, v14
move/from16 v18, v15
.end local v14 # "dataFormat":I
.end local v15 # "numberOfComponents":I
.restart local v18 # "numberOfComponents":I
.restart local v27 # "dataFormat":I
goto :goto_221
.line 5950
.end local v18 # "numberOfComponents":I
.end local v27 # "dataFormat":I
.restart local v14 # "dataFormat":I
.restart local v15 # "numberOfComponents":I
:cond_208
move/from16 v27, v14
move/from16 v18, v15
.end local v14 # "dataFormat":I
.end local v15 # "numberOfComponents":I
.restart local v18 # "numberOfComponents":I
.restart local v27 # "dataFormat":I
goto :goto_221
.line 5969
.end local v18 # "numberOfComponents":I
.end local v27 # "dataFormat":I
.restart local v14 # "dataFormat":I
.restart local v15 # "numberOfComponents":I
:cond_20d
move/from16 v27, v14
move/from16 v18, v15
.end local v14 # "dataFormat":I
.end local v15 # "numberOfComponents":I
.restart local v18 # "numberOfComponents":I
.restart local v27 # "dataFormat":I
const/16 v2, 0xa
if-ne v5, v2, :cond_221
.line 5970
iget-object v2, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v5, "JpgFromRaw"
invoke-virtual {v5, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_221
.line 5971
iput v3, v0, Landroidx/exifinterface/media/ExifInterface;->mRw2JpgFromRawOffset:I
.line 5974
:cond_221
:goto_221
int-to-long v14, v3
add-long/2addr v14, v11
iget v2, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
move-object/from16 v28, v4
.end local v4 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v28, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
int-to-long v4, v2
cmp-long v2, v14, v4
if-gtz v2, :cond_231
.line 5975
int-to-long v4, v3
invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
goto :goto_25a
.line 5978
:cond_231
sget-boolean v2, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v2, :cond_249
.line 5979
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Skip the tag entry since data offset is invalid: "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v6, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5981
:cond_249
invoke-virtual {v1, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5982
goto/16 :goto_3ce
.line 5941
.end local v18 # "numberOfComponents":I
.end local v23 # "numberOfDirectoryEntry":S
.end local v24 # "valid":Z
.end local v26 # "i":S
.end local v27 # "dataFormat":I
.end local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v3, "numberOfDirectoryEntry":S
.restart local v4 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v5, "i":S
.local v10, "valid":Z
.restart local v14 # "dataFormat":I
.restart local v15 # "numberOfComponents":I
:cond_24e
move/from16 v23, v3
move-object/from16 v28, v4
move/from16 v26, v5
move/from16 v24, v10
move/from16 v27, v14
move/from16 v18, v15
.line 5987
.end local v3 # "numberOfDirectoryEntry":S
.end local v4 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v5 # "i":S
.end local v10 # "valid":Z
.end local v14 # "dataFormat":I
.end local v15 # "numberOfComponents":I
.restart local v18 # "numberOfComponents":I
.restart local v23 # "numberOfDirectoryEntry":S
.restart local v24 # "valid":Z
.restart local v26 # "i":S
.restart local v27 # "dataFormat":I
.restart local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
:goto_25a
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Integer;
.line 5988
.local v2, "nextIfdType":Ljava/lang/Integer;
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_286
.line 5989
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "nextIfdType: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, " byteCount: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v11, v12}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5992
:cond_286
const/16 v3, 0x8
if-eqz v2, :cond_345
.line 5993
const-wide/16 v4, -0x1
.line 5995
.local v4, "offset":J
move/from16 v14, v27
const/4 v10, 0x3
.end local v27 # "dataFormat":I
.restart local v14 # "dataFormat":I
if-eq v14, v10, :cond_2b0
const/4 v10, 0x4
if-eq v14, v10, :cond_2ab
if-eq v14, v3, :cond_2a5
const/16 v3, 0x9
if-eq v14, v3, :cond_29f
const/16 v3, 0xd
if-eq v14, v3, :cond_29f
goto :goto_2b6
.line 6010
:cond_29f
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v3
int-to-long v4, v3
.line 6011
goto :goto_2b6
.line 6001
:cond_2a5
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v3
int-to-long v4, v3
.line 6002
goto :goto_2b6
.line 6005
:cond_2ab
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedInt()J
move-result-wide v4
.line 6006
goto :goto_2b6
.line 5997
:cond_2b0
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v3
int-to-long v4, v3
.line 5998
nop
.line 6018
:goto_2b6
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_2d6
.line 6019
const/4 v10, 0x2
new-array v3, v10, [Ljava/lang/Object;
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v13
const/4 v15, 0x0
aput-object v13, v3, v15
move-object/from16 v15, v28
.end local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v15, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v13, v15, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const/16 v19, 0x1
aput-object v13, v3, v19
const-string v13, "Offset: %d, tagName: %s"
invoke-static {v13, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_2d9
.line 6018
.end local v15 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
:cond_2d6
move-object/from16 v15, v28
const/4 v10, 0x2
.line 6025
.end local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v15 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
:goto_2d9
const-wide/16 v16, 0x0
cmp-long v3, v4, v16
if-lez v3, :cond_326
iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
move-wide/from16 v21, v11
.end local v11 # "byteCount":J
.local v21, "byteCount":J
int-to-long v10, v3
cmp-long v3, v4, v10
if-gez v3, :cond_328
.line 6026
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
long-to-int v10, v4
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
invoke-interface {v3, v10}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_300
.line 6027
invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 6028
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v3
invoke-direct {v0, v1, v3}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
goto :goto_340
.line 6030
:cond_300
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_340
.line 6031
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Skip jump into the IFD since it has already been read: IfdType "
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v10, " (at "
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v10, ")"
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_340
.line 6025
.end local v21 # "byteCount":J
.restart local v11 # "byteCount":J
:cond_326
move-wide/from16 v21, v11
.line 6036
.end local v11 # "byteCount":J
.restart local v21 # "byteCount":J
:cond_328
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_340
.line 6037
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Skip jump into the IFD since its offset is invalid: "
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6041
:cond_340
:goto_340
invoke-virtual {v1, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 6042
goto/16 :goto_3ce
.line 6045
.end local v4 # "offset":J
.end local v14 # "dataFormat":I
.end local v15 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v21 # "byteCount":J
.restart local v11 # "byteCount":J
.restart local v27 # "dataFormat":I
.restart local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
:cond_345
move-wide/from16 v21, v11
move/from16 v14, v27
move-object/from16 v15, v28
.end local v11 # "byteCount":J
.end local v27 # "dataFormat":I
.end local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v14 # "dataFormat":I
.restart local v15 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v21 # "byteCount":J
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v4
.line 6046
.local v4, "bytesOffset":I
move-wide/from16 v10, v21
.end local v21 # "byteCount":J
.local v10, "byteCount":J
long-to-int v5, v10
new-array v5, v5, [B
.line 6047
.local v5, "bytes":[B
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
.line 6048
new-instance v21, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-object/from16 v25, v13
int-to-long v12, v4
move-object v3, v15
move/from16 v27, v18
.end local v15 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v18 # "numberOfComponents":I
.local v3, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v27, "numberOfComponents":I
move-object/from16 v15, v21
move/from16 v16, v14
move/from16 v17, v27
move-wide/from16 v18, v12
move-object/from16 v20, v5
invoke-direct/range {v15 .. v20}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;-><init>(IIJ[B)V
move-object/from16 v12, v21
.line 6050
.local v12, "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v13, v13, p2
iget-object v15, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-virtual {v13, v15, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6055
iget-object v13, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v15, "DNGVersion"
invoke-virtual {v15, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_384
.line 6056
const/4 v13, 0x3
iput v13, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
.line 6062
:cond_384
iget-object v13, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v15, "Make"
invoke-virtual {v15, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-nez v13, :cond_398
iget-object v13, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v15, "Model"
invoke-virtual {v15, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_3a6
:cond_398
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6063
invoke-virtual {v12, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
move-result-object v13
const-string v15, "PENTAX"
invoke-virtual {v13, v15}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v13
if-nez v13, :cond_3bb
:cond_3a6
iget-object v13, v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
.line 6064
move-object/from16 v15, v25
invoke-virtual {v15, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_3bf
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6065
invoke-virtual {v12, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v13
const v15, 0xffff
if-ne v13, v15, :cond_3bf
.line 6066
:cond_3bb
const/16 v13, 0x8
iput v13, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
.line 6070
:cond_3bf
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v13
move-object v15, v2
move-object/from16 v28, v3
.end local v2 # "nextIfdType":Ljava/lang/Integer;
.end local v3 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v15, "nextIfdType":Ljava/lang/Integer;
.restart local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
int-to-long v2, v13
cmp-long v13, v2, v7
if-eqz v13, :cond_3ce
.line 6071
invoke-virtual {v1, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 5888
.end local v4 # "bytesOffset":I
.end local v5 # "bytes":[B
.end local v7 # "nextEntryOffset":J
.end local v9 # "tagNumber":I
.end local v10 # "byteCount":J
.end local v12 # "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v14 # "dataFormat":I
.end local v15 # "nextIfdType":Ljava/lang/Integer;
.end local v24 # "valid":Z
.end local v27 # "numberOfComponents":I
.end local v28 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
:cond_3ce
:goto_3ce
add-int/lit8 v5, v26, 0x1
int-to-short v5, v5
move/from16 v2, p2
move/from16 v3, v23
const/4 v4, 0x2
.end local v26 # "i":S
.local v5, "i":S
goto/16 :goto_48
.end local v23 # "numberOfDirectoryEntry":S
.local v3, "numberOfDirectoryEntry":S
:cond_3d8
move/from16 v23, v3
move/from16 v26, v5
.line 6075
.end local v3 # "numberOfDirectoryEntry":S
.end local v5 # "i":S
.restart local v23 # "numberOfDirectoryEntry":S
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v2
const/4 v3, 0x4
add-int/2addr v2, v3
iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v2, v3, :cond_46a
.line 6076
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v2
.line 6077
.local v2, "nextIfdOffset":I
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_401
.line 6078
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
const/4 v5, 0x0
aput-object v4, v3, v5
const-string v4, "nextIfdOffset: %d"
invoke-static {v4, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6083
:cond_401
int-to-long v3, v2
const-wide/16 v7, 0x0
cmp-long v5, v3, v7
if-lez v5, :cond_452
iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-ge v2, v3, :cond_452
.line 6084
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-interface {v3, v4}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_439
.line 6085
int-to-long v3, v2
invoke-virtual {v1, v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
.line 6086
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v4, 0x4
aget-object v3, v3, v4
invoke-virtual {v3}, Ljava/util/HashMap;->isEmpty()Z
move-result v3
if-eqz v3, :cond_42b
.line 6088
invoke-direct {v0, v1, v4}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
goto :goto_46a
.line 6089
:cond_42b
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v10
invoke-virtual {v3}, Ljava/util/HashMap;->isEmpty()Z
move-result v3
if-eqz v3, :cond_46a
.line 6090
invoke-direct {v0, v1, v10}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
goto :goto_46a
.line 6093
:cond_439
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_46a
.line 6094
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Stop reading file since re-reading an IFD may cause an infinite loop: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_46a
.line 6099
:cond_452
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_46a
.line 6100
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Stop reading file since a wrong offset may cause an infinite loop: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v6, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6105
.end local v2 # "nextIfdOffset":I
:cond_46a
:goto_46a
return-void
.line 5881
.end local v23 # "numberOfDirectoryEntry":S
.restart local v3 # "numberOfDirectoryEntry":S
:cond_46b
move/from16 v23, v3
.line 5884
.end local v3 # "numberOfDirectoryEntry":S
.restart local v23 # "numberOfDirectoryEntry":S
:goto_46d
return-void
.end method
.method private removeAttribute(Ljava/lang/String;)V
.registers 4
.param p1, "tag" # Ljava/lang/String;
.line 4314
const/4 v0, 0x0
.local v0, "i":I
:goto_1
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v1, v1
if-ge v0, v1, :cond_10
.line 4315
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, v0
invoke-virtual {v1, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 4314
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 4317
.end local v0 # "i":I
:cond_10
return-void
.end method
.method private retrieveJpegImageSize(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 7
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "imageType" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6116
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p2
.line 6117
const-string v1, "ImageLength"
invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6118
.local v0, "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
.line 6119
const-string v2, "ImageWidth"
invoke-virtual {v1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6121
.local v1, "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_1c
if-nez v1, :cond_33
.line 6123
:cond_1c
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, p2
.line 6124
const-string v3, "JPEGInterchangeFormat"
invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6125
.local v2, "jpegInterchangeFormatAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v2, :cond_33
.line 6126
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6127
invoke-virtual {v2, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v3
.line 6130
.local v3, "jpegInterchangeFormat":I
invoke-direct {p0, p1, v3, p2}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
.line 6133
.end local v2 # "jpegInterchangeFormatAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v3 # "jpegInterchangeFormat":I
:cond_33
return-void
.end method
.method private saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
.registers 16
.param p1, "inputStream" # Ljava/io/InputStream;
.param p2, "outputStream" # Ljava/io/OutputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 5687
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_27
.line 5688
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "saveJpegAttributes starting with (inputStream: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", outputStream: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "ExifInterface"
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5691
:cond_27
new-instance v0, Ljava/io/DataInputStream;
invoke-direct {v0, p1}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
.line 5692
.local v0, "dataInputStream":Ljava/io/DataInputStream;
new-instance v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
sget-object v2, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {v1, p2, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
.line 5694
.local v1, "dataOutputStream":Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result v2
const-string v3, "Invalid marker"
const/4 v4, -0x1
if-ne v2, v4, :cond_111
.line 5697
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5698
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result v2
const/16 v5, -0x28
if-ne v2, v5, :cond_10b
.line 5701
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5704
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5705
const/16 v2, -0x1f
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5706
const/4 v5, 0x6
invoke-direct {p0, v1, v5}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;I)I
.line 5708
const/16 v6, 0x1000
new-array v6, v6, [B
.line 5711
.local v6, "bytes":[B
:goto_5a
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result v7
.line 5712
.local v7, "marker":B
if-ne v7, v4, :cond_105
.line 5715
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result v7
.line 5716
const/16 v8, -0x27
if-eq v7, v8, :cond_fb
const/16 v8, -0x26
if-eq v7, v8, :cond_fb
const-string v8, "Invalid length"
const/4 v9, 0x0
if-eq v7, v2, :cond_9b
.line 5761
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5762
invoke-virtual {v1, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5763
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedShort()I
move-result v10
.line 5764
.local v10, "length":I
invoke-virtual {v1, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 5765
add-int/lit8 v10, v10, -0x2
.line 5766
if-ltz v10, :cond_95
.line 5770
:goto_82
if-lez v10, :cond_f3
array-length v8, v6
.line 5771
invoke-static {v10, v8}, Ljava/lang/Math;->min(II)I
move-result v8
.line 5770
invoke-virtual {v0, v6, v9, v8}, Ljava/io/DataInputStream;->read([BII)I
move-result v8
move v11, v8
.local v11, "read":I
if-ltz v8, :cond_f3
.line 5772
invoke-virtual {v1, v6, v9, v11}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V
.line 5773
sub-int/2addr v10, v11
goto :goto_82
.line 5767
.end local v11 # "read":I
:cond_95
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5718
.end local v10 # "length":I
:cond_9b
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedShort()I
move-result v10
add-int/lit8 v10, v10, -0x2
.line 5719
.restart local v10 # "length":I
if-ltz v10, :cond_f5
.line 5722
new-array v11, v5, [B
.line 5723
.local v11, "identifier":[B
if-lt v10, v5, :cond_ce
.line 5724
invoke-virtual {v0, v11}, Ljava/io/DataInputStream;->read([B)I
move-result v12
if-ne v12, v5, :cond_c6
.line 5727
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-static {v11, v12}, Ljava/util/Arrays;->equals([B[B)Z
move-result v12
if-eqz v12, :cond_ce
.line 5729
add-int/lit8 v9, v10, -0x6
invoke-virtual {v0, v9}, Ljava/io/DataInputStream;->skipBytes(I)I
move-result v9
add-int/lit8 v12, v10, -0x6
if-ne v9, v12, :cond_c0
goto :goto_f3
.line 5730
:cond_c0
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5725
:cond_c6
new-instance v2, Ljava/io/IOException;
const-string v3, "Invalid exif"
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5736
:cond_ce
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5737
invoke-virtual {v1, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5738
add-int/lit8 v8, v10, 0x2
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 5739
if-lt v10, v5, :cond_e0
.line 5740
add-int/lit8 v10, v10, -0x6
.line 5741
invoke-virtual {v1, v11}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
.line 5744
:cond_e0
:goto_e0
if-lez v10, :cond_f3
array-length v8, v6
.line 5745
invoke-static {v10, v8}, Ljava/lang/Math;->min(II)I
move-result v8
.line 5744
invoke-virtual {v0, v6, v9, v8}, Ljava/io/DataInputStream;->read([BII)I
move-result v8
move v12, v8
.local v12, "read":I
if-ltz v8, :cond_f3
.line 5746
invoke-virtual {v1, v6, v9, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V
.line 5747
sub-int/2addr v10, v12
goto :goto_e0
.line 5778
.end local v7 # "marker":B
.end local v10 # "length":I
.end local v11 # "identifier":[B
.end local v12 # "read":I
:cond_f3
:goto_f3
goto/16 :goto_5a
.line 5720
.restart local v7 # "marker":B
.restart local v10 # "length":I
:cond_f5
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5753
.end local v10 # "length":I
:cond_fb
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5754
invoke-virtual {v1, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 5756
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
.line 5757
return-void
.line 5713
:cond_105
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5699
.end local v6 # "bytes":[B
.end local v7 # "marker":B
:cond_10b
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 5695
:cond_111
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_118
:goto_117
throw v2
:goto_118
goto :goto_117
.end method
.method private setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 7
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6137
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v1, 0x4
aget-object v0, v0, v1
.line 6139
.local v0, "thumbnailData":Ljava/util/HashMap;
nop
.line 6140
const-string v1, "Compression"
invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6141
.local v1, "compressionAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
const/4 v2, 0x6
if-eqz v1, :cond_30
.line 6142
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v3
iput v3, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
.line 6143
const/4 v4, 0x1
if-eq v3, v4, :cond_26
if-eq v3, v2, :cond_22
const/4 v2, 0x7
if-eq v3, v2, :cond_26
goto :goto_2f
.line 6145
:cond_22
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
.line 6146
goto :goto_2f
.line 6150
:cond_26
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isSupportedDataType(Ljava/util/HashMap;)Z
move-result v2
if-eqz v2, :cond_2f
.line 6151
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromStrips(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
:cond_2f
:goto_2f
goto :goto_35
.line 6158
:cond_30
iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
.line 6159
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
.line 6161
:goto_35
return-void
.end method
.method private static startsWith([B[B)Z
.registers 6
.param p0, "cur" # [B
.param p1, "val" # [B
.line 7102
const/4 v0, 0x0
if-eqz p0, :cond_1b
if-nez p1, :cond_6
goto :goto_1b
.line 7105
:cond_6
array-length v1, p0
array-length v2, p1
if-ge v1, v2, :cond_b
.line 7106
return v0
.line 7108
:cond_b
const/4 v1, 0x0
.local v1, "i":I
:goto_c
array-length v2, p1
if-ge v1, v2, :cond_19
.line 7109
aget-byte v2, p0, v1
aget-byte v3, p1, v1
if-eq v2, v3, :cond_16
.line 7110
return v0
.line 7108
:cond_16
add-int/lit8 v1, v1, 0x1
goto :goto_c
.line 7113
.end local v1 # "i":I
:cond_19
const/4 v0, 0x1
return v0
.line 7103
:cond_1b
:goto_1b
return v0
.end method
.method private swapBasedOnImageSize(II)V
.registers 14
.param p1, "firstIfdType" # I
.param p2, "secondIfdType" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6997
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p1
invoke-virtual {v0}, Ljava/util/HashMap;->isEmpty()Z
move-result v0
const-string v1, "ExifInterface"
if-nez v0, :cond_89
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p2
invoke-virtual {v0}, Ljava/util/HashMap;->isEmpty()Z
move-result v0
if-eqz v0, :cond_18
goto/16 :goto_89
.line 7004
:cond_18
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p1
.line 7005
const-string v2, "ImageLength"
invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 7006
.local v0, "firstImageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, p1
.line 7007
const-string v4, "ImageWidth"
invoke-virtual {v3, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 7008
.local v3, "firstImageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, p2
.line 7009
invoke-virtual {v5, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 7010
.local v2, "secondImageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, p2
.line 7011
invoke-virtual {v5, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 7013
.local v4, "secondImageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_7f
if-nez v3, :cond_49
goto :goto_7f
.line 7017
:cond_49
if-eqz v2, :cond_75
if-nez v4, :cond_4e
goto :goto_75
.line 7022
:cond_4e
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v1
.line 7023
.local v1, "firstImageLengthValue":I
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v5
.line 7024
.local v5, "firstImageWidthValue":I
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v6}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v6
.line 7025
.local v6, "secondImageLengthValue":I
iget-object v7, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v4, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v7
.line 7027
.local v7, "secondImageWidthValue":I
if-ge v1, v6, :cond_88
if-ge v5, v7, :cond_88
.line 7029
iget-object v8, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v9, v8, p1
.line 7030
.local v9, "tempMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
aget-object v10, v8, p2
aput-object v10, v8, p1
.line 7031
aput-object v9, v8, p2
goto :goto_88
.line 7018
.end local v1 # "firstImageLengthValue":I
.end local v5 # "firstImageWidthValue":I
.end local v6 # "secondImageLengthValue":I
.end local v7 # "secondImageWidthValue":I
.end local v9 # "tempMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
:cond_75
:goto_75
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v5, :cond_88
.line 7019
const-string v5, "Second image does not contain valid size information"
invoke-static {v1, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_88
.line 7014
:cond_7f
:goto_7f
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v5, :cond_88
.line 7015
const-string v5, "First image does not contain valid size information"
invoke-static {v1, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 7034
:cond_88
:goto_88
return-void
.line 6998
.end local v0 # "firstImageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v2 # "secondImageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v3 # "firstImageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v4 # "secondImageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_89
:goto_89
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_92
.line 6999
const-string v0, "Cannot perform swap since only one image data exists"
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 7001
:cond_92
return-void
.end method
.method private updateAttribute(Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;)Z
.registers 6
.param p1, "tag" # Ljava/lang/String;
.param p2, "value" # Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 4298
const/4 v0, 0x0
.line 4299
.local v0, "updated":Z
const/4 v1, 0x0
.local v1, "i":I
:goto_2
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v2, v2
if-ge v1, v2, :cond_1c
.line 4300
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v1
invoke-virtual {v2, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_19
.line 4301
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v1
invoke-virtual {v2, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4302
const/4 v0, 0x1
.line 4299
:cond_19
add-int/lit8 v1, v1, 0x1
goto :goto_2
.line 4305
.end local v1 # "i":I
:cond_1c
return v0
.end method
.method private updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 20
.param p1, "in" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.param p2, "imageType" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6365
move-object/from16 v0, p0
iget-object v1, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
.line 6366
const-string v2, "DefaultCropSize"
invoke-virtual {v1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6368
.local v1, "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, p2
.line 6369
const-string v3, "SensorTopBorder"
invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6370
.local v2, "topBorderAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, p2
.line 6371
const-string v4, "SensorLeftBorder"
invoke-virtual {v3, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6372
.local v3, "leftBorderAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, p2
.line 6373
const-string v5, "SensorBottomBorder"
invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6374
.local v4, "bottomBorderAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, p2
.line 6375
const-string v6, "SensorRightBorder"
invoke-virtual {v5, v6}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6377
.local v5, "rightBorderAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
const-string v6, "ImageLength"
const-string v7, "ImageWidth"
if-eqz v1, :cond_d1
.line 6380
iget v8, v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
const/4 v9, 0x5
const/4 v10, 0x1
const/4 v11, 0x0
const/4 v12, 0x2
const-string v13, "Invalid crop size values. cropSize="
const-string v14, "ExifInterface"
if-ne v8, v9, :cond_88
.line 6381
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6382
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v8
check-cast v8, [Landroidx/exifinterface/media/ExifInterface$Rational;
check-cast v8, [Landroidx/exifinterface/media/ExifInterface$Rational;
.line 6383
.local v8, "defaultCropSizeValue":[Landroidx/exifinterface/media/ExifInterface$Rational;
if-eqz v8, :cond_71
array-length v9, v8
if-eq v9, v12, :cond_60
goto :goto_71
.line 6388
:cond_60
aget-object v9, v8, v11
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6389
invoke-static {v9, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createURational(Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
.line 6390
.local v9, "defaultCropSizeXAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
aget-object v10, v8, v10
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6391
invoke-static {v10, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createURational(Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v8
.line 6392
.local v8, "defaultCropSizeYAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
goto :goto_a9
.line 6384
.end local v9 # "defaultCropSizeXAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.local v8, "defaultCropSizeValue":[Landroidx/exifinterface/media/ExifInterface$Rational;
:cond_71
:goto_71
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 6385
invoke-static {v8}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
.line 6384
invoke-static {v14, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 6386
return-void
.line 6393
.end local v8 # "defaultCropSizeValue":[Landroidx/exifinterface/media/ExifInterface$Rational;
:cond_88
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6394
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v8
check-cast v8, [I
check-cast v8, [I
.line 6395
.local v8, "defaultCropSizeValue":[I
if-eqz v8, :cond_ba
array-length v9, v8
if-eq v9, v12, :cond_98
goto :goto_ba
.line 6400
:cond_98
aget v9, v8, v11
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6401
invoke-static {v9, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
.line 6402
.restart local v9 # "defaultCropSizeXAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
aget v10, v8, v10
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6403
invoke-static {v10, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v10
move-object v8, v10
.line 6405
.local v8, "defaultCropSizeYAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:goto_a9
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v10, v10, p2
invoke-virtual {v10, v7, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6406
iget-object v7, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v7, v7, p2
invoke-virtual {v7, v6, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6407
.end local v8 # "defaultCropSizeYAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v9 # "defaultCropSizeXAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-object/from16 v16, v1
goto :goto_11e
.line 6396
.local v8, "defaultCropSizeValue":[I
:cond_ba
:goto_ba
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 6397
invoke-static {v8}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
.line 6396
invoke-static {v14, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 6398
return-void
.line 6407
.end local v8 # "defaultCropSizeValue":[I
:cond_d1
if-eqz v2, :cond_119
if-eqz v3, :cond_119
if-eqz v4, :cond_119
if-eqz v5, :cond_119
.line 6410
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v8}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v8
.line 6411
.local v8, "topBorderValue":I
iget-object v9, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v4, v9}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v9
.line 6412
.local v9, "bottomBorderValue":I
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v5, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v10
.line 6413
.local v10, "rightBorderValue":I
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v11
.line 6414
.local v11, "leftBorderValue":I
if-le v9, v8, :cond_116
if-le v10, v11, :cond_116
.line 6415
sub-int v12, v9, v8
.line 6416
.local v12, "length":I
sub-int v13, v10, v11
.line 6417
.local v13, "width":I
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6418
invoke-static {v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v14
.line 6419
.local v14, "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6420
invoke-static {v13, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v15
.line 6421
.local v15, "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-object/from16 v16, v1
.end local v1 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.local v16, "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v1, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
invoke-virtual {v1, v6, v14}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6422
iget-object v1, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
invoke-virtual {v1, v7, v15}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_118
.line 6414
.end local v12 # "length":I
.end local v13 # "width":I
.end local v14 # "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v15 # "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v16 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v1 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_116
move-object/from16 v16, v1
.line 6424
.end local v1 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v8 # "topBorderValue":I
.end local v9 # "bottomBorderValue":I
.end local v10 # "rightBorderValue":I
.end local v11 # "leftBorderValue":I
.restart local v16 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:goto_118
goto :goto_11e
.line 6407
.end local v16 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v1 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_119
move-object/from16 v16, v1
.line 6425
.end local v1 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.restart local v16 # "defaultCropSizeAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
invoke-direct/range {p0 .. p2}, Landroidx/exifinterface/media/ExifInterface;->retrieveJpegImageSize(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.line 6427
:goto_11e
return-void
.end method
.method private validateImages(Ljava/io/InputStream;)V
.registers 9
.param p1, "in" # Ljava/io/InputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6321
const/4 v0, 0x0
const/4 v1, 0x5
invoke-direct {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V
.line 6322
const/4 v2, 0x4
invoke-direct {p0, v0, v2}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V
.line 6323
invoke-direct {p0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V
.line 6328
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v4, 0x1
aget-object v3, v3, v4
.line 6329
const-string v5, "PixelXDimension"
invoke-virtual {v3, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6330
.local v3, "pixelXDimAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v5, v4
.line 6331
const-string v5, "PixelYDimension"
invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6332
.local v4, "pixelYDimAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v3, :cond_3b
if-eqz v4, :cond_3b
.line 6333
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, v0
const-string v6, "ImageWidth"
invoke-virtual {v5, v6, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6334
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v5, v0
const-string v5, "ImageLength"
invoke-virtual {v0, v5, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6339
:cond_3b
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v2
invoke-virtual {v0}, Ljava/util/HashMap;->isEmpty()Z
move-result v0
if-eqz v0, :cond_5c
.line 6340
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v1
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isThumbnail(Ljava/util/HashMap;)Z
move-result v0
if-eqz v0, :cond_5c
.line 6341
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v0, v1
aput-object v5, v0, v2
.line 6342
new-instance v5, Ljava/util/HashMap;
invoke-direct {v5}, Ljava/util/HashMap;-><init>()V
aput-object v5, v0, v1
.line 6347
:cond_5c
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v2
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isThumbnail(Ljava/util/HashMap;)Z
move-result v0
if-nez v0, :cond_6d
.line 6348
const-string v0, "ExifInterface"
const-string v1, "No image meets the size requirements of a thumbnail image."
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6350
:cond_6d
return-void
.end method
.method private writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;I)I
.registers 20
.param p1, "dataOutputStream" # Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
.param p2, "exifOffsetFromBeginning" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6433
move-object/from16 v0, p0
move-object/from16 v1, p1
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v3, v2
new-array v3, v3, [I
.line 6434
.local v3, "ifdOffsets":[I
array-length v2, v2
new-array v2, v2, [I
.line 6437
.local v2, "ifdDataSizes":[I
sget-object v4, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v5, v4
const/4 v6, 0x0
const/4 v7, 0x0
:goto_11
if-ge v7, v5, :cond_1d
aget-object v8, v4, v7
.line 6438
.local v8, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v9, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-direct {v0, v9}, Landroidx/exifinterface/media/ExifInterface;->removeAttribute(Ljava/lang/String;)V
.line 6437
.end local v8 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
add-int/lit8 v7, v7, 0x1
goto :goto_11
.line 6441
:cond_1d
sget-object v4, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v4, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-direct {v0, v4}, Landroidx/exifinterface/media/ExifInterface;->removeAttribute(Ljava/lang/String;)V
.line 6442
sget-object v4, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v4, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-direct {v0, v4}, Landroidx/exifinterface/media/ExifInterface;->removeAttribute(Ljava/lang/String;)V
.line 6445
const/4 v4, 0x0
.local v4, "ifdType":I
:goto_2c
sget-object v5, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v5, v5
if-ge v4, v5, :cond_5d
.line 6446
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, v4
invoke-virtual {v5}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v5
invoke-interface {v5}, Ljava/util/Set;->toArray()[Ljava/lang/Object;
move-result-object v5
array-length v7, v5
const/4 v8, 0x0
:goto_3f
if-ge v8, v7, :cond_5a
aget-object v9, v5, v8
.line 6447
.local v9, "obj":Ljava/lang/Object;
move-object v10, v9
check-cast v10, Ljava/util/Map$Entry;
.line 6448
.local v10, "entry":Ljava/util/Map$Entry;
invoke-interface {v10}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v11
if-nez v11, :cond_57
.line 6449
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v11, v11, v4
invoke-interface {v10}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v12
invoke-virtual {v11, v12}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 6446
.end local v9 # "obj":Ljava/lang/Object;
.end local v10 # "entry":Ljava/util/Map$Entry;
:cond_57
add-int/lit8 v8, v8, 0x1
goto :goto_3f
.line 6445
:cond_5a
add-int/lit8 v4, v4, 0x1
goto :goto_2c
.line 6456
.end local v4 # "ifdType":I
:cond_5d
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v5, 0x1
aget-object v4, v4, v5
invoke-virtual {v4}, Ljava/util/HashMap;->isEmpty()Z
move-result v4
const-wide/16 v7, 0x0
if-nez v4, :cond_7d
.line 6457
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, v6
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v9, v9, v5
iget-object v9, v9, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6458
invoke-static {v7, v8, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v10
.line 6457
invoke-virtual {v4, v9, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6460
:cond_7d
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v9, 0x2
aget-object v4, v4, v9
invoke-virtual {v4}, Ljava/util/HashMap;->isEmpty()Z
move-result v4
if-nez v4, :cond_9b
.line 6461
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, v6
sget-object v10, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v10, v10, v9
iget-object v10, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6462
invoke-static {v7, v8, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v11
.line 6461
invoke-virtual {v4, v10, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6464
:cond_9b
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v10, 0x3
aget-object v4, v4, v10
invoke-virtual {v4}, Ljava/util/HashMap;->isEmpty()Z
move-result v4
if-nez v4, :cond_b9
.line 6465
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, v5
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v11, v11, v10
iget-object v11, v11, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6466
invoke-static {v7, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v12
.line 6465
invoke-virtual {v4, v11, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6468
:cond_b9
iget-boolean v4, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v11, 0x4
if-eqz v4, :cond_e3
.line 6469
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, v11
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6470
invoke-static {v7, v8, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 6469
invoke-virtual {v4, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6471
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, v11
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
iget v13, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
int-to-long v13, v13
iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6472
invoke-static {v13, v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 6471
invoke-virtual {v4, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6477
:cond_e3
const/4 v4, 0x0
.local v4, "i":I
:goto_e4
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v12, v12
if-ge v4, v12, :cond_11c
.line 6478
const/4 v12, 0x0
.line 6479
.local v12, "sum":I
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v13, v13, v4
invoke-virtual {v13}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v13
invoke-interface {v13}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v13
:goto_f6
invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
move-result v14
if-eqz v14, :cond_112
invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v14
check-cast v14, Ljava/util/Map$Entry;
.line 6480
.local v14, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
invoke-interface {v14}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v15
check-cast v15, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6481
.local v15, "exifAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
invoke-virtual {v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->size()I
move-result v7
.line 6482
.local v7, "size":I
if-le v7, v11, :cond_10f
.line 6483
add-int/2addr v12, v7
.line 6485
.end local v7 # "size":I
.end local v14 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
.end local v15 # "exifAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_10f
const-wide/16 v7, 0x0
goto :goto_f6
.line 6486
:cond_112
aget v7, v2, v4
add-int/2addr v7, v12
aput v7, v2, v4
.line 6477
.end local v12 # "sum":I
add-int/lit8 v4, v4, 0x1
const-wide/16 v7, 0x0
goto :goto_e4
.line 6490
.end local v4 # "i":I
:cond_11c
const/16 v4, 0x8
.line 6491
.local v4, "position":I
const/4 v7, 0x0
.local v7, "ifdType":I
:goto_11f
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v8, v8
if-ge v7, v8, :cond_143
.line 6492
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v7
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_140
.line 6493
aput v4, v3, v7
.line 6494
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v7
invoke-virtual {v8}, Ljava/util/HashMap;->size()I
move-result v8
mul-int/lit8 v8, v8, 0xc
add-int/2addr v8, v9
add-int/2addr v8, v11
aget v12, v2, v7
add-int/2addr v8, v12
add-int/2addr v4, v8
.line 6491
:cond_140
add-int/lit8 v7, v7, 0x1
goto :goto_11f
.line 6497
.end local v7 # "ifdType":I
:cond_143
iget-boolean v7, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-eqz v7, :cond_161
.line 6498
move v7, v4
.line 6499
.local v7, "thumbnailOffset":I
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v11
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
int-to-long v13, v7
iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6500
invoke-static {v13, v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 6499
invoke-virtual {v8, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6501
add-int v8, p2, v7
iput v8, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
.line 6502
iget v8, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
add-int/2addr v4, v8
.line 6506
.end local v7 # "thumbnailOffset":I
:cond_161
add-int/lit8 v7, v4, 0x8
.line 6507
.local v7, "totalSize":I
sget-boolean v8, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v8, :cond_1b6
.line 6508
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v12, "totalSize length: "
invoke-virtual {v8, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
const-string v12, "ExifInterface"
invoke-static {v12, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6509
const/4 v8, 0x0
.local v8, "i":I
:goto_17f
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v13, v13
if-ge v8, v13, :cond_1b6
.line 6510
new-array v13, v11, [Ljava/lang/Object;
.line 6511
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
aput-object v14, v13, v6
aget v14, v3, v8
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
aput-object v14, v13, v5
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v14, v14, v8
invoke-virtual {v14}, Ljava/util/HashMap;->size()I
move-result v14
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
aput-object v14, v13, v9
aget v14, v2, v8
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
aput-object v14, v13, v10
.line 6510
const-string v14, "index: %d, offsets: %d, tag count: %d, data sizes: %d"
invoke-static {v14, v13}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v13
invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6509
add-int/lit8 v8, v8, 0x1
goto :goto_17f
.line 6516
.end local v8 # "i":I
:cond_1b6
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v5
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_1d6
.line 6517
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v6
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v12, v12, v5
iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
aget v13, v3, v5
int-to-long v13, v13
iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6518
invoke-static {v13, v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 6517
invoke-virtual {v8, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6520
:cond_1d6
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v9
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_1f6
.line 6521
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v6
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v12, v12, v9
iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
aget v13, v3, v9
int-to-long v13, v13
iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 6522
invoke-static {v13, v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 6521
invoke-virtual {v8, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6524
:cond_1f6
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v10
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_216
.line 6525
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v8, v5
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v8, v8, v10
iget-object v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
aget v10, v3, v10
int-to-long v12, v10
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v12, v13, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v10
invoke-virtual {v5, v8, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6530
:cond_216
invoke-virtual {v1, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 6531
sget-object v5, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
.line 6532
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
sget-object v8, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v5, v8, :cond_227
const/16 v5, 0x4d4d
goto :goto_229
:cond_227
const/16 v5, 0x4949
:goto_229
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeShort(S)V
.line 6534
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 6535
const/16 v5, 0x2a
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 6536
const-wide/16 v12, 0x8
invoke-virtual {v1, v12, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
.line 6539
const/4 v5, 0x0
.local v5, "ifdType":I
:goto_23c
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v8, v8
if-ge v5, v8, :cond_31c
.line 6540
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v5
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_314
.line 6543
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v5
invoke-virtual {v8}, Ljava/util/HashMap;->size()I
move-result v8
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 6546
aget v8, v3, v5
add-int/2addr v8, v9
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v10, v10, v5
invoke-virtual {v10}, Ljava/util/HashMap;->size()I
move-result v10
mul-int/lit8 v10, v10, 0xc
add-int/2addr v8, v10
add-int/2addr v8, v11
.line 6547
.local v8, "dataOffset":I
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v10, v10, v5
invoke-virtual {v10}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v10
invoke-interface {v10}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v10
:goto_271
invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
move-result v12
if-eqz v12, :cond_2c7
invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v12
check-cast v12, Ljava/util/Map$Entry;
.line 6549
.local v12, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
aget-object v13, v13, v5
invoke-interface {v12}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v14
invoke-virtual {v13, v14}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v13
check-cast v13, Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 6550
.local v13, "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget v14, v13, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
.line 6551
.local v14, "tagNumber":I
invoke-interface {v12}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v15
check-cast v15, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6552
.local v15, "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
invoke-virtual {v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->size()I
move-result v9
.line 6554
.local v9, "size":I
invoke-virtual {v1, v14}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 6555
iget v6, v15, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
.line 6556
iget v6, v15, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->numberOfComponents:I
invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
.line 6557
if-le v9, v11, :cond_2ae
.line 6558
move-object/from16 v16, v12
.end local v12 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
.local v16, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
int-to-long v11, v8
invoke-virtual {v1, v11, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
.line 6559
add-int/2addr v8, v9
goto :goto_2c3
.line 6561
.end local v16 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
.restart local v12 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
:cond_2ae
move-object/from16 v16, v12
.end local v12 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
.restart local v16 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
iget-object v11, v15, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-virtual {v1, v11}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
.line 6563
const/4 v6, 0x4
if-ge v9, v6, :cond_2c3
.line 6564
move v11, v9
.local v11, "i":I
:goto_2b9
if-ge v11, v6, :cond_2c3
.line 6565
const/4 v12, 0x0
invoke-virtual {v1, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
.line 6564
add-int/lit8 v11, v11, 0x1
const/4 v6, 0x4
goto :goto_2b9
.line 6569
.end local v9 # "size":I
.end local v11 # "i":I
.end local v13 # "tag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v14 # "tagNumber":I
.end local v15 # "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v16 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
:cond_2c3
:goto_2c3
const/4 v6, 0x0
const/4 v9, 0x2
const/4 v11, 0x4
goto :goto_271
.line 6574
:cond_2c7
if-nez v5, :cond_2dd
iget-object v9, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v6, 0x4
aget-object v9, v9, v6
invoke-virtual {v9}, Ljava/util/HashMap;->isEmpty()Z
move-result v9
if-nez v9, :cond_2dd
.line 6575
aget v9, v3, v6
int-to-long v9, v9
invoke-virtual {v1, v9, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
const-wide/16 v9, 0x0
goto :goto_2e2
.line 6577
:cond_2dd
const-wide/16 v9, 0x0
invoke-virtual {v1, v9, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
.line 6581
:goto_2e2
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v11, v11, v5
invoke-virtual {v11}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v11
invoke-interface {v11}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v11
:goto_2ee
invoke-interface {v11}, Ljava/util/Iterator;->hasNext()Z
move-result v12
if-eqz v12, :cond_312
invoke-interface {v11}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v12
check-cast v12, Ljava/util/Map$Entry;
.line 6582
.restart local v12 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
invoke-interface {v12}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v13
check-cast v13, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 6584
.local v13, "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v14, v13, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
array-length v14, v14
const/4 v6, 0x4
if-le v14, v6, :cond_310
.line 6585
iget-object v14, v13, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
iget-object v15, v13, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
array-length v15, v15
const/4 v6, 0x0
invoke-virtual {v1, v14, v6, v15}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V
goto :goto_311
.line 6584
:cond_310
const/4 v6, 0x0
.line 6587
.end local v12 # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;>;"
.end local v13 # "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:goto_311
goto :goto_2ee
.line 6581
:cond_312
const/4 v6, 0x0
goto :goto_316
.line 6540
.end local v8 # "dataOffset":I
:cond_314
const-wide/16 v9, 0x0
.line 6539
:goto_316
add-int/lit8 v5, v5, 0x1
const/4 v9, 0x2
const/4 v11, 0x4
goto/16 :goto_23c
.line 6592
.end local v5 # "ifdType":I
:cond_31c
iget-boolean v5, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-eqz v5, :cond_327
.line 6593
invoke-virtual/range {p0 .. p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B
move-result-object v5
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
.line 6597
:cond_327
sget-object v5, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
.line 6599
return v7
.end method
# virtual methods
.method public flipHorizontally()V
.registers 5
.line 4206
const-string v0, "Orientation"
const/4 v1, 0x1
invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
move-result v1
.line 4208
.local v1, "currentOrientation":I
packed-switch v1, :pswitch_data_26
.line 4235
const/4 v2, 0x0
.local v2, "resultOrientation":I
goto :goto_1d
.line 4228
.end local v2 # "resultOrientation":I
:pswitch_c
const/4 v2, 0x7
.line 4229
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4225
.end local v2 # "resultOrientation":I
:pswitch_e
const/16 v2, 0x8
.line 4226
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4222
.end local v2 # "resultOrientation":I
:pswitch_11
const/4 v2, 0x5
.line 4223
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4219
.end local v2 # "resultOrientation":I
:pswitch_13
const/4 v2, 0x6
.line 4220
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4216
.end local v2 # "resultOrientation":I
:pswitch_15
const/4 v2, 0x3
.line 4217
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4213
.end local v2 # "resultOrientation":I
:pswitch_17
const/4 v2, 0x4
.line 4214
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4210
.end local v2 # "resultOrientation":I
:pswitch_19
const/4 v2, 0x1
.line 4211
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4231
.end local v2 # "resultOrientation":I
:pswitch_1b
const/4 v2, 0x2
.line 4232
.restart local v2 # "resultOrientation":I
nop
.line 4238
:goto_1d
invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {p0, v0, v3}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4239
return-void
nop
:pswitch_data_26
.packed-switch 0x1
:pswitch_1b
:pswitch_19
:pswitch_17
:pswitch_15
:pswitch_13
:pswitch_11
:pswitch_e
:pswitch_c
.end packed-switch
.end method
.method public flipVertically()V
.registers 5
.line 4167
const-string v0, "Orientation"
const/4 v1, 0x1
invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
move-result v1
.line 4169
.local v1, "currentOrientation":I
packed-switch v1, :pswitch_data_26
.line 4196
const/4 v2, 0x0
.local v2, "resultOrientation":I
goto :goto_1d
.line 4189
.end local v2 # "resultOrientation":I
:pswitch_c
const/4 v2, 0x5
.line 4190
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4186
.end local v2 # "resultOrientation":I
:pswitch_e
const/4 v2, 0x6
.line 4187
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4183
.end local v2 # "resultOrientation":I
:pswitch_10
const/4 v2, 0x7
.line 4184
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4180
.end local v2 # "resultOrientation":I
:pswitch_12
const/16 v2, 0x8
.line 4181
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4177
.end local v2 # "resultOrientation":I
:pswitch_15
const/4 v2, 0x1
.line 4178
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4174
.end local v2 # "resultOrientation":I
:pswitch_17
const/4 v2, 0x2
.line 4175
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4171
.end local v2 # "resultOrientation":I
:pswitch_19
const/4 v2, 0x3
.line 4172
.restart local v2 # "resultOrientation":I
goto :goto_1d
.line 4192
.end local v2 # "resultOrientation":I
:pswitch_1b
const/4 v2, 0x4
.line 4193
.restart local v2 # "resultOrientation":I
nop
.line 4199
:goto_1d
invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {p0, v0, v3}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4200
return-void
nop
:pswitch_data_26
.packed-switch 0x1
:pswitch_1b
:pswitch_19
:pswitch_17
:pswitch_15
:pswitch_12
:pswitch_10
:pswitch_e
:pswitch_c
.end packed-switch
.end method
.method public getAltitude(D)D
.registers 10
.param p1, "defaultValue" # D
.line 4821
const-string v0, "GPSAltitude"
const-wide/high16 v1, -0x4010000000000000L # -1.0
invoke-virtual {p0, v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttributeDouble(Ljava/lang/String;D)D
move-result-wide v0
.line 4822
.local v0, "altitude":D
const/4 v2, -0x1
const-string v3, "GPSAltitudeRef"
invoke-virtual {p0, v3, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
move-result v3
.line 4824
.local v3, "ref":I
const-wide/16 v4, 0x0
cmpl-double v6, v0, v4
if-ltz v6, :cond_23
if-ltz v3, :cond_23
.line 4825
const/4 v4, 0x1
if-ne v3, v4, :cond_1b
goto :goto_1c
:cond_1b
const/4 v2, 0x1
:goto_1c
int-to-double v4, v2
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
mul-double v4, v4, v0
return-wide v4
.line 4827
:cond_23
return-wide p1
.end method
.method public getAttribute(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.param p1, "tag" # Ljava/lang/String;
.line 3888
if-eqz p1, :cond_be
.line 3891
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
.line 3892
.local v0, "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
const/4 v1, 0x0
if-eqz v0, :cond_bd
.line 3893
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet;
invoke-virtual {v2, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_18
.line 3894
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
move-result-object v1
return-object v1
.line 3896
:cond_18
const-string v2, "GPSTimeStamp"
invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_b0
.line 3898
iget v2, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
const/4 v3, 0x5
const-string v4, "ExifInterface"
if-eq v2, v3, :cond_44
iget v2, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
const/16 v3, 0xa
if-eq v2, v3, :cond_44
.line 3900
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "GPS Timestamp format is not rational. format="
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v4, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 3901
return-object v1
.line 3903
:cond_44
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v2
check-cast v2, [Landroidx/exifinterface/media/ExifInterface$Rational;
check-cast v2, [Landroidx/exifinterface/media/ExifInterface$Rational;
.line 3904
.local v2, "array":[Landroidx/exifinterface/media/ExifInterface$Rational;
if-eqz v2, :cond_97
array-length v3, v2
const/4 v5, 0x3
if-eq v3, v5, :cond_55
goto :goto_97
.line 3908
:cond_55
new-array v1, v5, [Ljava/lang/Object;
const/4 v3, 0x0
aget-object v4, v2, v3
iget-wide v4, v4, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J
long-to-float v4, v4
aget-object v5, v2, v3
iget-wide v5, v5, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J
long-to-float v5, v5
div-float/2addr v4, v5
float-to-int v4, v4
.line 3909
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v1, v3
const/4 v3, 0x1
aget-object v4, v2, v3
iget-wide v4, v4, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J
long-to-float v4, v4
aget-object v5, v2, v3
iget-wide v5, v5, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J
long-to-float v5, v5
div-float/2addr v4, v5
float-to-int v4, v4
.line 3910
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v1, v3
const/4 v3, 0x2
aget-object v4, v2, v3
iget-wide v4, v4, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J
long-to-float v4, v4
aget-object v5, v2, v3
iget-wide v5, v5, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J
long-to-float v5, v5
div-float/2addr v4, v5
float-to-int v4, v4
.line 3911
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v1, v3
.line 3908
const-string v3, "%02d:%02d:%02d"
invoke-static {v3, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
return-object v1
.line 3905
:cond_97
:goto_97
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Invalid GPS Timestamp array. array="
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v2}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 3906
return-object v1
.line 3914
.end local v2 # "array":[Landroidx/exifinterface/media/ExifInterface$Rational;
:cond_b0
:try_start_b0
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getDoubleValue(Ljava/nio/ByteOrder;)D
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Double;->toString(D)Ljava/lang/String;
move-result-object v1
:try_end_ba
.catch Ljava/lang/NumberFormatException; {:try_start_b0 .. :try_end_ba} :catch_bb
return-object v1
.line 3915
:catch_bb
move-exception v2
.line 3916
.local v2, "e":Ljava/lang/NumberFormatException;
return-object v1
.line 3919
.end local v2 # "e":Ljava/lang/NumberFormatException;
:cond_bd
return-object v1
.line 3889
.end local v0 # "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_be
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "tag shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getAttributeBytes(Ljava/lang/String;)[B
.registers 4
.param p1, "tag" # Ljava/lang/String;
.line 4712
if-eqz p1, :cond_d
.line 4715
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
.line 4716
.local v0, "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_b
.line 4717
iget-object v1, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
return-object v1
.line 4719
:cond_b
const/4 v1, 0x0
return-object v1
.line 4713
.end local v0 # "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_d
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "tag shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getAttributeDouble(Ljava/lang/String;D)D
.registers 7
.param p1, "tag" # Ljava/lang/String;
.param p2, "defaultValue" # D
.line 3955
if-eqz p1, :cond_12
.line 3958
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
.line 3959
.local v0, "exifAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-nez v0, :cond_9
.line 3960
return-wide p2
.line 3964
:cond_9
:try_start_9
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getDoubleValue(Ljava/nio/ByteOrder;)D
move-result-wide v1
:try_end_f
.catch Ljava/lang/NumberFormatException; {:try_start_9 .. :try_end_f} :catch_10
return-wide v1
.line 3965
:catch_10
move-exception v1
.line 3966
.local v1, "e":Ljava/lang/NumberFormatException;
return-wide p2
.line 3956
.end local v0 # "exifAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v1 # "e":Ljava/lang/NumberFormatException;
:cond_12
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "tag shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getAttributeInt(Ljava/lang/String;I)I
.registers 5
.param p1, "tag" # Ljava/lang/String;
.param p2, "defaultValue" # I
.line 3931
if-eqz p1, :cond_12
.line 3934
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
.line 3935
.local v0, "exifAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-nez v0, :cond_9
.line 3936
return p2
.line 3940
:cond_9
:try_start_9
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v1
:try_end_f
.catch Ljava/lang/NumberFormatException; {:try_start_9 .. :try_end_f} :catch_10
return v1
.line 3941
:catch_10
move-exception v1
.line 3942
.local v1, "e":Ljava/lang/NumberFormatException;
return p2
.line 3932
.end local v0 # "exifAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v1 # "e":Ljava/lang/NumberFormatException;
:cond_12
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "tag shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getAttributeRange(Ljava/lang/String;)[J
.registers 7
.param p1, "tag" # Ljava/lang/String;
.line 4687
if-eqz p1, :cond_26
.line 4690
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mModified:Z
if-nez v0, :cond_1e
.line 4695
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
.line 4696
.local v0, "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_1c
.line 4697
const/4 v1, 0x2
new-array v1, v1, [J
const/4 v2, 0x0
iget-wide v3, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytesOffset:J
aput-wide v3, v1, v2
const/4 v2, 0x1
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
array-length v3, v3
int-to-long v3, v3
aput-wide v3, v1, v2
return-object v1
.line 4699
:cond_1c
const/4 v1, 0x0
return-object v1
.line 4691
.end local v0 # "attribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_1e
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "The underlying file has been modified since being parsed"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 4688
:cond_26
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "tag shouldn\'t be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getDateTime()J
.registers 3
.line 4862
const-string v0, "DateTime"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 4863
const-string v1, "SubSecTime"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 4862
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->parseDateTime(Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v0
return-wide v0
.end method
.method public getDateTimeDigitized()J
.registers 3
.line 4875
const-string v0, "DateTimeDigitized"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 4876
const-string v1, "SubSecTimeDigitized"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 4875
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->parseDateTime(Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v0
return-wide v0
.end method
.method public getDateTimeOriginal()J
.registers 3
.line 4888
const-string v0, "DateTimeOriginal"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 4889
const-string v1, "SubSecTimeOriginal"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 4888
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->parseDateTime(Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v0
return-wide v0
.end method
.method public getGpsDateTime()J
.registers 8
.line 4928
const-string v0, "GPSDateStamp"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 4929
.local v0, "date":Ljava/lang/String;
const-string v1, "GPSTimeStamp"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 4930
.local v1, "time":Ljava/lang/String;
const-wide/16 v2, -0x1
if-eqz v0, :cond_55
if-eqz v1, :cond_55
sget-object v4, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
.line 4931
invoke-virtual {v4, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v4
invoke-virtual {v4}, Ljava/util/regex/Matcher;->matches()Z
move-result v4
if-nez v4, :cond_2b
sget-object v4, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
.line 4932
invoke-virtual {v4, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v4
invoke-virtual {v4}, Ljava/util/regex/Matcher;->matches()Z
move-result v4
if-nez v4, :cond_2b
goto :goto_55
.line 4936
:cond_2b
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v5, 0x20
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 4938
.local v4, "dateTimeString":Ljava/lang/String;
new-instance v5, Ljava/text/ParsePosition;
const/4 v6, 0x0
invoke-direct {v5, v6}, Ljava/text/ParsePosition;-><init>(I)V
.line 4940
.local v5, "pos":Ljava/text/ParsePosition;
:try_start_45
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
invoke-virtual {v6, v4, v5}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
move-result-object v6
.line 4941
.local v6, "datetime":Ljava/util/Date;
if-nez v6, :cond_4e
return-wide v2
.line 4942
:cond_4e
invoke-virtual {v6}, Ljava/util/Date;->getTime()J
move-result-wide v2
:try_end_52
.catch Ljava/lang/IllegalArgumentException; {:try_start_45 .. :try_end_52} :catch_53
return-wide v2
.line 4943
.end local v6 # "datetime":Ljava/util/Date;
:catch_53
move-exception v6
.line 4944
.local v6, "e":Ljava/lang/IllegalArgumentException;
return-wide v2
.line 4933
.end local v4 # "dateTimeString":Ljava/lang/String;
.end local v5 # "pos":Ljava/text/ParsePosition;
.end local v6 # "e":Ljava/lang/IllegalArgumentException;
:cond_55
:goto_55
return-wide v2
.end method
.method public getLatLong([F)Z
.registers 6
.param p1, "output" # [F
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 4731
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getLatLong()[D
move-result-object v0
.line 4732
.local v0, "latLong":[D
const/4 v1, 0x0
if-nez v0, :cond_8
.line 4733
return v1
.line 4736
:cond_8
aget-wide v2, v0, v1
double-to-float v2, v2
aput v2, p1, v1
.line 4737
const/4 v1, 0x1
aget-wide v2, v0, v1
double-to-float v2, v2
aput v2, p1, v1
.line 4738
return v1
.end method
.method public getLatLong()[D
.registers 13
.line 4750
const-string v0, "GPSLatitude"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 4751
.local v0, "latValue":Ljava/lang/String;
const-string v1, "GPSLatitudeRef"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 4752
.local v1, "latRef":Ljava/lang/String;
const-string v2, "GPSLongitude"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 4753
.local v2, "lngValue":Ljava/lang/String;
const-string v3, "GPSLongitudeRef"
invoke-virtual {p0, v3}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 4755
.local v3, "lngRef":Ljava/lang/String;
if-eqz v0, :cond_5b
if-eqz v1, :cond_5b
if-eqz v2, :cond_5b
if-eqz v3, :cond_5b
.line 4757
const/4 v4, 0x2
const/4 v5, 0x1
const/4 v6, 0x0
:try_start_23
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D
move-result-wide v7
.line 4758
.local v7, "latitude":D
invoke-static {v2, v3}, Landroidx/exifinterface/media/ExifInterface;->convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D
move-result-wide v9
.line 4759
.local v9, "longitude":D
new-array v11, v4, [D
aput-wide v7, v11, v6
aput-wide v9, v11, v5
:try_end_31
.catch Ljava/lang/IllegalArgumentException; {:try_start_23 .. :try_end_31} :catch_32
return-object v11
.line 4760
.end local v7 # "latitude":D
.end local v9 # "longitude":D
:catch_32
move-exception v7
.line 4761
.local v7, "e":Ljava/lang/IllegalArgumentException;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "Latitude/longitude values are not parsable. "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v9, 0x4
new-array v9, v9, [Ljava/lang/Object;
aput-object v0, v9, v6
aput-object v1, v9, v5
aput-object v2, v9, v4
const/4 v4, 0x3
aput-object v3, v9, v4
.line 4762
const-string v4, "latValue=%s, latRef=%s, lngValue=%s, lngRef=%s"
invoke-static {v4, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 4761
const-string v5, "ExifInterface"
invoke-static {v5, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 4766
.end local v7 # "e":Ljava/lang/IllegalArgumentException;
:cond_5b
const/4 v4, 0x0
return-object v4
.end method
.method public getRotationDegrees()I
.registers 3
.line 4271
const-string v0, "Orientation"
const/4 v1, 0x1
invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
move-result v0
.line 4272
.local v0, "orientation":I
packed-switch v0, :pswitch_data_16
.line 4286
const/4 v1, 0x0
return v1
.line 4275
:pswitch_c
const/16 v1, 0x5a
return v1
.line 4281
:pswitch_f
const/16 v1, 0x10e
return v1
.line 4278
:pswitch_12
const/16 v1, 0xb4
return v1
nop
:pswitch_data_16
.packed-switch 0x3
:pswitch_12
:pswitch_12
:pswitch_f
:pswitch_c
:pswitch_c
:pswitch_f
.end packed-switch
.end method
.method public getThumbnail()[B
.registers 3
.line 4538
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
const/4 v1, 0x6
if-eq v0, v1, :cond_b
const/4 v1, 0x7
if-ne v0, v1, :cond_9
goto :goto_b
.line 4541
:cond_9
const/4 v0, 0x0
return-object v0
.line 4539
:cond_b
:goto_b
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B
move-result-object v0
return-object v0
.end method
.method public getThumbnailBitmap()Landroid/graphics/Bitmap;
.registers 9
.line 4607
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v1, 0x0
if-nez v0, :cond_6
.line 4608
return-object v1
.line 4609
:cond_6
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
if-nez v0, :cond_10
.line 4610
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B
move-result-object v0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
.line 4613
:cond_10
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
const/4 v2, 0x6
if-eq v0, v2, :cond_76
const/4 v2, 0x7
if-ne v0, v2, :cond_19
goto :goto_76
.line 4615
:cond_19
const/4 v2, 0x1
if-ne v0, v2, :cond_75
.line 4616
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
array-length v0, v0
div-int/lit8 v0, v0, 0x3
new-array v0, v0, [I
.line 4617
.local v0, "rgbValues":[I
const/4 v3, 0x0
.line 4618
.local v3, "alpha":B
const/4 v4, 0x0
.local v4, "i":I
:goto_25
array-length v5, v0
if-ge v4, v5, :cond_45
.line 4619
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
mul-int/lit8 v6, v4, 0x3
aget-byte v6, v5, v6
shl-int/lit8 v6, v6, 0x10
add-int/2addr v6, v3
mul-int/lit8 v7, v4, 0x3
add-int/2addr v7, v2
aget-byte v7, v5, v7
shl-int/lit8 v7, v7, 0x8
add-int/2addr v6, v7
mul-int/lit8 v7, v4, 0x3
add-int/lit8 v7, v7, 0x2
aget-byte v5, v5, v7
add-int/2addr v6, v5
aput v6, v0, v4
.line 4618
add-int/lit8 v4, v4, 0x1
goto :goto_25
.line 4623
.end local v4 # "i":I
:cond_45
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v4, 0x4
aget-object v2, v2, v4
.line 4624
const-string v5, "ImageLength"
invoke-virtual {v2, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 4625
.local v2, "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v5, v4
.line 4626
const-string v5, "ImageWidth"
invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.line 4627
.local v4, "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v2, :cond_75
if-eqz v4, :cond_75
.line 4628
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v1
.line 4629
.local v1, "imageLength":I
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v5
.line 4630
.local v5, "imageWidth":I
sget-object v6, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v0, v5, v1, v6}, Landroid/graphics/Bitmap;->createBitmap([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v6
return-object v6
.line 4634
.end local v0 # "rgbValues":[I
.end local v1 # "imageLength":I
.end local v2 # "imageLengthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v3 # "alpha":B
.end local v4 # "imageWidthAttribute":Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.end local v5 # "imageWidth":I
:cond_75
return-object v1
.line 4614
:cond_76
:goto_76
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
const/4 v1, 0x0
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
invoke-static {v0, v1, v2}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public getThumbnailBytes()[B
.registers 11
.line 4550
const-string v0, "ExifInterface"
iget-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v2, 0x0
if-nez v1, :cond_8
.line 4551
return-object v2
.line 4553
:cond_8
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
if-eqz v1, :cond_d
.line 4554
return-object v1
.line 4558
:cond_d
const/4 v1, 0x0
.line 4559
.local v1, "in":Ljava/io/InputStream;
const/4 v3, 0x0
.line 4561
.local v3, "newFileDescriptor":Ljava/io/FileDescriptor;
:try_start_f
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
if-eqz v4, :cond_2f
.line 4562
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
move-object v1, v4
.line 4563
invoke-virtual {v1}, Ljava/io/InputStream;->markSupported()Z
move-result v4
if-eqz v4, :cond_20
.line 4564
invoke-virtual {v1}, Ljava/io/InputStream;->reset()V
goto :goto_5a
.line 4566
:cond_20
const-string v4, "Cannot read thumbnail from inputstream without mark/reset support"
invoke-static {v0, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_25
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_25} :catch_98
.catchall {:try_start_f .. :try_end_25} :catchall_96
.line 4567
nop
.line 4593
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4594
if-eqz v3, :cond_2e
.line 4595
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
.line 4567
:cond_2e
return-object v2
.line 4569
:cond_2f
:try_start_2f
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v4, :cond_3c
.line 4570
new-instance v4, Ljava/io/FileInputStream;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-direct {v4, v5}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
move-object v1, v4
goto :goto_5a
.line 4571
:cond_3c
sget v4, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v5, 0x15
if-lt v4, v5, :cond_5a
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v4, :cond_5a
.line 4572
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-static {v4}, Landroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
move-result-object v4
move-object v3, v4
.line 4573
const-wide/16 v4, 0x0
sget v6, Landroid/system/OsConstants;->SEEK_SET:I
invoke-static {v3, v4, v5, v6}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
.line 4574
new-instance v4, Ljava/io/FileInputStream;
invoke-direct {v4, v3}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
move-object v1, v4
.line 4576
:cond_5a
:goto_5a
if-eqz v1, :cond_90
.line 4580
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
int-to-long v4, v4
invoke-virtual {v1, v4, v5}, Ljava/io/InputStream;->skip(J)J
move-result-wide v4
iget v6, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
:try_end_65
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_65} :catch_98
.catchall {:try_start_2f .. :try_end_65} :catchall_96
int-to-long v6, v6
const-string v8, "Corrupted image"
cmp-long v9, v4, v6
if-nez v9, :cond_8a
.line 4583
:try_start_6c
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
new-array v4, v4, [B
.line 4584
.local v4, "buffer":[B
invoke-virtual {v1, v4}, Ljava/io/InputStream;->read([B)I
move-result v5
iget v6, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
if-ne v5, v6, :cond_84
.line 4587
iput-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
:try_end_7a
.catch Ljava/lang/Exception; {:try_start_6c .. :try_end_7a} :catch_98
.catchall {:try_start_6c .. :try_end_7a} :catchall_96
.line 4588
nop
.line 4593
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4594
if-eqz v3, :cond_83
.line 4595
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
.line 4588
:cond_83
return-object v4
.line 4585
:cond_84
:try_start_84
new-instance v5, Ljava/io/IOException;
invoke-direct {v5, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v1 # "in":Ljava/io/InputStream;
.end local v3 # "newFileDescriptor":Ljava/io/FileDescriptor;
throw v5
.line 4581
.end local v4 # "buffer":[B
.restart local v1 # "in":Ljava/io/InputStream;
.restart local v3 # "newFileDescriptor":Ljava/io/FileDescriptor;
:cond_8a
new-instance v4, Ljava/io/IOException;
invoke-direct {v4, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v1 # "in":Ljava/io/InputStream;
.end local v3 # "newFileDescriptor":Ljava/io/FileDescriptor;
throw v4
.line 4578
.restart local v1 # "in":Ljava/io/InputStream;
.restart local v3 # "newFileDescriptor":Ljava/io/FileDescriptor;
:cond_90
new-instance v4, Ljava/io/FileNotFoundException;
invoke-direct {v4}, Ljava/io/FileNotFoundException;-><init>()V
.end local v1 # "in":Ljava/io/InputStream;
.end local v3 # "newFileDescriptor":Ljava/io/FileDescriptor;
throw v4
:try_end_96
.catch Ljava/lang/Exception; {:try_start_84 .. :try_end_96} :catch_98
.catchall {:try_start_84 .. :try_end_96} :catchall_96
.line 4593
.restart local v1 # "in":Ljava/io/InputStream;
.restart local v3 # "newFileDescriptor":Ljava/io/FileDescriptor;
:catchall_96
move-exception v0
goto :goto_a8
.line 4589
:catch_98
move-exception v4
.line 4591
.local v4, "e":Ljava/lang/Exception;
:try_start_99
const-string v5, "Encountered exception while getting thumbnail"
invoke-static {v0, v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_9e
.catchall {:try_start_99 .. :try_end_9e} :catchall_96
.line 4593
nop
.end local v4 # "e":Ljava/lang/Exception;
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4594
if-eqz v3, :cond_a7
.line 4595
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
.line 4598
:cond_a7
return-object v2
.line 4593
:goto_a8
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4594
if-eqz v3, :cond_b0
.line 4595
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
.line 4597
:cond_b0
throw v0
.end method
.method public getThumbnailRange()[J
.registers 5
.line 4663
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mModified:Z
if-nez v0, :cond_1a
.line 4668
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-eqz v0, :cond_18
.line 4669
const/4 v0, 0x2
new-array v0, v0, [J
const/4 v1, 0x0
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
int-to-long v2, v2
aput-wide v2, v0, v1
const/4 v1, 0x1
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
int-to-long v2, v2
aput-wide v2, v0, v1
return-object v0
.line 4671
:cond_18
const/4 v0, 0x0
return-object v0
.line 4664
:cond_1a
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "The underlying file has been modified since being parsed"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public hasAttribute(Ljava/lang/String;)Z
.registers 3
.param p1, "tag" # Ljava/lang/String;
.line 4527
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
if-eqz v0, :cond_8
const/4 v0, 0x1
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
return v0
.end method
.method public hasThumbnail()Z
.registers 2
.line 4518
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
return v0
.end method
.method public isFlipped()Z
.registers 4
.line 4247
const/4 v0, 0x1
const-string v1, "Orientation"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
move-result v1
.line 4248
.local v1, "orientation":I
const/4 v2, 0x2
if-eq v1, v2, :cond_15
const/4 v2, 0x7
if-eq v1, v2, :cond_15
const/4 v2, 0x4
if-eq v1, v2, :cond_15
const/4 v2, 0x5
if-eq v1, v2, :cond_15
.line 4255
const/4 v0, 0x0
return v0
.line 4253
:cond_15
return v0
.end method
.method public isThumbnailCompressed()Z
.registers 4
.line 4642
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v1, 0x0
if-nez v0, :cond_6
.line 4643
return v1
.line 4645
:cond_6
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
const/4 v2, 0x6
if-eq v0, v2, :cond_10
const/4 v2, 0x7
if-ne v0, v2, :cond_f
goto :goto_10
.line 4648
:cond_f
return v1
.line 4646
:cond_10
:goto_10
const/4 v0, 0x1
return v0
.end method
.method public resetOrientation()V
.registers 3
.line 4129
const/4 v0, 0x1
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v0
const-string v1, "Orientation"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4130
return-void
.end method
.method public rotate(I)V
.registers 8
.param p1, "degree" # I
.line 4139
rem-int/lit8 v0, p1, 0x5a
if-nez v0, :cond_6c
.line 4143
const/4 v0, 0x1
const-string v1, "Orientation"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
move-result v0
.line 4146
.local v0, "currentOrientation":I
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->ROTATION_ORDER:Ljava/util/List;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-interface {v2, v3}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v2
const/4 v3, 0x0
const/4 v4, 0x4
if-eqz v2, :cond_38
.line 4147
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->ROTATION_ORDER:Ljava/util/List;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-interface {v2, v5}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I
move-result v2
.line 4148
.local v2, "currentIndex":I
div-int/lit8 v5, p1, 0x5a
add-int/2addr v5, v2
rem-int/2addr v5, v4
.line 4149
.local v5, "newIndex":I
if-gez v5, :cond_2a
const/4 v3, 0x4
:cond_2a
add-int/2addr v5, v3
.line 4150
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->ROTATION_ORDER:Ljava/util/List;
invoke-interface {v3, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
.local v3, "resultOrientation":I
goto :goto_64
.line 4151
.end local v2 # "currentIndex":I
.end local v3 # "resultOrientation":I
.end local v5 # "newIndex":I
:cond_38
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->FLIPPED_ROTATION_ORDER:Ljava/util/List;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-interface {v2, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_63
.line 4152
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->FLIPPED_ROTATION_ORDER:Ljava/util/List;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-interface {v2, v5}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I
move-result v2
.line 4153
.restart local v2 # "currentIndex":I
div-int/lit8 v5, p1, 0x5a
add-int/2addr v5, v2
rem-int/2addr v5, v4
.line 4154
.restart local v5 # "newIndex":I
if-gez v5, :cond_55
const/4 v3, 0x4
:cond_55
add-int/2addr v5, v3
.line 4155
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->FLIPPED_ROTATION_ORDER:Ljava/util/List;
invoke-interface {v3, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
.restart local v3 # "resultOrientation":I
goto :goto_64
.line 4157
.end local v2 # "currentIndex":I
.end local v3 # "resultOrientation":I
.end local v5 # "newIndex":I
:cond_63
const/4 v3, 0x0
.line 4160
.restart local v3 # "resultOrientation":I
:goto_64
invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {p0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4161
return-void
.line 4140
.end local v0 # "currentOrientation":I
.end local v3 # "resultOrientation":I
:cond_6c
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "degree should be a multiple of 90"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public saveAttributes()V
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4437
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mIsSupportedFile:Z
if-eqz v0, :cond_13e
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v1, 0x4
if-ne v0, v1, :cond_13e
.line 4440
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-nez v0, :cond_1a
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v0, :cond_12
goto :goto_1a
.line 4441
:cond_12
new-instance v0, Ljava/io/IOException;
const-string v1, "ExifInterface does not support saving attributes for the current input."
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 4447
:cond_1a
:goto_1a
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mModified:Z
.line 4450
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnail()[B
move-result-object v0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
.line 4452
const/4 v0, 0x0
.line 4453
.local v0, "in":Ljava/io/FileInputStream;
const/4 v1, 0x0
.line 4454
.local v1, "out":Ljava/io/FileOutputStream;
const/4 v2, 0x0
.line 4455
.local v2, "originalFile":Ljava/io/File;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v3, :cond_32
.line 4456
new-instance v3, Ljava/io/File;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-direct {v3, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
move-object v2, v3
.line 4458
:cond_32
const/4 v3, 0x0
.line 4461
.local v3, "tempFile":Ljava/io/File;
:try_start_33
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
const-wide/16 v5, 0x0
const/16 v7, 0x15
if-eqz v4, :cond_76
.line 4462
new-instance v4, Ljava/io/File;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
iget-object v9, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v9, ".tmp"
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-direct {v4, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
move-object v3, v4
.line 4463
invoke-virtual {v2, v3}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v4
if-eqz v4, :cond_5b
goto :goto_a0
.line 4464
:cond_5b
new-instance v4, Ljava/io/IOException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Couldn\'t rename to "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v0 # "in":Ljava/io/FileInputStream;
.end local v1 # "out":Ljava/io/FileOutputStream;
.end local v2 # "originalFile":Ljava/io/File;
.end local v3 # "tempFile":Ljava/io/File;
throw v4
.line 4466
.restart local v0 # "in":Ljava/io/FileInputStream;
.restart local v1 # "out":Ljava/io/FileOutputStream;
.restart local v2 # "originalFile":Ljava/io/File;
.restart local v3 # "tempFile":Ljava/io/File;
:cond_76
sget v4, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v4, v7, :cond_a0
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v4, :cond_a0
.line 4467
const-string/jumbo v4, "temp"
const-string v8, "jpg"
invoke-static {v4, v8}, Ljava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
move-result-object v4
move-object v3, v4
.line 4468
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
sget v8, Landroid/system/OsConstants;->SEEK_SET:I
invoke-static {v4, v5, v6, v8}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
.line 4469
new-instance v4, Ljava/io/FileInputStream;
iget-object v8, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-direct {v4, v8}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
move-object v0, v4
.line 4470
new-instance v4, Ljava/io/FileOutputStream;
invoke-direct {v4, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
move-object v1, v4
.line 4471
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
:try_end_a0
.catch Ljava/lang/Exception; {:try_start_33 .. :try_end_a0} :catch_12e
.catchall {:try_start_33 .. :try_end_a0} :catchall_12c
.line 4476
:cond_a0
:goto_a0
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4477
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4478
nop
.line 4480
const/4 v0, 0x0
.line 4481
const/4 v1, 0x0
.line 4482
const/4 v4, 0x0
.line 4483
.local v4, "bufferedIn":Ljava/io/BufferedInputStream;
const/4 v8, 0x0
.line 4486
.local v8, "bufferedOut":Ljava/io/BufferedOutputStream;
:try_start_ab
new-instance v9, Ljava/io/FileInputStream;
invoke-direct {v9, v3}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
move-object v0, v9
.line 4487
iget-object v9, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v9, :cond_be
.line 4488
new-instance v5, Ljava/io/FileOutputStream;
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-direct {v5, v6}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
move-object v1, v5
goto :goto_d5
.line 4489
:cond_be
sget v9, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v9, v7, :cond_d5
iget-object v7, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v7, :cond_d5
.line 4490
iget-object v7, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
sget v9, Landroid/system/OsConstants;->SEEK_SET:I
invoke-static {v7, v5, v6, v9}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
.line 4491
new-instance v5, Ljava/io/FileOutputStream;
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-direct {v5, v6}, Ljava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
move-object v1, v5
.line 4493
:cond_d5
:goto_d5
new-instance v5, Ljava/io/BufferedInputStream;
invoke-direct {v5, v0}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
move-object v4, v5
.line 4494
new-instance v5, Ljava/io/BufferedOutputStream;
invoke-direct {v5, v1}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
move-object v8, v5
.line 4495
invoke-direct {p0, v4, v8}, Landroidx/exifinterface/media/ExifInterface;->saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
:try_end_e4
.catch Ljava/lang/Exception; {:try_start_ab .. :try_end_e4} :catch_f4
.catchall {:try_start_ab .. :try_end_e4} :catchall_f2
.line 4505
invoke-static {v4}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4506
invoke-static {v8}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4507
invoke-virtual {v3}, Ljava/io/File;->delete()Z
.line 4508
nop
.line 4511
const/4 v5, 0x0
iput-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
.line 4512
return-void
.line 4505
:catchall_f2
move-exception v5
goto :goto_122
.line 4496
:catch_f4
move-exception v5
.line 4497
.local v5, "e":Ljava/lang/Exception;
:try_start_f5
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v6, :cond_11a
.line 4498
invoke-virtual {v3, v2}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v6
if-nez v6, :cond_11a
.line 4499
new-instance v6, Ljava/io/IOException;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "Couldn\'t restore original file: "
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4500
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v9
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-direct {v6, v7}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.end local v0 # "in":Ljava/io/FileInputStream;
.end local v1 # "out":Ljava/io/FileOutputStream;
.end local v2 # "originalFile":Ljava/io/File;
.end local v3 # "tempFile":Ljava/io/File;
.end local v4 # "bufferedIn":Ljava/io/BufferedInputStream;
.end local v8 # "bufferedOut":Ljava/io/BufferedOutputStream;
throw v6
.line 4503
.restart local v0 # "in":Ljava/io/FileInputStream;
.restart local v1 # "out":Ljava/io/FileOutputStream;
.restart local v2 # "originalFile":Ljava/io/File;
.restart local v3 # "tempFile":Ljava/io/File;
.restart local v4 # "bufferedIn":Ljava/io/BufferedInputStream;
.restart local v8 # "bufferedOut":Ljava/io/BufferedOutputStream;
:cond_11a
new-instance v6, Ljava/io/IOException;
const-string v7, "Failed to save new file"
invoke-direct {v6, v7, v5}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.end local v0 # "in":Ljava/io/FileInputStream;
.end local v1 # "out":Ljava/io/FileOutputStream;
.end local v2 # "originalFile":Ljava/io/File;
.end local v3 # "tempFile":Ljava/io/File;
.end local v4 # "bufferedIn":Ljava/io/BufferedInputStream;
.end local v8 # "bufferedOut":Ljava/io/BufferedOutputStream;
throw v6
:try_end_122
.catchall {:try_start_f5 .. :try_end_122} :catchall_f2
.line 4505
.end local v5 # "e":Ljava/lang/Exception;
.restart local v0 # "in":Ljava/io/FileInputStream;
.restart local v1 # "out":Ljava/io/FileOutputStream;
.restart local v2 # "originalFile":Ljava/io/File;
.restart local v3 # "tempFile":Ljava/io/File;
.restart local v4 # "bufferedIn":Ljava/io/BufferedInputStream;
.restart local v8 # "bufferedOut":Ljava/io/BufferedOutputStream;
:goto_122
invoke-static {v4}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4506
invoke-static {v8}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4507
invoke-virtual {v3}, Ljava/io/File;->delete()Z
.line 4508
throw v5
.line 4476
.end local v4 # "bufferedIn":Ljava/io/BufferedInputStream;
.end local v8 # "bufferedOut":Ljava/io/BufferedOutputStream;
:catchall_12c
move-exception v4
goto :goto_137
.line 4473
:catch_12e
move-exception v4
.line 4474
.local v4, "e":Ljava/lang/Exception;
:try_start_12f
new-instance v5, Ljava/io/IOException;
const-string v6, "Failed to copy original file to temp file"
invoke-direct {v5, v6, v4}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.end local v0 # "in":Ljava/io/FileInputStream;
.end local v1 # "out":Ljava/io/FileOutputStream;
.end local v2 # "originalFile":Ljava/io/File;
.end local v3 # "tempFile":Ljava/io/File;
throw v5
:try_end_137
.catchall {:try_start_12f .. :try_end_137} :catchall_12c
.line 4476
.end local v4 # "e":Ljava/lang/Exception;
.restart local v0 # "in":Ljava/io/FileInputStream;
.restart local v1 # "out":Ljava/io/FileOutputStream;
.restart local v2 # "originalFile":Ljava/io/File;
.restart local v3 # "tempFile":Ljava/io/File;
:goto_137
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4477
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
.line 4478
throw v4
.line 4438
.end local v0 # "in":Ljava/io/FileInputStream;
.end local v1 # "out":Ljava/io/FileOutputStream;
.end local v2 # "originalFile":Ljava/io/File;
.end local v3 # "tempFile":Ljava/io/File;
:cond_13e
new-instance v0, Ljava/io/IOException;
const-string v1, "ExifInterface only supports saving attributes on JPEG formats."
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setAltitude(D)V
.registers 7
.param p1, "altitude" # D
.line 4835
const-wide/16 v0, 0x0
cmpl-double v2, p1, v0
if-ltz v2, :cond_9
const-string v0, "0"
goto :goto_b
:cond_9
const-string v0, "1"
.line 4836
.local v0, "ref":Ljava/lang/String;
:goto_b
new-instance v1, Landroidx/exifinterface/media/ExifInterface$Rational;
invoke-static {p1, p2}, Ljava/lang/Math;->abs(D)D
move-result-wide v2
invoke-direct {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(D)V
invoke-virtual {v1}, Landroidx/exifinterface/media/ExifInterface$Rational;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "GPSAltitude"
invoke-virtual {p0, v2, v1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4837
const-string v1, "GPSAltitudeRef"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4838
return-void
.end method
.method public setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.registers 24
.param p1, "tag" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/String;
.line 3977
move-object/from16 v1, p0
move-object/from16 v0, p1
move-object/from16 v2, p2
if-eqz v0, :cond_37a
.line 3980
const-string v3, "ISOSpeedRatings"
invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
const-string v4, "ExifInterface"
if-eqz v3, :cond_20
.line 3981
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_1c
.line 3982
const-string/jumbo v3, "setAttribute: Replacing TAG_ISO_SPEED_RATINGS with TAG_PHOTOGRAPHIC_SENSITIVITY."
invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 3985
:cond_1c
const-string v0, "PhotographicSensitivity"
move-object v3, v0
.end local p1 # "tag":Ljava/lang/String;
.local v0, "tag":Ljava/lang/String;
goto :goto_21
.line 3980
.end local v0 # "tag":Ljava/lang/String;
.restart local p1 # "tag":Ljava/lang/String;
:cond_20
move-object v3, v0
.line 3988
.end local p1 # "tag":Ljava/lang/String;
.local v3, "tag":Ljava/lang/String;
:goto_21
const/4 v0, 0x2
const/4 v5, 0x1
if-eqz v2, :cond_c0
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet;
invoke-virtual {v6, v3}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_c0
.line 3989
const-string v6, "GPSTimeStamp"
invoke-virtual {v3, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
const-string v7, " : "
const-string v8, "Invalid value for "
if-eqz v6, :cond_97
.line 3990
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sGpsTimestampPattern:Ljava/util/regex/Pattern;
invoke-virtual {v6, v2}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v6
.line 3991
.local v6, "m":Ljava/util/regex/Matcher;
invoke-virtual {v6}, Ljava/util/regex/Matcher;->find()Z
move-result v9
if-nez v9, :cond_5e
.line 3992
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 3993
return-void
.line 3995
:cond_5e
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v5}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v8, "/1,"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v9
invoke-static {v9}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v9
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v8, 0x3
.line 3996
invoke-virtual {v6, v8}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v8, "/1"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 3997
.end local v6 # "m":Ljava/util/regex/Matcher;
.end local p2 # "value":Ljava/lang/String;
.local v2, "value":Ljava/lang/String;
goto :goto_c0
.line 3999
.end local v2 # "value":Ljava/lang/String;
.restart local p2 # "value":Ljava/lang/String;
:cond_97
:try_start_97
invoke-static/range {p2 .. p2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v9
.line 4000
.local v9, "doubleValue":D
new-instance v6, Landroidx/exifinterface/media/ExifInterface$Rational;
invoke-direct {v6, v9, v10}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(D)V
invoke-virtual {v6}, Landroidx/exifinterface/media/ExifInterface$Rational;->toString()Ljava/lang/String;
move-result-object v6
:try_end_a4
.catch Ljava/lang/NumberFormatException; {:try_start_97 .. :try_end_a4} :catch_a6
move-object v2, v6
.line 4004
.end local v9 # "doubleValue":D
.end local p2 # "value":Ljava/lang/String;
.restart local v2 # "value":Ljava/lang/String;
goto :goto_c0
.line 4001
.end local v2 # "value":Ljava/lang/String;
.restart local p2 # "value":Ljava/lang/String;
:catch_a6
move-exception v0
.line 4002
.local v0, "e":Ljava/lang/NumberFormatException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v4, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 4003
return-void
.line 4008
.end local v0 # "e":Ljava/lang/NumberFormatException;
.end local p2 # "value":Ljava/lang/String;
.restart local v2 # "value":Ljava/lang/String;
:cond_c0
:goto_c0
const/4 v6, 0x0
.local v6, "i":I
:goto_c1
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v7, v7
if-ge v6, v7, :cond_379
.line 4009
const/4 v7, 0x4
if-ne v6, v7, :cond_d3
iget-boolean v7, v1, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-nez v7, :cond_d3
.line 4010
move/from16 v20, v6
const/16 v16, 0x1
goto/16 :goto_373
.line 4012
:cond_d3
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
aget-object v7, v7, v6
invoke-virtual {v7, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;
.line 4013
.local v7, "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
if-eqz v7, :cond_36d
.line 4014
if-nez v2, :cond_ee
.line 4015
iget-object v8, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v6
invoke-virtual {v8, v3}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 4016
move/from16 v20, v6
const/16 v16, 0x1
goto/16 :goto_373
.line 4018
:cond_ee
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
move-result-object v8
.line 4020
.local v8, "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
iget-object v10, v8, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v10, Ljava/lang/Integer;
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v10
const/4 v11, -0x1
if-eq v9, v10, :cond_1d5
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
iget-object v10, v8, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v10, Ljava/lang/Integer;
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v10
if-ne v9, v10, :cond_10d
goto/16 :goto_1d5
.line 4022
:cond_10d
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
if-eq v9, v11, :cond_12d
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
iget-object v10, v8, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v10, Ljava/lang/Integer;
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v10
if-eq v9, v10, :cond_129
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
iget-object v10, v8, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v10, Ljava/lang/Integer;
.line 4023
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v10
if-ne v9, v10, :cond_12d
.line 4024
:cond_129
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
.local v9, "dataFormat":I
goto/16 :goto_1d7
.line 4025
.end local v9 # "dataFormat":I
:cond_12d
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
if-eq v9, v5, :cond_1d2
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
const/4 v10, 0x7
if-eq v9, v10, :cond_1d2
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
if-ne v9, v0, :cond_13c
goto/16 :goto_1d2
.line 4030
:cond_13c
sget-boolean v9, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v9, :cond_1cc
.line 4031
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Given tag ("
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v10, ") value didn\'t match with one of expected formats: "
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v10, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget v12, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
aget-object v10, v10, v12
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v10, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
const-string v12, ""
const-string v13, ", "
if-ne v10, v11, :cond_165
move-object v10, v12
goto :goto_17a
:cond_165
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v14, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget v15, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
aget-object v14, v14, v15
invoke-virtual {v10, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
:goto_17a
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v10, " (guess: "
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v10, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget-object v14, v8, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v14, Ljava/lang/Integer;
.line 4036
invoke-virtual {v14}, Ljava/lang/Integer;->intValue()I
move-result v14
aget-object v10, v10, v14
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v10, v8, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v10, Ljava/lang/Integer;
invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I
move-result v10
if-ne v10, v11, :cond_19c
goto :goto_1b7
:cond_19c
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget-object v12, v8, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v12, Ljava/lang/Integer;
.line 4037
invoke-virtual {v12}, Ljava/lang/Integer;->intValue()I
move-result v12
aget-object v11, v11, v12
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v12
:goto_1b7
invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v10, ")"
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
.line 4031
invoke-static {v4, v9}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
move/from16 v20, v6
const/16 v16, 0x1
goto/16 :goto_373
.line 4030
:cond_1cc
move/from16 v20, v6
const/16 v16, 0x1
goto/16 :goto_373
.line 4028
:cond_1d2
:goto_1d2
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
.restart local v9 # "dataFormat":I
goto :goto_1d7
.line 4021
.end local v9 # "dataFormat":I
:cond_1d5
:goto_1d5
iget v9, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
.line 4041
.restart local v9 # "dataFormat":I
:goto_1d7
const/4 v10, 0x0
const-string v12, "/"
const-string v13, ","
packed-switch v9, :pswitch_data_386
.line 4116
:pswitch_1df
move/from16 v20, v6
move-object/from16 v18, v7
move-object/from16 v19, v8
const/16 v16, 0x1
.end local v6 # "i":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.local v18, "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.local v19, "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.local v20, "i":I
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_373
.line 4117
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Data format isn\'t one of expected formats: "
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_373
.line 4106
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v20 # "i":I
.restart local v6 # "i":I
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:pswitch_201
invoke-virtual {v2, v13, v11}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v10
.line 4107
.local v10, "values":[Ljava/lang/String;
array-length v11, v10
new-array v11, v11, [D
.line 4108
.local v11, "doubleArray":[D
const/4 v12, 0x0
.local v12, "j":I
:goto_209
array-length v13, v10
if-ge v12, v13, :cond_217
.line 4109
aget-object v13, v10, v12
invoke-static {v13}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v13
aput-wide v13, v11, v12
.line 4108
add-int/lit8 v12, v12, 0x1
goto :goto_209
.line 4111
.end local v12 # "j":I
:cond_217
iget-object v12, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v12, v6
iget-object v13, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4112
invoke-static {v11, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createDouble([DLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
.line 4111
invoke-virtual {v12, v3, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4113
move/from16 v20, v6
const/16 v16, 0x1
goto/16 :goto_373
.line 4094
.end local v10 # "values":[Ljava/lang/String;
.end local v11 # "doubleArray":[D
:pswitch_22a
invoke-virtual {v2, v13, v11}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v13
.line 4095
.local v13, "values":[Ljava/lang/String;
array-length v14, v13
new-array v14, v14, [Landroidx/exifinterface/media/ExifInterface$Rational;
.line 4096
.local v14, "rationalArray":[Landroidx/exifinterface/media/ExifInterface$Rational;
const/4 v15, 0x0
.local v15, "j":I
:goto_232
array-length v0, v13
if-ge v15, v0, :cond_261
.line 4097
aget-object v0, v13, v15
invoke-virtual {v0, v12, v11}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 4098
.local v0, "numbers":[Ljava/lang/String;
new-instance v11, Landroidx/exifinterface/media/ExifInterface$Rational;
aget-object v16, v0, v10
move-object/from16 v18, v11
invoke-static/range {v16 .. v16}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v10
double-to-long v10, v10
aget-object v16, v0, v5
.line 4099
move/from16 v20, v6
.end local v6 # "i":I
.restart local v20 # "i":I
invoke-static/range {v16 .. v16}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v5
double-to-long v5, v5
move-object/from16 v16, v0
move-object/from16 v0, v18
.end local v0 # "numbers":[Ljava/lang/String;
.local v16, "numbers":[Ljava/lang/String;
invoke-direct {v0, v10, v11, v5, v6}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(JJ)V
aput-object v0, v14, v15
.line 4096
.end local v16 # "numbers":[Ljava/lang/String;
add-int/lit8 v15, v15, 0x1
move/from16 v6, v20
const/4 v0, 0x2
const/4 v5, 0x1
const/4 v10, 0x0
const/4 v11, -0x1
goto :goto_232
.end local v20 # "i":I
.restart local v6 # "i":I
:cond_261
move/from16 v20, v6
.line 4101
.end local v6 # "i":I
.end local v15 # "j":I
.restart local v20 # "i":I
iget-object v0, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v20
iget-object v5, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4102
invoke-static {v14, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createSRational([Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v5
.line 4101
invoke-virtual {v0, v3, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4103
const/16 v16, 0x1
goto/16 :goto_373
.line 4062
.end local v13 # "values":[Ljava/lang/String;
.end local v14 # "rationalArray":[Landroidx/exifinterface/media/ExifInterface$Rational;
.end local v20 # "i":I
.restart local v6 # "i":I
:pswitch_274
move/from16 v20, v6
.end local v6 # "i":I
.restart local v20 # "i":I
const/4 v0, -0x1
invoke-virtual {v2, v13, v0}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 4063
.local v0, "values":[Ljava/lang/String;
array-length v5, v0
new-array v5, v5, [I
.line 4064
.local v5, "intArray":[I
const/4 v6, 0x0
.local v6, "j":I
:goto_27f
array-length v10, v0
if-ge v6, v10, :cond_28d
.line 4065
aget-object v10, v0, v6
invoke-static {v10}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v10
aput v10, v5, v6
.line 4064
add-int/lit8 v6, v6, 0x1
goto :goto_27f
.line 4067
.end local v6 # "j":I
:cond_28d
iget-object v6, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v6, v6, v20
iget-object v10, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4068
invoke-static {v5, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createSLong([ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v10
.line 4067
invoke-virtual {v6, v3, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4069
const/16 v16, 0x1
goto/16 :goto_373
.line 4082
.end local v0 # "values":[Ljava/lang/String;
.end local v5 # "intArray":[I
.end local v20 # "i":I
.local v6, "i":I
:pswitch_29e
move/from16 v20, v6
.end local v6 # "i":I
.restart local v20 # "i":I
const/4 v0, -0x1
invoke-virtual {v2, v13, v0}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v5
.line 4083
.local v5, "values":[Ljava/lang/String;
array-length v0, v5
new-array v0, v0, [Landroidx/exifinterface/media/ExifInterface$Rational;
.line 4084
.local v0, "rationalArray":[Landroidx/exifinterface/media/ExifInterface$Rational;
const/4 v6, 0x0
.local v6, "j":I
:goto_2a9
array-length v10, v5
if-ge v6, v10, :cond_2d6
.line 4085
aget-object v10, v5, v6
const/4 v11, -0x1
invoke-virtual {v10, v12, v11}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v10
.line 4086
.local v10, "numbers":[Ljava/lang/String;
new-instance v11, Landroidx/exifinterface/media/ExifInterface$Rational;
const/4 v13, 0x0
aget-object v14, v10, v13
invoke-static {v14}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v14
double-to-long v14, v14
const/16 v16, 0x1
aget-object v17, v10, v16
.line 4087
move-object/from16 v18, v7
move-object/from16 v19, v8
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
invoke-static/range {v17 .. v17}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v7
double-to-long v7, v7
invoke-direct {v11, v14, v15, v7, v8}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(JJ)V
aput-object v11, v0, v6
.line 4084
.end local v10 # "numbers":[Ljava/lang/String;
add-int/lit8 v6, v6, 0x1
move-object/from16 v7, v18
move-object/from16 v8, v19
goto :goto_2a9
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:cond_2d6
move-object/from16 v18, v7
move-object/from16 v19, v8
const/16 v16, 0x1
.line 4089
.end local v6 # "j":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
iget-object v6, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v6, v6, v20
iget-object v7, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4090
invoke-static {v0, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createURational([Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v7
.line 4089
invoke-virtual {v6, v3, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4091
goto/16 :goto_373
.line 4072
.end local v0 # "rationalArray":[Landroidx/exifinterface/media/ExifInterface$Rational;
.end local v5 # "values":[Ljava/lang/String;
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v20 # "i":I
.local v6, "i":I
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:pswitch_2eb
move/from16 v20, v6
move-object/from16 v18, v7
move-object/from16 v19, v8
const/16 v16, 0x1
.end local v6 # "i":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v20 # "i":I
const/4 v0, -0x1
invoke-virtual {v2, v13, v0}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 4073
.local v0, "values":[Ljava/lang/String;
array-length v5, v0
new-array v5, v5, [J
.line 4074
.local v5, "longArray":[J
const/4 v6, 0x0
.local v6, "j":I
:goto_2fc
array-length v7, v0
if-ge v6, v7, :cond_30a
.line 4075
aget-object v7, v0, v6
invoke-static {v7}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v7
aput-wide v7, v5, v6
.line 4074
add-int/lit8 v6, v6, 0x1
goto :goto_2fc
.line 4077
.end local v6 # "j":I
:cond_30a
iget-object v6, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v6, v6, v20
iget-object v7, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4078
invoke-static {v5, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong([JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v7
.line 4077
invoke-virtual {v6, v3, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4079
goto :goto_373
.line 4052
.end local v0 # "values":[Ljava/lang/String;
.end local v5 # "longArray":[J
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v20 # "i":I
.local v6, "i":I
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:pswitch_318
move/from16 v20, v6
move-object/from16 v18, v7
move-object/from16 v19, v8
const/16 v16, 0x1
.end local v6 # "i":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v20 # "i":I
const/4 v0, -0x1
invoke-virtual {v2, v13, v0}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 4053
.restart local v0 # "values":[Ljava/lang/String;
array-length v5, v0
new-array v5, v5, [I
.line 4054
.local v5, "intArray":[I
const/4 v6, 0x0
.local v6, "j":I
:goto_329
array-length v7, v0
if-ge v6, v7, :cond_337
.line 4055
aget-object v7, v0, v6
invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
aput v7, v5, v6
.line 4054
add-int/lit8 v6, v6, 0x1
goto :goto_329
.line 4057
.end local v6 # "j":I
:cond_337
iget-object v6, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v6, v6, v20
iget-object v7, v1, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
.line 4058
invoke-static {v5, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort([ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v7
.line 4057
invoke-virtual {v6, v3, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4059
goto :goto_373
.line 4048
.end local v0 # "values":[Ljava/lang/String;
.end local v5 # "intArray":[I
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v20 # "i":I
.local v6, "i":I
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:pswitch_345
move/from16 v20, v6
move-object/from16 v18, v7
move-object/from16 v19, v8
const/16 v16, 0x1
.end local v6 # "i":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v20 # "i":I
iget-object v0, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v20
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v5
invoke-virtual {v0, v3, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4049
goto :goto_373
.line 4043
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v20 # "i":I
.restart local v6 # "i":I
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
:pswitch_359
move/from16 v20, v6
move-object/from16 v18, v7
move-object/from16 v19, v8
const/16 v16, 0x1
.end local v6 # "i":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v8 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.restart local v20 # "i":I
iget-object v0, v1, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v20
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createByte(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v5
invoke-virtual {v0, v3, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4044
goto :goto_373
.line 4013
.end local v9 # "dataFormat":I
.end local v18 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.end local v19 # "guess":Landroid/util/Pair;, "Landroid/util/Pair<Ljava/lang/Integer;Ljava/lang/Integer;>;"
.end local v20 # "i":I
.restart local v6 # "i":I
.restart local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
:cond_36d
move/from16 v20, v6
move-object/from16 v18, v7
const/16 v16, 0x1
.line 4008
.end local v6 # "i":I
.end local v7 # "exifTag":Landroidx/exifinterface/media/ExifInterface$ExifTag;
.restart local v20 # "i":I
:cond_373
:goto_373
add-int/lit8 v6, v20, 0x1
const/4 v0, 0x2
const/4 v5, 0x1
.end local v20 # "i":I
.restart local v6 # "i":I
goto/16 :goto_c1
.line 4123
.end local v6 # "i":I
:cond_379
return-void
.line 3978
.end local v2 # "value":Ljava/lang/String;
.end local v3 # "tag":Ljava/lang/String;
.restart local p1 # "tag":Ljava/lang/String;
.restart local p2 # "value":Ljava/lang/String;
:cond_37a
new-instance v3, Ljava/lang/NullPointerException;
const-string/jumbo v4, "tag shouldn\'t be null"
invoke-direct {v3, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_384
:goto_383
throw v3
:goto_384
goto :goto_383
nop
:pswitch_data_386
.packed-switch 0x1
:pswitch_359
:pswitch_345
:pswitch_318
:pswitch_2eb
:pswitch_29e
:pswitch_1df
:pswitch_345
:pswitch_1df
:pswitch_274
:pswitch_22a
:pswitch_1df
:pswitch_201
.end packed-switch
.end method
.method public setDateTime(J)V
.registers 7
.param p1, "timeStamp" # J
.line 4848
const-wide/16 v0, 0x3e8
rem-long v0, p1, v0
.line 4849
.local v0, "sub":J
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
new-instance v3, Ljava/util/Date;
invoke-direct {v3, p1, p2}, Ljava/util/Date;-><init>(J)V
invoke-virtual {v2, v3}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v2
const-string v3, "DateTime"
invoke-virtual {p0, v3, v2}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4850
invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v2
const-string v3, "SubSecTime"
invoke-virtual {p0, v3, v2}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4851
return-void
.end method
.method public setGpsInfo(Landroid/location/Location;)V
.registers 7
.param p1, "location" # Landroid/location/Location;
.line 4776
if-nez p1, :cond_3
.line 4777
return-void
.line 4779
:cond_3
invoke-virtual {p1}, Landroid/location/Location;->getProvider()Ljava/lang/String;
move-result-object v0
const-string v1, "GPSProcessingMethod"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4780
invoke-virtual {p1}, Landroid/location/Location;->getLatitude()D
move-result-wide v0
invoke-virtual {p1}, Landroid/location/Location;->getLongitude()D
move-result-wide v2
invoke-virtual {p0, v0, v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->setLatLong(DD)V
.line 4781
invoke-virtual {p1}, Landroid/location/Location;->getAltitude()D
move-result-wide v0
invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->setAltitude(D)V
.line 4783
const-string v0, "GPSSpeedRef"
const-string v1, "K"
invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4784
new-instance v0, Landroidx/exifinterface/media/ExifInterface$Rational;
invoke-virtual {p1}, Landroid/location/Location;->getSpeed()F
move-result v1
sget-object v2, Ljava/util/concurrent/TimeUnit;->HOURS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v3, 0x1
.line 4785
invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/TimeUnit;->toSeconds(J)J
move-result-wide v2
long-to-float v2, v2
mul-float v1, v1, v2
const/high16 v2, 0x447a0000 # 1000.0f
div-float/2addr v1, v2
float-to-double v1, v1
invoke-direct {v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(D)V
invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$Rational;->toString()Ljava/lang/String;
move-result-object v0
.line 4784
const-string v1, "GPSSpeed"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4786
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
new-instance v1, Ljava/util/Date;
invoke-virtual {p1}, Landroid/location/Location;->getTime()J
move-result-wide v2
invoke-direct {v1, v2, v3}, Ljava/util/Date;-><init>(J)V
invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v0
const/4 v1, -0x1
const-string v2, "\\s+"
invoke-virtual {v0, v2, v1}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v0
.line 4787
.local v0, "dateTime":[Ljava/lang/String;
const/4 v1, 0x0
aget-object v1, v0, v1
const-string v2, "GPSDateStamp"
invoke-virtual {p0, v2, v1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4788
const/4 v1, 0x1
aget-object v1, v0, v1
const-string v2, "GPSTimeStamp"
invoke-virtual {p0, v2, v1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4789
return-void
.end method
.method public setLatLong(DD)V
.registers 9
.param p1, "latitude" # D
.param p3, "longitude" # D
.line 4802
const-string v0, " is not valid."
const-wide v1, -0x3fa9800000000000L # -90.0
cmpg-double v3, p1, v1
if-ltz v3, :cond_85
const-wide v1, 0x4056800000000000L # 90.0
cmpl-double v3, p1, v1
if-gtz v3, :cond_85
invoke-static {p1, p2}, Ljava/lang/Double;->isNaN(D)Z
move-result v1
if-nez v1, :cond_85
.line 4805
const-wide v1, -0x3f99800000000000L # -180.0
cmpg-double v3, p3, v1
if-ltz v3, :cond_6b
const-wide v1, 0x4066800000000000L # 180.0
cmpl-double v3, p3, v1
if-gtz v3, :cond_6b
invoke-static {p3, p4}, Ljava/lang/Double;->isNaN(D)Z
move-result v1
if-nez v1, :cond_6b
.line 4808
const-wide/16 v0, 0x0
cmpl-double v2, p1, v0
if-ltz v2, :cond_3b
const-string v2, "N"
goto :goto_3d
:cond_3b
const-string v2, "S"
:goto_3d
const-string v3, "GPSLatitudeRef"
invoke-virtual {p0, v3, v2}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4809
invoke-static {p1, p2}, Ljava/lang/Math;->abs(D)D
move-result-wide v2
invoke-direct {p0, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->convertDecimalDegree(D)Ljava/lang/String;
move-result-object v2
const-string v3, "GPSLatitude"
invoke-virtual {p0, v3, v2}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4810
cmpl-double v2, p3, v0
if-ltz v2, :cond_56
const-string v0, "E"
goto :goto_58
:cond_56
const-string v0, "W"
:goto_58
const-string v1, "GPSLongitudeRef"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4811
invoke-static {p3, p4}, Ljava/lang/Math;->abs(D)D
move-result-wide v0
invoke-direct {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->convertDecimalDegree(D)Ljava/lang/String;
move-result-object v0
const-string v1, "GPSLongitude"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.line 4812
return-void
.line 4806
:cond_6b
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Longitude value "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p3, p4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 4803
:cond_85
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Latitude value "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1, p2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.end method