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;,
Landroidx/exifinterface/media/ExifInterface$ExifStreamType;
}
.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 public 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 public static final BYTE_ALIGN_II:S = 0x4949s
.field public 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 public static final DEBUG:Z
.field public static final EXIF_ASCII_PREFIX:[B
.field public static final EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public 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 public 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 public static final HEIF_BRAND_HEIC:[B
.field public static final HEIF_BRAND_MIF1:[B
.field public static final HEIF_TYPE_FTYP:[B
.field public static final IDENTIFIER_EXIF_APP1:[B
.field public static final IDENTIFIER_XMP_APP1:[B
.field public static final IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final IFD_FORMAT_BYTE:I = 0x1
.field public static final IFD_FORMAT_BYTES_PER_FORMAT:[I
.field public static final IFD_FORMAT_DOUBLE:I = 0xc
.field public static final IFD_FORMAT_IFD:I = 0xd
.field public static final IFD_FORMAT_NAMES:[Ljava/lang/String;
.field public static final IFD_FORMAT_SBYTE:I = 0x6
.field public static final IFD_FORMAT_SINGLE:I = 0xb
.field public static final IFD_FORMAT_SLONG:I = 0x9
.field public static final IFD_FORMAT_SRATIONAL:I = 0xa
.field public static final IFD_FORMAT_SSHORT:I = 0x8
.field public static final IFD_FORMAT_STRING:I = 0x2
.field public static final IFD_FORMAT_ULONG:I = 0x4
.field public static final IFD_FORMAT_UNDEFINED:I = 0x7
.field public static final IFD_FORMAT_URATIONAL:I = 0x5
.field public static final IFD_FORMAT_USHORT:I = 0x3
.field public static final IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final IFD_INTEROPERABILITY_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final IFD_OFFSET:I = 0x8
.field public static final IFD_THUMBNAIL_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final IFD_TYPE_EXIF:I = 0x1
.field public static final IFD_TYPE_GPS:I = 0x2
.field public static final IFD_TYPE_INTEROPERABILITY:I = 0x3
.field public static final IFD_TYPE_ORF_CAMERA_SETTINGS:I = 0x7
.field public static final IFD_TYPE_ORF_IMAGE_PROCESSING:I = 0x8
.field public static final IFD_TYPE_ORF_MAKER_NOTE:I = 0x6
.field public static final IFD_TYPE_PEF:I = 0x9
.field public static final IFD_TYPE_PREVIEW:I = 0x5
.field public static final IFD_TYPE_PRIMARY:I = 0x0
.field public static final IFD_TYPE_THUMBNAIL:I = 0x4
.field public static final IMAGE_TYPE_ARW:I = 0x1
.field public static final IMAGE_TYPE_CR2:I = 0x2
.field public static final IMAGE_TYPE_DNG:I = 0x3
.field public static final IMAGE_TYPE_HEIF:I = 0xc
.field public static final IMAGE_TYPE_JPEG:I = 0x4
.field public static final IMAGE_TYPE_NEF:I = 0x5
.field public static final IMAGE_TYPE_NRW:I = 0x6
.field public static final IMAGE_TYPE_ORF:I = 0x7
.field public static final IMAGE_TYPE_PEF:I = 0x8
.field public static final IMAGE_TYPE_PNG:I = 0xd
.field public static final IMAGE_TYPE_RAF:I = 0x9
.field public static final IMAGE_TYPE_RW2:I = 0xa
.field public static final IMAGE_TYPE_SRW:I = 0xb
.field public static final IMAGE_TYPE_UNKNOWN:I = 0x0
.field public static final IMAGE_TYPE_WEBP:I = 0xe
.field public static final JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public 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 public static final MARKER:B = -0x1t
.field public static final MARKER_APP1:B = -0x1ft
.field public static final MARKER_COM:B = -0x2t
.field public static final MARKER_EOI:B = -0x27t
.field public static final MARKER_SOF0:B = -0x40t
.field public static final MARKER_SOF1:B = -0x3ft
.field public static final MARKER_SOF10:B = -0x36t
.field public static final MARKER_SOF11:B = -0x35t
.field public static final MARKER_SOF13:B = -0x33t
.field public static final MARKER_SOF14:B = -0x32t
.field public static final MARKER_SOF15:B = -0x31t
.field public static final MARKER_SOF2:B = -0x3et
.field public static final MARKER_SOF3:B = -0x3dt
.field public static final MARKER_SOF5:B = -0x3bt
.field public static final MARKER_SOF6:B = -0x3at
.field public static final MARKER_SOF7:B = -0x39t
.field public static final MARKER_SOF9:B = -0x37t
.field public static final MARKER_SOI:B = -0x28t
.field public static final MARKER_SOS:B = -0x26t
.field public 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 public static final ORF_CAMERA_SETTINGS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final ORF_IMAGE_PROCESSING_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final ORF_MAKER_NOTE_HEADER_1:[B
.field public static final ORF_MAKER_NOTE_HEADER_1_SIZE:I = 0x8
.field public static final ORF_MAKER_NOTE_HEADER_2:[B
.field public static final ORF_MAKER_NOTE_HEADER_2_SIZE:I = 0xc
.field public static final ORF_MAKER_NOTE_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
.field public static final ORF_SIGNATURE_1:S = 0x4f52s
.field public 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 public static final PEF_MAKER_NOTE_SKIP_SIZE:I = 0x6
.field public static final PEF_SIGNATURE:Ljava/lang/String; = "PENTAX"
.field public 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 public static final PNG_CHUNK_CRC_BYTE_LENGTH:I = 0x4
.field public static final PNG_CHUNK_TYPE_BYTE_LENGTH:I = 0x4
.field public static final PNG_CHUNK_TYPE_EXIF:[B
.field public static final PNG_CHUNK_TYPE_IEND:[B
.field public static final PNG_CHUNK_TYPE_IHDR:[B
.field public static final PNG_SIGNATURE:[B
.field public static final RAF_OFFSET_TO_JPEG_IMAGE_OFFSET:I = 0x54
.field public 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 public static final 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 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 public static final SIGNATURE_CHECK_SIZE:I = 0x1388
.field public static final START_CODE:B = 0x2at
.field public static final STREAM_TYPE_EXIF_DATA_ONLY:I = 0x1
.field public static final STREAM_TYPE_FULL_IMAGE_DATA:I = 0x0
.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 public 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 public 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 public 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 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 public 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_OFFSET_TIME:Ljava/lang/String; = "OffsetTime"
.field public static final TAG_OFFSET_TIME_DIGITIZED:Ljava/lang/String; = "OffsetTimeDigitized"
.field public static final TAG_OFFSET_TIME_ORIGINAL:Ljava/lang/String; = "OffsetTimeOriginal"
.field public static final TAG_ORF_ASPECT_FRAME:Ljava/lang/String; = "AspectFrame"
.field public static final TAG_ORF_CAMERA_SETTINGS_IFD_POINTER:Ljava/lang/String; = "CameraSettingsIFDPointer"
.field public 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 public 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 public static final TAG_SUB_IFD_POINTER:Ljava/lang/String; = "SubIFDPointer"
.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 public static final TAG_THUMBNAIL_ORIENTATION:Ljava/lang/String; = "ThumbnailOrientation"
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.end field
.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 WEBP_CHUNK_SIZE_BYTE_LENGTH:I = 0x4
.field public static final WEBP_CHUNK_TYPE_ANIM:[B
.field public static final WEBP_CHUNK_TYPE_ANMF:[B
.field public static final WEBP_CHUNK_TYPE_BYTE_LENGTH:I = 0x4
.field public static final WEBP_CHUNK_TYPE_EXIF:[B
.field public static final WEBP_CHUNK_TYPE_VP8:[B
.field public static final WEBP_CHUNK_TYPE_VP8L:[B
.field public static final WEBP_CHUNK_TYPE_VP8X:[B
.field public static final WEBP_CHUNK_TYPE_VP8X_DEFAULT_LENGTH:I = 0xa
.field public static final WEBP_FILE_SIZE_BYTE_LENGTH:I = 0x4
.field public static final WEBP_SIGNATURE_1:[B
.field public static final WEBP_SIGNATURE_2:[B
.field public static final WEBP_VP8L_SIGNATURE:B = 0x2ft
.field public static final WEBP_VP8_SIGNATURE:[B
.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 public 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 public 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 public 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 public static sFormatter:Ljava/text/SimpleDateFormat;
.field public static final sGpsTimestampPattern:Ljava/util/regex/Pattern;
.field public static final sNonZeroTimePattern:Ljava/util/regex/Pattern;
.field public 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 public mAreThumbnailStripsConsecutive:Z
.field public mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
.field public 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 public mAttributesOffsets:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field public mExifByteOrder:Ljava/nio/ByteOrder;
.field public mFilename:Ljava/lang/String;
.field public mHasThumbnail:Z
.field public mHasThumbnailStrips:Z
.field public mIsExifDataOnly:Z
.field public mMimeType:I
.field public mModified:Z
.field public mOffsetToExifData:I
.field public mOrfMakerNoteOffset:I
.field public mOrfThumbnailLength:I
.field public mOrfThumbnailOffset:I
.field public mSeekableFileDescriptor:Ljava/io/FileDescriptor;
.field public mThumbnailBytes:[B
.field public mThumbnailCompression:I
.field public mThumbnailLength:I
.field public mThumbnailOffset:I
.field public mXmpIsFromSeparateMarker:Z
# direct methods
.method public static constructor <clinit>()V
.registers 30
const/4 v0, 0x3
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
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
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
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
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
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
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;
new-array v3, v2, [Ljava/lang/Integer;
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
const/4 v14, 0x5
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v15
aput-object v15, v3, v0
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;
new-array v3, v0, [I
fill-array-data v3, :array_cb8
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
new-array v3, v4, [I
aput v2, v3, v6
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_1:[I
new-array v3, v4, [I
aput v10, v3, v6
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I
new-array v3, v0, [B
fill-array-data v3, :array_cc2
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->JPEG_SIGNATURE:[B
new-array v3, v2, [B
fill-array-data v3, :array_cc8
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->HEIF_TYPE_FTYP:[B
new-array v3, v2, [B
fill-array-data v3, :array_cce
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_MIF1:[B
new-array v3, v2, [B
fill-array-data v3, :array_cd4
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_HEIC:[B
new-array v3, v7, [B
fill-array-data v3, :array_cda
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
const/16 v3, 0xa
new-array v12, v3, [B
fill-array-data v12, :array_ce2
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
new-array v12, v10, [B
fill-array-data v12, :array_cec
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->PNG_SIGNATURE:[B
new-array v12, v2, [B
fill-array-data v12, :array_cf4
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_EXIF:[B
new-array v12, v2, [B
fill-array-data v12, :array_cfa
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_IHDR:[B
new-array v12, v2, [B
fill-array-data v12, :array_d00
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_IEND:[B
new-array v12, v2, [B
fill-array-data v12, :array_d06
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_1:[B
new-array v12, v2, [B
fill-array-data v12, :array_d0c
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
new-array v12, v2, [B
fill-array-data v12, :array_d12
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_EXIF:[B
new-array v12, v0, [B
fill-array-data v12, :array_d18
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->WEBP_VP8_SIGNATURE:[B
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v12
const-string v3, "VP8X"
invoke-virtual {v3, v12}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8X:[B
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v3
const-string v12, "VP8L"
invoke-virtual {v12, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8L:[B
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v3
const-string v12, "VP8 "
invoke-virtual {v12, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8:[B
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v3
const-string v12, "ANIM"
invoke-virtual {v12, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_ANIM:[B
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v3
const-string v12, "ANMF"
invoke-virtual {v12, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_ANMF:[B
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 v3
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
const/16 v3, 0xe
new-array v12, v3, [I
fill-array-data v12, :array_d1e
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
new-array v12, v10, [B
fill-array-data v12, :array_d3e
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->EXIF_ASCII_PREFIX:[B
const/16 v12, 0x2a
new-array v12, v12, [Landroidx/exifinterface/media/ExifInterface$ExifTag;
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "NewSubfileType"
const/16 v7, 0xfe
invoke-direct {v3, v10, v7, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "SubfileType"
const/16 v10, 0xff
invoke-direct {v3, v7, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v3, v12, v4
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageWidth"
const/16 v10, 0x100
invoke-direct {v3, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
aput-object v3, v12, v8
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageLength"
const/16 v10, 0x101
invoke-direct {v3, v7, v10, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
aput-object v3, v12, v0
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "BitsPerSample"
const/16 v10, 0x102
invoke-direct {v3, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v3, v12, v2
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Compression"
const/16 v10, 0x103
invoke-direct {v3, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
aput-object v3, v12, v14
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "PhotometricInterpretation"
const/16 v10, 0x106
invoke-direct {v3, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x6
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "ImageDescription"
const/16 v10, 0x10e
invoke-direct {v3, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/4 v7, 0x7
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Make"
const/16 v10, 0x10f
invoke-direct {v3, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x8
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Model"
const/16 v10, 0x110
invoke-direct {v3, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x9
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "StripOffsets"
const/16 v7, 0x111
invoke-direct {v3, v10, v7, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0xa
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Orientation"
const/16 v10, 0x112
invoke-direct {v3, v7, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xb
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "SamplesPerPixel"
const/16 v7, 0x115
invoke-direct {v3, v10, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xc
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "RowsPerStrip"
const/16 v7, 0x116
invoke-direct {v3, v10, v7, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0xd
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "StripByteCounts"
const/16 v7, 0x117
invoke-direct {v3, v10, v7, v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;III)V
const/16 v7, 0xe
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "XResolution"
const/16 v10, 0x11a
invoke-direct {v3, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xf
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "YResolution"
const/16 v7, 0x11b
invoke-direct {v3, v10, v7, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x10
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "PlanarConfiguration"
const/16 v7, 0x11c
invoke-direct {v3, v10, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x11
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "ResolutionUnit"
const/16 v7, 0x128
invoke-direct {v3, v10, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x12
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "TransferFunction"
const/16 v7, 0x12d
invoke-direct {v3, v10, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x13
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "Software"
const/16 v7, 0x131
invoke-direct {v3, v10, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x14
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "DateTime"
const/16 v7, 0x132
invoke-direct {v3, v10, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x15
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Artist"
const/16 v10, 0x13b
invoke-direct {v3, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x16
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "WhitePoint"
const/16 v10, 0x13e
invoke-direct {v3, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x17
aput-object v3, v12, v7
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v10, "PrimaryChromaticities"
const/16 v6, 0x13f
invoke-direct {v3, v10, v6, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x18
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "SubIFDPointer"
const/16 v10, 0x14a
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x19
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "JPEGInterchangeFormat"
const/16 v10, 0x201
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x1a
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "JPEGInterchangeFormatLength"
const/16 v10, 0x202
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x1b
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "YCbCrCoefficients"
const/16 v10, 0x211
invoke-direct {v3, v6, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x1c
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "YCbCrSubSampling"
const/16 v10, 0x212
invoke-direct {v3, v6, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x1d
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "YCbCrPositioning"
const/16 v10, 0x213
invoke-direct {v3, v6, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x1e
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "ReferenceBlackWhite"
const/16 v10, 0x214
invoke-direct {v3, v6, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x1f
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "Copyright"
const v10, 0x8298
invoke-direct {v3, v6, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x20
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "ExifIFDPointer"
const v10, 0x8769
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x21
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "GPSInfoIFDPointer"
const v10, 0x8825
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x22
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "SensorTopBorder"
invoke-direct {v3, v6, v2, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x23
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "SensorLeftBorder"
invoke-direct {v3, v6, v14, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x24
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "SensorBottomBorder"
const/4 v10, 0x6
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x25
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "SensorRightBorder"
const/4 v10, 0x7
invoke-direct {v3, v6, v10, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x26
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "ISO"
invoke-direct {v3, v6, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x27
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "JpgFromRaw"
const/16 v7, 0x2e
invoke-direct {v3, v6, v7, v10}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x28
aput-object v3, v12, v6
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v6, "Xmp"
const/16 v7, 0x2bc
invoke-direct {v3, v6, v7, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v6, 0x29
aput-object v3, v12, v6
sput-object v12, Landroidx/exifinterface/media/ExifInterface;->IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/16 v3, 0x4a
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, "SensitivityType"
const v10, 0x8830
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, "StandardOutputSensitivity"
const v10, 0x8831
invoke-direct {v6, v7, v10, v2}, 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, "RecommendedExposureIndex"
const v10, 0x8832
invoke-direct {v6, v7, v10, v2}, 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, "ISOSpeed"
const v10, 0x8833
invoke-direct {v6, v7, v10, v2}, 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, "ISOSpeedLatitudeyyy"
const v10, 0x8834
invoke-direct {v6, v7, v10, v2}, 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 v7, "ISOSpeedLatitudezzz"
const v10, 0x8835
invoke-direct {v6, v7, v10, v2}, 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, "ExifVersion"
const v10, 0x9000
invoke-direct {v6, v7, v10, v8}, 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, "DateTimeOriginal"
const v10, 0x9003
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0xd
aput-object v6, v3, v7
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, 0xe
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "OffsetTime"
const v10, 0x9010
invoke-direct {v6, v7, v10, v8}, 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, "OffsetTimeOriginal"
const v10, 0x9011
invoke-direct {v6, v7, v10, v8}, 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, "OffsetTimeDigitized"
const v10, 0x9012
invoke-direct {v6, v7, v10, v8}, 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, "ComponentsConfiguration"
const v10, 0x9101
const/4 v12, 0x7
invoke-direct {v6, v7, v10, v12}, 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, "CompressedBitsPerPixel"
const v10, 0x9102
invoke-direct {v6, v7, v10, v14}, 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, "ShutterSpeedValue"
const v10, 0x9201
const/16 v12, 0xa
invoke-direct {v6, v7, v10, v12}, 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, "ApertureValue"
const v10, 0x9202
invoke-direct {v6, v7, v10, v14}, 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, "BrightnessValue"
const v10, 0x9203
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, "ExposureBiasValue"
const v10, 0x9204
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, "MaxApertureValue"
const v10, 0x9205
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, "SubjectDistance"
const v10, 0x9206
invoke-direct {v6, v7, v10, v14}, 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, "MeteringMode"
const v10, 0x9207
invoke-direct {v6, v7, v10, v0}, 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, "LightSource"
const v10, 0x9208
invoke-direct {v6, v7, v10, v0}, 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, "Flash"
const v10, 0x9209
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, "FocalLength"
const v10, 0x920a
invoke-direct {v6, v7, v10, v14}, 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, "SubjectArea"
const v10, 0x9214
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, "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, 0x1f
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, 0x20
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, 0x21
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, 0x22
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, 0x23
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, 0x24
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, 0x25
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, 0x26
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, 0x27
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, 0x28
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, 0x29
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, 0x2a
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, 0x2b
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, 0x2c
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, 0x2d
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, 0x2e
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, 0x2f
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, 0x30
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, 0x31
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, 0x32
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, 0x33
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, 0x34
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, 0x35
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, 0x36
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, 0x37
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, 0x38
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, 0x39
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, 0x3a
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, 0x3b
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, 0x3c
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, 0x3d
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, 0x3e
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, 0x3f
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, 0x40
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, 0x41
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "CameraOwnerName"
const v10, 0xa430
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x42
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "BodySerialNumber"
const v10, 0xa431
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x43
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "LensSpecification"
const v10, 0xa432
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x44
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "LensMake"
const v10, 0xa433
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x45
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "LensModel"
const v10, 0xa434
invoke-direct {v6, v7, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x46
aput-object v6, v3, v7
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "Gamma"
const v10, 0xa500
invoke-direct {v6, v7, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;II)V
const/16 v7, 0x47
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, 0x48
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, 0x49
aput-object v6, v3, v7
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
const/16 v3, 0x20
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
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;
const-string v7, "GPSHPositioningError"
const/16 v10, 0x1f
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
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
array-length v3, v3
new-array v3, v3, [Ljava/util/HashMap;
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
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;
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;
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;
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
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
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
new-instance v3, Ljava/text/SimpleDateFormat;
sget-object v6, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string/jumbo v7, "yyyy:MM:dd HH:mm:ss"
invoke-direct {v3, v7, v6}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
sput-object v3, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
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
const/4 v7, 0x0
:goto_c0b
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v3, v3
if-ge v7, v3, :cond_c4a
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
new-instance v6, Ljava/util/HashMap;
invoke-direct {v6}, Ljava/util/HashMap;-><init>()V
aput-object v6, v3, v7
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
new-instance v6, Ljava/util/HashMap;
invoke-direct {v6}, Ljava/util/HashMap;-><init>()V
aput-object v6, v3, v7
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v3, v3, v7
array-length v6, v3
const/4 v10, 0x0
:goto_c28
if-ge v10, v6, :cond_c46
aget-object v12, v3, v10
sget-object v14, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap;
aget-object v14, v14, v7
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;
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
aget-object v2, v2, v7
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;
add-int/lit8 v10, v10, 0x1
const/4 v2, 0x4
goto :goto_c28
:cond_c46
add-int/lit8 v7, v7, 0x1
const/4 v2, 0x4
goto :goto_c0b
:cond_c4a
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;
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;
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;
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;
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;
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;
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;
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;
return-void
:array_cb8
.array-data 4
0x8
0x8
0x8
.end array-data
:array_cc2
.array-data 1
-0x1t
-0x28t
-0x1t
.end array-data
:array_cc8
.array-data 1
0x66t
0x74t
0x79t
0x70t
.end array-data
:array_cce
.array-data 1
0x6dt
0x69t
0x66t
0x31t
.end array-data
:array_cd4
.array-data 1
0x68t
0x65t
0x69t
0x63t
.end array-data
:array_cda
.array-data 1
0x4ft
0x4ct
0x59t
0x4dt
0x50t
0x0t
.end array-data
nop
:array_ce2
.array-data 1
0x4ft
0x4ct
0x59t
0x4dt
0x50t
0x55t
0x53t
0x0t
0x49t
0x49t
.end array-data
nop
:array_cec
.array-data 1
-0x77t
0x50t
0x4et
0x47t
0xdt
0xat
0x1at
0xat
.end array-data
:array_cf4
.array-data 1
0x65t
0x58t
0x49t
0x66t
.end array-data
:array_cfa
.array-data 1
0x49t
0x48t
0x44t
0x52t
.end array-data
:array_d00
.array-data 1
0x49t
0x45t
0x4et
0x44t
.end array-data
:array_d06
.array-data 1
0x52t
0x49t
0x46t
0x46t
.end array-data
:array_d0c
.array-data 1
0x57t
0x45t
0x42t
0x50t
.end array-data
:array_d12
.array-data 1
0x45t
0x58t
0x49t
0x46t
.end array-data
:array_d18
.array-data 1
-0x63t
0x1t
0x2at
.end array-data
:array_d1e
.array-data 4
0x0
0x1
0x1
0x2
0x4
0x8
0x1
0x1
0x2
0x4
0x8
0x4
0x8
0x1
.end array-data
:array_d3e
.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 # Ljava/io/File;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
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;
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;
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
if-eqz p1, :cond_22
invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->initForFilename(Ljava/lang/String;)V
return-void
:cond_22
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "file cannot be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public constructor <init>(Ljava/io/FileDescriptor;)V
.registers 7
.param p1 # Ljava/io/FileDescriptor;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
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;
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;
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
if-eqz p1, :cond_5f
const/4 v0, 0x0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
const/4 v1, 0x0
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x15
if-lt v2, v3, :cond_3d
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
move-result v2
if-eqz v2, :cond_3d
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
:try_start_2e
invoke-static {p1}, Landroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
move-result-object p1
:try_end_32
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_32} :catch_34
const/4 v1, 0x1
goto :goto_3f
:catch_34
move-exception p1
new-instance v0, Ljava/io/IOException;
const-string v1, "Failed to duplicate file descriptor"
invoke-direct {v0, v1, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:cond_3d
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
:goto_3f
:try_start_3f
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
:try_end_44
.catchall {:try_start_3f .. :try_end_44} :catchall_52
:try_start_44
invoke-direct {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
:try_end_47
.catchall {:try_start_44 .. :try_end_47} :catchall_50
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
if-eqz v1, :cond_4f
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
:cond_4f
return-void
:catchall_50
move-exception v0
goto :goto_56
:catchall_52
move-exception v2
move-object v4, v2
move-object v2, v0
move-object v0, v4
:goto_56
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
if-eqz v1, :cond_5e
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
:cond_5e
throw v0
:cond_5f
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "fileDescriptor cannot be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 3
.param p1 # Ljava/io/InputStream;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;-><init>(Ljava/io/InputStream;I)V
return-void
.end method
.method public constructor <init>(Ljava/io/InputStream;I)V
.registers 6
.param p1 # Ljava/io/InputStream;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
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;
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;
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
if-eqz p1, :cond_70
const/4 v0, 0x0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
const/4 v1, 0x1
if-ne p2, v1, :cond_22
const/4 p2, 0x1
goto :goto_23
:cond_22
const/4 p2, 0x0
:goto_23
if-eqz p2, :cond_42
new-instance p2, Ljava/io/BufferedInputStream;
const/16 v2, 0x1388
invoke-direct {p2, p1, v2}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
invoke-static {p2}, Landroidx/exifinterface/media/ExifInterface;->isExifDataOnly(Ljava/io/BufferedInputStream;)Z
move-result p1
if-nez p1, :cond_3a
const-string p1, "ExifInterface"
const-string p2, "Given data does not follow the structure of an Exif-only data."
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_3a
iput-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mIsExifDataOnly:Z
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
move-object p1, p2
goto :goto_6c
:cond_42
instance-of p2, p1, Landroid/content/res/AssetManager$AssetInputStream;
if-eqz p2, :cond_4e
move-object p2, p1
check-cast p2, Landroid/content/res/AssetManager$AssetInputStream;
iput-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
goto :goto_6c
:cond_4e
instance-of p2, p1, Ljava/io/FileInputStream;
if-eqz p2, :cond_68
move-object p2, p1
check-cast p2, Ljava/io/FileInputStream;
invoke-virtual {p2}, 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_68
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
invoke-virtual {p2}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object p2
iput-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
goto :goto_6c
:cond_68
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
:goto_6c
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
return-void
:cond_70
new-instance p1, Ljava/lang/NullPointerException;
const-string p2, "inputStream cannot be null"
invoke-direct {p1, p2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
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;
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;
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
if-eqz p1, :cond_1e
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->initForFilename(Ljava/lang/String;)V
return-void
:cond_1e
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "filename cannot be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private addDefaultValuesForCompatibility()V
.registers 7
const-string v0, "DateTimeOriginal"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
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
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v1
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
invoke-virtual {v3, v2, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_1c
const-string v0, "ImageWidth"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-wide/16 v3, 0x0
if-nez v2, :cond_33
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v1
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v3, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v5
invoke-virtual {v2, v0, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_33
const-string v0, "ImageLength"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-nez v2, :cond_48
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v1
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v3, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v5
invoke-virtual {v2, v0, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_48
const-string v0, "Orientation"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-nez v2, :cond_5d
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v2, v1
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v3, v4, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v2
invoke-virtual {v1, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_5d
const-string v0, "LightSource"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_73
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v2, 0x1
aget-object v1, v1, v2
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v3, v4, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v2
invoke-virtual {v1, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_73
return-void
.end method
.method public static byteArrayToHexString([B)Ljava/lang/String;
.registers 6
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p0
mul-int/lit8 v1, v1, 0x2
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
const/4 v2, 0x0
:goto_a
array-length v3, p0
if-ge v2, v3, :cond_24
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
aget-byte v4, p0, v2
invoke-static {v4}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object v4
aput-object v4, v3, v1
const-string v4, "%02x"
invoke-static {v4, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_a
:cond_24
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static closeFileDescriptor(Ljava/io/FileDescriptor;)V
.registers 4
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const-string v1, "ExifInterface"
const/16 v2, 0x15
if-lt v0, v2, :cond_12
: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
goto :goto_17
:catch_c
const-string p0, "Error closing fd."
invoke-static {v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_17
:cond_12
const-string p0, "closeFileDescriptor is called in API < 21, which must be wrong."
invoke-static {v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:goto_17
return-void
.end method
.method public static closeQuietly(Ljava/io/Closeable;)V
.registers 1
if-eqz p0, :cond_8
: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_6
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_8
goto :goto_8
:catch_6
move-exception p0
throw p0
:catch_8
:cond_8
:goto_8
return-void
.end method
.method private convertDecimalDegree(D)Ljava/lang/String;
.registers 11
double-to-long v0, p1
long-to-double v2, v0
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr p1, v2
const-wide/high16 v2, 0x404e000000000000L # 60.0
mul-double v4, p1, v2
double-to-long v4, v4
long-to-double v6, v4
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v6, v2
sub-double/2addr p1, v6
const-wide v2, 0x40ac200000000000L # 3600.0
mul-double p1, p1, v2
const-wide v2, 0x416312d000000000L # 1.0E7
mul-double p1, p1, v2
invoke-static {p1, p2}, Ljava/lang/Math;->round(D)J
move-result-wide p1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, "/1,"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string p1, "/10000000"
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public static convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D
.registers 13
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 p0
const/4 v1, 0x0
aget-object v3, p0, v1
invoke-virtual {v3, v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
aget-object v4, v3, v1
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 v4
const/4 v6, 0x1
aget-object v3, v3, v6
invoke-virtual {v3}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v7
div-double/2addr v4, v7
aget-object v3, p0, v6
invoke-virtual {v3, v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
aget-object v7, v3, v1
invoke-virtual {v7}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v7
aget-object v3, v3, v6
invoke-virtual {v3}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v9
div-double/2addr v7, v9
const/4 v3, 0x2
aget-object p0, p0, v3
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object p0
aget-object v0, p0, v1
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v0
aget-object p0, p0, v6
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v2
div-double/2addr v0, v2
const-wide/high16 v2, 0x404e000000000000L # 60.0
div-double/2addr v7, v2
add-double/2addr v4, v7
const-wide v2, 0x40ac200000000000L # 3600.0
div-double/2addr v0, v2
add-double/2addr v4, v0
const-string p0, "S"
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_91
const-string p0, "W"
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_79
goto :goto_91
:cond_79
const-string p0, "N"
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_90
const-string p0, "E"
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_8a
goto :goto_90
:cond_8a
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw p0
:try_end_90
.catch Ljava/lang/NumberFormatException; {:try_start_2 .. :try_end_90} :catch_93
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_2 .. :try_end_90} :catch_93
:cond_90
:goto_90
return-wide v4
:cond_91
:goto_91
neg-double p0, v4
return-wide p0
:catch_93
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw p0
.end method
.method public static convertToLongArray(Ljava/lang/Object;)[J
.registers 5
instance-of v0, p0, [I
if-eqz v0, :cond_16
check-cast p0, [I
array-length v0, p0
new-array v0, v0, [J
const/4 v1, 0x0
:goto_a
array-length v2, p0
if-ge v1, v2, :cond_15
aget v2, p0, v1
int-to-long v2, v2
aput-wide v2, v0, v1
add-int/lit8 v1, v1, 0x1
goto :goto_a
:cond_15
return-object v0
:cond_16
instance-of v0, p0, [J
if-eqz v0, :cond_1d
check-cast p0, [J
return-object p0
:cond_1d
const/4 p0, 0x0
return-object p0
.end method
.method public static copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/16 v0, 0x2000
new-array v0, v0, [B
const/4 v1, 0x0
const/4 v2, 0x0
:goto_6
invoke-virtual {p0, v0}, Ljava/io/InputStream;->read([B)I
move-result v3
const/4 v4, -0x1
if-eq v3, v4, :cond_12
add-int/2addr v2, v3
invoke-virtual {p1, v0, v1, v3}, Ljava/io/OutputStream;->write([BII)V
goto :goto_6
:cond_12
return v2
.end method
.method public static copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/16 v0, 0x2000
new-array v1, v0, [B
:goto_4
if-lez p2, :cond_1e
invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I
move-result v2
const/4 v3, 0x0
invoke-virtual {p0, v1, v3, v2}, Ljava/io/InputStream;->read([BII)I
move-result v4
if-ne v4, v2, :cond_16
sub-int/2addr p2, v4
invoke-virtual {p1, v1, v3, v4}, Ljava/io/OutputStream;->write([BII)V
goto :goto_4
:cond_16
new-instance p0, Ljava/io/IOException;
const-string p1, "Failed to copy the given amount of bytes from the inputstream to the output stream."
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p0
:cond_1e
return-void
.end method
.method private copyChunksUpToGivenChunkType(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;[B[B)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:cond_0
const/4 v0, 0x4
new-array v1, v0, [B
invoke-virtual {p1, v1}, Ljava/io/InputStream;->read([B)I
move-result v2
if-eq v2, v0, :cond_47
new-instance p1, Ljava/io/IOException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Encountered invalid length while copying WebP chunks up tochunk type "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v0, Ljava/lang/String;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
invoke-direct {v0, p3, v1}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-nez p4, :cond_24
const-string p3, ""
goto :goto_3c
:cond_24
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, " or "
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v0, Ljava/lang/String;
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
invoke-direct {v0, p4, v1}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3
:goto_3c
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_47
invoke-direct {p0, p1, p2, v1}, Landroidx/exifinterface/media/ExifInterface;->copyWebPChunk(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;[B)V
invoke-static {v1, p3}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
if-nez v0, :cond_58
if-eqz p4, :cond_0
invoke-static {v1, p4}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
if-eqz v0, :cond_0
:cond_58
return-void
.end method
.method private copyWebPChunk(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;[B)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
invoke-virtual {p2, p3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {p2, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
rem-int/lit8 p3, v0, 0x2
const/4 v1, 0x1
if-ne p3, v1, :cond_11
add-int/lit8 v0, v0, 0x1
:cond_11
invoke-static {p1, p2, v0}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
return-void
.end method
.method private getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
.registers 4
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-eqz p1, :cond_2f
const-string v0, "ISOSpeedRatings"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_17
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_15
const-string p1, "ExifInterface"
const-string v0, "getExifAttribute: Replacing TAG_ISO_SPEED_RATINGS with TAG_PHOTOGRAPHIC_SENSITIVITY."
invoke-static {p1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_15
const-string p1, "PhotographicSensitivity"
:cond_17
const/4 v0, 0x0
: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
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;
if-eqz v1, :cond_2a
return-object v1
:cond_2a
add-int/lit8 v0, v0, 0x1
goto :goto_18
:cond_2d
const/4 p1, 0x0
return-object p1
:cond_2f
new-instance p1, Ljava/lang/NullPointerException;
const-string/jumbo v0, "tag shouldn\'t be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_39
:goto_38
throw p1
:goto_39
goto :goto_38
.end method
.method private getHeifAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 14
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string/jumbo v0, "yes"
new-instance v1, Landroid/media/MediaMetadataRetriever;
invoke-direct {v1}, Landroid/media/MediaMetadataRetriever;-><init>()V
:try_start_8
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x17
if-lt v2, v3, :cond_17
new-instance v2, Landroidx/exifinterface/media/ExifInterface$1;
invoke-direct {v2, p0, p1}, Landroidx/exifinterface/media/ExifInterface$1;-><init>(Landroidx/exifinterface/media/ExifInterface;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
invoke-virtual {v1, v2}, Landroid/media/MediaMetadataRetriever;->setDataSource(Landroid/media/MediaDataSource;)V
goto :goto_2a
:cond_17
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v2, :cond_21
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-virtual {v1, v2}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/io/FileDescriptor;)V
goto :goto_2a
:cond_21
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v2, :cond_14e
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/lang/String;)V
:goto_2a
const/16 v2, 0x21
invoke-virtual {v1, v2}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v2
const/16 v3, 0x22
invoke-virtual {v1, v3}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v3
const/16 v4, 0x1a
invoke-virtual {v1, v4}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v4
const/16 v5, 0x11
invoke-virtual {v1, v5}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
const/4 v6, 0x0
if-eqz v4, :cond_5c
const/16 v0, 0x1d
invoke-virtual {v1, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v6
const/16 v0, 0x1e
invoke-virtual {v1, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
const/16 v4, 0x1f
invoke-virtual {v1, v4}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v4
goto :goto_77
:cond_5c
invoke-virtual {v0, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_75
const/16 v0, 0x12
invoke-virtual {v1, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v6
const/16 v0, 0x13
invoke-virtual {v1, v0}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v0
const/16 v4, 0x18
invoke-virtual {v1, v4}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v4
goto :goto_77
:cond_75
move-object v0, v6
move-object v4, v0
:goto_77
const/4 v5, 0x0
if-eqz v6, :cond_8d
iget-object v7, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v7, v7, v5
const-string v8, "ImageWidth"
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v9
iget-object v10, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v9, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
invoke-virtual {v7, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_8d
if-eqz v0, :cond_a2
iget-object v7, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v7, v7, v5
const-string v8, "ImageLength"
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v9
iget-object v10, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v9, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
invoke-virtual {v7, v8, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_a2
const/4 v7, 0x6
if-eqz v4, :cond_cc
const/4 v8, 0x1
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v9
const/16 v10, 0x5a
if-eq v9, v10, :cond_bc
const/16 v10, 0xb4
if-eq v9, v10, :cond_ba
const/16 v10, 0x10e
if-eq v9, v10, :cond_b7
goto :goto_bd
:cond_b7
const/16 v8, 0x8
goto :goto_bd
:cond_ba
const/4 v8, 0x3
goto :goto_bd
:cond_bc
const/4 v8, 0x6
:goto_bd
iget-object v9, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v9, v9, v5
const-string v10, "Orientation"
iget-object v11, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v8, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v8
invoke-virtual {v9, v10, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_cc
if-eqz v2, :cond_11f
if-eqz v3, :cond_11f
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
if-le v3, v7, :cond_117
int-to-long v8, v2
invoke-virtual {p1, v8, v9}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
new-array v8, v7, [B
invoke-virtual {p1, v8}, Ljava/io/InputStream;->read([B)I
move-result v9
if-ne v9, v7, :cond_10f
add-int/2addr v2, v7
add-int/lit8 v3, v3, -0x6
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-static {v8, v7}, Ljava/util/Arrays;->equals([B[B)Z
move-result v7
if-eqz v7, :cond_107
new-array v7, v3, [B
invoke-virtual {p1, v7}, Ljava/io/InputStream;->read([B)I
move-result p1
if-ne p1, v3, :cond_ff
iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
invoke-direct {p0, v7, v5}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
goto :goto_11f
:cond_ff
new-instance p1, Ljava/io/IOException;
const-string v0, "Can\'t read exif"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_107
new-instance p1, Ljava/io/IOException;
const-string v0, "Invalid identifier"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_10f
new-instance p1, Ljava/io/IOException;
const-string v0, "Can\'t read identifier"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_117
new-instance p1, Ljava/io/IOException;
const-string v0, "Invalid exif length"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_11f
:goto_11f
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_14a
const-string p1, "ExifInterface"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Heif meta: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string/jumbo v3, "x"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ", rotation "
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v4}, 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-static {p1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_14a
.catchall {:try_start_8 .. :try_end_14a} :catchall_152
:cond_14a
invoke-virtual {v1}, Landroid/media/MediaMetadataRetriever;->release()V
return-void
:cond_14e
invoke-virtual {v1}, Landroid/media/MediaMetadataRetriever;->release()V
return-void
:catchall_152
move-exception p1
invoke-virtual {v1}, Landroid/media/MediaMetadataRetriever;->release()V
throw p1
.end method
.method private getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
.registers 25
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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
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
:cond_20
const/4 v3, 0x0
invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mark(I)V
sget-object v5, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v5
const-string v6, "Invalid marker: "
const/4 v7, -0x1
if-ne v5, v7, :cond_1ee
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v8
const/16 v9, -0x28
if-ne v8, v9, :cond_1d3
const/4 v5, 0x2
const/4 v6, 0x2
:goto_3c
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v8
if-ne v8, v7, :cond_1b6
const/4 v8, 0x1
add-int/2addr v6, v8
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v9
sget-boolean v10, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v10, :cond_66
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Found JPEG segment indicator: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v11, v9, 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;
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
:cond_66
add-int/2addr v6, v8
const/16 v10, -0x27
if-eq v9, v10, :cond_1b0
const/16 v10, -0x26
if-ne v9, v10, :cond_71
goto/16 :goto_1b0
:cond_71
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v10
sub-int/2addr v10, v5
add-int/2addr v6, v5
sget-boolean v11, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v11, :cond_a4
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v12, "JPEG segment: "
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v12, v9, 0xff
invoke-static {v12}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v12
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v12, " (length: "
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v12, v10, 0x2
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v12, ")"
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v4, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_a4
const-string v11, "Invalid length"
if-ltz v10, :cond_1aa
const/16 v12, -0x1f
if-eq v9, v12, :cond_126
const/4 v12, -0x2
if-eq v9, v12, :cond_f8
packed-switch v9, :pswitch_data_20c
packed-switch v9, :pswitch_data_218
packed-switch v9, :pswitch_data_222
packed-switch v9, :pswitch_data_22c
:goto_bb
move-object/from16 v20, v4
goto/16 :goto_18d
:pswitch_bf
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v9
if-ne v9, v8, :cond_f0
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v2
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v9
int-to-long v12, v9
iget-object v9, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v12, v13, v9}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
const-string v12, "ImageLength"
invoke-virtual {v8, v12, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v2
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v9
int-to-long v12, v9
iget-object v9, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v12, v13, v9}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
const-string v12, "ImageWidth"
invoke-virtual {v8, v12, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v10, v10, -0x5
goto :goto_bb
:cond_f0
new-instance v1, Ljava/io/IOException;
const-string v2, "Invalid SOFx"
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
:cond_f8
new-array v9, v10, [B
invoke-virtual {v1, v9}, Ljava/io/InputStream;->read([B)I
move-result v12
if-ne v12, v10, :cond_11e
const-string v10, "UserComment"
invoke-virtual {v0, v10}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v12
if-nez v12, :cond_11a
iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v12, v8
new-instance v12, Ljava/lang/String;
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset;
invoke-direct {v12, v9, v13}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
invoke-static {v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
invoke-virtual {v8, v10, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_11a
move-object/from16 v20, v4
goto/16 :goto_18c
:cond_11e
new-instance v1, Ljava/io/IOException;
const-string v2, "Invalid exif"
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
:cond_126
new-array v9, v10, [B
invoke-virtual {v1, v9}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
add-int v12, v6, v10
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-static {v9, v13}, Landroidx/exifinterface/media/ExifInterface;->startsWith([B[B)Z
move-result v13
if-eqz v13, :cond_150
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v8, v8
invoke-static {v9, v8, v10}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v8
add-int v6, p2, v6
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v9, v9
add-int/2addr v6, v9
iput v6, v0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
invoke-direct {v0, v8, v2}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
new-instance v6, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v6, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
invoke-direct {v0, v6}, Landroidx/exifinterface/media/ExifInterface;->setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
goto :goto_189
:cond_150
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_XMP_APP1:[B
invoke-static {v9, v13}, Landroidx/exifinterface/media/ExifInterface;->startsWith([B[B)Z
move-result v13
if-eqz v13, :cond_189
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_XMP_APP1:[B
array-length v14, v13
add-int/2addr v6, v14
array-length v13, v13
invoke-static {v9, v13, v10}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v9
const-string v10, "Xmp"
invoke-virtual {v0, v10}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v13
if-nez v13, :cond_189
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v13, v13, v3
new-instance v15, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
const/16 v16, 0x1
array-length v14, v9
move-object/from16 v20, v4
int-to-long v3, v6
move v6, v14
move-object v14, v15
move-object v5, v15
move/from16 v15, v16
move/from16 v16, v6
move-wide/from16 v17, v3
move-object/from16 v19, v9
invoke-direct/range {v14 .. v19}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;-><init>(IIJ[B)V
invoke-virtual {v13, v10, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iput-boolean v8, v0, Landroidx/exifinterface/media/ExifInterface;->mXmpIsFromSeparateMarker:Z
goto :goto_18b
:cond_189
:goto_189
move-object/from16 v20, v4
:goto_18b
move v6, v12
:goto_18c
const/4 v10, 0x0
:goto_18d
if-ltz v10, :cond_1a4
invoke-virtual {v1, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v3
if-ne v3, v10, :cond_19c
add-int/2addr v6, v10
move-object/from16 v4, v20
const/4 v3, 0x0
const/4 v5, 0x2
goto/16 :goto_3c
:cond_19c
new-instance v1, Ljava/io/IOException;
const-string v2, "Invalid JPEG segment"
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
:cond_1a4
new-instance v1, Ljava/io/IOException;
invoke-direct {v1, v11}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
:cond_1aa
new-instance v1, Ljava/io/IOException;
invoke-direct {v1, v11}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
:cond_1b0
:goto_1b0
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
return-void
:cond_1b6
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Invalid marker:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v3, v8, 0xff
invoke-static {v3}, 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
:cond_1d3
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v3, v5, 0xff
invoke-static {v3}, 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
:cond_1ee
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
and-int/lit16 v3, v5, 0xff
invoke-static {v3}, 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
goto :goto_20a
:goto_209
throw v1
:goto_20a
goto :goto_209
nop
:pswitch_data_20c
.packed-switch -0x40
:pswitch_bf
:pswitch_bf
:pswitch_bf
:pswitch_bf
.end packed-switch
:pswitch_data_218
.packed-switch -0x3b
:pswitch_bf
:pswitch_bf
:pswitch_bf
.end packed-switch
:pswitch_data_222
.packed-switch -0x37
:pswitch_bf
:pswitch_bf
:pswitch_bf
.end packed-switch
:pswitch_data_22c
.packed-switch -0x33
:pswitch_bf
:pswitch_bf
:pswitch_bf
.end packed-switch
.end method
.method private getMimeType(Ljava/io/BufferedInputStream;)I
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/16 v0, 0x1388
invoke-virtual {p1, v0}, Ljava/io/BufferedInputStream;->mark(I)V
new-array v0, v0, [B
invoke-virtual {p1, v0}, Ljava/io/BufferedInputStream;->read([B)I
invoke-virtual {p1}, Ljava/io/BufferedInputStream;->reset()V
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->isJpegFormat([B)Z
move-result p1
if-eqz p1, :cond_15
const/4 p1, 0x4
return p1
:cond_15
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isRafFormat([B)Z
move-result p1
if-eqz p1, :cond_1e
const/16 p1, 0x9
return p1
:cond_1e
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isHeifFormat([B)Z
move-result p1
if-eqz p1, :cond_27
const/16 p1, 0xc
return p1
:cond_27
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isOrfFormat([B)Z
move-result p1
if-eqz p1, :cond_2f
const/4 p1, 0x7
return p1
:cond_2f
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isRw2Format([B)Z
move-result p1
if-eqz p1, :cond_38
const/16 p1, 0xa
return p1
:cond_38
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isPngFormat([B)Z
move-result p1
if-eqz p1, :cond_41
const/16 p1, 0xd
return p1
:cond_41
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isWebpFormat([B)Z
move-result p1
if-eqz p1, :cond_4a
const/16 p1, 0xe
return p1
:cond_4a
const/4 p1, 0x0
return p1
.end method
.method private getOrfAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v0, 0x1
aget-object p1, p1, v0
const-string v1, "MakerNote"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz p1, :cond_fb
new-instance v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object p1, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-direct {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
sget-object p1, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
array-length p1, p1
new-array p1, p1, [B
invoke-virtual {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
const-wide/16 v2, 0x0
invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
array-length v2, v2
new-array v2, v2, [B
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B
invoke-static {p1, v3}, Ljava/util/Arrays;->equals([B[B)Z
move-result p1
if-eqz p1, :cond_41
const-wide/16 v2, 0x8
invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
goto :goto_4e
:cond_41
sget-object p1, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B
invoke-static {v2, p1}, Ljava/util/Arrays;->equals([B[B)Z
move-result p1
if-eqz p1, :cond_4e
const-wide/16 v2, 0xc
invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
:cond_4e
:goto_4e
const/4 p1, 0x6
invoke-direct {p0, v1, p1}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v1, 0x7
aget-object p1, p1, v1
const-string v2, "PreviewImageStart"
invoke-virtual {p1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v2, v1
const-string v2, "PreviewImageLength"
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;
if-eqz p1, :cond_82
if-eqz v1, :cond_82
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v3, 0x5
aget-object v2, v2, v3
const-string v4, "JPEGInterchangeFormat"
invoke-virtual {v2, v4, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p1, p1, v3
const-string v2, "JPEGInterchangeFormatLength"
invoke-virtual {p1, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_82
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/16 v1, 0x8
aget-object p1, p1, v1
const-string v1, "AspectFrame"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz p1, :cond_fb
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [I
if-eqz p1, :cond_e1
array-length v1, p1
const/4 v2, 0x4
if-eq v1, v2, :cond_a1
goto :goto_e1
:cond_a1
const/4 v1, 0x2
aget v2, p1, v1
const/4 v3, 0x0
aget v4, p1, v3
if-le v2, v4, :cond_fb
const/4 v2, 0x3
aget v4, p1, v2
aget v5, p1, v0
if-le v4, v5, :cond_fb
aget v1, p1, v1
aget v4, p1, v3
sub-int/2addr v1, v4
add-int/2addr v1, v0
aget v2, p1, v2
aget p1, p1, v0
sub-int/2addr v2, p1
add-int/2addr v2, v0
if-ge v1, v2, :cond_c2
add-int/2addr v1, v2
sub-int v2, v1, v2
sub-int/2addr v1, v2
:cond_c2
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v2, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, v3
const-string v2, "ImageWidth"
invoke-virtual {v1, v2, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p1, p1, v3
const-string v1, "ImageLength"
invoke-virtual {p1, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_fb
:cond_e1
:goto_e1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Invalid aspect frame values. frame="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "ExifInterface"
invoke-static {v0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_fb
:goto_fb
return-void
.end method
.method private getPngAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_1a
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getPngAttributes starting with: "
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;
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
:cond_1a
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mark(I)V
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->PNG_SIGNATURE:[B
array-length v1, v1
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->PNG_SIGNATURE:[B
array-length v1, v1
add-int/2addr v1, v0
:goto_2d
:try_start_2d
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v2
const/4 v3, 0x4
add-int/2addr v1, v3
new-array v4, v3, [B
invoke-virtual {p1, v4}, Ljava/io/InputStream;->read([B)I
move-result v5
if-ne v5, v3, :cond_d7
add-int/2addr v1, v3
const/16 v3, 0x10
if-ne v1, v3, :cond_51
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_IHDR:[B
invoke-static {v4, v3}, Ljava/util/Arrays;->equals([B[B)Z
move-result v3
if-eqz v3, :cond_49
goto :goto_51
:cond_49
new-instance p1, Ljava/io/IOException;
const-string v0, "Encountered invalid PNG file--IHDR chunk should appearas the first chunk"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_51
:goto_51
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_IEND:[B
invoke-static {v4, v3}, Ljava/util/Arrays;->equals([B[B)Z
move-result v3
if-eqz v3, :cond_5a
goto :goto_90
:cond_5a
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_EXIF:[B
invoke-static {v4, v3}, Ljava/util/Arrays;->equals([B[B)Z
move-result v3
if-eqz v3, :cond_cf
new-array v3, v2, [B
invoke-virtual {p1, v3}, Ljava/io/InputStream;->read([B)I
move-result v5
if-ne v5, v2, :cond_b4
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result p1
new-instance v2, Ljava/util/zip/CRC32;
invoke-direct {v2}, Ljava/util/zip/CRC32;-><init>()V
invoke-virtual {v2, v4}, Ljava/util/zip/CRC32;->update([B)V
invoke-virtual {v2, v3}, Ljava/util/zip/CRC32;->update([B)V
invoke-virtual {v2}, Ljava/util/zip/CRC32;->getValue()J
move-result-wide v4
long-to-int v5, v4
if-ne v5, p1, :cond_91
iput v1, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
invoke-direct {p0, v3, v0}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->validateImages()V
new-instance p1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {p1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:goto_90
return-void
:cond_91
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Encountered invalid CRC value for PNG-EXIF chunk.\n recorded CRC value: "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, ", calculated CRC value: "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/util/zip/CRC32;->getValue()J
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_b4
new-instance p1, Ljava/io/IOException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Failed to read given length for given PNG chunk type: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v4}, Landroidx/exifinterface/media/ExifInterface;->byteArrayToHexString([B)Ljava/lang/String;
move-result-object 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
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_cf
add-int/lit8 v2, v2, 0x4
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
add-int/2addr v1, v2
goto/16 :goto_2d
:cond_d7
new-instance p1, Ljava/io/IOException;
const-string v0, "Encountered invalid length while parsing PNG chunktype"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_df
.catch Ljava/io/EOFException; {:try_start_2d .. :try_end_df} :catch_df
:catch_df
new-instance p1, Ljava/io/IOException;
const-string v0, "Encountered corrupt PNG file."
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_e8
:goto_e7
throw p1
:goto_e8
goto :goto_e7
.end method
.method private getRafAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const-string v1, "ExifInterface"
if-eqz v0, :cond_1a
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "getRafAttributes starting with: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_1a
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mark(I)V
const/16 v2, 0x54
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
const/4 v2, 0x4
new-array v3, v2, [B
new-array v4, v2, [B
new-array v2, v2, [B
invoke-virtual {p1, v3}, Ljava/io/InputStream;->read([B)I
invoke-virtual {p1, v4}, Ljava/io/InputStream;->read([B)I
invoke-virtual {p1, v2}, Ljava/io/InputStream;->read([B)I
invoke-static {v3}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v3
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->getInt()I
move-result v3
invoke-static {v4}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v4
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->getInt()I
move-result v4
invoke-static {v2}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v2
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->getInt()I
move-result v2
new-array v4, v4, [B
int-to-long v5, v3
invoke-virtual {p1, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
invoke-virtual {p1, v4}, Ljava/io/InputStream;->read([B)I
new-instance v5, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v5, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
const/4 v4, 0x5
invoke-direct {p0, v5, v3, v4}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
int-to-long v2, v2
invoke-virtual {p1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
sget-object v2, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v2
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_82
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "numberOfDirectoryEntry: "
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 {v1, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_82
const/4 v3, 0x0
:goto_83
if-ge v3, v2, :cond_e0
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v4
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v5
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget v6, v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
if-ne v4, v6, :cond_da
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v2
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result p1
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v2, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v3
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {p1, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, v0
const-string v6, "ImageLength"
invoke-virtual {v5, v6, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v3, v0
const-string v3, "ImageWidth"
invoke-virtual {v0, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_d9
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Updated to length: "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ", width: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_d9
return-void
:cond_da
invoke-virtual {p1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
add-int/lit8 v3, v3, 0x1
goto :goto_83
:cond_e0
return-void
.end method
.method private getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
const/4 v0, 0x5
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
const/4 v0, 0x4
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->validateImages()V
iget p1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/16 v0, 0x8
if-ne p1, v0, :cond_59
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v0, 0x1
aget-object p1, p1, v0
const-string v1, "MakerNote"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz p1, :cond_59
new-instance v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object p1, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-direct {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
const-wide/16 v2, 0x6
invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
const/16 p1, 0x9
invoke-direct {p0, v1, p1}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p1, v1, p1
const-string v1, "ColorSpace"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz p1, :cond_59
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v2, v0
invoke-virtual {v0, v1, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_59
return-void
.end method
.method private getRw2Attributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_1a
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getRw2Attributes starting with: "
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;
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
:cond_1a
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v0, 0x0
aget-object p1, p1, v0
const-string v1, "JpgFromRaw"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz p1, :cond_3a
new-instance v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
iget-object v2, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-direct {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
iget-wide v2, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytesOffset:J
long-to-int p1, v2
const/4 v2, 0x5
invoke-direct {p0, v1, p1, v2}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
:cond_3a
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p1, p1, v0
const-string v0, "ISO"
invoke-virtual {p1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v1, 0x1
aget-object v0, v0, v1
const-string v2, "PhotographicSensitivity"
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;
if-eqz p1, :cond_5e
if-nez v0, :cond_5e
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, v1
invoke-virtual {v0, v2, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_5e
return-void
.end method
.method private getStandaloneAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v0, v0
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->available()I
move-result v0
new-array v0, v0, [B
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
sget-object p1, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length p1, p1
iput p1, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
const/4 p1, 0x0
invoke-direct {p0, v0, p1}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
return-void
.end method
.method private getWebpAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_1a
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getWebpAttributes starting with: "
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;
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
:cond_1a
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mark(I)V
sget-object v1, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_1:[B
array-length v1, v1
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v1
add-int/lit8 v1, v1, 0x8
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
array-length v2, v2
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v2
add-int/lit8 v2, v2, 0x8
:goto_38
const/4 v3, 0x4
:try_start_39
new-array v4, v3, [B
invoke-virtual {p1, v4}, Ljava/io/InputStream;->read([B)I
move-result v5
if-ne v5, v3, :cond_a4
add-int/2addr v2, v3
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v5
add-int/2addr v2, v3
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_EXIF:[B
invoke-static {v3, v4}, Ljava/util/Arrays;->equals([B[B)Z
move-result v3
if-eqz v3, :cond_80
new-array v1, v5, [B
invoke-virtual {p1, v1}, Ljava/io/InputStream;->read([B)I
move-result p1
if-ne p1, v5, :cond_65
iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
invoke-direct {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V
new-instance p1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
goto :goto_8b
:cond_65
new-instance p1, Ljava/io/IOException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Failed to read given length for given PNG chunk type: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v4}, Landroidx/exifinterface/media/ExifInterface;->byteArrayToHexString([B)Ljava/lang/String;
move-result-object 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
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_80
rem-int/lit8 v3, v5, 0x2
:try_end_82
.catch Ljava/io/EOFException; {:try_start_39 .. :try_end_82} :catch_ac
const/4 v4, 0x1
if-ne v3, v4, :cond_87
add-int/lit8 v5, v5, 0x1
:cond_87
add-int v3, v2, v5
if-ne v3, v1, :cond_8c
:goto_8b
return-void
:cond_8c
const-string v4, "Encountered WebP file with invalid chunk size"
if-gt v3, v1, :cond_9e
:try_start_90
invoke-virtual {p1, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v3
if-ne v3, v5, :cond_98
add-int/2addr v2, v3
goto :goto_38
:cond_98
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v4}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_9e
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v4}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_a4
new-instance p1, Ljava/io/IOException;
const-string v0, "Encountered invalid length while parsing WebP chunktype"
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_ac
.catch Ljava/io/EOFException; {:try_start_90 .. :try_end_ac} :catch_ac
:catch_ac
new-instance p1, Ljava/io/IOException;
const-string v0, "Encountered corrupt WebP file."
invoke-direct {p1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_b5
:goto_b4
throw p1
:goto_b5
goto :goto_b4
.end method
.method public static guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Landroid/util/Pair<",
"Ljava/lang/Integer;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
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, 0x1
const/4 v4, 0x2
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
const/4 v6, -0x1
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
if-eqz v1, :cond_a6
invoke-virtual {p0, v0, v6}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object p0
aget-object v0, p0, v2
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
move-result-object v0
iget-object v1, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
if-ne v1, v4, :cond_29
return-object v0
:cond_29
:goto_29
array-length v1, p0
if-ge v3, v1, :cond_a5
aget-object v1, p0, v3
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
move-result-object v1
iget-object v2, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v2, Ljava/lang/Integer;
iget-object v4, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
invoke-virtual {v2, v4}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_4d
iget-object v2, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v2, Ljava/lang/Integer;
iget-object v4, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
invoke-virtual {v2, v4}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_4b
goto :goto_4d
:cond_4b
const/4 v2, -0x1
goto :goto_55
:cond_4d
:goto_4d
iget-object v2, v0, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v2, Ljava/lang/Integer;
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
:goto_55
iget-object v4, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v4, Ljava/lang/Integer;
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
if-eq v4, v6, :cond_80
iget-object v4, v1, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v4, Ljava/lang/Integer;
iget-object v8, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
invoke-virtual {v4, v8}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_77
iget-object v1, v1, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v1, Ljava/lang/Integer;
iget-object v4, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
invoke-virtual {v1, v4}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_80
:cond_77
iget-object v1, v0, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
goto :goto_81
:cond_80
const/4 v1, -0x1
:goto_81
if-ne v2, v6, :cond_8b
if-ne v1, v6, :cond_8b
new-instance p0, Landroid/util/Pair;
invoke-direct {p0, v5, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object p0
:cond_8b
if-ne v2, v6, :cond_97
new-instance v0, Landroid/util/Pair;
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, v1, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
goto :goto_a2
:cond_97
if-ne v1, v6, :cond_a2
new-instance v0, Landroid/util/Pair;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, v1, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_a2
:goto_a2
add-int/lit8 v3, v3, 0x1
goto :goto_29
:cond_a5
return-object v0
:cond_a6
const-string v0, "/"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
const-wide/16 v8, 0x0
if-eqz v1, :cond_105
invoke-virtual {p0, v0, v6}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object p0
array-length v0, p0
if-ne v0, v4, :cond_ff
:try_start_b7
aget-object v0, p0, v2
invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v0
double-to-long v0, v0
aget-object p0, p0, v3
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v2
double-to-long v2, v2
const/16 p0, 0xa
cmp-long v4, v0, v8
if-ltz v4, :cond_f5
cmp-long v4, v2, v8
if-gez v4, :cond_d0
goto :goto_f5
:cond_d0
const/4 v4, 0x5
const-wide/32 v8, 0x7fffffff
cmp-long v6, v0, v8
if-gtz v6, :cond_eb
cmp-long v0, v2, v8
if-lez v0, :cond_dd
goto :goto_eb
:cond_dd
new-instance v0, Landroid/util/Pair;
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, p0, v1}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
:cond_eb
:goto_eb
new-instance p0, Landroid/util/Pair;
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-direct {p0, v0, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object p0
:cond_f5
:goto_f5
new-instance v0, Landroid/util/Pair;
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
invoke-direct {v0, p0, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_fe
.catch Ljava/lang/NumberFormatException; {:try_start_b7 .. :try_end_fe} :catch_ff
return-object v0
:catch_ff
:cond_ff
new-instance p0, Landroid/util/Pair;
invoke-direct {p0, v5, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object p0
:cond_105
:try_start_105
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
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v1
const/4 v3, 0x4
cmp-long v4, v1, v8
if-ltz v4, :cond_130
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v1
const-wide/32 v10, 0xffff
cmp-long v4, v1, v10
if-gtz v4, :cond_130
new-instance v0, Landroid/util/Pair;
const/4 v1, 0x3
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-direct {v0, v1, v2}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
:cond_130
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
cmp-long v2, v0, v8
if-gez v2, :cond_144
new-instance v0, Landroid/util/Pair;
const/16 v1, 0x9
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, v1, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
:cond_144
new-instance v0, Landroid/util/Pair;
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-direct {v0, v1, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_14d
.catch Ljava/lang/NumberFormatException; {:try_start_105 .. :try_end_14d} :catch_14e
return-object v0
:catch_14e
:try_start_14e
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
new-instance p0, Landroid/util/Pair;
const/16 v0, 0xc
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-direct {p0, v0, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_15c
.catch Ljava/lang/NumberFormatException; {:try_start_14e .. :try_end_15c} :catch_15d
return-object p0
:catch_15d
new-instance p0, Landroid/util/Pair;
invoke-direct {p0, v5, v7}, Landroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object p0
.end method
.method private handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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;
const-string v1, "JPEGInterchangeFormatLength"
invoke-virtual {p2, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_75
if-eqz p2, :cond_75
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 v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {p2, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result p2
iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v2, 0x7
if-ne v1, v2, :cond_28
iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mOrfMakerNoteOffset:I
add-int/2addr v0, v1
:cond_28
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->getLength()I
move-result v1
sub-int/2addr v1, v0
invoke-static {p2, v1}, Ljava/lang/Math;->min(II)I
move-result p2
if-lez v0, :cond_53
if-lez p2, :cond_53
const/4 v1, 0x1
iput-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-nez v1, :cond_4f
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
if-nez v1, :cond_4f
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-nez v1, :cond_4f
new-array v1, p2, [B
int-to-long v2, v0
invoke-virtual {p1, v2, v3}, Ljava/io/InputStream;->skip(J)J
invoke-virtual {p1, v1}, Ljava/io/InputStream;->read([B)I
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
:cond_4f
iput v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
iput p2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
:cond_53
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_75
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Setting thumbnail attributes with offset: "
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ", length: "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "ExifInterface"
invoke-static {p2, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_75
return-void
.end method
.method private handleThumbnailFromStrips(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
.registers 22
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
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;
const-string v4, "StripByteCounts"
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;
if-eqz v3, :cond_ee
if-eqz v2, :cond_ee
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J
move-result-object v3
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J
move-result-object v2
const-string v4, "ExifInterface"
if-eqz v3, :cond_e8
array-length v5, v3
if-nez v5, :cond_37
goto/16 :goto_e8
:cond_37
if-eqz v2, :cond_e1
array-length v5, v2
if-nez v5, :cond_3e
goto/16 :goto_e1
:cond_3e
array-length v5, v3
array-length v6, v2
if-eq v5, v6, :cond_49
const-string/jumbo v1, "stripOffsets and stripByteCounts should have same length."
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_49
const-wide/16 v5, 0x0
array-length v7, v2
const/4 v8, 0x0
const/4 v9, 0x0
:goto_4e
if-ge v9, v7, :cond_56
aget-wide v10, v2, v9
add-long/2addr v5, v10
add-int/lit8 v9, v9, 0x1
goto :goto_4e
:cond_56
long-to-int v6, v5
new-array v5, v6, [B
const/4 v7, 0x1
iput-boolean v7, v0, Landroidx/exifinterface/media/ExifInterface;->mAreThumbnailStripsConsecutive:Z
iput-boolean v7, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnailStrips:Z
iput-boolean v7, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v9, 0x0
const/4 v10, 0x0
const/4 v11, 0x0
:goto_63
array-length v12, v3
if-ge v9, v12, :cond_d3
aget-wide v12, v3, v9
long-to-int v13, v12
aget-wide v14, v2, v9
long-to-int v12, v14
array-length v14, v3
sub-int/2addr v14, v7
if-ge v9, v14, :cond_7d
add-int v14, v13, v12
int-to-long v14, v14
add-int/lit8 v16, v9, 0x1
aget-wide v16, v3, v16
cmp-long v18, v14, v16
if-eqz v18, :cond_7d
iput-boolean v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAreThumbnailStripsConsecutive:Z
:cond_7d
sub-int/2addr v13, v10
if-gez v13, :cond_86
const-string v1, "Invalid strip offset value"
invoke-static {v4, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_86
int-to-long v14, v13
invoke-virtual {v1, v14, v15}, Ljava/io/InputStream;->skip(J)J
move-result-wide v16
const-string v7, " bytes."
cmp-long v18, v16, v14
if-eqz v18, :cond_a9
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Failed to skip "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v7}, 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 {v4, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_a9
add-int/2addr v10, v13
new-array v13, v12, [B
invoke-virtual {v1, v13}, Ljava/io/InputStream;->read([B)I
move-result v14
if-eq v14, v12, :cond_ca
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Failed to read "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v7}, 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 {v4, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_ca
add-int/2addr v10, v12
invoke-static {v13, v8, v5, v11, v12}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
add-int/2addr v11, v12
add-int/lit8 v9, v9, 0x1
const/4 v7, 0x1
goto :goto_63
:cond_d3
iput-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
iget-boolean v1, v0, Landroidx/exifinterface/media/ExifInterface;->mAreThumbnailStripsConsecutive:Z
if-eqz v1, :cond_ee
aget-wide v1, v3, v8
long-to-int v2, v1
iput v2, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
iput v6, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
goto :goto_ee
:cond_e1
:goto_e1
const-string/jumbo v1, "stripByteCounts should not be null or have zero length."
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_e8
:goto_e8
const-string/jumbo v1, "stripOffsets should not be null or have zero length."
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_ee
:goto_ee
return-void
.end method
.method private initForFilename(Ljava/lang/String;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-eqz p1, :cond_2e
const/4 v0, 0x0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
:try_start_7
new-instance v1, Ljava/io/FileInputStream;
invoke-direct {v1, p1}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
:try_end_c
.catchall {:try_start_7 .. :try_end_c} :catchall_29
:try_start_c
invoke-virtual {v1}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object p1
invoke-static {p1}, Landroidx/exifinterface/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
move-result p1
if-eqz p1, :cond_1d
invoke-virtual {v1}, Ljava/io/FileInputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object p1
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
goto :goto_1f
:cond_1d
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
:goto_1f
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
:try_end_22
.catchall {:try_start_c .. :try_end_22} :catchall_26
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
return-void
:catchall_26
move-exception p1
move-object v0, v1
goto :goto_2a
:catchall_29
move-exception p1
:goto_2a
invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
throw p1
:cond_2e
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "filename cannot be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static isExifDataOnly(Ljava/io/BufferedInputStream;)Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v0, v0
invoke-virtual {p0, v0}, Ljava/io/BufferedInputStream;->mark(I)V
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v0, v0
new-array v0, v0, [B
invoke-virtual {p0, v0}, Ljava/io/BufferedInputStream;->read([B)I
invoke-virtual {p0}, Ljava/io/BufferedInputStream;->reset()V
const/4 p0, 0x0
const/4 v1, 0x0
:goto_13
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
array-length v3, v2
if-ge v1, v3, :cond_22
aget-byte v3, v0, v1
aget-byte v2, v2, v1
if-eq v3, v2, :cond_1f
return p0
:cond_1f
add-int/lit8 v1, v1, 0x1
goto :goto_13
:cond_22
const/4 p0, 0x1
return p0
.end method
.method private isHeifFormat([B)Z
.registers 16
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:try_start_2
new-instance v2, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v2, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
:try_end_7
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_7} :catch_8d
.catchall {:try_start_2 .. :try_end_7} :catchall_8b
:try_start_7
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v1
int-to-long v3, v1
const/4 v1, 0x4
new-array v5, v1, [B
invoke-virtual {v2, v5}, Ljava/io/InputStream;->read([B)I
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->HEIF_TYPE_FTYP:[B
invoke-static {v5, v6}, Ljava/util/Arrays;->equals([B[B)Z
move-result v5
:try_end_18
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_18} :catch_88
.catchall {:try_start_7 .. :try_end_18} :catchall_85
if-nez v5, :cond_1e
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v0
:cond_1e
const-wide/16 v5, 0x10
const-wide/16 v7, 0x8
const-wide/16 v9, 0x1
cmp-long v11, v3, v9
if-nez v11, :cond_34
:try_start_28
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readLong()J
move-result-wide v3
:try_end_2c
.catch Ljava/lang/Exception; {:try_start_28 .. :try_end_2c} :catch_88
.catchall {:try_start_28 .. :try_end_2c} :catchall_85
cmp-long v11, v3, v5
if-gez v11, :cond_35
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v0
:cond_34
move-wide v5, v7
:cond_35
:try_start_35
array-length v11, p1
int-to-long v11, v11
cmp-long v13, v3, v11
if-lez v13, :cond_3d
array-length p1, p1
:try_end_3c
.catch Ljava/lang/Exception; {:try_start_35 .. :try_end_3c} :catch_88
.catchall {:try_start_35 .. :try_end_3c} :catchall_85
int-to-long v3, p1
:cond_3d
sub-long/2addr v3, v5
cmp-long p1, v3, v7
if-gez p1, :cond_46
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v0
:cond_46
:try_start_46
new-array p1, v1, [B
const-wide/16 v5, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
:goto_4c
const-wide/16 v11, 0x4
div-long v11, v3, v11
cmp-long v13, v5, v11
if-gez v13, :cond_81
invoke-virtual {v2, p1}, Ljava/io/InputStream;->read([B)I
move-result v11
:try_end_58
.catch Ljava/lang/Exception; {:try_start_46 .. :try_end_58} :catch_88
.catchall {:try_start_46 .. :try_end_58} :catchall_85
if-eq v11, v1, :cond_5e
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v0
:cond_5e
cmp-long v11, v5, v9
if-nez v11, :cond_63
goto :goto_7f
:cond_63
:try_start_63
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_MIF1:[B
invoke-static {p1, v11}, Ljava/util/Arrays;->equals([B[B)Z
move-result v11
const/4 v12, 0x1
if-eqz v11, :cond_6e
const/4 v7, 0x1
goto :goto_77
:cond_6e
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->HEIF_BRAND_HEIC:[B
invoke-static {p1, v11}, Ljava/util/Arrays;->equals([B[B)Z
move-result v11
:try_end_74
.catch Ljava/lang/Exception; {:try_start_63 .. :try_end_74} :catch_88
.catchall {:try_start_63 .. :try_end_74} :catchall_85
if-eqz v11, :cond_77
const/4 v8, 0x1
:cond_77
:goto_77
if-eqz v7, :cond_7f
if-eqz v8, :cond_7f
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v12
:cond_7f
:goto_7f
add-long/2addr v5, v9
goto :goto_4c
:cond_81
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
goto :goto_9e
:catchall_85
move-exception p1
move-object v1, v2
goto :goto_9f
:catch_88
move-exception p1
move-object v1, v2
goto :goto_8e
:catchall_8b
move-exception p1
goto :goto_9f
:catch_8d
move-exception p1
:goto_8e
:try_start_8e
sget-boolean v2, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v2, :cond_99
const-string v2, "ExifInterface"
const-string v3, "Exception parsing HEIF file type box."
invoke-static {v2, v3, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_99
.catchall {:try_start_8e .. :try_end_99} :catchall_8b
:cond_99
if-eqz v1, :cond_9e
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:cond_9e
:goto_9e
return v0
:goto_9f
if-eqz v1, :cond_a4
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:cond_a4
goto :goto_a6
:goto_a5
throw p1
:goto_a6
goto :goto_a5
.end method
.method public static isJpegFormat([B)Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:goto_2
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->JPEG_SIGNATURE:[B
array-length v3, v2
if-ge v1, v3, :cond_11
aget-byte v3, p0, v1
aget-byte v2, v2, v1
if-eq v3, v2, :cond_e
return v0
:cond_e
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_11
const/4 p0, 0x1
return p0
.end method
.method private isOrfFormat([B)Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:try_start_2
new-instance v2, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v2, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
:try_end_7
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_7} :catch_2d
.catchall {:try_start_2 .. :try_end_7} :catchall_26
:try_start_7
invoke-direct {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
move-result-object p1
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result p1
:try_end_14
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_14} :catch_24
.catchall {:try_start_7 .. :try_end_14} :catchall_21
const/16 v1, 0x4f52
if-eq p1, v1, :cond_1c
const/16 v1, 0x5352
if-ne p1, v1, :cond_1d
:cond_1c
const/4 v0, 0x1
:cond_1d
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v0
:catchall_21
move-exception p1
move-object v1, v2
goto :goto_27
:catch_24
move-object v1, v2
goto :goto_2e
:catchall_26
move-exception p1
:goto_27
if-eqz v1, :cond_2c
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:cond_2c
throw p1
:catch_2d
nop
:goto_2e
if-eqz v1, :cond_33
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:cond_33
return v0
.end method
.method private isPngFormat([B)Z
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:goto_2
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->PNG_SIGNATURE:[B
array-length v3, v2
if-ge v1, v3, :cond_11
aget-byte v3, p1, v1
aget-byte v2, v2, v1
if-eq v3, v2, :cond_e
return v0
:cond_e
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_11
const/4 p1, 0x1
return p1
.end method
.method private isRafFormat([B)Z
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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
const/4 v1, 0x0
const/4 v2, 0x0
:goto_c
array-length v3, v0
if-ge v2, v3, :cond_19
aget-byte v3, p1, v2
aget-byte v4, v0, v2
if-eq v3, v4, :cond_16
return v1
:cond_16
add-int/lit8 v2, v2, 0x1
goto :goto_c
:cond_19
const/4 p1, 0x1
return p1
.end method
.method private isRw2Format([B)Z
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:try_start_2
new-instance v2, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v2, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
:try_end_7
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_7} :catch_29
.catchall {:try_start_2 .. :try_end_7} :catchall_22
:try_start_7
invoke-direct {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
move-result-object p1
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
invoke-virtual {v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result p1
:try_end_14
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_14} :catch_20
.catchall {:try_start_7 .. :try_end_14} :catchall_1d
const/16 v1, 0x55
if-ne p1, v1, :cond_19
const/4 v0, 0x1
:cond_19
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
return v0
:catchall_1d
move-exception p1
move-object v1, v2
goto :goto_23
:catch_20
move-object v1, v2
goto :goto_2a
:catchall_22
move-exception p1
:goto_23
if-eqz v1, :cond_28
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:cond_28
throw p1
:catch_29
nop
:goto_2a
if-eqz v1, :cond_2f
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:cond_2f
return v0
.end method
.method public static isSeekableFD(Ljava/io/FileDescriptor;)Z
.registers 5
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x15
if-lt v0, v2, :cond_1c
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
const/4 p0, 0x1
return p0
:catch_10
nop
sget-boolean p0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p0, :cond_1c
const-string p0, "ExifInterface"
const-string v0, "The file descriptor for the given input is not seekable"
invoke-static {p0, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_1c
return v1
.end method
.method private isSupportedDataType(Ljava/util/HashMap;)Z
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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;
if-eqz v0, :cond_47
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 v0
check-cast v0, [I
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
invoke-static {v1, v0}, Ljava/util/Arrays;->equals([I[I)Z
move-result v1
const/4 v2, 0x1
if-eqz v1, :cond_1c
return v2
:cond_1c
iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v3, 0x3
if-ne v1, v3, :cond_47
const-string v1, "PhotometricInterpretation"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz p1, :cond_47
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result p1
if-ne p1, v2, :cond_3b
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I
invoke-static {v0, v1}, Ljava/util/Arrays;->equals([I[I)Z
move-result v1
if-nez v1, :cond_46
:cond_3b
const/4 v1, 0x6
if-ne p1, v1, :cond_47
sget-object p1, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I
invoke-static {v0, p1}, Ljava/util/Arrays;->equals([I[I)Z
move-result p1
if-eqz p1, :cond_47
:cond_46
return v2
:cond_47
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_52
const-string p1, "ExifInterface"
const-string v0, "Unsupported data type value"
invoke-static {p1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_52
const/4 p1, 0x0
return p1
.end method
.method private isSupportedFormatForSavingAttributes()Z
.registers 3
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v1, 0x4
if-eq v0, v1, :cond_10
const/16 v1, 0xd
if-eq v0, v1, :cond_10
const/16 v1, 0xe
if-ne v0, v1, :cond_e
goto :goto_10
:cond_e
const/4 v0, 0x0
return v0
:cond_10
:goto_10
const/4 v0, 0x1
return v0
.end method
.method public static isSupportedMimeType(Ljava/lang/String;)Z
.registers 5
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
if-eqz p0, :cond_ba
sget-object v0, Ljava/util/Locale;->ROOT:Ljava/util/Locale;
invoke-virtual {p0, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p0
const/4 v0, -0x1
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v1
const/4 v2, 0x0
const/4 v3, 0x1
sparse-switch v1, :sswitch_data_c2
goto/16 :goto_b5
:sswitch_14
const-string v1, "image/x-canon-cr2"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x2
goto/16 :goto_b5
:sswitch_1f
const-string v1, "image/x-nikon-nrw"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x4
goto/16 :goto_b5
:sswitch_2a
const-string v1, "image/x-nikon-nef"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x3
goto/16 :goto_b5
:sswitch_35
const-string v1, "image/x-olympus-orf"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x7
goto/16 :goto_b5
:sswitch_40
const-string v1, "image/x-pentax-pef"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0x8
goto/16 :goto_b5
:sswitch_4c
const-string v1, "image/png"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0xd
goto :goto_b5
:sswitch_57
const-string v1, "image/x-panasonic-rw2"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x6
goto :goto_b5
:sswitch_61
const-string v1, "image/x-adobe-dng"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x1
goto :goto_b5
:sswitch_6b
const-string v1, "image/webp"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0xe
goto :goto_b5
:sswitch_76
const-string v1, "image/jpeg"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x0
goto :goto_b5
:sswitch_80
const-string v1, "image/heif"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0xc
goto :goto_b5
:sswitch_8b
const-string v1, "image/heic"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0xb
goto :goto_b5
:sswitch_96
const-string v1, "image/x-sony-arw"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/4 v0, 0x5
goto :goto_b5
:sswitch_a0
const-string v1, "image/x-samsung-srw"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0x9
goto :goto_b5
:sswitch_ab
const-string v1, "image/x-fuji-raf"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_b5
const/16 v0, 0xa
:cond_b5
:goto_b5
packed-switch v0, :pswitch_data_100
return v2
:pswitch_b9
return v3
:cond_ba
new-instance p0, Ljava/lang/NullPointerException;
const-string v0, "mimeType shouldn\'t be null"
invoke-direct {p0, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p0
:sswitch_data_c2
.sparse-switch
-0x6fc6acff -> :sswitch_ab
-0x617ac9e4 -> :sswitch_a0
-0x5f082c57 -> :sswitch_96
-0x58a8e8f5 -> :sswitch_8b
-0x58a8e8f2 -> :sswitch_80
-0x58a7d764 -> :sswitch_76
-0x58a21830 -> :sswitch_6b
-0x54d6098a -> :sswitch_61
-0x3ab85cc1 -> :sswitch_57
-0x34686c8b -> :sswitch_4c
-0x13d592a1 -> :sswitch_40
0x52243d4a -> :sswitch_35
0x7d1e84e8 -> :sswitch_2a
0x7d1e868c -> :sswitch_1f
0x7dd6e2bc -> :sswitch_14
.end sparse-switch
:pswitch_data_100
.packed-switch 0x0
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
:pswitch_b9
.end packed-switch
.end method
.method private isThumbnail(Ljava/util/HashMap;)Z
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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;
const-string v1, "ImageWidth"
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
if-eqz v0, :cond_28
if-eqz p1, :cond_28
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 v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result p1
const/16 v1, 0x200
if-gt v0, v1, :cond_28
if-gt p1, v1, :cond_28
const/4 p1, 0x1
return p1
:cond_28
const/4 p1, 0x0
return p1
.end method
.method private isWebpFormat([B)Z
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:goto_2
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_1:[B
array-length v3, v2
if-ge v1, v3, :cond_11
aget-byte v3, p1, v1
aget-byte v2, v2, v1
if-eq v3, v2, :cond_e
return v0
:cond_e
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_11
const/4 v1, 0x0
:goto_12
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
array-length v3, v2
if-ge v1, v3, :cond_27
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_1:[B
array-length v3, v3
add-int/2addr v3, v1
add-int/lit8 v3, v3, 0x4
aget-byte v3, p1, v3
aget-byte v2, v2, v1
if-eq v3, v2, :cond_24
return v0
:cond_24
add-int/lit8 v1, v1, 0x1
goto :goto_12
:cond_27
const/4 p1, 0x1
return p1
.end method
.method private loadAttributes(Ljava/io/InputStream;)V
.registers 6
.param p1 # Ljava/io/InputStream;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
if-eqz p1, :cond_c0
const/4 v0, 0x0
const/4 v1, 0x0
:goto_4
:try_start_4
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v2, v2
if-ge v1, v2, :cond_15
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, v1
add-int/lit8 v1, v1, 0x1
goto :goto_4
:cond_15
iget-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mIsExifDataOnly:Z
if-nez v1, :cond_27
new-instance v1, Ljava/io/BufferedInputStream;
const/16 v2, 0x1388
invoke-direct {v1, p1, v2}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getMimeType(Ljava/io/BufferedInputStream;)I
move-result p1
iput p1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
move-object p1, v1
:cond_27
new-instance v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
iget-boolean p1, p0, Landroidx/exifinterface/media/ExifInterface;->mIsExifDataOnly:Z
if-nez p1, :cond_88
iget p1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
packed-switch p1, :pswitch_data_ca
goto :goto_8b
:pswitch_36
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getWebpAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:try_end_39
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_39} :catch_9e
.catchall {:try_start_4 .. :try_end_39} :catchall_9c
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_43
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_43
return-void
:pswitch_44
:try_start_44
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getPngAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:try_end_47
.catch Ljava/io/IOException; {:try_start_44 .. :try_end_47} :catch_9e
.catchall {:try_start_44 .. :try_end_47} :catchall_9c
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_51
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_51
return-void
:pswitch_52
:try_start_52
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getHeifAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
goto :goto_8b
:pswitch_56
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getRw2Attributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:try_end_59
.catch Ljava/io/IOException; {:try_start_52 .. :try_end_59} :catch_9e
.catchall {:try_start_52 .. :try_end_59} :catchall_9c
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_63
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_63
return-void
:pswitch_64
:try_start_64
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getRafAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:try_end_67
.catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_9e
.catchall {:try_start_64 .. :try_end_67} :catchall_9c
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_71
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_71
return-void
:pswitch_72
:try_start_72
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getOrfAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
goto :goto_8b
:pswitch_76
invoke-direct {p0, v1, v0, v0}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
:try_end_79
.catch Ljava/io/IOException; {:try_start_72 .. :try_end_79} :catch_9e
.catchall {:try_start_72 .. :try_end_79} :catchall_9c
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_83
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_83
return-void
:pswitch_84
:try_start_84
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
goto :goto_8b
:cond_88
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getStandaloneAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:goto_8b
iget p1, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
int-to-long v2, p1
invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
:try_end_94
.catch Ljava/io/IOException; {:try_start_84 .. :try_end_94} :catch_9e
.catchall {:try_start_84 .. :try_end_94} :catchall_9c
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_b4
goto :goto_b1
:catchall_9c
move-exception p1
goto :goto_b5
:catch_9e
move-exception p1
:try_start_9f
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_aa
const-string v0, "ExifInterface"
const-string v1, "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 {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_aa
.catchall {:try_start_9f .. :try_end_aa} :catchall_9c
:cond_aa
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_b4
:goto_b1
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_b4
return-void
:goto_b5
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_bf
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->printAttributes()V
:cond_bf
throw p1
:cond_c0
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "inputstream shouldn\'t be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_c9
:goto_c8
throw p1
:goto_c9
goto :goto_c8
:pswitch_data_ca
.packed-switch 0x0
:pswitch_84
:pswitch_84
:pswitch_84
:pswitch_84
:pswitch_76
:pswitch_84
:pswitch_84
:pswitch_72
:pswitch_84
:pswitch_64
:pswitch_56
:pswitch_84
:pswitch_52
:pswitch_44
:pswitch_36
.end packed-switch
.end method
.method public static parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
.registers 13
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
if-eqz p0, :cond_87
sget-object v1, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
invoke-virtual {v1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
invoke-virtual {v1}, Ljava/util/regex/Matcher;->matches()Z
move-result v1
if-nez v1, :cond_11
goto/16 :goto_87
:cond_11
new-instance v1, Ljava/text/ParsePosition;
const/4 v2, 0x0
invoke-direct {v1, v2}, Ljava/text/ParsePosition;-><init>(I)V
:try_start_17
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
invoke-virtual {v3, p0, v1}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
move-result-object p0
if-nez p0, :cond_20
return-object v0
:cond_20
invoke-virtual {p0}, Ljava/util/Date;->getTime()J
move-result-wide v3
if-eqz p2, :cond_71
const/4 p0, 0x1
invoke-virtual {p2, v2, p0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x3
invoke-virtual {p2, p0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v5
const/4 v6, 0x6
const/4 v7, 0x4
invoke-virtual {p2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
const-string v8, "+"
invoke-virtual {v8, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
:try_end_44
.catch Ljava/lang/IllegalArgumentException; {:try_start_17 .. :try_end_44} :catch_87
const-string v9, "-"
if-nez v8, :cond_4e
:try_start_48
invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_71
:cond_4e
const-string v8, ":"
invoke-virtual {p2, v2, v7}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p2
invoke-virtual {v8, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_71
const/16 p2, 0xe
if-gt v5, p2, :cond_71
mul-int/lit8 v5, v5, 0x3c
add-int/2addr v5, v6
mul-int/lit8 v5, v5, 0x3c
mul-int/lit16 v5, v5, 0x3e8
invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
:try_end_69
.catch Ljava/lang/IllegalArgumentException; {:try_start_48 .. :try_end_69} :catch_87
if-eqz p2, :cond_6c
goto :goto_6d
:cond_6c
const/4 p0, -0x1
:goto_6d
mul-int v5, v5, p0
int-to-long v1, v5
add-long/2addr v3, v1
:cond_71
if-eqz p1, :cond_82
:try_start_73
invoke-static {p1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide p0
:goto_77
const-wide/16 v1, 0x3e8
cmp-long p2, p0, v1
if-lez p2, :cond_81
const-wide/16 v1, 0xa
div-long/2addr p0, v1
:try_end_80
.catch Ljava/lang/NumberFormatException; {:try_start_73 .. :try_end_80} :catch_82
.catch Ljava/lang/IllegalArgumentException; {:try_start_73 .. :try_end_80} :catch_87
goto :goto_77
:cond_81
add-long/2addr v3, p0
:catch_82
:cond_82
:try_start_82
invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
:try_end_86
.catch Ljava/lang/IllegalArgumentException; {:try_start_82 .. :try_end_86} :catch_87
return-object p0
:catch_87
:cond_87
:goto_87
return-object v0
.end method
.method private parseTiffHeaders(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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;
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v0
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
:cond_1b
new-instance p1, Ljava/io/IOException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Invalid start code: "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_36
:goto_36
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
const/16 v1, 0x8
if-lt v0, v1, :cond_63
if-ge v0, p2, :cond_63
add-int/lit8 v0, v0, -0x8
if-lez v0, :cond_62
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result p1
if-ne p1, v0, :cond_4b
goto :goto_62
:cond_4b
new-instance p1, Ljava/io/IOException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Couldn\'t jump to first Ifd: "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_62
:goto_62
return-void
:cond_63
new-instance p1, Ljava/io/IOException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Invalid first Ifd offset: "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private printAttributes()V
.registers 8
const/4 v0, 0x0
:goto_1
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
array-length v1, v1
if-ge v0, v1, :cond_89
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
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;
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v4
check-cast v4, 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 v3
check-cast v3, Ljava/lang/String;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ", tagType: "
invoke-virtual {v5, v3}, 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 v3
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ", tagValue: \'"
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v4, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "\'"
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_38
:cond_85
add-int/lit8 v0, v0, 0x1
goto/16 :goto_1
:cond_89
return-void
.end method
.method private readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result p1
const/16 v0, 0x4949
const-string v1, "ExifInterface"
if-eq p1, v0, :cond_35
const/16 v0, 0x4d4d
if-ne p1, v0, :cond_1a
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_17
const-string p1, "readExifSegment: Byte Align MM"
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_17
sget-object p1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
return-object p1
:cond_1a
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid byte order: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_35
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_3e
const-string p1, "readExifSegment: Byte Align II"
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_3e
sget-object p1, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
return-object p1
.end method
.method private readExifSegment([BI)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
array-length p1, p1
invoke-direct {p0, v0, p1}, Landroidx/exifinterface/media/ExifInterface;->parseTiffHeaders(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
invoke-direct {p0, v0, p2}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
return-void
.end method
.method private readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 30
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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
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
return-void
:cond_1a
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v3
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const-string v6, "ExifInterface"
if-eqz v5, :cond_38
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
: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_41e
if-gtz v3, :cond_45
goto/16 :goto_41e
:cond_45
const/4 v5, 0x0
const/4 v7, 0x0
:goto_47
const/4 v8, 0x5
if-ge v7, v3, :cond_38d
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v13
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v14
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v15
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v9
int-to-long v9, v9
const-wide/16 v18, 0x4
add-long v9, v9, v18
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;
sget-boolean v12, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const/4 v11, 0x3
if-eqz v12, :cond_a3
new-array v8, v8, [Ljava/lang/Object;
invoke-static/range {p2 .. p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v5
invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
const/16 v20, 0x1
aput-object v12, v8, v20
if-eqz v4, :cond_87
iget-object v12, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
goto :goto_88
:cond_87
const/4 v12, 0x0
:goto_88
const/16 v22, 0x2
aput-object v12, v8, v22
invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v11
invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
const/16 v21, 0x4
aput-object v12, v8, v21
const-string v12, "ifdType: %d, tagNumber: %d, tagName: %s, dataFormat: %d, numberOfComponents: %d"
invoke-static {v12, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v8
invoke-static {v6, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_a3
const/4 v8, 0x7
if-nez v4, :cond_c2
sget-boolean v12, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v12, :cond_be
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Skip the tag entry since tag number is not defined: "
invoke-virtual {v12, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v12}, 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
:cond_be
:goto_be
move-wide/from16 v24, v9
goto/16 :goto_149
:cond_c2
if-lez v14, :cond_12f
sget-object v5, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
array-length v5, v5
if-lt v14, v5, :cond_ca
goto :goto_12f
:cond_ca
invoke-virtual {v4, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->isFormatCompatible(I)Z
move-result v5
if-nez v5, :cond_f7
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v5, :cond_be
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v12, "Skip the tag entry since data format ("
invoke-virtual {v5, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
aget-object v12, v12, v14
invoke-virtual {v5, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v12, ") is unexpected for tag: "
invoke-virtual {v5, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v12, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-virtual {v5, v12}, 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 {v6, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_be
:cond_f7
if-ne v14, v8, :cond_fb
iget v14, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
:cond_fb
int-to-long v11, v15
sget-object v23, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I
aget v5, v23, v14
move-wide/from16 v24, v9
int-to-long v8, v5
mul-long v8, v8, v11
const-wide/16 v11, 0x0
cmp-long v5, v8, v11
if-ltz v5, :cond_115
const-wide/32 v11, 0x7fffffff
cmp-long v5, v8, v11
if-lez v5, :cond_113
goto :goto_115
:cond_113
const/4 v5, 0x1
goto :goto_14c
:cond_115
:goto_115
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v5, :cond_12d
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Skip the tag entry since the number of components is invalid: "
invoke-virtual {v5, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v15}, 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
:cond_12d
const/4 v5, 0x0
goto :goto_14c
:cond_12f
:goto_12f
move-wide/from16 v24, v9
sget-boolean v5, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v5, :cond_149
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Skip the tag entry since data format is invalid: "
invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v14}, 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
:cond_149
:goto_149
const/4 v5, 0x0
const-wide/16 v8, 0x0
:goto_14c
if-nez v5, :cond_15b
move-wide/from16 v11, v24
invoke-virtual {v1, v11, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
move/from16 v23, v3
move-object v13, v6
move/from16 v24, v7
:goto_158
const/4 v7, 0x2
goto/16 :goto_380
:cond_15b
move-wide/from16 v11, v24
const-string v5, "Compression"
cmp-long v23, v8, v18
if-lez v23, :cond_215
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v10
sget-boolean v19, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
move/from16 v23, v3
if-eqz v19, :cond_184
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
move/from16 v24, v7
const-string v7, "seek to data offset: "
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v10}, 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_186
:cond_184
move/from16 v24, v7
:goto_186
iget v3, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v7, 0x7
if-ne v3, v7, :cond_1e1
iget-object v3, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v7, "MakerNote"
invoke-virtual {v7, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_198
iput v10, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfMakerNoteOffset:I
goto :goto_1e1
:cond_198
const/4 v3, 0x6
if-ne v2, v3, :cond_1e1
iget-object v7, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v3, "ThumbnailImage"
invoke-virtual {v3, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1e1
iput v10, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailOffset:I
iput v15, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailLength:I
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
const/4 v7, 0x6
invoke-static {v7, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v3
iget v7, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailOffset:I
move/from16 v19, v14
move/from16 v18, v15
int-to-long v14, v7
iget-object v7, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v14, v15, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v7
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;
invoke-static {v14, v15, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v2
iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v15, 0x4
aget-object v14, v14, v15
invoke-virtual {v14, v5, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v15
const-string v14, "JPEGInterchangeFormat"
invoke-virtual {v3, v14, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v15
const-string v7, "JPEGInterchangeFormatLength"
invoke-virtual {v3, v7, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_1e5
:cond_1e1
:goto_1e1
move/from16 v19, v14
move/from16 v18, v15
:goto_1e5
int-to-long v2, v10
add-long v14, v2, v8
iget v7, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
move-object/from16 v25, v4
move-object/from16 v26, v5
int-to-long v4, v7
cmp-long v7, v14, v4
if-gtz v7, :cond_1f7
invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
goto :goto_221
:cond_1f7
sget-boolean v2, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v2, :cond_20f
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Skip the tag entry since data offset is invalid: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v10}, 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
:cond_20f
invoke-virtual {v1, v11, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
move-object v13, v6
goto/16 :goto_158
:cond_215
move/from16 v23, v3
move-object/from16 v25, v4
move-object/from16 v26, v5
move/from16 v24, v7
move/from16 v19, v14
move/from16 v18, v15
:goto_221
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap;
invoke-static {v13}, 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;
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_24d
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, v8, v9}, 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
:cond_24d
const/16 v3, 0x8
if-eqz v2, :cond_301
const-wide/16 v4, -0x1
move/from16 v14, v19
const/4 v7, 0x3
if-eq v14, v7, :cond_275
const/4 v7, 0x4
if-eq v14, v7, :cond_270
if-eq v14, v3, :cond_26b
const/16 v3, 0x9
if-eq v14, v3, :cond_266
const/16 v3, 0xd
if-eq v14, v3, :cond_266
goto :goto_27a
:cond_266
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v3
goto :goto_279
:cond_26b
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
move-result v3
goto :goto_279
:cond_270
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedInt()J
move-result-wide v4
goto :goto_27a
:cond_275
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
move-result v3
:goto_279
int-to-long v4, v3
:goto_27a
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
const/4 v7, 0x2
if-eqz v3, :cond_298
new-array v3, v7, [Ljava/lang/Object;
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v8
const/4 v9, 0x0
aput-object v8, v3, v9
move-object/from16 v10, v25
iget-object v8, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const/4 v9, 0x1
aput-object v8, v3, v9
const-string v8, "Offset: %d, tagName: %s"
invoke-static {v8, 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
:cond_298
const-wide/16 v8, 0x0
cmp-long v3, v4, v8
if-lez v3, :cond_2e3
iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
int-to-long v8, v3
cmp-long v3, v4, v8
if-gez v3, :cond_2e3
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set;
long-to-int v8, v4
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
invoke-interface {v3, v8}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_2bd
invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
invoke-direct {v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
goto :goto_2fb
:cond_2bd
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_2fb
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Skip jump into the IFD since it has already been read: IfdType "
invoke-virtual {v3, v8}, 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 v2, " (at "
invoke-virtual {v3, v2}, 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 v2, ")"
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, 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
goto :goto_2fb
:cond_2e3
sget-boolean v2, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v2, :cond_2fb
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Skip jump into the IFD since its offset is invalid: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v4, v5}, Ljava/lang/StringBuilder;->append(J)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
:cond_2fb
:goto_2fb
invoke-virtual {v1, v11, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
move-object v13, v6
goto/16 :goto_380
:cond_301
move/from16 v14, v19
move-object/from16 v10, v25
move-object/from16 v2, v26
const/4 v7, 0x2
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v4
iget v13, v0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
add-int/2addr v4, v13
long-to-int v9, v8
new-array v8, v9, [B
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
new-instance v9, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-object v13, v6
int-to-long v5, v4
move/from16 v4, v18
move-object v15, v9
move/from16 v16, v14
move/from16 v17, v4
move-wide/from16 v18, v5
move-object/from16 v20, v8
invoke-direct/range {v15 .. v20}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;-><init>(IIJ[B)V
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, p2
iget-object v5, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-virtual {v4, v5, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v4, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v5, "DNGVersion"
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_33d
const/4 v4, 0x3
iput v4, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
:cond_33d
iget-object v4, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v5, "Make"
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_351
iget-object v4, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
const-string v5, "Model"
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_35f
:cond_351
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v9, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
move-result-object v4
const-string v5, "PENTAX"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_372
:cond_35f
iget-object v4, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_374
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v9, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v2
const v4, 0xffff
if-ne v2, v4, :cond_374
:cond_372
iput v3, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
:cond_374
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
move-result v2
int-to-long v2, v2
cmp-long v4, v2, v11
if-eqz v4, :cond_380
invoke-virtual {v1, v11, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
:cond_380
:goto_380
add-int/lit8 v2, v24, 0x1
int-to-short v2, v2
move v7, v2
move-object v6, v13
move/from16 v3, v23
const/4 v4, 0x2
const/4 v5, 0x0
move/from16 v2, p2
goto/16 :goto_47
:cond_38d
move-object v13, v6
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_41e
invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v2
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_3b5
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
move-object v4, v13
invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_3b6
:cond_3b5
move-object v4, v13
:goto_3b6
int-to-long v5, v2
const-wide/16 v9, 0x0
cmp-long v3, v5, v9
if-lez v3, :cond_406
iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-ge v2, v3, :cond_406
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 v7
invoke-interface {v3, v7}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_3ed
invoke-virtual {v1, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v3, 0x4
aget-object v2, v2, v3
invoke-virtual {v2}, Ljava/util/HashMap;->isEmpty()Z
move-result v2
if-eqz v2, :cond_3df
invoke-direct {v0, v1, v3}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
goto :goto_41e
:cond_3df
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v8
invoke-virtual {v2}, Ljava/util/HashMap;->isEmpty()Z
move-result v2
if-eqz v2, :cond_41e
invoke-direct {v0, v1, v8}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
goto :goto_41e
:cond_3ed
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_41e
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Stop reading file since re-reading an IFD may cause an infinite loop: "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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
invoke-static {v4, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_41e
:cond_406
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_41e
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Stop reading file since a wrong offset may cause an infinite loop: "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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
invoke-static {v4, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_41e
:goto_41e
return-void
.end method
.method private removeAttribute(Ljava/lang/String;)V
.registers 4
const/4 v0, 0x0
: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
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;
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_10
return-void
.end method
.method private retrieveJpegImageSize(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p2
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;
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
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;
if-eqz v0, :cond_1c
if-nez v1, :cond_55
:cond_1c
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p2
const-string v1, "JPEGInterchangeFormat"
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;
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
const-string v2, "JPEGInterchangeFormatLength"
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;
if-eqz v0, :cond_55
if-eqz v1, :cond_55
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
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 v0
int-to-long v2, v1
invoke-virtual {p1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
new-array v0, v0, [B
invoke-virtual {p1, v0}, Ljava/io/InputStream;->read([B)I
new-instance p1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
invoke-direct {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
invoke-direct {p0, p1, v1, p2}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V
:cond_55
return-void
.end method
.method private saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
.registers 15
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_27
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
:cond_27
new-instance v0, Ljava/io/DataInputStream;
invoke-direct {v0, p1}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
new-instance p1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {p1, p2, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result p2
const-string v1, "Invalid marker"
const/4 v2, -0x1
if-ne p2, v2, :cond_129
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result p2
const/16 v3, -0x28
if-ne p2, v3, :cond_123
invoke-virtual {p1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
const/4 p2, 0x0
const-string v3, "Xmp"
invoke-virtual {p0, v3}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
const/4 v5, 0x0
if-eqz v4, :cond_62
iget-boolean v4, p0, Landroidx/exifinterface/media/ExifInterface;->mXmpIsFromSeparateMarker:Z
if-eqz v4, :cond_62
iget-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p2, p2, v5
invoke-virtual {p2, v3}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
:cond_62
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
const/16 v4, -0x1f
invoke-virtual {p1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
if-eqz p2, :cond_76
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v6, v6, v5
invoke-virtual {v6, v3, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_76
const/16 p2, 0x1000
new-array v3, p2, [B
:cond_7a
:goto_7a
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result v6
if-ne v6, v2, :cond_11d
invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B
move-result v6
const/16 v7, -0x27
if-eq v6, v7, :cond_113
const/16 v7, -0x26
if-eq v6, v7, :cond_113
const-string v7, "Invalid length"
if-eq v6, v4, :cond_b8
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedShort()I
move-result v6
invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
add-int/lit8 v6, v6, -0x2
if-ltz v6, :cond_b2
:goto_a1
if-lez v6, :cond_7a
invoke-static {v6, p2}, Ljava/lang/Math;->min(II)I
move-result v7
invoke-virtual {v0, v3, v5, v7}, Ljava/io/DataInputStream;->read([BII)I
move-result v7
if-ltz v7, :cond_7a
invoke-virtual {p1, v3, v5, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V
sub-int/2addr v6, v7
goto :goto_a1
:cond_b2
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v7}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_b8
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedShort()I
move-result v8
add-int/lit8 v8, v8, -0x2
if-ltz v8, :cond_10d
const/4 v9, 0x6
new-array v10, v9, [B
if-lt v8, v9, :cond_ea
invoke-virtual {v0, v10}, Ljava/io/DataInputStream;->read([B)I
move-result v11
if-ne v11, v9, :cond_e2
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-static {v10, v11}, Ljava/util/Arrays;->equals([B[B)Z
move-result v11
if-eqz v11, :cond_ea
add-int/lit8 v8, v8, -0x6
invoke-virtual {v0, v8}, Ljava/io/DataInputStream;->skipBytes(I)I
move-result v6
if-ne v6, v8, :cond_dc
goto :goto_7a
:cond_dc
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v7}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_e2
new-instance p1, Ljava/io/IOException;
const-string p2, "Invalid exif"
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_ea
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
add-int/lit8 v6, v8, 0x2
invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
if-lt v8, v9, :cond_fc
add-int/lit8 v8, v8, -0x6
invoke-virtual {p1, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
:cond_fc
:goto_fc
if-lez v8, :cond_7a
invoke-static {v8, p2}, Ljava/lang/Math;->min(II)I
move-result v6
invoke-virtual {v0, v3, v5, v6}, Ljava/io/DataInputStream;->read([BII)I
move-result v6
if-ltz v6, :cond_7a
invoke-virtual {p1, v3, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V
sub-int/2addr v8, v6
goto :goto_fc
:cond_10d
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v7}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_113
invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
invoke-static {v0, p1}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
return-void
:cond_11d
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_123
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
:cond_129
new-instance p1, Ljava/io/IOException;
invoke-direct {p1, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_130
:goto_12f
throw p1
:goto_130
goto :goto_12f
.end method
.method private savePngAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
sget-boolean v0, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v0, :cond_27
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "savePngAttributes 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
:cond_27
new-instance v0, Ljava/io/DataInputStream;
invoke-direct {v0, p1}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
new-instance p1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {p1, p2, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
sget-object p2, Landroidx/exifinterface/media/ExifInterface;->PNG_SIGNATURE:[B
array-length p2, p2
invoke-static {v0, p1, p2}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
iget p2, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
const/4 v1, 0x4
if-nez p2, :cond_4b
invoke-virtual {v0}, Ljava/io/DataInputStream;->readInt()I
move-result p2
invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
add-int/2addr p2, v1
add-int/2addr p2, v1
invoke-static {v0, p1, p2}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
goto :goto_5d
:cond_4b
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->PNG_SIGNATURE:[B
array-length v2, v2
sub-int/2addr p2, v2
sub-int/2addr p2, v1
sub-int/2addr p2, v1
invoke-static {v0, p1, p2}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
invoke-virtual {v0}, Ljava/io/DataInputStream;->readInt()I
move-result p2
add-int/2addr p2, v1
add-int/2addr p2, v1
invoke-virtual {v0, p2}, Ljava/io/DataInputStream;->skipBytes(I)I
:goto_5d
const/4 p2, 0x0
:try_start_5e
new-instance v2, Ljava/io/ByteArrayOutputStream;
invoke-direct {v2}, Ljava/io/ByteArrayOutputStream;-><init>()V
:try_end_63
.catchall {:try_start_5e .. :try_end_63} :catchall_94
:try_start_63
new-instance p2, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
sget-object v3, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {p2, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
invoke-direct {p0, p2}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
iget-object p2, p2, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->mOutputStream:Ljava/io/OutputStream;
check-cast p2, Ljava/io/ByteArrayOutputStream;
invoke-virtual {p2}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p2
invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
new-instance v3, Ljava/util/zip/CRC32;
invoke-direct {v3}, Ljava/util/zip/CRC32;-><init>()V
array-length v4, p2
sub-int/2addr v4, v1
invoke-virtual {v3, p2, v1, v4}, Ljava/util/zip/CRC32;->update([BII)V
invoke-virtual {v3}, Ljava/util/zip/CRC32;->getValue()J
move-result-wide v3
long-to-int p2, v3
invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
:try_end_8a
.catchall {:try_start_63 .. :try_end_8a} :catchall_91
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-static {v0, p1}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
return-void
:catchall_91
move-exception p1
move-object p2, v2
goto :goto_95
:catchall_94
move-exception p1
:goto_95
invoke-static {p2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
throw p1
.end method
.method private saveWebpAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
.registers 22
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v1, p0
move-object/from16 v0, p1
move-object/from16 v2, p2
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_2d
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "saveWebpAttributes starting with (inputStream: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, ", outputStream: "
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, ")"
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
const-string v4, "ExifInterface"
invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_2d
new-instance v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
sget-object v4, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {v3, v0, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;Ljava/nio/ByteOrder;)V
new-instance v4, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
sget-object v5, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {v4, v2, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_1:[B
array-length v2, v2
invoke-static {v3, v4, v2}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
array-length v2, v2
const/4 v5, 0x4
add-int/2addr v2, v5
invoke-virtual {v3, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
const/4 v2, 0x0
:try_start_4a
new-instance v6, Ljava/io/ByteArrayOutputStream;
invoke-direct {v6}, Ljava/io/ByteArrayOutputStream;-><init>()V
:try_end_4f
.catch Ljava/lang/Exception; {:try_start_4a .. :try_end_4f} :catch_205
.catchall {:try_start_4a .. :try_end_4f} :catchall_203
:try_start_4f
new-instance v7, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;
sget-object v8, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-direct {v7, v6, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;-><init>(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V
iget v8, v1, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
if-eqz v8, :cond_79
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_1:[B
array-length v0, v0
add-int/2addr v0, v5
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
array-length v2, v2
add-int/2addr v0, v2
iget v2, v1, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
sub-int/2addr v2, v0
sub-int/2addr v2, v5
sub-int/2addr v2, v5
invoke-static {v3, v7, v2}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
invoke-virtual {v3, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
invoke-virtual {v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
invoke-virtual {v3, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
invoke-direct {v1, v7}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
goto/16 :goto_1db
:cond_79
new-array v8, v5, [B
invoke-virtual {v3, v8}, Ljava/io/InputStream;->read([B)I
move-result v9
if-ne v9, v5, :cond_1f5
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8X:[B
invoke-static {v8, v9}, Ljava/util/Arrays;->equals([B[B)Z
move-result v9
const/16 v10, 0x8
const/4 v11, 0x1
const/4 v12, 0x0
if-eqz v9, :cond_e0
invoke-virtual {v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v8
rem-int/lit8 v9, v8, 0x2
if-ne v9, v11, :cond_98
add-int/lit8 v9, v8, 0x1
goto :goto_99
:cond_98
move v9, v8
:goto_99
new-array v9, v9, [B
invoke-virtual {v3, v9}, Ljava/io/InputStream;->read([B)I
aget-byte v13, v9, v12
or-int/2addr v10, v13
int-to-byte v10, v10
aput-byte v10, v9, v12
aget-byte v10, v9, v12
shr-int/2addr v10, v11
and-int/2addr v10, v11
if-ne v10, v11, :cond_ab
goto :goto_ac
:cond_ab
const/4 v11, 0x0
:goto_ac
sget-object v10, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8X:[B
invoke-virtual {v7, v10}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
invoke-virtual {v7, v9}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
if-eqz v11, :cond_d4
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_ANIM:[B
invoke-direct {v1, v3, v7, v8, v2}, Landroidx/exifinterface/media/ExifInterface;->copyChunksUpToGivenChunkType(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;[B[B)V
:goto_be
new-array v2, v5, [B
invoke-virtual {v0, v2}, Ljava/io/InputStream;->read([B)I
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_ANMF:[B
invoke-static {v2, v8}, Ljava/util/Arrays;->equals([B[B)Z
move-result v8
if-nez v8, :cond_d0
invoke-direct {v1, v7}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
goto/16 :goto_1db
:cond_d0
invoke-direct {v1, v3, v7, v2}, Landroidx/exifinterface/media/ExifInterface;->copyWebPChunk(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;[B)V
goto :goto_be
:cond_d4
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8:[B
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8L:[B
invoke-direct {v1, v3, v7, v0, v2}, Landroidx/exifinterface/media/ExifInterface;->copyChunksUpToGivenChunkType(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;[B[B)V
invoke-direct {v1, v7}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
goto/16 :goto_1db
:cond_e0
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8:[B
invoke-static {v8, v0}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
if-nez v0, :cond_f0
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8L:[B
invoke-static {v8, v0}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
if-eqz v0, :cond_1db
:cond_f0
invoke-virtual {v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
rem-int/lit8 v2, v0, 0x2
if-ne v2, v11, :cond_fb
add-int/lit8 v2, v0, 0x1
goto :goto_fc
:cond_fb
move v2, v0
:goto_fc
const/4 v9, 0x3
new-array v13, v9, [B
sget-object v14, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8:[B
invoke-static {v8, v14}, Ljava/util/Arrays;->equals([B[B)Z
move-result v14
const/16 v15, 0x2f
if-eqz v14, :cond_133
invoke-virtual {v3, v13}, Ljava/io/InputStream;->read([B)I
new-array v11, v9, [B
invoke-virtual {v3, v11}, Ljava/io/InputStream;->read([B)I
move-result v14
if-ne v14, v9, :cond_12b
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->WEBP_VP8_SIGNATURE:[B
invoke-static {v9, v11}, Ljava/util/Arrays;->equals([B[B)Z
move-result v9
if-eqz v9, :cond_12b
invoke-virtual {v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v9
shl-int/lit8 v11, v9, 0x12
shr-int/lit8 v11, v11, 0x12
shl-int/lit8 v14, v9, 0x2
shr-int/lit8 v14, v14, 0x12
add-int/lit8 v2, v2, -0xa
goto :goto_165
:cond_12b
new-instance v0, Ljava/io/IOException;
const-string v2, "Encountered error while checking VP8 signature"
invoke-direct {v0, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_133
sget-object v9, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8L:[B
invoke-static {v8, v9}, Ljava/util/Arrays;->equals([B[B)Z
move-result v9
if-eqz v9, :cond_162
invoke-virtual {v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
move-result v9
if-ne v9, v15, :cond_15a
invoke-virtual {v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v9
shl-int/lit8 v14, v9, 0x12
shr-int/lit8 v14, v14, 0x12
add-int/2addr v14, v11
shl-int/lit8 v16, v9, 0x4
shr-int/lit8 v16, v16, 0x12
add-int/lit8 v11, v16, 0x1
and-int/lit8 v16, v9, 0x8
add-int/lit8 v2, v2, -0x5
move/from16 v18, v14
move v14, v11
move/from16 v11, v18
goto :goto_167
:cond_15a
new-instance v0, Ljava/io/IOException;
const-string v2, "Encountered error while checking VP8L signature"
invoke-direct {v0, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_162
const/4 v9, 0x0
const/4 v11, 0x0
const/4 v14, 0x0
:goto_165
const/16 v16, 0x0
:goto_167
sget-object v15, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8X:[B
invoke-virtual {v7, v15}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
const/16 v15, 0xa
invoke-virtual {v7, v15}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
new-array v15, v15, [B
aget-byte v17, v15, v12
or-int/lit8 v5, v17, 0x8
int-to-byte v5, v5
aput-byte v5, v15, v12
aget-byte v5, v15, v12
const/16 v17, 0x4
shl-int/lit8 v16, v16, 0x4
or-int v5, v5, v16
int-to-byte v5, v5
aput-byte v5, v15, v12
add-int/lit8 v11, v11, -0x1
add-int/lit8 v14, v14, -0x1
int-to-byte v5, v11
aput-byte v5, v15, v17
const/4 v5, 0x5
shr-int/lit8 v12, v11, 0x8
int-to-byte v12, v12
aput-byte v12, v15, v5
const/4 v5, 0x6
shr-int/lit8 v11, v11, 0x10
int-to-byte v11, v11
aput-byte v11, v15, v5
const/4 v5, 0x7
int-to-byte v11, v14
aput-byte v11, v15, v5
shr-int/lit8 v5, v14, 0x8
int-to-byte v5, v5
aput-byte v5, v15, v10
const/16 v5, 0x9
shr-int/lit8 v10, v14, 0x10
int-to-byte v10, v10
aput-byte v10, v15, v5
invoke-virtual {v7, v15}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {v7, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8:[B
invoke-static {v8, v0}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
if-eqz v0, :cond_1c5
invoke-virtual {v7, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_VP8_SIGNATURE:[B
invoke-virtual {v7, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {v7, v9}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
goto :goto_1d5
:cond_1c5
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_VP8L:[B
invoke-static {v8, v0}, Ljava/util/Arrays;->equals([B[B)Z
move-result v0
if-eqz v0, :cond_1d5
const/16 v0, 0x2f
invoke-virtual {v7, v0}, Ljava/io/FilterOutputStream;->write(I)V
invoke-virtual {v7, v9}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
:cond_1d5
:goto_1d5
invoke-static {v3, v7, v2}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;I)V
invoke-direct {v1, v7}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
:cond_1db
:goto_1db
invoke-static {v3, v7}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
invoke-virtual {v6}, Ljava/io/ByteArrayOutputStream;->size()I
move-result v0
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
array-length v2, v2
add-int/2addr v0, v2
invoke-virtual {v4, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
sget-object v0, Landroidx/exifinterface/media/ExifInterface;->WEBP_SIGNATURE_2:[B
invoke-virtual {v4, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {v6, v4}, Ljava/io/ByteArrayOutputStream;->writeTo(Ljava/io/OutputStream;)V
:try_end_1f1
.catch Ljava/lang/Exception; {:try_start_4f .. :try_end_1f1} :catch_200
.catchall {:try_start_4f .. :try_end_1f1} :catchall_1fd
invoke-static {v6}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
return-void
:cond_1f5
:try_start_1f5
new-instance v0, Ljava/io/IOException;
const-string v2, "Encountered invalid length while parsing WebP chunk type"
invoke-direct {v0, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_1fd
.catch Ljava/lang/Exception; {:try_start_1f5 .. :try_end_1fd} :catch_200
.catchall {:try_start_1f5 .. :try_end_1fd} :catchall_1fd
:catchall_1fd
move-exception v0
move-object v2, v6
goto :goto_20e
:catch_200
move-exception v0
move-object v2, v6
goto :goto_206
:catchall_203
move-exception v0
goto :goto_20e
:catch_205
move-exception v0
:goto_206
:try_start_206
new-instance v3, Ljava/io/IOException;
const-string v4, "Failed to save WebP file"
invoke-direct {v3, v4, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v3
:try_end_20e
.catchall {:try_start_206 .. :try_end_20e} :catchall_203
:goto_20e
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_213
:goto_212
throw v0
:goto_213
goto :goto_212
.end method
.method private setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v1, 0x4
aget-object v0, v0, v1
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;
const/4 v2, 0x6
if-eqz v1, :cond_2f
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 v1
iput v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
const/4 v3, 0x1
if-eq v1, v3, :cond_25
if-eq v1, v2, :cond_21
const/4 v2, 0x7
if-eq v1, v2, :cond_25
goto :goto_34
:cond_21
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
goto :goto_34
:cond_25
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isSupportedDataType(Ljava/util/HashMap;)Z
move-result v1
if-eqz v1, :cond_34
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromStrips(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
goto :goto_34
:cond_2f
iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
:cond_34
:goto_34
return-void
.end method
.method public static startsWith([B[B)Z
.registers 6
const/4 v0, 0x0
if-eqz p0, :cond_1b
if-nez p1, :cond_6
goto :goto_1b
:cond_6
array-length v1, p0
array-length v2, p1
if-ge v1, v2, :cond_b
return v0
:cond_b
const/4 v1, 0x0
:goto_c
array-length v2, p1
if-ge v1, v2, :cond_19
aget-byte v2, p0, v1
aget-byte v3, p1, v1
if-eq v2, v3, :cond_16
return v0
:cond_16
add-int/lit8 v1, v1, 0x1
goto :goto_c
:cond_19
const/4 p0, 0x1
return p0
:cond_1b
:goto_1b
return v0
.end method
.method private swapBasedOnImageSize(II)V
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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
:cond_18
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p1
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;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, p1
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;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, p2
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;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v5, v5, p2
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;
if-eqz v0, :cond_7f
if-nez v3, :cond_49
goto :goto_7f
:cond_49
if-eqz v2, :cond_75
if-nez v4, :cond_4e
goto :goto_75
: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 v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v1
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v2
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v4, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v3
if-ge v0, v2, :cond_88
if-ge v1, v3, :cond_88
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v0, p1
aget-object v2, v0, p2
aput-object v2, v0, p1
aput-object v1, v0, p2
goto :goto_88
:cond_75
:goto_75
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_88
const-string p1, "Second image does not contain valid size information"
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_88
:cond_7f
:goto_7f
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_88
const-string p1, "First image does not contain valid size information"
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_88
:goto_88
return-void
:cond_89
:goto_89
sget-boolean p1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz p1, :cond_92
const-string p1, "Cannot perform swap since only one image data exists"
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_92
return-void
.end method
.method private updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v0, p2
const-string v1, "DefaultCropSize"
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;
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
const-string v2, "SensorTopBorder"
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;
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, p2
const-string v3, "SensorLeftBorder"
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;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, p2
const-string v4, "SensorBottomBorder"
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;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v4, p2
const-string v5, "SensorRightBorder"
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;
const-string v5, "ImageLength"
const-string v6, "ImageWidth"
if-eqz v0, :cond_c8
iget p1, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
const/4 v1, 0x5
const/4 v2, 0x1
const/4 v3, 0x0
const/4 v4, 0x2
const-string v7, "Invalid crop size values. cropSize="
const-string v8, "ExifInterface"
if-ne p1, v1, :cond_84
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [Landroidx/exifinterface/media/ExifInterface$Rational;
if-eqz p1, :cond_6d
array-length v0, p1
if-eq v0, v4, :cond_5c
goto :goto_6d
:cond_5c
aget-object v0, p1, v3
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createURational(Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
aget-object p1, p1, v2
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createURational(Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
goto :goto_a2
:cond_6d
:goto_6d
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v8, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_84
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [I
if-eqz p1, :cond_b1
array-length v0, p1
if-eq v0, v4, :cond_92
goto :goto_b1
:cond_92
aget v0, p1, v3
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
aget p1, p1, v2
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
:goto_a2
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
invoke-virtual {v1, v6, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p2, v0, p2
invoke-virtual {p2, v5, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_10c
:cond_b1
:goto_b1
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;
move-result-object p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v8, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_c8
if-eqz v1, :cond_109
if-eqz v2, :cond_109
if-eqz v3, :cond_109
if-eqz v4, :cond_109
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result p1
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v4, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v1
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v2, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v2
if-le v0, p1, :cond_10c
if-le v1, v2, :cond_10c
sub-int/2addr v0, p1
sub-int/2addr v1, v2
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v1, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v1, v1, p2
invoke-virtual {v1, v5, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object p1, p1, p2
invoke-virtual {p1, v6, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_10c
:cond_109
invoke-direct {p0, p1, p2}, Landroidx/exifinterface/media/ExifInterface;->retrieveJpegImageSize(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V
:cond_10c
:goto_10c
return-void
.end method
.method private validateImages()V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x5
invoke-direct {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V
const/4 v2, 0x4
invoke-direct {p0, v0, v2}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V
invoke-direct {p0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v4, 0x1
aget-object v3, v3, v4
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;
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v4, v5, v4
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;
if-eqz v3, :cond_3b
if-eqz v4, :cond_3b
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;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v0, v3, v0
const-string v3, "ImageLength"
invoke-virtual {v0, v3, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
: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
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
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v0, v1
aput-object v3, v0, v2
new-instance v3, Ljava/util/HashMap;
invoke-direct {v3}, Ljava/util/HashMap;-><init>()V
aput-object v3, v0, v1
: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
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
:cond_6d
return-void
.end method
.method private writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;)I
.registers 18
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
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
array-length v2, v2
new-array v2, v2, [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
iget-object v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
invoke-direct {v0, v8}, Landroidx/exifinterface/media/ExifInterface;->removeAttribute(Ljava/lang/String;)V
add-int/lit8 v7, v7, 0x1
goto :goto_11
: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
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
const/4 v4, 0x0
: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_5c
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_59
aget-object v9, v5, v8
check-cast v9, Ljava/util/Map$Entry;
invoke-interface {v9}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v10
if-nez v10, :cond_56
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v10, v10, v4
invoke-interface {v9}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v9
invoke-virtual {v10, v9}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:cond_56
add-int/lit8 v8, v8, 0x1
goto :goto_3f
:cond_59
add-int/lit8 v4, v4, 0x1
goto :goto_2c
:cond_5c
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_7c
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;
invoke-static {v7, v8, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v10
invoke-virtual {v4, v9, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_7c
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_9a
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;
invoke-static {v7, v8, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v11
invoke-virtual {v4, v10, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_9a
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_b8
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;
invoke-static {v7, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v12
invoke-virtual {v4, v11, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_b8
iget-boolean v4, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v11, 0x4
if-eqz v4, :cond_e2
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;
invoke-static {v7, v8, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
invoke-virtual {v4, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
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;
invoke-static {v13, v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v13
invoke-virtual {v4, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_e2
const/4 v4, 0x0
:goto_e3
sget-object v12, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v12, v12
if-ge v4, v12, :cond_117
iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v12, v4
invoke-virtual {v12}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v12
invoke-interface {v12}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v12
const/4 v13, 0x0
:cond_f5
:goto_f5
invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
move-result v14
if-eqz v14, :cond_10f
invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v14
check-cast v14, Ljava/util/Map$Entry;
invoke-interface {v14}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v14
check-cast v14, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
invoke-virtual {v14}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->size()I
move-result v14
if-le v14, v11, :cond_f5
add-int/2addr v13, v14
goto :goto_f5
:cond_10f
aget v12, v2, v4
add-int/2addr v12, v13
aput v12, v2, v4
add-int/lit8 v4, v4, 0x1
goto :goto_e3
:cond_117
const/16 v4, 0x8
const/4 v12, 0x0
:goto_11a
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v13, v13
if-ge v12, v13, :cond_13e
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v13, v13, v12
invoke-virtual {v13}, Ljava/util/HashMap;->isEmpty()Z
move-result v13
if-nez v13, :cond_13b
aput v4, v3, v12
iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v13, v13, v12
invoke-virtual {v13}, Ljava/util/HashMap;->size()I
move-result v13
mul-int/lit8 v13, v13, 0xc
add-int/2addr v13, v9
add-int/2addr v13, v11
aget v14, v2, v12
add-int/2addr v13, v14
add-int/2addr v4, v13
:cond_13b
add-int/lit8 v12, v12, 0x1
goto :goto_11a
:cond_13e
iget-boolean v12, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-eqz v12, :cond_159
iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v12, v11
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag;
iget-object v13, v13, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
int-to-long v14, v4
iget-object v7, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v14, v15, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v7
invoke-virtual {v12, v13, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iput v4, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
iget v7, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
add-int/2addr v4, v7
:cond_159
iget v7, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
if-ne v7, v11, :cond_15f
add-int/lit8 v4, v4, 0x8
:cond_15f
sget-boolean v7, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v7, :cond_1a4
const/4 v7, 0x0
:goto_164
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v8, v8
if-ge v7, v8, :cond_1a4
const/4 v8, 0x5
new-array v8, v8, [Ljava/lang/Object;
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v6
aget v12, v3, v7
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v5
iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v12, v12, v7
invoke-virtual {v12}, Ljava/util/HashMap;->size()I
move-result v12
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v9
aget v12, v2, v7
invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v10
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v12
aput-object v12, v8, v11
const-string v12, "index: %d, offsets: %d, tag count: %d, data sizes: %d, total size: %d"
invoke-static {v12, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)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
add-int/lit8 v7, v7, 0x1
goto :goto_164
:cond_1a4
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v5
invoke-virtual {v2}, Ljava/util/HashMap;->isEmpty()Z
move-result v2
if-nez v2, :cond_1c4
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v6
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v7, v7, v5
iget-object v7, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
aget v8, v3, v5
int-to-long v12, v8
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v12, v13, v8}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v8
invoke-virtual {v2, v7, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_1c4
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v9
invoke-virtual {v2}, Ljava/util/HashMap;->isEmpty()Z
move-result v2
if-nez v2, :cond_1e4
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v6
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v7, v7, v9
iget-object v7, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
aget v8, v3, v9
int-to-long v12, v8
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v12, v13, v8}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v8
invoke-virtual {v2, v7, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_1e4
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v10
invoke-virtual {v2}, Ljava/util/HashMap;->isEmpty()Z
move-result v2
if-nez v2, :cond_204
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v2, v2, v5
sget-object v7, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag;
aget-object v7, v7, v10
iget-object v7, v7, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String;
aget v8, v3, v10
int-to-long v12, v8
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v12, v13, v8}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v8
invoke-virtual {v2, v7, v8}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_204
iget v2, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/16 v7, 0xe
if-eq v2, v11, :cond_223
const/16 v8, 0xd
if-eq v2, v8, :cond_21a
if-eq v2, v7, :cond_211
goto :goto_22b
:cond_211
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->WEBP_CHUNK_TYPE_EXIF:[B
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
goto :goto_22b
:cond_21a
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->PNG_CHUNK_TYPE_EXIF:[B
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
goto :goto_22b
:cond_223
invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
:goto_22b
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
sget-object v8, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v2, v8, :cond_234
const/16 v2, 0x4d4d
goto :goto_236
:cond_234
const/16 v2, 0x4949
:goto_236
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeShort(S)V
iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
const/16 v2, 0x2a
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
const-wide/16 v12, 0x8
invoke-virtual {v1, v12, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
const/4 v2, 0x0
:goto_249
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v8, v8
if-ge v2, v8, :cond_310
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v2
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_30a
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v2
invoke-virtual {v8}, Ljava/util/HashMap;->size()I
move-result v8
invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
aget v8, v3, v2
add-int/2addr v8, v9
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v10, v10, v2
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
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v10, v10, v2
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
:cond_27e
:goto_27e
invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
move-result v12
if-eqz v12, :cond_2c8
invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v12
check-cast v12, Ljava/util/Map$Entry;
sget-object v13, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
aget-object v13, v13, v2
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;
iget v13, v13, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I
invoke-interface {v12}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v12
check-cast v12, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
invoke-virtual {v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->size()I
move-result v14
invoke-virtual {v1, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
iget v13, v12, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
invoke-virtual {v1, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V
iget v13, v12, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->numberOfComponents:I
invoke-virtual {v1, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V
if-le v14, v11, :cond_2b9
int-to-long v12, v8
invoke-virtual {v1, v12, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
add-int/2addr v8, v14
goto :goto_27e
:cond_2b9
iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
invoke-virtual {v1, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
if-ge v14, v11, :cond_27e
:goto_2c0
if-ge v14, v11, :cond_27e
invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
add-int/lit8 v14, v14, 0x1
goto :goto_2c0
:cond_2c8
if-nez v2, :cond_2dd
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v11
invoke-virtual {v8}, Ljava/util/HashMap;->isEmpty()Z
move-result v8
if-nez v8, :cond_2dd
aget v8, v3, v11
int-to-long v12, v8
invoke-virtual {v1, v12, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
const-wide/16 v12, 0x0
goto :goto_2e2
:cond_2dd
const-wide/16 v12, 0x0
invoke-virtual {v1, v12, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V
:goto_2e2
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v2
invoke-virtual {v8}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v8
invoke-interface {v8}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v8
:cond_2ee
:goto_2ee
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v10
if-eqz v10, :cond_30c
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v10
check-cast v10, Ljava/util/Map$Entry;
invoke-interface {v10}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v10
check-cast v10, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v10, v10, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
array-length v14, v10
if-le v14, v11, :cond_2ee
array-length v14, v10
invoke-virtual {v1, v10, v6, v14}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V
goto :goto_2ee
:cond_30a
const-wide/16 v12, 0x0
:cond_30c
add-int/lit8 v2, v2, 0x1
goto/16 :goto_249
:cond_310
iget-boolean v2, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-eqz v2, :cond_31b
invoke-virtual/range {p0 .. p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B
move-result-object v2
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V
:cond_31b
iget v2, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
if-ne v2, v7, :cond_326
rem-int/lit8 v2, v4, 0x2
if-ne v2, v5, :cond_326
invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V
:cond_326
sget-object v2, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
return v4
.end method
# virtual methods
.method public flipHorizontally()V
.registers 4
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 v2
packed-switch v2, :pswitch_data_22
const/4 v0, 0x0
goto :goto_1a
:pswitch_c
const/4 v0, 0x7
goto :goto_1a
:pswitch_e
const/16 v0, 0x8
goto :goto_1a
:pswitch_11
const/4 v0, 0x5
goto :goto_1a
:pswitch_13
const/4 v0, 0x6
goto :goto_1a
:pswitch_15
const/4 v0, 0x3
goto :goto_1a
:pswitch_17
const/4 v0, 0x4
goto :goto_1a
:pswitch_19
const/4 v0, 0x2
:goto_1a
:pswitch_1a
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
:pswitch_data_22
.packed-switch 0x1
:pswitch_19
:pswitch_1a
:pswitch_17
:pswitch_15
:pswitch_13
:pswitch_11
:pswitch_e
:pswitch_c
.end packed-switch
.end method
.method public flipVertically()V
.registers 4
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 v2
packed-switch v2, :pswitch_data_22
const/4 v0, 0x0
goto :goto_1a
:pswitch_c
const/4 v0, 0x5
goto :goto_1a
:pswitch_e
const/4 v0, 0x6
goto :goto_1a
:pswitch_10
const/4 v0, 0x7
goto :goto_1a
:pswitch_12
const/16 v0, 0x8
goto :goto_1a
:pswitch_15
const/4 v0, 0x2
goto :goto_1a
:pswitch_17
const/4 v0, 0x3
goto :goto_1a
:pswitch_19
const/4 v0, 0x4
:goto_1a
:pswitch_1a
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
:pswitch_data_22
.packed-switch 0x1
:pswitch_19
:pswitch_17
:pswitch_15
:pswitch_1a
:pswitch_12
:pswitch_10
:pswitch_e
:pswitch_c
.end packed-switch
.end method
.method public getAltitude(D)D
.registers 10
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
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
const-wide/16 v4, 0x0
cmpl-double v6, v0, v4
if-ltz v6, :cond_23
if-ltz v3, :cond_23
const/4 p1, 0x1
if-ne v3, p1, :cond_1b
goto :goto_1c
:cond_1b
const/4 v2, 0x1
:goto_1c
int-to-double p1, v2
invoke-static {p1, p2}, Ljava/lang/Double;->isNaN(D)Z
mul-double v0, v0, p1
return-wide v0
:cond_23
return-wide p1
.end method
.method public getAttribute(Ljava/lang/String;)Ljava/lang/String;
.registers 7
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-eqz p1, :cond_b8
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v0
const/4 v1, 0x0
if-eqz v0, :cond_b7
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
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
move-result-object p1
return-object p1
:cond_18
const-string v2, "GPSTimeStamp"
invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_ac
iget p1, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
const/4 v2, 0x5
const-string v3, "ExifInterface"
if-eq p1, v2, :cond_42
const/16 v2, 0xa
if-eq p1, v2, :cond_42
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "GPS Timestamp format is not rational. format="
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v0, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v3, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-object v1
:cond_42
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [Landroidx/exifinterface/media/ExifInterface$Rational;
if-eqz p1, :cond_93
array-length v0, p1
const/4 v2, 0x3
if-eq v0, v2, :cond_51
goto :goto_93
:cond_51
new-array v0, v2, [Ljava/lang/Object;
const/4 v1, 0x0
aget-object v2, p1, v1
iget-wide v2, v2, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J
long-to-float v2, v2
aget-object v3, p1, v1
iget-wide v3, v3, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J
long-to-float v3, v3
div-float/2addr v2, v3
float-to-int v2, v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v1
const/4 v1, 0x1
aget-object v2, p1, v1
iget-wide v2, v2, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J
long-to-float v2, v2
aget-object v3, p1, v1
iget-wide v3, v3, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J
long-to-float v3, v3
div-float/2addr v2, v3
float-to-int v2, v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v1
const/4 v1, 0x2
aget-object v2, p1, v1
iget-wide v2, v2, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J
long-to-float v2, v2
aget-object p1, p1, v1
iget-wide v3, p1, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J
long-to-float p1, v3
div-float/2addr v2, p1
float-to-int p1, v2
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v0, v1
const-string p1, "%02d:%02d:%02d"
invoke-static {p1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
return-object p1
:cond_93
:goto_93
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid GPS Timestamp array. array="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v3, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-object v1
:cond_ac
:try_start_ac
iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v0, p1}, 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 p1
:try_end_b6
.catch Ljava/lang/NumberFormatException; {:try_start_ac .. :try_end_b6} :catch_b7
return-object p1
:catch_b7
:cond_b7
return-object v1
:cond_b8
new-instance p1, Ljava/lang/NullPointerException;
const-string/jumbo v0, "tag shouldn\'t be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAttributeBytes(Ljava/lang/String;)[B
.registers 3
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-eqz p1, :cond_d
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
if-eqz p1, :cond_b
iget-object p1, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
return-object p1
:cond_b
const/4 p1, 0x0
return-object p1
:cond_d
new-instance p1, Ljava/lang/NullPointerException;
const-string/jumbo v0, "tag shouldn\'t be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAttributeDouble(Ljava/lang/String;D)D
.registers 5
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
if-eqz p1, :cond_11
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
if-nez p1, :cond_9
return-wide p2
:cond_9
:try_start_9
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getDoubleValue(Ljava/nio/ByteOrder;)D
move-result-wide p1
:try_end_f
.catch Ljava/lang/NumberFormatException; {:try_start_9 .. :try_end_f} :catch_10
return-wide p1
:catch_10
return-wide p2
:cond_11
new-instance p1, Ljava/lang/NullPointerException;
const-string/jumbo p2, "tag shouldn\'t be null"
invoke-direct {p1, p2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAttributeInt(Ljava/lang/String;I)I
.registers 4
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
if-eqz p1, :cond_11
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
if-nez p1, :cond_9
return p2
:cond_9
:try_start_9
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result p1
:try_end_f
.catch Ljava/lang/NumberFormatException; {:try_start_9 .. :try_end_f} :catch_10
return p1
:catch_10
return p2
:cond_11
new-instance p1, Ljava/lang/NullPointerException;
const-string/jumbo p2, "tag shouldn\'t be null"
invoke-direct {p1, p2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAttributeRange(Ljava/lang/String;)[J
.registers 6
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-eqz p1, :cond_26
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mModified:Z
if-nez v0, :cond_1e
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
if-eqz p1, :cond_1c
const/4 v0, 0x2
new-array v0, v0, [J
const/4 v1, 0x0
iget-wide v2, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytesOffset:J
aput-wide v2, v0, v1
const/4 v1, 0x1
iget-object p1, p1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B
array-length p1, p1
int-to-long v2, p1
aput-wide v2, v0, v1
return-object v0
:cond_1c
const/4 p1, 0x0
return-object p1
:cond_1e
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "The underlying file has been modified since being parsed"
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_26
new-instance p1, Ljava/lang/NullPointerException;
const-string/jumbo v0, "tag shouldn\'t be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getDateTime()Ljava/lang/Long;
.registers 4
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
const-string v0, "DateTime"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "SubSecTime"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "OffsetTime"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-static {v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public getDateTimeDigitized()Ljava/lang/Long;
.registers 4
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
const-string v0, "DateTimeDigitized"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "SubSecTimeDigitized"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "OffsetTimeDigitized"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-static {v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public getDateTimeOriginal()Ljava/lang/Long;
.registers 4
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
const-string v0, "DateTimeOriginal"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "SubSecTimeOriginal"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "OffsetTimeOriginal"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-static {v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->parseDateTime(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public getGpsDateTime()Ljava/lang/Long;
.registers 5
.annotation build Landroid/annotation/SuppressLint;
value = {
"AutoBoxing"
}
.end annotation
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "GPSDateStamp"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "GPSTimeStamp"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
if-eqz v0, :cond_56
if-eqz v1, :cond_56
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
invoke-virtual {v3, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
invoke-virtual {v3}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-nez v3, :cond_2a
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern;
invoke-virtual {v3, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
invoke-virtual {v3}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-nez v3, :cond_2a
goto :goto_56
:cond_2a
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x20
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/text/ParsePosition;
const/4 v3, 0x0
invoke-direct {v1, v3}, Ljava/text/ParsePosition;-><init>(I)V
:try_start_44
sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
invoke-virtual {v3, v0, v1}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
move-result-object v0
if-nez v0, :cond_4d
return-object v2
:cond_4d
invoke-virtual {v0}, Ljava/util/Date;->getTime()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
:try_end_55
.catch Ljava/lang/IllegalArgumentException; {:try_start_44 .. :try_end_55} :catch_56
return-object v0
:catch_56
:cond_56
:goto_56
return-object v2
.end method
.method public getLatLong([F)Z
.registers 6
.annotation runtime Ljava/lang/Deprecated;
.end annotation
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getLatLong()[D
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_8
return v1
:cond_8
aget-wide v2, v0, v1
double-to-float v2, v2
aput v2, p1, v1
const/4 v1, 0x1
aget-wide v2, v0, v1
double-to-float v0, v2
aput v0, p1, v1
return v1
.end method
.method public getLatLong()[D
.registers 13
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "GPSLatitude"
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "GPSLatitudeRef"
invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "GPSLongitude"
invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "GPSLongitudeRef"
invoke-virtual {p0, v3}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-eqz v0, :cond_5a
if-eqz v1, :cond_5a
if-eqz v2, :cond_5a
if-eqz v3, :cond_5a
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
invoke-static {v2, v3}, Landroidx/exifinterface/media/ExifInterface;->convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D
move-result-wide v9
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
:catch_32
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Latitude/longitude values are not parsable. "
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v8, 0x4
new-array v8, v8, [Ljava/lang/Object;
aput-object v0, v8, v6
aput-object v1, v8, v5
aput-object v2, v8, v4
const/4 v0, 0x3
aput-object v3, v8, v0
const-string v0, "latValue=%s, latRef=%s, lngValue=%s, lngRef=%s"
invoke-static {v0, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "ExifInterface"
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_5a
const/4 v0, 0x0
return-object v0
.end method
.method public getRotationDegrees()I
.registers 3
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
packed-switch v0, :pswitch_data_16
const/4 v0, 0x0
return v0
:pswitch_c
const/16 v0, 0x5a
return v0
:pswitch_f
const/16 v0, 0x10e
return v0
:pswitch_12
const/16 v0, 0xb4
return v0
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
.annotation build Landroidx/annotation/Nullable;
.end annotation
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
:cond_9
const/4 v0, 0x0
return-object v0
: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 10
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v1, 0x0
if-nez v0, :cond_6
return-object v1
:cond_6
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
if-nez v0, :cond_10
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B
move-result-object v0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
:cond_10
iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I
const/4 v2, 0x6
const/4 v3, 0x0
if-eq v0, v2, :cond_72
const/4 v2, 0x7
if-ne v0, v2, :cond_1a
goto :goto_72
:cond_1a
const/4 v2, 0x1
if-ne v0, v2, :cond_71
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
array-length v0, v0
div-int/lit8 v0, v0, 0x3
new-array v2, v0, [I
const/4 v4, 0x0
:goto_25
if-ge v4, v0, :cond_41
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
mul-int/lit8 v6, v4, 0x3
aget-byte v7, v5, v6
shl-int/lit8 v7, v7, 0x10
add-int/2addr v7, v3
add-int/lit8 v8, v6, 0x1
aget-byte v8, v5, v8
shl-int/lit8 v8, v8, 0x8
add-int/2addr v7, v8
add-int/lit8 v6, v6, 0x2
aget-byte v5, v5, v6
add-int/2addr v7, v5
aput v7, v2, v4
add-int/lit8 v4, v4, 0x1
goto :goto_25
:cond_41
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
const/4 v3, 0x4
aget-object v0, v0, v3
const-string v4, "ImageLength"
invoke-virtual {v0, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v4, v3
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;
if-eqz v0, :cond_71
if-eqz v3, :cond_71
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 v0
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
move-result v1
sget-object v3, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v2, v1, v0, v3}, Landroid/graphics/Bitmap;->createBitmap([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
:cond_71
return-object v1
:cond_72
:goto_72
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
invoke-static {v0, v3, v1}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public getThumbnailBytes()[B
.registers 12
.annotation build Landroidx/annotation/Nullable;
.end annotation
const-string v0, "ExifInterface"
iget-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v2, 0x0
if-nez v1, :cond_8
return-object v2
:cond_8
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
if-eqz v1, :cond_d
return-object v1
:cond_d
:try_start_d
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
if-eqz v1, :cond_30
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream;
:try_end_13
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_13} :catch_ad
.catchall {:try_start_d .. :try_end_13} :catchall_aa
:try_start_13
invoke-virtual {v1}, Ljava/io/InputStream;->markSupported()Z
move-result v3
if-eqz v3, :cond_1e
invoke-virtual {v1}, Ljava/io/InputStream;->reset()V
:goto_1c
move-object v3, v2
goto :goto_67
:cond_1e
const-string v3, "Cannot read thumbnail from inputstream without mark/reset support"
invoke-static {v0, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_23
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_23} :catch_2b
.catchall {:try_start_13 .. :try_end_23} :catchall_27
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
return-object v2
:catchall_27
move-exception v0
move-object v3, v2
goto/16 :goto_c0
:catch_2b
move-exception v3
move-object v4, v3
move-object v3, v2
goto/16 :goto_b1
:cond_30
:try_start_30
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v1, :cond_3c
new-instance v1, Ljava/io/FileInputStream;
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-direct {v1, v3}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
goto :goto_1c
:cond_3c
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x15
if-lt v1, v3, :cond_65
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v1, :cond_65
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-static {v1}, Landroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
move-result-object v1
:try_end_4c
.catch Ljava/lang/Exception; {:try_start_30 .. :try_end_4c} :catch_ad
.catchall {:try_start_30 .. :try_end_4c} :catchall_aa
const-wide/16 v3, 0x0
:try_start_4e
sget v5, Landroid/system/OsConstants;->SEEK_SET:I
invoke-static {v1, v3, v4, v5}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, v1}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
:try_end_58
.catch Ljava/lang/Exception; {:try_start_4e .. :try_end_58} :catch_60
.catchall {:try_start_4e .. :try_end_58} :catchall_5c
move-object v10, v3
move-object v3, v1
move-object v1, v10
goto :goto_67
:catchall_5c
move-exception v0
move-object v3, v1
goto/16 :goto_c1
:catch_60
move-exception v3
move-object v4, v3
move-object v3, v1
move-object v1, v2
goto :goto_b1
:cond_65
move-object v1, v2
move-object v3, v1
:goto_67
if-eqz v1, :cond_a4
:try_start_69
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
iget v5, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
add-int/2addr v4, v5
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
iget v7, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
:try_end_77
.catch Ljava/lang/Exception; {:try_start_69 .. :try_end_77} :catch_a2
.catchall {:try_start_69 .. :try_end_77} :catchall_bf
add-int/2addr v6, v7
int-to-long v6, v6
const-string v8, "Corrupted image"
cmp-long v9, v4, v6
if-nez v9, :cond_9c
:try_start_7f
iget v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I
new-array v4, v4, [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_96
iput-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
:try_end_8d
.catch Ljava/lang/Exception; {:try_start_7f .. :try_end_8d} :catch_a2
.catchall {:try_start_7f .. :try_end_8d} :catchall_bf
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
if-eqz v3, :cond_95
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
:cond_95
return-object v4
:cond_96
:try_start_96
new-instance v4, Ljava/io/IOException;
invoke-direct {v4, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v4
:cond_9c
new-instance v4, Ljava/io/IOException;
invoke-direct {v4, v8}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v4
:catch_a2
move-exception v4
goto :goto_b1
:cond_a4
new-instance v4, Ljava/io/FileNotFoundException;
invoke-direct {v4}, Ljava/io/FileNotFoundException;-><init>()V
throw v4
:try_end_aa
.catch Ljava/lang/Exception; {:try_start_96 .. :try_end_aa} :catch_a2
.catchall {:try_start_96 .. :try_end_aa} :catchall_bf
:catchall_aa
move-exception v0
move-object v3, v2
goto :goto_c1
:catch_ad
move-exception v3
move-object v1, v2
move-object v4, v3
move-object v3, v1
:goto_b1
:try_start_b1
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_b6
.catchall {:try_start_b1 .. :try_end_b6} :catchall_bf
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
if-eqz v3, :cond_be
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
:cond_be
return-object v2
:catchall_bf
move-exception v0
:goto_c0
move-object v2, v1
:goto_c1
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
if-eqz v3, :cond_c9
invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeFileDescriptor(Ljava/io/FileDescriptor;)V
:cond_c9
goto :goto_cb
:goto_ca
throw v0
:goto_cb
goto :goto_ca
.end method
.method public getThumbnailRange()[J
.registers 5
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mModified:Z
if-nez v0, :cond_26
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v1, 0x0
if-eqz v0, :cond_25
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnailStrips:Z
if-eqz v0, :cond_12
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAreThumbnailStripsConsecutive:Z
if-nez v0, :cond_12
return-object v1
:cond_12
const/4 v0, 0x2
new-array v0, v0, [J
const/4 v1, 0x0
iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I
iget v3, p0, Landroidx/exifinterface/media/ExifInterface;->mOffsetToExifData:I
add-int/2addr v2, v3
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
:cond_25
return-object v1
:cond_26
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 2
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object p1
if-eqz p1, :cond_8
const/4 p1, 0x1
goto :goto_9
:cond_8
const/4 p1, 0x0
:goto_9
return p1
.end method
.method public hasThumbnail()Z
.registers 2
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
return v0
.end method
.method public isFlipped()Z
.registers 4
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
const/4 v2, 0x2
if-eq v1, v2, :cond_14
const/4 v2, 0x7
if-eq v1, v2, :cond_14
const/4 v2, 0x4
if-eq v1, v2, :cond_14
const/4 v2, 0x5
if-eq v1, v2, :cond_14
const/4 v0, 0x0
:cond_14
return v0
.end method
.method public isThumbnailCompressed()Z
.registers 4
iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
: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
:cond_f
return v1
:cond_10
:goto_10
const/4 v0, 0x1
return v0
.end method
.method public resetOrientation()V
.registers 3
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
return-void
.end method
.method public rotate(I)V
.registers 8
rem-int/lit8 v0, p1, 0x5a
if-nez v0, :cond_6a
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
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
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 v0
invoke-interface {v2, v0}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I
move-result v0
div-int/lit8 p1, p1, 0x5a
add-int/2addr v0, p1
rem-int/2addr v0, v4
if-gez v0, :cond_2a
const/4 v3, 0x4
:cond_2a
add-int/2addr v0, v3
sget-object p1, Landroidx/exifinterface/media/ExifInterface;->ROTATION_ORDER:Ljava/util/List;
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result v3
goto :goto_62
: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_62
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 v0
invoke-interface {v2, v0}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I
move-result v0
div-int/lit8 p1, p1, 0x5a
add-int/2addr v0, p1
rem-int/2addr v0, v4
if-gez v0, :cond_55
const/4 v3, 0x4
:cond_55
add-int/2addr v0, v3
sget-object p1, Landroidx/exifinterface/media/ExifInterface;->FLIPPED_ROTATION_ORDER:Ljava/util/List;
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result v3
:cond_62
:goto_62
invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, v1, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_6a
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "degree should be a multiple of 90"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public saveAttributes()V
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->isSupportedFormatForSavingAttributes()Z
move-result v0
if-eqz v0, :cond_18b
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-nez v0, :cond_17
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v0, :cond_f
goto :goto_17
:cond_f
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
:cond_17
:goto_17
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mModified:Z
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnail()[B
move-result-object v0
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
const/4 v1, 0x0
if-eqz v0, :cond_2d
new-instance v0, Ljava/io/File;
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
goto :goto_2e
:cond_2d
move-object v0, v1
:goto_2e
:try_start_2e
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
const-wide/16 v3, 0x0
const/16 v5, 0x15
if-eqz v2, :cond_8f
invoke-virtual {v0}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v6
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v8
invoke-virtual {v8}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, "_"
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 v7
new-instance v8, Ljava/io/File;
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-direct {v8, v2, v6}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v2
if-eqz v2, :cond_74
move-object v2, v1
move-object v6, v2
goto :goto_c9
:cond_74
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Couldn\'t rename to "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/io/File;->getAbsolutePath()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 {v0, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_8f
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v2, v5, :cond_c6
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v2, :cond_c6
const-string/jumbo v2, "temp"
const-string/jumbo v6, "tmp"
invoke-static {v2, v6}, Ljava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
move-result-object v8
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
sget v6, Landroid/system/OsConstants;->SEEK_SET:I
invoke-static {v2, v3, v4, v6}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
new-instance v2, Ljava/io/FileInputStream;
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-direct {v2, v6}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
:try_end_af
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_af} :catch_179
.catchall {:try_start_2e .. :try_end_af} :catchall_176
:try_start_af
new-instance v6, Ljava/io/FileOutputStream;
invoke-direct {v6, v8}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_b4
.catch Ljava/lang/Exception; {:try_start_af .. :try_end_b4} :catch_c1
.catchall {:try_start_af .. :try_end_b4} :catchall_bc
:try_start_b4
invoke-static {v2, v6}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
:try_end_b7
.catch Ljava/lang/Exception; {:try_start_b4 .. :try_end_b7} :catch_ba
.catchall {:try_start_b4 .. :try_end_b7} :catchall_b8
goto :goto_c9
:catchall_b8
move-exception v0
goto :goto_be
:catch_ba
move-exception v0
goto :goto_c3
:catchall_bc
move-exception v0
move-object v6, v1
:goto_be
move-object v1, v2
goto/16 :goto_184
:catch_c1
move-exception v0
move-object v6, v1
:goto_c3
move-object v1, v2
goto/16 :goto_17b
:cond_c6
move-object v2, v1
move-object v6, v2
move-object v8, v6
:goto_c9
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-static {v6}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
:try_start_cf
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, v8}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v6, :cond_e0
new-instance v3, Ljava/io/FileOutputStream;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
invoke-direct {v3, v4}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
goto :goto_f8
:cond_e0
sget v6, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v6, v5, :cond_f7
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
if-eqz v5, :cond_f7
iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
sget v6, Landroid/system/OsConstants;->SEEK_SET:I
invoke-static {v5, v3, v4, v6}, Landroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
new-instance v3, Ljava/io/FileOutputStream;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mSeekableFileDescriptor:Ljava/io/FileDescriptor;
invoke-direct {v3, v4}, Ljava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
goto :goto_f8
:cond_f7
move-object v3, v1
:goto_f8
new-instance v4, Ljava/io/BufferedInputStream;
invoke-direct {v4, v2}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_fd
.catch Ljava/lang/Exception; {:try_start_cf .. :try_end_fd} :catch_13b
.catchall {:try_start_cf .. :try_end_fd} :catchall_138
:try_start_fd
new-instance v2, Ljava/io/BufferedOutputStream;
invoke-direct {v2, v3}, Ljava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_102
.catch Ljava/lang/Exception; {:try_start_fd .. :try_end_102} :catch_133
.catchall {:try_start_fd .. :try_end_102} :catchall_12f
:try_start_102
iget v3, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/4 v5, 0x4
if-ne v3, v5, :cond_10b
invoke-direct {p0, v4, v2}, Landroidx/exifinterface/media/ExifInterface;->saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
goto :goto_11e
:cond_10b
iget v3, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/16 v5, 0xd
if-ne v3, v5, :cond_115
invoke-direct {p0, v4, v2}, Landroidx/exifinterface/media/ExifInterface;->savePngAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
goto :goto_11e
:cond_115
iget v3, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I
const/16 v5, 0xe
if-ne v3, v5, :cond_11e
invoke-direct {p0, v4, v2}, Landroidx/exifinterface/media/ExifInterface;->saveWebpAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V
:try_end_11e
.catch Ljava/lang/Exception; {:try_start_102 .. :try_end_11e} :catch_12c
.catchall {:try_start_102 .. :try_end_11e} :catchall_12a
:cond_11e
:goto_11e
invoke-static {v4}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-virtual {v8}, Ljava/io/File;->delete()Z
iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B
return-void
:catchall_12a
move-exception v0
goto :goto_131
:catch_12c
move-exception v1
move-object v3, v1
goto :goto_136
:catchall_12f
move-exception v0
move-object v2, v1
:goto_131
move-object v1, v4
goto :goto_16c
:catch_133
move-exception v2
move-object v3, v2
move-object v2, v1
:goto_136
move-object v1, v4
goto :goto_13e
:catchall_138
move-exception v0
move-object v2, v1
goto :goto_16c
:catch_13b
move-exception v2
move-object v3, v2
move-object v2, v1
:goto_13e
:try_start_13e
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String;
if-eqz v4, :cond_163
invoke-virtual {v8, v0}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v4
if-nez v4, :cond_163
new-instance v3, Ljava/io/IOException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Couldn\'t restore original file: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v3
:cond_163
new-instance v0, Ljava/io/IOException;
const-string v4, "Failed to save new file"
invoke-direct {v0, v4, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:try_end_16b
.catchall {:try_start_13e .. :try_end_16b} :catchall_16b
:catchall_16b
move-exception v0
:goto_16c
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-virtual {v8}, Ljava/io/File;->delete()Z
throw v0
:catchall_176
move-exception v0
move-object v6, v1
goto :goto_184
:catch_179
move-exception v0
move-object v6, v1
:goto_17b
:try_start_17b
new-instance v2, Ljava/io/IOException;
const-string v3, "Failed to copy original file to temp file"
invoke-direct {v2, v3, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:try_end_183
.catchall {:try_start_17b .. :try_end_183} :catchall_183
:catchall_183
move-exception v0
:goto_184
invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
invoke-static {v6}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V
throw v0
:cond_18b
new-instance v0, Ljava/io/IOException;
const-string v1, "ExifInterface only supports saving attributes on JPEG, PNG, or WebP formats."
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setAltitude(D)V
.registers 6
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"
:goto_b
new-instance v1, Landroidx/exifinterface/media/ExifInterface$Rational;
invoke-static {p1, p2}, Ljava/lang/Math;->abs(D)D
move-result-wide p1
invoke-direct {v1, p1, p2}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(D)V
invoke-virtual {v1}, Landroidx/exifinterface/media/ExifInterface$Rational;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "GPSAltitude"
invoke-virtual {p0, p2, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
const-string p1, "GPSAltitudeRef"
invoke-virtual {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public setAttribute(Ljava/lang/String;Ljava/lang/String;)V
.registers 20
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
if-eqz v1, :cond_325
const-string v3, "ISOSpeedRatings"
invoke-virtual {v3, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
const-string v4, "ExifInterface"
if-eqz v3, :cond_1d
sget-boolean v1, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v1, :cond_1b
const-string v1, "setAttribute: Replacing TAG_ISO_SPEED_RATINGS with TAG_PHOTOGRAPHIC_SENSITIVITY."
invoke-static {v4, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_1b
const-string v1, "PhotographicSensitivity"
:cond_1d
const/4 v3, 0x2
const/4 v5, 0x1
if-eqz v2, :cond_ba
sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet;
invoke-virtual {v6, v1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_ba
const-string v6, "GPSTimeStamp"
invoke-virtual {v1, 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_93
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
invoke-virtual {v6}, Ljava/util/regex/Matcher;->find()Z
move-result v9
if-nez v9, :cond_5a
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;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_5a
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v5}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v7, "/1,"
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v3}, 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 {v2, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v7, 0x3
invoke-virtual {v6, v7}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v6, "/1"
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
goto :goto_ba
:cond_93
:try_start_93
invoke-static/range {p2 .. p2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v9
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 v2
:try_end_a0
.catch Ljava/lang/NumberFormatException; {:try_start_93 .. :try_end_a0} :catch_a1
goto :goto_ba
:catch_a1
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;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_ba
:goto_ba
const/4 v6, 0x0
const/4 v7, 0x0
:goto_bc
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag;
array-length v8, v8
if-ge v7, v8, :cond_324
const/4 v8, 0x4
if-ne v7, v8, :cond_ca
iget-boolean v8, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z
if-nez v8, :cond_ca
goto/16 :goto_31c
:cond_ca
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap;
aget-object v8, v8, v7
invoke-virtual {v8, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;
if-eqz v8, :cond_31c
if-nez v2, :cond_e1
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v7
invoke-virtual {v8, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_31c
:cond_e1
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair;
move-result-object v9
iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
iget-object v11, v9, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v11, Ljava/lang/Integer;
invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I
move-result v11
const/4 v12, -0x1
if-eq v10, v11, :cond_1b8
iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
iget-object v11, v9, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v11, Ljava/lang/Integer;
invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I
move-result v11
if-ne v10, v11, :cond_100
goto/16 :goto_1b8
:cond_100
iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
if-eq v10, v12, :cond_11e
iget-object v11, v9, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v11, Ljava/lang/Integer;
invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I
move-result v11
if-eq v10, v11, :cond_11a
iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
iget-object v11, v9, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v11, Ljava/lang/Integer;
invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I
move-result v11
if-ne v10, v11, :cond_11e
:cond_11a
iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
goto/16 :goto_1ba
:cond_11e
iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
if-eq v10, v5, :cond_1b5
const/4 v11, 0x7
if-eq v10, v11, :cond_1b5
if-ne v10, v3, :cond_129
goto/16 :goto_1b5
:cond_129
sget-boolean v10, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v10, :cond_31c
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Given tag ("
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v11, ") value didn\'t match with one of expected formats: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v11, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget v13, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
aget-object v11, v11, v13
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v11, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
const-string v13, ""
const-string v14, ", "
if-ne v11, v12, :cond_152
move-object v8, v13
goto :goto_167
:cond_152
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v11, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v15, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I
aget-object v8, v15, v8
invoke-virtual {v11, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
:goto_167
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, " (guess: "
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v8, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String;
iget-object v11, v9, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v11, Ljava/lang/Integer;
invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I
move-result v11
aget-object v8, v8, v11
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v8, v9, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v8, Ljava/lang/Integer;
invoke-virtual {v8}, Ljava/lang/Integer;->intValue()I
move-result v8
if-ne v8, v12, :cond_189
goto :goto_1a4
:cond_189
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v14}, 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 v9, v9, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v9, Ljava/lang/Integer;
invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I
move-result v9
aget-object v9, v11, v9
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 v13
:goto_1a4
invoke-virtual {v10, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, ")"
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, 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
goto/16 :goto_31c
:cond_1b5
:goto_1b5
iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
goto :goto_1ba
:cond_1b8
:goto_1b8
iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I
:goto_1ba
const-string v9, "/"
const-string v10, ","
packed-switch v8, :pswitch_data_330
:pswitch_1c1
move-object/from16 v16, v4
const/4 v15, 0x1
sget-boolean v3, Landroidx/exifinterface/media/ExifInterface;->DEBUG:Z
if-eqz v3, :cond_319
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Data format isn\'t one of expected formats: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
move-object/from16 v4, v16
invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_31d
:pswitch_1e0
invoke-virtual {v2, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v8
array-length v9, v8
new-array v9, v9, [D
const/4 v10, 0x0
:goto_1e8
array-length v11, v8
if-ge v10, v11, :cond_1f6
aget-object v11, v8, v10
invoke-static {v11}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v11
aput-wide v11, v9, v10
add-int/lit8 v10, v10, 0x1
goto :goto_1e8
:cond_1f6
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v8, v8, v7
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v9, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createDouble([DLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v9
invoke-virtual {v8, v1, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_31c
:pswitch_205
invoke-virtual {v2, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v8
array-length v10, v8
new-array v10, v10, [Landroidx/exifinterface/media/ExifInterface$Rational;
const/4 v11, 0x0
:goto_20d
array-length v13, v8
if-ge v11, v13, :cond_235
aget-object v13, v8, v11
invoke-virtual {v13, v9, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v13
new-instance v14, Landroidx/exifinterface/media/ExifInterface$Rational;
aget-object v15, v13, v6
move-object/from16 v16, v4
invoke-static {v15}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v3
double-to-long v3, v3
aget-object v13, v13, v5
invoke-static {v13}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v5
double-to-long v5, v5
invoke-direct {v14, v3, v4, v5, v6}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(JJ)V
aput-object v14, v10, v11
add-int/lit8 v11, v11, 0x1
move-object/from16 v4, v16
const/4 v3, 0x2
const/4 v5, 0x1
const/4 v6, 0x0
goto :goto_20d
:cond_235
move-object/from16 v16, v4
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v10, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createSRational([Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_26a
:pswitch_245
move-object/from16 v16, v4
invoke-virtual {v2, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
array-length v4, v3
new-array v4, v4, [I
const/4 v5, 0x0
:goto_24f
array-length v6, v3
if-ge v5, v6, :cond_25d
aget-object v6, v3, v5
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
aput v6, v4, v5
add-int/lit8 v5, v5, 0x1
goto :goto_24f
:cond_25d
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createSLong([ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:goto_26a
move-object/from16 v4, v16
goto/16 :goto_31c
:pswitch_26e
move-object/from16 v16, v4
invoke-virtual {v2, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
array-length v4, v3
new-array v4, v4, [Landroidx/exifinterface/media/ExifInterface$Rational;
const/4 v5, 0x0
:goto_278
array-length v6, v3
if-ge v5, v6, :cond_29c
aget-object v6, v3, v5
invoke-virtual {v6, v9, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v6
new-instance v8, Landroidx/exifinterface/media/ExifInterface$Rational;
const/4 v11, 0x0
aget-object v10, v6, v11
invoke-static {v10}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v13
double-to-long v13, v13
const/4 v15, 0x1
aget-object v6, v6, v15
invoke-static {v6}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v11
double-to-long v10, v11
invoke-direct {v8, v13, v14, v10, v11}, Landroidx/exifinterface/media/ExifInterface$Rational;-><init>(JJ)V
aput-object v8, v4, v5
add-int/lit8 v5, v5, 0x1
const/4 v12, -0x1
goto :goto_278
:cond_29c
const/4 v15, 0x1
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createURational([Landroidx/exifinterface/media/ExifInterface$Rational;Ljava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_319
:pswitch_2ac
move-object/from16 v16, v4
const/4 v3, -0x1
const/4 v15, 0x1
invoke-virtual {v2, v10, v3}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
array-length v4, v3
new-array v4, v4, [J
const/4 v5, 0x0
:goto_2b8
array-length v6, v3
if-ge v5, v6, :cond_2c6
aget-object v6, v3, v5
invoke-static {v6}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v8
aput-wide v8, v4, v5
add-int/lit8 v5, v5, 0x1
goto :goto_2b8
:cond_2c6
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong([JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_319
:pswitch_2d4
move-object/from16 v16, v4
const/4 v3, -0x1
const/4 v15, 0x1
invoke-virtual {v2, v10, v3}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
array-length v4, v3
new-array v4, v4, [I
const/4 v5, 0x0
:goto_2e0
array-length v6, v3
if-ge v5, v6, :cond_2ee
aget-object v6, v3, v5
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
aput v6, v4, v5
add-int/lit8 v5, v5, 0x1
goto :goto_2e0
:cond_2ee
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder;
invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort([ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_319
:pswitch_2fc
move-object/from16 v16, v4
const/4 v15, 0x1
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_319
:pswitch_30b
move-object/from16 v16, v4
const/4 v15, 0x1
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
aget-object v3, v3, v7
invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createByte(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute;
move-result-object v4
invoke-virtual {v3, v1, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_319
:goto_319
move-object/from16 v4, v16
goto :goto_31d
:cond_31c
:goto_31c
const/4 v15, 0x1
:goto_31d
add-int/lit8 v7, v7, 0x1
const/4 v3, 0x2
const/4 v5, 0x1
const/4 v6, 0x0
goto/16 :goto_bc
:cond_324
return-void
:cond_325
new-instance v1, Ljava/lang/NullPointerException;
const-string/jumbo v2, "tag shouldn\'t be null"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_32f
:goto_32e
throw v1
:goto_32f
goto :goto_32e
:pswitch_data_330
.packed-switch 0x1
:pswitch_30b
:pswitch_2fc
:pswitch_2d4
:pswitch_2ac
:pswitch_26e
:pswitch_1c1
:pswitch_2fc
:pswitch_1c1
:pswitch_245
:pswitch_205
:pswitch_1c1
:pswitch_1e0
.end packed-switch
.end method
.method public setDateTime(Ljava/lang/Long;)V
.registers 8
.param p1 # Ljava/lang/Long;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v0
const-wide/16 v2, 0x3e8
rem-long/2addr v0, v2
sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
new-instance v3, Ljava/util/Date;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v4
invoke-direct {v3, v4, v5}, Ljava/util/Date;-><init>(J)V
invoke-virtual {v2, v3}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object p1
const-string v2, "DateTime"
invoke-virtual {p0, v2, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object p1
const-string v0, "SubSecTime"
invoke-virtual {p0, v0, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public setGpsInfo(Landroid/location/Location;)V
.registers 7
if-nez p1, :cond_3
return-void
: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
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
invoke-virtual {p1}, Landroid/location/Location;->getAltitude()D
move-result-wide v0
invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->setAltitude(D)V
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
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
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
const-string v1, "GPSSpeed"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
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 p1
const/4 v0, -0x1
const-string v1, "\\s+"
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
aget-object v0, p1, v0
const-string v1, "GPSDateStamp"
invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x1
aget-object p1, p1, v0
const-string v0, "GPSTimeStamp"
invoke-virtual {p0, v0, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public setLatLong(DD)V
.registers 9
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
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
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
invoke-static {p1, p2}, Ljava/lang/Math;->abs(D)D
move-result-wide p1
invoke-direct {p0, p1, p2}, Landroidx/exifinterface/media/ExifInterface;->convertDecimalDegree(D)Ljava/lang/String;
move-result-object p1
const-string p2, "GPSLatitude"
invoke-virtual {p0, p2, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
cmpl-double p1, p3, v0
if-ltz p1, :cond_56
const-string p1, "E"
goto :goto_58
:cond_56
const-string p1, "W"
:goto_58
const-string p2, "GPSLongitudeRef"
invoke-virtual {p0, p2, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {p3, p4}, Ljava/lang/Math;->abs(D)D
move-result-wide p1
invoke-direct {p0, p1, p2}, Landroidx/exifinterface/media/ExifInterface;->convertDecimalDegree(D)Ljava/lang/String;
move-result-object p1
const-string p2, "GPSLongitude"
invoke-virtual {p0, p2, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_6b
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Longitude value "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p3, p4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_85
new-instance p3, Ljava/lang/IllegalArgumentException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Latitude value "
invoke-virtual {p4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p1, p2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p3, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p3
.end method