.class public Landroidx/exifinterface/media/ExifInterface; .super Ljava/lang/Object; .source "ExifInterface.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;, Landroidx/exifinterface/media/ExifInterface$IfdType;, Landroidx/exifinterface/media/ExifInterface$ExifTag;, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;, Landroidx/exifinterface/media/ExifInterface$Rational; } .end annotation # static fields .field public static final ALTITUDE_ABOVE_SEA_LEVEL:S = 0x0s .field public static final ALTITUDE_BELOW_SEA_LEVEL:S = 0x1s .field static final ASCII:Ljava/nio/charset/Charset; .field public static final BITS_PER_SAMPLE_GREYSCALE_1:[I .field public static final BITS_PER_SAMPLE_GREYSCALE_2:[I .field public static final BITS_PER_SAMPLE_RGB:[I .field static final BYTE_ALIGN_II:S = 0x4949s .field static final BYTE_ALIGN_MM:S = 0x4d4ds .field public static final COLOR_SPACE_S_RGB:I = 0x1 .field public static final COLOR_SPACE_UNCALIBRATED:I = 0xffff .field public static final CONTRAST_HARD:S = 0x2s .field public static final CONTRAST_NORMAL:S = 0x0s .field public static final CONTRAST_SOFT:S = 0x1s .field public static final DATA_DEFLATE_ZIP:I = 0x8 .field public static final DATA_HUFFMAN_COMPRESSED:I = 0x2 .field public static final DATA_JPEG:I = 0x6 .field public static final DATA_JPEG_COMPRESSED:I = 0x7 .field public static final DATA_LOSSY_JPEG:I = 0x884c .field public static final DATA_PACK_BITS_COMPRESSED:I = 0x8005 .field public static final DATA_UNCOMPRESSED:I = 0x1 .field private static final DEBUG:Z = false .field static final EXIF_ASCII_PREFIX:[B .field private static final EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field static final EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field public static final EXPOSURE_MODE_AUTO:S = 0x0s .field public static final EXPOSURE_MODE_AUTO_BRACKET:S = 0x2s .field public static final EXPOSURE_MODE_MANUAL:S = 0x1s .field public static final EXPOSURE_PROGRAM_ACTION:S = 0x6s .field public static final EXPOSURE_PROGRAM_APERTURE_PRIORITY:S = 0x3s .field public static final EXPOSURE_PROGRAM_CREATIVE:S = 0x5s .field public static final EXPOSURE_PROGRAM_LANDSCAPE_MODE:S = 0x8s .field public static final EXPOSURE_PROGRAM_MANUAL:S = 0x1s .field public static final EXPOSURE_PROGRAM_NORMAL:S = 0x2s .field public static final EXPOSURE_PROGRAM_NOT_DEFINED:S = 0x0s .field public static final EXPOSURE_PROGRAM_PORTRAIT_MODE:S = 0x7s .field public static final EXPOSURE_PROGRAM_SHUTTER_PRIORITY:S = 0x4s .field public static final FILE_SOURCE_DSC:S = 0x3s .field public static final FILE_SOURCE_OTHER:S = 0x0s .field public static final FILE_SOURCE_REFLEX_SCANNER:S = 0x2s .field public static final FILE_SOURCE_TRANSPARENT_SCANNER:S = 0x1s .field public static final FLAG_FLASH_FIRED:S = 0x1s .field public static final FLAG_FLASH_MODE_AUTO:S = 0x18s .field public static final FLAG_FLASH_MODE_COMPULSORY_FIRING:S = 0x8s .field public static final FLAG_FLASH_MODE_COMPULSORY_SUPPRESSION:S = 0x10s .field public static final FLAG_FLASH_NO_FLASH_FUNCTION:S = 0x20s .field public static final FLAG_FLASH_RED_EYE_SUPPORTED:S = 0x40s .field public static final FLAG_FLASH_RETURN_LIGHT_DETECTED:S = 0x6s .field public static final FLAG_FLASH_RETURN_LIGHT_NOT_DETECTED:S = 0x4s .field private static final FLIPPED_ROTATION_ORDER:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field public static final FORMAT_CHUNKY:S = 0x1s .field public static final FORMAT_PLANAR:S = 0x2s .field public static final GAIN_CONTROL_HIGH_GAIN_DOWN:S = 0x4s .field public static final GAIN_CONTROL_HIGH_GAIN_UP:S = 0x2s .field public static final GAIN_CONTROL_LOW_GAIN_DOWN:S = 0x3s .field public static final GAIN_CONTROL_LOW_GAIN_UP:S = 0x1s .field public static final GAIN_CONTROL_NONE:S = 0x0s .field public static final GPS_DIRECTION_MAGNETIC:Ljava/lang/String; = "M" .field public static final GPS_DIRECTION_TRUE:Ljava/lang/String; = "T" .field public static final GPS_DISTANCE_KILOMETERS:Ljava/lang/String; = "K" .field public static final GPS_DISTANCE_MILES:Ljava/lang/String; = "M" .field public static final GPS_DISTANCE_NAUTICAL_MILES:Ljava/lang/String; = "N" .field public static final GPS_MEASUREMENT_2D:Ljava/lang/String; = "2" .field public static final GPS_MEASUREMENT_3D:Ljava/lang/String; = "3" .field public static final GPS_MEASUREMENT_DIFFERENTIAL_CORRECTED:S = 0x1s .field public static final GPS_MEASUREMENT_INTERRUPTED:Ljava/lang/String; = "V" .field public static final GPS_MEASUREMENT_IN_PROGRESS:Ljava/lang/String; = "A" .field public static final GPS_MEASUREMENT_NO_DIFFERENTIAL:S = 0x0s .field public static final GPS_SPEED_KILOMETERS_PER_HOUR:Ljava/lang/String; = "K" .field public static final GPS_SPEED_KNOTS:Ljava/lang/String; = "N" .field public static final GPS_SPEED_MILES_PER_HOUR:Ljava/lang/String; = "M" .field static final IDENTIFIER_EXIF_APP1:[B .field private static final IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final IFD_FORMAT_BYTE:I = 0x1 .field static final IFD_FORMAT_BYTES_PER_FORMAT:[I .field private static final IFD_FORMAT_DOUBLE:I = 0xc .field private static final IFD_FORMAT_IFD:I = 0xd .field static final IFD_FORMAT_NAMES:[Ljava/lang/String; .field private static final IFD_FORMAT_SBYTE:I = 0x6 .field private static final IFD_FORMAT_SINGLE:I = 0xb .field private static final IFD_FORMAT_SLONG:I = 0x9 .field private static final IFD_FORMAT_SRATIONAL:I = 0xa .field private static final IFD_FORMAT_SSHORT:I = 0x8 .field private static final IFD_FORMAT_STRING:I = 0x2 .field private static final IFD_FORMAT_ULONG:I = 0x4 .field private static final IFD_FORMAT_UNDEFINED:I = 0x7 .field private static final IFD_FORMAT_URATIONAL:I = 0x5 .field private static final IFD_FORMAT_USHORT:I = 0x3 .field private static final IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final IFD_INTEROPERABILITY_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final IFD_OFFSET:I = 0x8 .field private static final IFD_THUMBNAIL_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final IFD_TYPE_EXIF:I = 0x1 .field private static final IFD_TYPE_GPS:I = 0x2 .field private static final IFD_TYPE_INTEROPERABILITY:I = 0x3 .field private static final IFD_TYPE_ORF_CAMERA_SETTINGS:I = 0x7 .field private static final IFD_TYPE_ORF_IMAGE_PROCESSING:I = 0x8 .field private static final IFD_TYPE_ORF_MAKER_NOTE:I = 0x6 .field private static final IFD_TYPE_PEF:I = 0x9 .field static final IFD_TYPE_PREVIEW:I = 0x5 .field static final IFD_TYPE_PRIMARY:I = 0x0 .field static final IFD_TYPE_THUMBNAIL:I = 0x4 .field private static final IMAGE_TYPE_ARW:I = 0x1 .field private static final IMAGE_TYPE_CR2:I = 0x2 .field private static final IMAGE_TYPE_DNG:I = 0x3 .field private static final IMAGE_TYPE_JPEG:I = 0x4 .field private static final IMAGE_TYPE_NEF:I = 0x5 .field private static final IMAGE_TYPE_NRW:I = 0x6 .field private static final IMAGE_TYPE_ORF:I = 0x7 .field private static final IMAGE_TYPE_PEF:I = 0x8 .field private static final IMAGE_TYPE_RAF:I = 0x9 .field private static final IMAGE_TYPE_RW2:I = 0xa .field private static final IMAGE_TYPE_SRW:I = 0xb .field private static final IMAGE_TYPE_UNKNOWN:I = 0x0 .field private static final JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; .field static final JPEG_SIGNATURE:[B .field public static final LATITUDE_NORTH:Ljava/lang/String; = "N" .field public static final LATITUDE_SOUTH:Ljava/lang/String; = "S" .field public static final LIGHT_SOURCE_CLOUDY_WEATHER:S = 0xas .field public static final LIGHT_SOURCE_COOL_WHITE_FLUORESCENT:S = 0xes .field public static final LIGHT_SOURCE_D50:S = 0x17s .field public static final LIGHT_SOURCE_D55:S = 0x14s .field public static final LIGHT_SOURCE_D65:S = 0x15s .field public static final LIGHT_SOURCE_D75:S = 0x16s .field public static final LIGHT_SOURCE_DAYLIGHT:S = 0x1s .field public static final LIGHT_SOURCE_DAYLIGHT_FLUORESCENT:S = 0xcs .field public static final LIGHT_SOURCE_DAY_WHITE_FLUORESCENT:S = 0xds .field public static final LIGHT_SOURCE_FINE_WEATHER:S = 0x9s .field public static final LIGHT_SOURCE_FLASH:S = 0x4s .field public static final LIGHT_SOURCE_FLUORESCENT:S = 0x2s .field public static final LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN:S = 0x18s .field public static final LIGHT_SOURCE_OTHER:S = 0xffs .field public static final LIGHT_SOURCE_SHADE:S = 0xbs .field public static final LIGHT_SOURCE_STANDARD_LIGHT_A:S = 0x11s .field public static final LIGHT_SOURCE_STANDARD_LIGHT_B:S = 0x12s .field public static final LIGHT_SOURCE_STANDARD_LIGHT_C:S = 0x13s .field public static final LIGHT_SOURCE_TUNGSTEN:S = 0x3s .field public static final LIGHT_SOURCE_UNKNOWN:S = 0x0s .field public static final LIGHT_SOURCE_WARM_WHITE_FLUORESCENT:S = 0x10s .field public static final LIGHT_SOURCE_WHITE_FLUORESCENT:S = 0xfs .field public static final LONGITUDE_EAST:Ljava/lang/String; = "E" .field public static final LONGITUDE_WEST:Ljava/lang/String; = "W" .field static final MARKER:B = -0x1t .field static final MARKER_APP1:B = -0x1ft .field private static final MARKER_COM:B = -0x2t .field static final MARKER_EOI:B = -0x27t .field private static final MARKER_SOF0:B = -0x40t .field private static final MARKER_SOF1:B = -0x3ft .field private static final MARKER_SOF10:B = -0x36t .field private static final MARKER_SOF11:B = -0x35t .field private static final MARKER_SOF13:B = -0x33t .field private static final MARKER_SOF14:B = -0x32t .field private static final MARKER_SOF15:B = -0x31t .field private static final MARKER_SOF2:B = -0x3et .field private static final MARKER_SOF3:B = -0x3dt .field private static final MARKER_SOF5:B = -0x3bt .field private static final MARKER_SOF6:B = -0x3at .field private static final MARKER_SOF7:B = -0x39t .field private static final MARKER_SOF9:B = -0x37t .field private static final MARKER_SOI:B = -0x28t .field private static final MARKER_SOS:B = -0x26t .field private static final MAX_THUMBNAIL_SIZE:I = 0x200 .field public static final METERING_MODE_AVERAGE:S = 0x1s .field public static final METERING_MODE_CENTER_WEIGHT_AVERAGE:S = 0x2s .field public static final METERING_MODE_MULTI_SPOT:S = 0x4s .field public static final METERING_MODE_OTHER:S = 0xffs .field public static final METERING_MODE_PARTIAL:S = 0x6s .field public static final METERING_MODE_PATTERN:S = 0x5s .field public static final METERING_MODE_SPOT:S = 0x3s .field public static final METERING_MODE_UNKNOWN:S = 0x0s .field private static final ORF_CAMERA_SETTINGS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final ORF_IMAGE_PROCESSING_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final ORF_MAKER_NOTE_HEADER_1:[B .field private static final ORF_MAKER_NOTE_HEADER_1_SIZE:I = 0x8 .field private static final ORF_MAKER_NOTE_HEADER_2:[B .field private static final ORF_MAKER_NOTE_HEADER_2_SIZE:I = 0xc .field private static final ORF_MAKER_NOTE_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field private static final ORF_SIGNATURE_1:S = 0x4f52s .field private static final ORF_SIGNATURE_2:S = 0x5352s .field public static final ORIENTATION_FLIP_HORIZONTAL:I = 0x2 .field public static final ORIENTATION_FLIP_VERTICAL:I = 0x4 .field public static final ORIENTATION_NORMAL:I = 0x1 .field public static final ORIENTATION_ROTATE_180:I = 0x3 .field public static final ORIENTATION_ROTATE_270:I = 0x8 .field public static final ORIENTATION_ROTATE_90:I = 0x6 .field public static final ORIENTATION_TRANSPOSE:I = 0x5 .field public static final ORIENTATION_TRANSVERSE:I = 0x7 .field public static final ORIENTATION_UNDEFINED:I = 0x0 .field public static final ORIGINAL_RESOLUTION_IMAGE:I = 0x0 .field private static final PEF_MAKER_NOTE_SKIP_SIZE:I = 0x6 .field private static final PEF_SIGNATURE:Ljava/lang/String; = "PENTAX" .field private static final PEF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .field public static final PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO:I = 0x1 .field public static final PHOTOMETRIC_INTERPRETATION_RGB:I = 0x2 .field public static final PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO:I = 0x0 .field public static final PHOTOMETRIC_INTERPRETATION_YCBCR:I = 0x6 .field private static final RAF_INFO_SIZE:I = 0xa0 .field private static final RAF_JPEG_LENGTH_VALUE_SIZE:I = 0x4 .field private static final RAF_OFFSET_TO_JPEG_IMAGE_OFFSET:I = 0x54 .field private static final RAF_SIGNATURE:Ljava/lang/String; = "FUJIFILMCCD-RAW" .field public static final REDUCED_RESOLUTION_IMAGE:I = 0x1 .field public static final RENDERED_PROCESS_CUSTOM:S = 0x1s .field public static final RENDERED_PROCESS_NORMAL:S = 0x0s .field public static final RESOLUTION_UNIT_CENTIMETERS:S = 0x3s .field public static final RESOLUTION_UNIT_INCHES:S = 0x2s .field private static final ROTATION_ORDER:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field private static final RW2_SIGNATURE:S = 0x55s .field public static final SATURATION_HIGH:S = 0x0s .field public static final SATURATION_LOW:S = 0x0s .field public static final SATURATION_NORMAL:S = 0x0s .field public static final SCENE_CAPTURE_TYPE_LANDSCAPE:S = 0x1s .field public static final SCENE_CAPTURE_TYPE_NIGHT:S = 0x3s .field public static final SCENE_CAPTURE_TYPE_PORTRAIT:S = 0x2s .field public static final SCENE_CAPTURE_TYPE_STANDARD:S = 0x0s .field public static final SCENE_TYPE_DIRECTLY_PHOTOGRAPHED:S = 0x1s .field public static final SENSITIVITY_TYPE_ISO_SPEED:S = 0x3s .field public static final SENSITIVITY_TYPE_REI:S = 0x2s .field public static final SENSITIVITY_TYPE_REI_AND_ISO:S = 0x6s .field public static final SENSITIVITY_TYPE_SOS:S = 0x1s .field public static final SENSITIVITY_TYPE_SOS_AND_ISO:S = 0x5s .field public static final SENSITIVITY_TYPE_SOS_AND_REI:S = 0x4s .field public static final SENSITIVITY_TYPE_SOS_AND_REI_AND_ISO:S = 0x7s .field public static final SENSITIVITY_TYPE_UNKNOWN:S = 0x0s .field public static final SENSOR_TYPE_COLOR_SEQUENTIAL:S = 0x5s .field public static final SENSOR_TYPE_COLOR_SEQUENTIAL_LINEAR:S = 0x8s .field public static final SENSOR_TYPE_NOT_DEFINED:S = 0x1s .field public static final SENSOR_TYPE_ONE_CHIP:S = 0x2s .field public static final SENSOR_TYPE_THREE_CHIP:S = 0x4s .field public static final SENSOR_TYPE_TRILINEAR:S = 0x7s .field public static final SENSOR_TYPE_TWO_CHIP:S = 0x3s .field public static final SHARPNESS_HARD:S = 0x2s .field public static final SHARPNESS_NORMAL:S = 0x0s .field public static final SHARPNESS_SOFT:S = 0x1s .field private static final SIGNATURE_CHECK_SIZE:I = 0x1388 .field static final START_CODE:B = 0x2at .field public static final SUBJECT_DISTANCE_RANGE_CLOSE_VIEW:S = 0x2s .field public static final SUBJECT_DISTANCE_RANGE_DISTANT_VIEW:S = 0x3s .field public static final SUBJECT_DISTANCE_RANGE_MACRO:S = 0x1s .field public static final SUBJECT_DISTANCE_RANGE_UNKNOWN:S = 0x0s .field private static final TAG:Ljava/lang/String; = "ExifInterface" .field public static final TAG_APERTURE_VALUE:Ljava/lang/String; = "ApertureValue" .field public static final TAG_ARTIST:Ljava/lang/String; = "Artist" .field public static final TAG_BITS_PER_SAMPLE:Ljava/lang/String; = "BitsPerSample" .field public static final TAG_BODY_SERIAL_NUMBER:Ljava/lang/String; = "BodySerialNumber" .field public static final TAG_BRIGHTNESS_VALUE:Ljava/lang/String; = "BrightnessValue" .field public static final TAG_CAMARA_OWNER_NAME:Ljava/lang/String; = "CameraOwnerName" .field public static final TAG_CFA_PATTERN:Ljava/lang/String; = "CFAPattern" .field public static final TAG_COLOR_SPACE:Ljava/lang/String; = "ColorSpace" .field public static final TAG_COMPONENTS_CONFIGURATION:Ljava/lang/String; = "ComponentsConfiguration" .field public static final TAG_COMPRESSED_BITS_PER_PIXEL:Ljava/lang/String; = "CompressedBitsPerPixel" .field public static final TAG_COMPRESSION:Ljava/lang/String; = "Compression" .field public static final TAG_CONTRAST:Ljava/lang/String; = "Contrast" .field public static final TAG_COPYRIGHT:Ljava/lang/String; = "Copyright" .field public static final TAG_CUSTOM_RENDERED:Ljava/lang/String; = "CustomRendered" .field public static final TAG_DATETIME:Ljava/lang/String; = "DateTime" .field public static final TAG_DATETIME_DIGITIZED:Ljava/lang/String; = "DateTimeDigitized" .field public static final TAG_DATETIME_ORIGINAL:Ljava/lang/String; = "DateTimeOriginal" .field public static final TAG_DEFAULT_CROP_SIZE:Ljava/lang/String; = "DefaultCropSize" .field public static final TAG_DEVICE_SETTING_DESCRIPTION:Ljava/lang/String; = "DeviceSettingDescription" .field public static final TAG_DIGITAL_ZOOM_RATIO:Ljava/lang/String; = "DigitalZoomRatio" .field public static final TAG_DNG_VERSION:Ljava/lang/String; = "DNGVersion" .field private static final TAG_EXIF_IFD_POINTER:Ljava/lang/String; = "ExifIFDPointer" .field public static final TAG_EXIF_VERSION:Ljava/lang/String; = "ExifVersion" .field public static final TAG_EXPOSURE_BIAS_VALUE:Ljava/lang/String; = "ExposureBiasValue" .field public static final TAG_EXPOSURE_INDEX:Ljava/lang/String; = "ExposureIndex" .field public static final TAG_EXPOSURE_MODE:Ljava/lang/String; = "ExposureMode" .field public static final TAG_EXPOSURE_PROGRAM:Ljava/lang/String; = "ExposureProgram" .field public static final TAG_EXPOSURE_TIME:Ljava/lang/String; = "ExposureTime" .field public static final TAG_FILE_SOURCE:Ljava/lang/String; = "FileSource" .field public static final TAG_FLASH:Ljava/lang/String; = "Flash" .field public static final TAG_FLASHPIX_VERSION:Ljava/lang/String; = "FlashpixVersion" .field public static final TAG_FLASH_ENERGY:Ljava/lang/String; = "FlashEnergy" .field public static final TAG_FOCAL_LENGTH:Ljava/lang/String; = "FocalLength" .field public static final TAG_FOCAL_LENGTH_IN_35MM_FILM:Ljava/lang/String; = "FocalLengthIn35mmFilm" .field public static final TAG_FOCAL_PLANE_RESOLUTION_UNIT:Ljava/lang/String; = "FocalPlaneResolutionUnit" .field public static final TAG_FOCAL_PLANE_X_RESOLUTION:Ljava/lang/String; = "FocalPlaneXResolution" .field public static final TAG_FOCAL_PLANE_Y_RESOLUTION:Ljava/lang/String; = "FocalPlaneYResolution" .field public static final TAG_F_NUMBER:Ljava/lang/String; = "FNumber" .field public static final TAG_GAIN_CONTROL:Ljava/lang/String; = "GainControl" .field public static final TAG_GAMMA:Ljava/lang/String; = "Gamma" .field public static final TAG_GPS_ALTITUDE:Ljava/lang/String; = "GPSAltitude" .field public static final TAG_GPS_ALTITUDE_REF:Ljava/lang/String; = "GPSAltitudeRef" .field public static final TAG_GPS_AREA_INFORMATION:Ljava/lang/String; = "GPSAreaInformation" .field public static final TAG_GPS_DATESTAMP:Ljava/lang/String; = "GPSDateStamp" .field public static final TAG_GPS_DEST_BEARING:Ljava/lang/String; = "GPSDestBearing" .field public static final TAG_GPS_DEST_BEARING_REF:Ljava/lang/String; = "GPSDestBearingRef" .field public static final TAG_GPS_DEST_DISTANCE:Ljava/lang/String; = "GPSDestDistance" .field public static final TAG_GPS_DEST_DISTANCE_REF:Ljava/lang/String; = "GPSDestDistanceRef" .field public static final TAG_GPS_DEST_LATITUDE:Ljava/lang/String; = "GPSDestLatitude" .field public static final TAG_GPS_DEST_LATITUDE_REF:Ljava/lang/String; = "GPSDestLatitudeRef" .field public static final TAG_GPS_DEST_LONGITUDE:Ljava/lang/String; = "GPSDestLongitude" .field public static final TAG_GPS_DEST_LONGITUDE_REF:Ljava/lang/String; = "GPSDestLongitudeRef" .field public static final TAG_GPS_DIFFERENTIAL:Ljava/lang/String; = "GPSDifferential" .field public static final TAG_GPS_DOP:Ljava/lang/String; = "GPSDOP" .field public static final TAG_GPS_H_POSITIONING_ERROR:Ljava/lang/String; = "GPSHPositioningError" .field public static final TAG_GPS_IMG_DIRECTION:Ljava/lang/String; = "GPSImgDirection" .field public static final TAG_GPS_IMG_DIRECTION_REF:Ljava/lang/String; = "GPSImgDirectionRef" .field private static final TAG_GPS_INFO_IFD_POINTER:Ljava/lang/String; = "GPSInfoIFDPointer" .field public static final TAG_GPS_LATITUDE:Ljava/lang/String; = "GPSLatitude" .field public static final TAG_GPS_LATITUDE_REF:Ljava/lang/String; = "GPSLatitudeRef" .field public static final TAG_GPS_LONGITUDE:Ljava/lang/String; = "GPSLongitude" .field public static final TAG_GPS_LONGITUDE_REF:Ljava/lang/String; = "GPSLongitudeRef" .field public static final TAG_GPS_MAP_DATUM:Ljava/lang/String; = "GPSMapDatum" .field public static final TAG_GPS_MEASURE_MODE:Ljava/lang/String; = "GPSMeasureMode" .field public static final TAG_GPS_PROCESSING_METHOD:Ljava/lang/String; = "GPSProcessingMethod" .field public static final TAG_GPS_SATELLITES:Ljava/lang/String; = "GPSSatellites" .field public static final TAG_GPS_SPEED:Ljava/lang/String; = "GPSSpeed" .field public static final TAG_GPS_SPEED_REF:Ljava/lang/String; = "GPSSpeedRef" .field public static final TAG_GPS_STATUS:Ljava/lang/String; = "GPSStatus" .field public static final TAG_GPS_TIMESTAMP:Ljava/lang/String; = "GPSTimeStamp" .field public static final TAG_GPS_TRACK:Ljava/lang/String; = "GPSTrack" .field public static final TAG_GPS_TRACK_REF:Ljava/lang/String; = "GPSTrackRef" .field public static final TAG_GPS_VERSION_ID:Ljava/lang/String; = "GPSVersionID" .field private static final TAG_HAS_THUMBNAIL:Ljava/lang/String; = "HasThumbnail" .field public static final TAG_IMAGE_DESCRIPTION:Ljava/lang/String; = "ImageDescription" .field public static final TAG_IMAGE_LENGTH:Ljava/lang/String; = "ImageLength" .field public static final TAG_IMAGE_UNIQUE_ID:Ljava/lang/String; = "ImageUniqueID" .field public static final TAG_IMAGE_WIDTH:Ljava/lang/String; = "ImageWidth" .field private static final TAG_INTEROPERABILITY_IFD_POINTER:Ljava/lang/String; = "InteroperabilityIFDPointer" .field public static final TAG_INTEROPERABILITY_INDEX:Ljava/lang/String; = "InteroperabilityIndex" .field public static final TAG_ISO_SPEED:Ljava/lang/String; = "ISOSpeed" .field public static final TAG_ISO_SPEED_LATITUDE_YYY:Ljava/lang/String; = "ISOSpeedLatitudeyyy" .field public static final TAG_ISO_SPEED_LATITUDE_ZZZ:Ljava/lang/String; = "ISOSpeedLatitudezzz" .field public static final TAG_ISO_SPEED_RATINGS:Ljava/lang/String; = "ISOSpeedRatings" .annotation runtime Ljava/lang/Deprecated; .end annotation .end field .field public static final TAG_JPEG_INTERCHANGE_FORMAT:Ljava/lang/String; = "JPEGInterchangeFormat" .field public static final TAG_JPEG_INTERCHANGE_FORMAT_LENGTH:Ljava/lang/String; = "JPEGInterchangeFormatLength" .field public static final TAG_LENS_MAKE:Ljava/lang/String; = "LensMake" .field public static final TAG_LENS_MODEL:Ljava/lang/String; = "LensModel" .field public static final TAG_LENS_SERIAL_NUMBER:Ljava/lang/String; = "LensSerialNumber" .field public static final TAG_LENS_SPECIFICATION:Ljava/lang/String; = "LensSpecification" .field public static final TAG_LIGHT_SOURCE:Ljava/lang/String; = "LightSource" .field public static final TAG_MAKE:Ljava/lang/String; = "Make" .field public static final TAG_MAKER_NOTE:Ljava/lang/String; = "MakerNote" .field public static final TAG_MAX_APERTURE_VALUE:Ljava/lang/String; = "MaxApertureValue" .field public static final TAG_METERING_MODE:Ljava/lang/String; = "MeteringMode" .field public static final TAG_MODEL:Ljava/lang/String; = "Model" .field public static final TAG_NEW_SUBFILE_TYPE:Ljava/lang/String; = "NewSubfileType" .field public static final TAG_OECF:Ljava/lang/String; = "OECF" .field public static final TAG_ORF_ASPECT_FRAME:Ljava/lang/String; = "AspectFrame" .field private static final TAG_ORF_CAMERA_SETTINGS_IFD_POINTER:Ljava/lang/String; = "CameraSettingsIFDPointer" .field private static final TAG_ORF_IMAGE_PROCESSING_IFD_POINTER:Ljava/lang/String; = "ImageProcessingIFDPointer" .field public static final TAG_ORF_PREVIEW_IMAGE_LENGTH:Ljava/lang/String; = "PreviewImageLength" .field public static final TAG_ORF_PREVIEW_IMAGE_START:Ljava/lang/String; = "PreviewImageStart" .field public static final TAG_ORF_THUMBNAIL_IMAGE:Ljava/lang/String; = "ThumbnailImage" .field public static final TAG_ORIENTATION:Ljava/lang/String; = "Orientation" .field public static final TAG_PHOTOGRAPHIC_SENSITIVITY:Ljava/lang/String; = "PhotographicSensitivity" .field public static final TAG_PHOTOMETRIC_INTERPRETATION:Ljava/lang/String; = "PhotometricInterpretation" .field public static final TAG_PIXEL_X_DIMENSION:Ljava/lang/String; = "PixelXDimension" .field public static final TAG_PIXEL_Y_DIMENSION:Ljava/lang/String; = "PixelYDimension" .field public static final TAG_PLANAR_CONFIGURATION:Ljava/lang/String; = "PlanarConfiguration" .field public static final TAG_PRIMARY_CHROMATICITIES:Ljava/lang/String; = "PrimaryChromaticities" .field private static final TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag; .field public static final TAG_RECOMMENDED_EXPOSURE_INDEX:Ljava/lang/String; = "RecommendedExposureIndex" .field public static final TAG_REFERENCE_BLACK_WHITE:Ljava/lang/String; = "ReferenceBlackWhite" .field public static final TAG_RELATED_SOUND_FILE:Ljava/lang/String; = "RelatedSoundFile" .field public static final TAG_RESOLUTION_UNIT:Ljava/lang/String; = "ResolutionUnit" .field public static final TAG_ROWS_PER_STRIP:Ljava/lang/String; = "RowsPerStrip" .field public static final TAG_RW2_ISO:Ljava/lang/String; = "ISO" .field public static final TAG_RW2_JPG_FROM_RAW:Ljava/lang/String; = "JpgFromRaw" .field public static final TAG_RW2_SENSOR_BOTTOM_BORDER:Ljava/lang/String; = "SensorBottomBorder" .field public static final TAG_RW2_SENSOR_LEFT_BORDER:Ljava/lang/String; = "SensorLeftBorder" .field public static final TAG_RW2_SENSOR_RIGHT_BORDER:Ljava/lang/String; = "SensorRightBorder" .field public static final TAG_RW2_SENSOR_TOP_BORDER:Ljava/lang/String; = "SensorTopBorder" .field public static final TAG_SAMPLES_PER_PIXEL:Ljava/lang/String; = "SamplesPerPixel" .field public static final TAG_SATURATION:Ljava/lang/String; = "Saturation" .field public static final TAG_SCENE_CAPTURE_TYPE:Ljava/lang/String; = "SceneCaptureType" .field public static final TAG_SCENE_TYPE:Ljava/lang/String; = "SceneType" .field public static final TAG_SENSING_METHOD:Ljava/lang/String; = "SensingMethod" .field public static final TAG_SENSITIVITY_TYPE:Ljava/lang/String; = "SensitivityType" .field public static final TAG_SHARPNESS:Ljava/lang/String; = "Sharpness" .field public static final TAG_SHUTTER_SPEED_VALUE:Ljava/lang/String; = "ShutterSpeedValue" .field public static final TAG_SOFTWARE:Ljava/lang/String; = "Software" .field public static final TAG_SPATIAL_FREQUENCY_RESPONSE:Ljava/lang/String; = "SpatialFrequencyResponse" .field public static final TAG_SPECTRAL_SENSITIVITY:Ljava/lang/String; = "SpectralSensitivity" .field public static final TAG_STANDARD_OUTPUT_SENSITIVITY:Ljava/lang/String; = "StandardOutputSensitivity" .field public static final TAG_STRIP_BYTE_COUNTS:Ljava/lang/String; = "StripByteCounts" .field public static final TAG_STRIP_OFFSETS:Ljava/lang/String; = "StripOffsets" .field public static final TAG_SUBFILE_TYPE:Ljava/lang/String; = "SubfileType" .field public static final TAG_SUBJECT_AREA:Ljava/lang/String; = "SubjectArea" .field public static final TAG_SUBJECT_DISTANCE:Ljava/lang/String; = "SubjectDistance" .field public static final TAG_SUBJECT_DISTANCE_RANGE:Ljava/lang/String; = "SubjectDistanceRange" .field public static final TAG_SUBJECT_LOCATION:Ljava/lang/String; = "SubjectLocation" .field public static final TAG_SUBSEC_TIME:Ljava/lang/String; = "SubSecTime" .field public static final TAG_SUBSEC_TIME_DIGITIZED:Ljava/lang/String; = "SubSecTimeDigitized" .field public static final TAG_SUBSEC_TIME_ORIGINAL:Ljava/lang/String; = "SubSecTimeOriginal" .field private static final TAG_SUB_IFD_POINTER:Ljava/lang/String; = "SubIFDPointer" .field private static final TAG_THUMBNAIL_DATA:Ljava/lang/String; = "ThumbnailData" .field public static final TAG_THUMBNAIL_IMAGE_LENGTH:Ljava/lang/String; = "ThumbnailImageLength" .field public static final TAG_THUMBNAIL_IMAGE_WIDTH:Ljava/lang/String; = "ThumbnailImageWidth" .field private static final TAG_THUMBNAIL_LENGTH:Ljava/lang/String; = "ThumbnailLength" .field private static final TAG_THUMBNAIL_OFFSET:Ljava/lang/String; = "ThumbnailOffset" .field public static final TAG_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_X_RESOLUTION:Ljava/lang/String; = "XResolution" .field public static final TAG_Y_CB_CR_COEFFICIENTS:Ljava/lang/String; = "YCbCrCoefficients" .field public static final TAG_Y_CB_CR_POSITIONING:Ljava/lang/String; = "YCbCrPositioning" .field public static final TAG_Y_CB_CR_SUB_SAMPLING:Ljava/lang/String; = "YCbCrSubSampling" .field public static final TAG_Y_RESOLUTION:Ljava/lang/String; = "YResolution" .field public static final WHITEBALANCE_AUTO:I = 0x0 .annotation runtime Ljava/lang/Deprecated; .end annotation .end field .field public static final WHITEBALANCE_MANUAL:I = 0x1 .annotation runtime Ljava/lang/Deprecated; .end annotation .end field .field public static final WHITE_BALANCE_AUTO:S = 0x0s .field public static final WHITE_BALANCE_MANUAL:S = 0x1s .field public static final Y_CB_CR_POSITIONING_CENTERED:S = 0x1s .field public static final Y_CB_CR_POSITIONING_CO_SITED:S = 0x2s .field private static final sExifPointerTagMap:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap<", "Ljava/lang/Integer;", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field private static final sExifTagMapsForReading:[Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "[", "Ljava/util/HashMap<", "Ljava/lang/Integer;", "Landroidx/exifinterface/media/ExifInterface$ExifTag;", ">;" } .end annotation .end field .field private static final sExifTagMapsForWriting:[Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "[", "Ljava/util/HashMap<", "Ljava/lang/String;", "Landroidx/exifinterface/media/ExifInterface$ExifTag;", ">;" } .end annotation .end field .field private static sFormatter:Ljava/text/SimpleDateFormat; .field private static final sGpsTimestampPattern:Ljava/util/regex/Pattern; .field private static final sNonZeroTimePattern:Ljava/util/regex/Pattern; .field private static final sTagSetForCompatibility:Ljava/util/HashSet; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashSet<", "Ljava/lang/String;", ">;" } .end annotation .end field # instance fields .field private final mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream; .field private final mAttributes:[Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "[", "Ljava/util/HashMap<", "Ljava/lang/String;", "Landroidx/exifinterface/media/ExifInterface$ExifAttribute;", ">;" } .end annotation .end field .field private mAttributesOffsets:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field private mExifByteOrder:Ljava/nio/ByteOrder; .field private mExifOffset:I .field private final mFilename:Ljava/lang/String; .field private mHasThumbnail:Z .field private mIsSupportedFile:Z .field private mMimeType:I .field private mOrfMakerNoteOffset:I .field private mOrfThumbnailLength:I .field private mOrfThumbnailOffset:I .field private mRw2JpgFromRawOffset:I .field private mThumbnailBytes:[B .field private mThumbnailCompression:I .field private mThumbnailLength:I .field private mThumbnailOffset:I # direct methods .method static constructor ()V .registers 21 const/4 v0, 0x4 .line 2147 new-array v1, v0, [Ljava/lang/Integer; const/4 v2, 0x1 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 const/4 v4, 0x0 aput-object v3, v1, v4 const/4 v5, 0x6 .line 2148 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v6 aput-object v6, v1, v2 const/4 v6, 0x3 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v7 const/4 v8, 0x2 .line 2150 invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v9 .line 2148 aput-object v7, v1, v8 const/16 v10, 0x8 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v11 aput-object v11, v1, v6 .line 2147 invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v1 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->ROTATION_ORDER:Ljava/util/List; .line 2149 new-array v1, v0, [Ljava/lang/Integer; .line 2150 aput-object v9, v1, v4 const/4 v12, 0x7 invoke-static {v12}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v13 aput-object v13, v1, v2 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v14 aput-object v14, v1, v8 const/4 v14, 0x5 .line 2151 invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v15 aput-object v15, v1, v6 .line 2149 invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v1 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->FLIPPED_ROTATION_ORDER:Ljava/util/List; .line 2790 filled-new-array {v10, v10, v10}, [I move-result-object v1 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_RGB:[I .line 2795 filled-new-array {v0}, [I move-result-object v1 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_1:[I .line 2800 filled-new-array {v10}, [I move-result-object v1 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I .line 2831 new-array v1, v6, [B fill-array-data v1, :array_b6c sput-object v1, Landroidx/exifinterface/media/ExifInterface;->JPEG_SIGNATURE:[B .line 2843 new-array v1, v5, [B fill-array-data v1, :array_b72 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B const/16 v1, 0xa .line 2845 new-array v10, v1, [B fill-array-data v10, :array_b7a sput-object v10, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B const/16 v10, 0xd .line 2890 new-array v1, v10, [Ljava/lang/String; const-string v18, "" aput-object v18, v1, v4 const-string v18, "BYTE" aput-object v18, v1, v2 const-string v18, "STRING" aput-object v18, v1, v8 const-string v18, "USHORT" aput-object v18, v1, v6 const-string v18, "ULONG" aput-object v18, v1, v0 const-string v18, "URATIONAL" aput-object v18, v1, v14 const-string v18, "SBYTE" aput-object v18, v1, v5 const-string v18, "UNDEFINED" aput-object v18, v1, v12 const-string v18, "SSHORT" const/16 v16, 0x8 aput-object v18, v1, v16 const-string v18, "SLONG" const/16 v10, 0x9 aput-object v18, v1, v10 const-string v18, "SRATIONAL" const/16 v17, 0xa aput-object v18, v1, v17 const-string v18, "SINGLE" const/16 v10, 0xb aput-object v18, v1, v10 const-string v18, "DOUBLE" const/16 v10, 0xc aput-object v18, v1, v10 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String; const/16 v1, 0xe .line 2895 new-array v10, v1, [I fill-array-data v10, :array_b84 sput-object v10, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I const/16 v10, 0x8 .line 2900 new-array v1, v10, [B fill-array-data v1, :array_ba4 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_ASCII_PREFIX:[B const/16 v1, 0x29 .line 3346 new-array v1, v1, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v10, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "NewSubfileType" const/16 v5, 0xfe invoke-direct {v10, v12, v5, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v10, v1, v4 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "SubfileType" const/16 v12, 0xff invoke-direct {v5, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v1, v2 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ImageWidth" const/16 v12, 0x100 invoke-direct {v5, v10, v12, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V aput-object v5, v1, v8 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ImageLength" const/16 v12, 0x101 invoke-direct {v5, v10, v12, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V aput-object v5, v1, v6 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "BitsPerSample" const/16 v12, 0x102 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v1, v0 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "Compression" const/16 v12, 0x103 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v1, v14 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "PhotometricInterpretation" const/16 v12, 0x106 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v10, 0x6 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ImageDescription" const/16 v12, 0x10e invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v10, 0x7 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "Make" const/16 v12, 0x10f invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x8 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "Model" const/16 v12, 0x110 invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x9 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "StripOffsets" const/16 v12, 0x111 invoke-direct {v5, v10, v12, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v10, 0xa aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "Orientation" const/16 v12, 0x112 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0xb aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "SamplesPerPixel" const/16 v12, 0x115 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0xc aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "RowsPerStrip" const/16 v12, 0x116 invoke-direct {v5, v10, v12, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v10, 0xd aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "StripByteCounts" const/16 v12, 0x117 invoke-direct {v5, v10, v12, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v10, 0xe aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "XResolution" const/16 v12, 0x11a invoke-direct {v5, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0xf aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "YResolution" const/16 v10, 0x11b invoke-direct {v5, v12, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x10 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "PlanarConfiguration" const/16 v10, 0x11c invoke-direct {v5, v12, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x11 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "ResolutionUnit" const/16 v10, 0x128 invoke-direct {v5, v12, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x12 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "TransferFunction" const/16 v10, 0x12d invoke-direct {v5, v12, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x13 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "Software" const/16 v10, 0x131 invoke-direct {v5, v12, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x14 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "DateTime" const/16 v10, 0x132 invoke-direct {v5, v12, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x15 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "Artist" const/16 v12, 0x13b invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x16 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "WhitePoint" const/16 v12, 0x13e invoke-direct {v5, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x17 aput-object v5, v1, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "PrimaryChromaticities" const/16 v2, 0x13f invoke-direct {v5, v12, v2, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v2, 0x18 aput-object v5, v1, v2 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubIFDPointer" const/16 v12, 0x14a invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x19 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "JPEGInterchangeFormat" const/16 v12, 0x201 invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1a aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "JPEGInterchangeFormatLength" const/16 v12, 0x202 invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1b aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "YCbCrCoefficients" const/16 v12, 0x211 invoke-direct {v2, v5, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1c aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "YCbCrSubSampling" const/16 v12, 0x212 invoke-direct {v2, v5, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1d aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "YCbCrPositioning" const/16 v12, 0x213 invoke-direct {v2, v5, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1e aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ReferenceBlackWhite" const/16 v12, 0x214 invoke-direct {v2, v5, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1f aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "Copyright" const v12, 0x8298 invoke-direct {v2, v5, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x20 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ExifIFDPointer" const v12, 0x8769 invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x21 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSInfoIFDPointer" const v12, 0x8825 invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x22 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SensorTopBorder" invoke-direct {v2, v5, v0, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x23 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SensorLeftBorder" invoke-direct {v2, v5, v14, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x24 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SensorBottomBorder" const/4 v12, 0x6 invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x25 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SensorRightBorder" const/4 v12, 0x7 invoke-direct {v2, v5, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x26 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ISO" invoke-direct {v2, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x27 aput-object v2, v1, v5 new-instance v2, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "JpgFromRaw" const/16 v10, 0x2e invoke-direct {v2, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x28 aput-object v2, v1, v5 sput-object v1, Landroidx/exifinterface/media/ExifInterface;->IFD_TIFF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; const/16 v2, 0x3b .line 3395 new-array v2, v2, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ExposureTime" const v12, 0x829a invoke-direct {v5, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v2, v4 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "FNumber" const v12, 0x829d invoke-direct {v5, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v10, 0x1 aput-object v5, v2, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ExposureProgram" const v12, 0x8822 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v2, v8 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "SpectralSensitivity" const v12, 0x8824 invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v2, v6 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "PhotographicSensitivity" const v12, 0x8827 invoke-direct {v5, v10, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v2, v0 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "OECF" const v12, 0x8828 const/4 v4, 0x7 invoke-direct {v5, v10, v12, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v2, v14 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ExifVersion" const v12, 0x9000 invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v10, 0x6 aput-object v5, v2, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "DateTimeOriginal" const v12, 0x9003 invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v2, v4 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "DateTimeDigitized" const v12, 0x9004 invoke-direct {v5, v10, v12, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0x8 aput-object v5, v2, v10 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ComponentsConfiguration" const v12, 0x9101 invoke-direct {v5, v10, v12, v4}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v4, 0x9 aput-object v5, v2, v4 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "CompressedBitsPerPixel" const v10, 0x9102 invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0xa aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ShutterSpeedValue" const v12, 0x9201 invoke-direct {v4, v10, v12, v5}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0xb aput-object v4, v2, v10 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ApertureValue" const v12, 0x9202 invoke-direct {v4, v10, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0xc aput-object v4, v2, v10 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "BrightnessValue" const v12, 0x9203 invoke-direct {v4, v10, v12, v5}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v10, 0xd aput-object v4, v2, v10 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "ExposureBiasValue" const v12, 0x9204 invoke-direct {v4, v10, v12, v5}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0xe aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "MaxApertureValue" const v10, 0x9205 invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0xf aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubjectDistance" const v10, 0x9206 invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x10 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "MeteringMode" const v10, 0x9207 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x11 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "LightSource" const v10, 0x9208 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x12 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "Flash" const v10, 0x9209 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x13 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FocalLength" const v10, 0x920a invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x14 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubjectArea" const v10, 0x9214 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x15 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "MakerNote" const v10, 0x927c const/4 v12, 0x7 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x16 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "UserComment" const v10, 0x9286 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x17 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubSecTime" const v10, 0x9290 invoke-direct {v4, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x18 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubSecTimeOriginal" const v10, 0x9291 invoke-direct {v4, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x19 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubSecTimeDigitized" const v10, 0x9292 invoke-direct {v4, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1a aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FlashpixVersion" const v10, 0xa000 const/4 v12, 0x7 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1b aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ColorSpace" const v10, 0xa001 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1c aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "PixelXDimension" const v10, 0xa002 invoke-direct {v4, v5, v10, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v5, 0x1d aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "PixelYDimension" const v10, 0xa003 invoke-direct {v4, v5, v10, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v5, 0x1e aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "RelatedSoundFile" const v10, 0xa004 invoke-direct {v4, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1f aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "InteroperabilityIFDPointer" const v10, 0xa005 invoke-direct {v4, v5, v10, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x20 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FlashEnergy" const v10, 0xa20b invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x21 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SpatialFrequencyResponse" const v10, 0xa20c const/4 v12, 0x7 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x22 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FocalPlaneXResolution" const v10, 0xa20e invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x23 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FocalPlaneYResolution" const v10, 0xa20f invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x24 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FocalPlaneResolutionUnit" const v10, 0xa210 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x25 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubjectLocation" const v10, 0xa214 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x26 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ExposureIndex" const v10, 0xa215 invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x27 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SensingMethod" const v10, 0xa217 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x28 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FileSource" const v10, 0xa300 const/4 v12, 0x7 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x29 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SceneType" const v10, 0xa301 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x2a aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "CFAPattern" const v10, 0xa302 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x2b aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "CustomRendered" const v10, 0xa401 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x2c aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ExposureMode" const v10, 0xa402 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x2d aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "WhiteBalance" const v10, 0xa403 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x2e aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "DigitalZoomRatio" const v10, 0xa404 invoke-direct {v4, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x2f aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "FocalLengthIn35mmFilm" const v10, 0xa405 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x30 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SceneCaptureType" const v10, 0xa406 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x31 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GainControl" const v10, 0xa407 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x32 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "Contrast" const v10, 0xa408 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x33 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "Saturation" const v10, 0xa409 invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x34 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "Sharpness" const v10, 0xa40a invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x35 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "DeviceSettingDescription" const v10, 0xa40b const/4 v12, 0x7 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x36 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "SubjectDistanceRange" const v10, 0xa40c invoke-direct {v4, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x37 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "ImageUniqueID" const v10, 0xa420 invoke-direct {v4, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x38 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "DNGVersion" const v10, 0xc612 const/4 v12, 0x1 invoke-direct {v4, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x39 aput-object v4, v2, v5 new-instance v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "DefaultCropSize" const v10, 0xc620 invoke-direct {v4, v5, v10, v6, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v5, 0x3a aput-object v4, v2, v5 sput-object v2, Landroidx/exifinterface/media/ExifInterface;->IFD_EXIF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; const/16 v4, 0x1f .line 3458 new-array v4, v4, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "GPSVersionID" const/4 v0, 0x1 const/4 v12, 0x0 invoke-direct {v5, v10, v12, v0}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v4, v12 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v10, "GPSLatitudeRef" invoke-direct {v5, v10, v0, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v5, v4, v0 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSLatitude" invoke-direct {v0, v5, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v8 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSLongitudeRef" invoke-direct {v0, v5, v6, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSLongitude" const/4 v10, 0x4 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSAltitudeRef" const/4 v10, 0x1 invoke-direct {v0, v5, v14, v10}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v14 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSAltitude" const/4 v10, 0x6 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSTimeStamp" const/4 v10, 0x7 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSSatellites" const/16 v10, 0x8 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSStatus" const/16 v10, 0x9 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSMeasureMode" const/16 v10, 0xa invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDOP" const/16 v10, 0xb invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSSpeedRef" const/16 v10, 0xc invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSSpeed" const/16 v10, 0xd invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSTrackRef" const/16 v10, 0xe invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSTrack" const/16 v10, 0xf invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSImgDirectionRef" const/16 v10, 0x10 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSImgDirection" const/16 v10, 0x11 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSMapDatum" const/16 v10, 0x12 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestLatitudeRef" const/16 v10, 0x13 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestLatitude" const/16 v10, 0x14 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestLongitudeRef" const/16 v10, 0x15 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x15 aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestLongitude" const/16 v10, 0x16 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x16 aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestBearingRef" const/16 v10, 0x17 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v4, v10 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestBearing" const/16 v10, 0x18 invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x18 aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestDistanceRef" const/16 v10, 0x19 invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x19 aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDestDistance" const/16 v10, 0x1a invoke-direct {v0, v5, v10, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1a aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSProcessingMethod" const/16 v10, 0x1b const/4 v12, 0x7 invoke-direct {v0, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1b aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSAreaInformation" const/16 v10, 0x1c invoke-direct {v0, v5, v10, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1c aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDateStamp" const/16 v10, 0x1d invoke-direct {v0, v5, v10, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1d aput-object v0, v4, v5 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v5, "GPSDifferential" const/16 v10, 0x1e invoke-direct {v0, v5, v10, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v5, 0x1e aput-object v0, v4, v5 sput-object v4, Landroidx/exifinterface/media/ExifInterface;->IFD_GPS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; const/4 v0, 0x1 .line 3492 new-array v5, v0, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v10, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "InteroperabilityIndex" invoke-direct {v10, v12, v0, v8}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v0, 0x0 aput-object v10, v5, v0 sput-object v5, Landroidx/exifinterface/media/ExifInterface;->IFD_INTEROPERABILITY_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; const/16 v10, 0x25 .line 3496 new-array v10, v10, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v12, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v14, "NewSubfileType" const/16 v8, 0xfe const/4 v6, 0x4 invoke-direct {v12, v14, v8, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v12, v10, v0 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "SubfileType" const/16 v12, 0xff invoke-direct {v0, v8, v12, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v8, 0x1 aput-object v0, v10, v8 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "ThumbnailImageWidth" const/16 v12, 0x100 const/4 v14, 0x3 invoke-direct {v0, v8, v12, v14, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/4 v8, 0x2 aput-object v0, v10, v8 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "ThumbnailImageLength" const/16 v12, 0x101 invoke-direct {v0, v8, v12, v14, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V aput-object v0, v10, v14 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "BitsPerSample" const/16 v12, 0x102 invoke-direct {v0, v8, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Compression" const/16 v8, 0x103 invoke-direct {v0, v6, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v6, 0x5 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "PhotometricInterpretation" const/16 v8, 0x106 invoke-direct {v0, v6, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v6, 0x6 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "ImageDescription" const/16 v8, 0x10e const/4 v12, 0x2 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v6, 0x7 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Make" const/16 v8, 0x10f invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x8 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Model" const/16 v8, 0x110 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x9 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "StripOffsets" const/16 v8, 0x111 const/4 v12, 0x4 const/4 v14, 0x3 invoke-direct {v0, v6, v8, v14, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v6, 0xa aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Orientation" const/16 v8, 0x112 invoke-direct {v0, v6, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0xb aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "SamplesPerPixel" const/16 v8, 0x115 invoke-direct {v0, v6, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0xc aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "RowsPerStrip" const/16 v8, 0x116 const/4 v12, 0x4 invoke-direct {v0, v6, v8, v14, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v6, 0xd aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "StripByteCounts" const/16 v8, 0x117 invoke-direct {v0, v6, v8, v14, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v6, 0xe aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "XResolution" const/16 v8, 0x11a const/4 v12, 0x5 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0xf aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "YResolution" const/16 v8, 0x11b invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x10 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "PlanarConfiguration" const/16 v8, 0x11c const/4 v12, 0x3 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x11 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "ResolutionUnit" const/16 v8, 0x128 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x12 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "TransferFunction" const/16 v8, 0x12d invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x13 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Software" const/16 v8, 0x131 const/4 v12, 0x2 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x14 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "DateTime" const/16 v8, 0x132 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x15 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Artist" const/16 v8, 0x13b invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x16 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "WhitePoint" const/16 v8, 0x13e const/4 v12, 0x5 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x17 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "PrimaryChromaticities" const/16 v8, 0x13f invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x18 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "SubIFDPointer" const/16 v8, 0x14a const/4 v12, 0x4 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x19 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "JPEGInterchangeFormat" const/16 v8, 0x201 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x1a aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "JPEGInterchangeFormatLength" const/16 v8, 0x202 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x1b aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "YCbCrCoefficients" const/16 v8, 0x211 const/4 v12, 0x5 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x1c aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "YCbCrSubSampling" const/16 v8, 0x212 const/4 v12, 0x3 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x1d aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "YCbCrPositioning" const/16 v8, 0x213 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x1e aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "ReferenceBlackWhite" const/16 v8, 0x214 const/4 v12, 0x5 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x1f aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "Copyright" const v8, 0x8298 const/4 v12, 0x2 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x20 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "ExifIFDPointer" const v8, 0x8769 const/4 v12, 0x4 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x21 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "GPSInfoIFDPointer" const v8, 0x8825 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x22 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "DNGVersion" const v8, 0xc612 const/4 v12, 0x1 invoke-direct {v0, v6, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/16 v6, 0x23 aput-object v0, v10, v6 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "DefaultCropSize" const v8, 0xc620 const/4 v12, 0x4 const/4 v14, 0x3 invoke-direct {v0, v6, v8, v14, v12}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;III)V const/16 v6, 0x24 aput-object v0, v10, v6 sput-object v10, Landroidx/exifinterface/media/ExifInterface;->IFD_THUMBNAIL_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3539 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v6, "StripOffsets" const/16 v8, 0x111 invoke-direct {v0, v6, v8, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V sput-object v0, Landroidx/exifinterface/media/ExifInterface;->TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3543 new-array v0, v14, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "ThumbnailImage" const/16 v12, 0x100 const/4 v14, 0x7 invoke-direct {v6, v8, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v8, 0x0 aput-object v6, v0, v8 new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "CameraSettingsIFDPointer" const/16 v12, 0x2020 const/4 v14, 0x4 invoke-direct {v6, v8, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v8, 0x1 aput-object v6, v0, v8 new-instance v6, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v8, "ImageProcessingIFDPointer" const/16 v12, 0x2040 invoke-direct {v6, v8, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v8, 0x2 aput-object v6, v0, v8 sput-object v0, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3548 new-array v6, v8, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v8, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v12, "PreviewImageStart" move-object/from16 v18, v11 const/16 v11, 0x101 invoke-direct {v8, v12, v11, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v11, 0x0 aput-object v8, v6, v11 new-instance v8, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v11, "PreviewImageLength" const/16 v12, 0x102 invoke-direct {v8, v11, v12, v14}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v11, 0x1 aput-object v8, v6, v11 sput-object v6, Landroidx/exifinterface/media/ExifInterface;->ORF_CAMERA_SETTINGS_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3552 new-array v8, v11, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v12, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v14, "AspectFrame" const/16 v11, 0x1113 move-object/from16 v19, v13 const/4 v13, 0x3 invoke-direct {v12, v14, v11, v13}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v11, 0x0 aput-object v12, v8, v11 sput-object v8, Landroidx/exifinterface/media/ExifInterface;->ORF_IMAGE_PROCESSING_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; const/4 v12, 0x1 .line 3556 new-array v14, v12, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v12, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v11, "ColorSpace" move-object/from16 v20, v7 const/16 v7, 0x37 invoke-direct {v12, v11, v7, v13}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v7, 0x0 aput-object v12, v14, v7 sput-object v14, Landroidx/exifinterface/media/ExifInterface;->PEF_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; const/16 v11, 0xa .line 3584 new-array v11, v11, [[Landroidx/exifinterface/media/ExifInterface$ExifTag; aput-object v1, v11, v7 const/4 v7, 0x1 aput-object v2, v11, v7 const/4 v2, 0x2 aput-object v4, v11, v2 aput-object v5, v11, v13 const/4 v2, 0x4 aput-object v10, v11, v2 const/4 v4, 0x5 aput-object v1, v11, v4 const/4 v1, 0x6 aput-object v0, v11, v1 const/4 v0, 0x7 aput-object v6, v11, v0 const/16 v0, 0x8 aput-object v8, v11, v0 const/16 v0, 0x9 aput-object v14, v11, v0 sput-object v11, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3590 new-array v0, v1, [Landroidx/exifinterface/media/ExifInterface$ExifTag; new-instance v1, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v4, "SubIFDPointer" const/16 v5, 0x14a invoke-direct {v1, v4, v5, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v4, 0x0 aput-object v1, v0, v4 new-instance v1, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v4, "ExifIFDPointer" const v5, 0x8769 invoke-direct {v1, v4, v5, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v4, 0x1 aput-object v1, v0, v4 new-instance v1, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v4, "GPSInfoIFDPointer" const v5, 0x8825 invoke-direct {v1, v4, v5, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v4, 0x2 aput-object v1, v0, v4 new-instance v1, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v4, "InteroperabilityIFDPointer" const v5, 0xa005 invoke-direct {v1, v4, v5, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v4, 0x3 aput-object v1, v0, v4 new-instance v1, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v4, "CameraSettingsIFDPointer" const/16 v5, 0x2020 const/4 v6, 0x1 invoke-direct {v1, v4, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V aput-object v1, v0, v2 new-instance v1, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v4, "ImageProcessingIFDPointer" const/16 v5, 0x2040 invoke-direct {v1, v4, v5, v6}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V const/4 v4, 0x5 aput-object v1, v0, v4 sput-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3600 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v1, "JPEGInterchangeFormat" const/16 v4, 0x201 invoke-direct {v0, v1, v4, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V sput-object v0, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3602 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ExifTag; const-string v1, "JPEGInterchangeFormatLength" const/16 v4, 0x202 invoke-direct {v0, v1, v4, v2}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->(Ljava/lang/String;II)V sput-object v0, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 3607 array-length v0, v11 new-array v0, v0, [Ljava/util/HashMap; sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap; .line 3611 array-length v0, v11 new-array v0, v0, [Ljava/util/HashMap; sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap; .line 3613 new-instance v0, Ljava/util/HashSet; const/4 v1, 0x5 new-array v2, v1, [Ljava/lang/String; const-string v1, "FNumber" const/4 v4, 0x0 aput-object v1, v2, v4 const-string v1, "DigitalZoomRatio" const/4 v4, 0x1 aput-object v1, v2, v4 const-string v1, "ExposureTime" const/4 v4, 0x2 aput-object v1, v2, v4 const-string v1, "SubjectDistance" const/4 v4, 0x3 aput-object v1, v2, v4 const-string v1, "GPSTimeStamp" const/4 v4, 0x4 aput-object v1, v2, v4 invoke-static {v2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v1 invoke-direct {v0, v1}, Ljava/util/HashSet;->(Ljava/util/Collection;)V sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet; .line 3618 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap; .line 3625 const-string v0, "US-ASCII" invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object v0 sput-object v0, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset; .line 3627 const-string v1, "Exif\u0000\u0000" invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object v0 sput-object v0, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B .line 3666 new-instance v0, Ljava/text/SimpleDateFormat; const-string v1, "yyyy:MM:dd HH:mm:ss" invoke-direct {v0, v1}, Ljava/text/SimpleDateFormat;->(Ljava/lang/String;)V sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat; .line 3667 const-string v1, "UTC" invoke-static {v1}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; move-result-object v1 invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V const/4 v12, 0x0 .line 3670 :goto_ace sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v1, v0 if-ge v12, v1, :cond_b09 .line 3671 sget-object v1, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap; new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V aput-object v2, v1, v12 .line 3672 sget-object v1, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap; new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V aput-object v2, v1, v12 .line 3673 aget-object v0, v0, v12 array-length v1, v0 const/4 v2, 0x0 :goto_ae9 if-ge v2, v1, :cond_b06 aget-object v4, v0, v2 .line 3674 sget-object v5, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap; aget-object v5, v5, v12 iget v6, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v6 invoke-virtual {v5, v6, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 3675 sget-object v5, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap; aget-object v5, v5, v12 iget-object v6, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v5, v6, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v2, v2, 0x1 goto :goto_ae9 :cond_b06 add-int/lit8 v12, v12, 0x1 goto :goto_ace .line 3680 :cond_b09 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, 0x0 aget-object v2, v1, v2 iget v2, v2, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v2, v15}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v2, 0x1 .line 3681 aget-object v2, v1, v2 iget v2, v2, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v2, 0x2 .line 3682 aget-object v2, v1, v2 iget v2, v2, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v0, v2, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v2, 0x3 .line 3683 aget-object v2, v1, v2 iget v2, v2, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 move-object/from16 v3, v20 invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v2, 0x4 .line 3684 aget-object v2, v1, v2 iget v2, v2, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 move-object/from16 v3, v19 invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v2, 0x5 .line 3685 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 move-object/from16 v2, v18 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 3709 const-string v0, ".*[1-9].*" invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v0 sput-object v0, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern; .line 3711 const-string v0, "^([0-9][0-9]):([0-9][0-9]):([0-9][0-9])$" .line 3712 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_b6c .array-data 1 -0x1t -0x28t -0x1t .end array-data :array_b72 .array-data 1 0x4ft 0x4ct 0x59t 0x4dt 0x50t 0x0t .end array-data nop :array_b7a .array-data 1 0x4ft 0x4ct 0x59t 0x4dt 0x50t 0x55t 0x53t 0x0t 0x49t 0x49t .end array-data nop :array_b84 .array-data 4 0x0 0x1 0x1 0x2 0x4 0x8 0x1 0x1 0x2 0x4 0x8 0x4 0x8 0x1 .end array-data :array_ba4 .array-data 1 0x41t 0x53t 0x43t 0x49t 0x49t 0x0t 0x0t 0x0t .end array-data .end method .method public constructor (Ljava/io/InputStream;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 3738 invoke-direct {p0}, Ljava/lang/Object;->()V .line 3691 sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v1, v0 new-array v1, v1, [Ljava/util/HashMap; iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; .line 3693 new-instance v1, Ljava/util/HashSet; array-length v0, v0 invoke-direct {v1, v0}, Ljava/util/HashSet;->(I)V iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set; .line 3694 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_2b const/4 v0, 0x0 .line 3742 iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; .line 3743 instance-of v1, p1, Landroid/content/res/AssetManager$AssetInputStream; if-eqz v1, :cond_25 .line 3744 move-object v0, p1 check-cast v0, Landroid/content/res/AssetManager$AssetInputStream; iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream; goto :goto_27 .line 3746 :cond_25 iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream; .line 3748 :goto_27 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V return-void .line 3740 :cond_2b new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "inputStream cannot be null" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public constructor (Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 3717 invoke-direct {p0}, Ljava/lang/Object;->()V .line 3691 sget-object v0, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v1, v0 new-array v1, v1, [Ljava/util/HashMap; iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; .line 3693 new-instance v1, Ljava/util/HashSet; array-length v0, v0 invoke-direct {v1, v0}, Ljava/util/HashSet;->(I)V iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set; .line 3694 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_31 const/4 v0, 0x0 .line 3722 iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream; .line 3723 iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; .line 3725 :try_start_1d new-instance v1, Ljava/io/FileInputStream; invoke-direct {v1, p1}, Ljava/io/FileInputStream;->(Ljava/lang/String;)V :try_end_22 .catchall {:try_start_1d .. :try_end_22} :catchall_2c .line 3726 :try_start_22 invoke-direct {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V :try_end_25 .catchall {:try_start_22 .. :try_end_25} :catchall_29 .line 3728 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V return-void :catchall_29 move-exception p1 move-object v0, v1 goto :goto_2d :catchall_2c move-exception p1 :goto_2d invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V throw p1 .line 3719 :cond_31 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "filename cannot be null" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method private addDefaultValuesForCompatibility()V .registers 7 .line 5257 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 .line 5258 const-string v2, "DateTime" invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 if-nez v3, :cond_1c .line 5259 iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, v1 .line 5260 invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 .line 5259 invoke-virtual {v3, v2, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5264 :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 .line 5265 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; .line 5266 invoke-static {v3, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v5 .line 5265 invoke-virtual {v2, v0, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5268 :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 .line 5269 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; .line 5270 invoke-static {v3, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v5 .line 5269 invoke-virtual {v2, v0, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5272 :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 .line 5273 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; .line 5274 invoke-static {v3, v4, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v2 .line 5273 invoke-virtual {v1, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5276 :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 .line 5277 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; .line 5278 invoke-static {v3, v4, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v2 .line 5277 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 private static closeQuietly(Ljava/io/Closeable;)V .registers 1 if-eqz p0, :cond_8 .line 6478 :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 .line 6480 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 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 div-double/2addr v6, v2 sub-double/2addr p1, v6 const-wide v2, 0x40ac200000000000L # 3600.0 mul-double/2addr p1, v2 const-wide v2, 0x416312d000000000L # 1.0E7 mul-double/2addr p1, v2 .line 4690 invoke-static {p1, p2}, Ljava/lang/Math;->round(D)J move-result-wide p1 .line 4691 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, "/1," invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, "/10000000" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private static convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D .registers 13 .line 4657 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 .line 4660 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 .line 4661 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 .line 4662 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 .line 4664 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 .line 4665 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 .line 4666 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 .line 4668 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 .line 4669 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 .line 4670 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 .line 4673 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 .line 4675 :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 .line 4679 :cond_8a new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()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 .line 4683 :catch_93 new-instance p0, Ljava/lang/IllegalArgumentException; invoke-direct {p0}, Ljava/lang/IllegalArgumentException;->()V throw p0 .end method .method private static convertToLongArray(Ljava/lang/Object;)[J .registers 5 .line 6506 instance-of v0, p0, [I if-eqz v0, :cond_18 .line 6507 check-cast p0, [I check-cast p0, [I .line 6508 array-length v0, p0 new-array v0, v0, [J const/4 v1, 0x0 .line 6509 :goto_c array-length v2, p0 if-ge v1, v2, :cond_17 .line 6510 aget v2, p0, v1 int-to-long v2, v2 aput-wide v2, v0, v1 add-int/lit8 v1, v1, 0x1 goto :goto_c :cond_17 return-object v0 .line 6513 :cond_18 instance-of v0, p0, [J if-eqz v0, :cond_21 .line 6514 check-cast p0, [J check-cast p0, [J return-object p0 :cond_21 const/4 p0, 0x0 return-object p0 .end method .method private 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 .line 6492 new-array v0, v0, [B const/4 v1, 0x0 move v2, v1 .line 6494 :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 .line 6496 invoke-virtual {p1, v0, v1, v3}, Ljava/io/OutputStream;->write([BII)V goto :goto_6 :cond_12 return v2 .end method .method private getExifAttribute(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .registers 4 .line 3759 const-string v0, "ISOSpeedRatings" invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_a .line 3764 const-string p1, "PhotographicSensitivity" :cond_a const/4 v0, 0x0 .line 3768 :goto_b sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v1, v1 if-ge v0, v1, :cond_20 .line 3769 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_1d return-object v1 :cond_1d add-int/lit8 v0, v0, 0x1 goto :goto_b :cond_20 const/4 p1, 0x0 return-object p1 .end method .method private getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V .registers 13 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 4798 sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder; invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V int-to-long v0, p2 .line 4801 invoke-virtual {p1, v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V .line 4805 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B move-result v0 const-string v1, "Invalid marker: " const/4 v2, -0x1 if-ne v0, v2, :cond_14f .line 4809 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B move-result v3 const/16 v4, -0x28 if-ne v3, v4, :cond_136 add-int/lit8 p2, p2, 0x2 .line 4814 :goto_1c invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B move-result v0 if-ne v0, v2, :cond_11b .line 4819 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B move-result v0 const/16 v1, -0x27 if-eq v0, v1, :cond_115 const/16 v1, -0x26 if-ne v0, v1, :cond_30 goto/16 :goto_115 .line 4830 :cond_30 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v1 add-int/lit8 v3, v1, -0x2 add-int/lit8 v4, p2, 0x4 .line 4836 const-string v5, "Invalid length" if-ltz v3, :cond_10f const/16 v6, -0x1f const/4 v7, 0x0 .line 4839 const-string v8, "Invalid exif" if-eq v0, v6, :cond_b8 const/4 p2, -0x2 const/4 v6, 0x1 if-eq v0, p2, :cond_8e packed-switch v0, :pswitch_data_168 packed-switch v0, :pswitch_data_174 packed-switch v0, :pswitch_data_17e packed-switch v0, :pswitch_data_188 goto/16 :goto_e3 .line 4904 :pswitch_55 invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I move-result p2 if-ne p2, v6, :cond_86 .line 4907 iget-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p2, p2, p3 .line 4908 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v0 int-to-long v6, v0 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 4907 invoke-static {v6, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 const-string v3, "ImageLength" invoke-virtual {p2, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 4909 iget-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p2, p2, p3 .line 4910 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v0 int-to-long v6, v0 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 4909 invoke-static {v6, v7, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 const-string v3, "ImageWidth" invoke-virtual {p2, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v3, v1, -0x7 goto :goto_e3 .line 4905 :cond_86 new-instance p1, Ljava/io/IOException; const-string p2, "Invalid SOFx" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4879 :cond_8e new-array p2, v3, [B .line 4880 invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I move-result v0 if-ne v0, v3, :cond_b2 .line 4884 const-string v0, "UserComment" invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 if-nez v1, :cond_b0 .line 4885 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v1, v6 new-instance v3, Ljava/lang/String; sget-object v6, Landroidx/exifinterface/media/ExifInterface;->ASCII:Ljava/nio/charset/Charset; invoke-direct {v3, p2, v6}, Ljava/lang/String;->([BLjava/nio/charset/Charset;)V invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object p2 invoke-virtual {v1, v0, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_b0 :goto_b0 move v3, v7 goto :goto_e3 .line 4881 :cond_b2 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v8}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 :cond_b8 const/4 v0, 0x6 if-ge v3, v0, :cond_bc goto :goto_e3 .line 4848 :cond_bc new-array v3, v0, [B .line 4849 invoke-virtual {p1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I move-result v4 if-ne v4, v0, :cond_109 add-int/lit8 v4, p2, 0xa add-int/lit8 p2, v1, -0x8 .line 4854 sget-object v0, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B invoke-static {v3, v0}, Ljava/util/Arrays;->equals([B[B)Z move-result v0 if-nez v0, :cond_d2 move v3, p2 goto :goto_e3 :cond_d2 if-lez p2, :cond_103 .line 4865 iput v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifOffset:I .line 4867 new-array v0, p2, [B .line 4868 invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I move-result v1 if-ne v1, p2, :cond_fd add-int/2addr v4, p2 .line 4874 invoke-direct {p0, v0, p3}, Landroidx/exifinterface/media/ExifInterface;->readExifSegment([BI)V goto :goto_b0 :goto_e3 if-ltz v3, :cond_f7 .line 4922 invoke-virtual {p1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I move-result p2 if-ne p2, v3, :cond_ef add-int p2, v4, v3 goto/16 :goto_1c .line 4923 :cond_ef new-instance p1, Ljava/io/IOException; const-string p2, "Invalid JPEG segment" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4920 :cond_f7 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v5}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4869 :cond_fd new-instance p1, Ljava/io/IOException; invoke-direct {p1, v8}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4859 :cond_103 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v8}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4850 :cond_109 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v8}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4837 :cond_10f new-instance p1, Ljava/io/IOException; invoke-direct {p1, v5}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4928 :cond_115 :goto_115 iget-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V return-void .line 4816 :cond_11b new-instance p1, Ljava/io/IOException; new-instance p2, Ljava/lang/StringBuilder; const-string p3, "Invalid marker:" invoke-direct {p2, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V and-int/lit16 p3, v0, 0xff invoke-static {p3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4810 :cond_136 new-instance p1, Ljava/io/IOException; new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V and-int/lit16 p3, v0, 0xff invoke-static {p3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 4806 :cond_14f new-instance p1, Ljava/io/IOException; new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V and-int/lit16 p3, v0, 0xff invoke-static {p3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 :pswitch_data_168 .packed-switch -0x40 :pswitch_55 :pswitch_55 :pswitch_55 :pswitch_55 .end packed-switch :pswitch_data_174 .packed-switch -0x3b :pswitch_55 :pswitch_55 :pswitch_55 .end packed-switch :pswitch_data_17e .packed-switch -0x37 :pswitch_55 :pswitch_55 :pswitch_55 .end packed-switch :pswitch_data_188 .packed-switch -0x33 :pswitch_55 :pswitch_55 :pswitch_55 .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 .line 4696 invoke-virtual {p1, v0}, Ljava/io/BufferedInputStream;->mark(I)V .line 4697 new-array v0, v0, [B .line 4698 invoke-virtual {p1, v0}, Ljava/io/BufferedInputStream;->read([B)I .line 4699 invoke-virtual {p1}, Ljava/io/BufferedInputStream;->reset()V .line 4700 invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->isJpegFormat([B)Z move-result p1 if-eqz p1, :cond_15 const/4 p1, 0x4 return p1 .line 4702 :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 .line 4704 :cond_1e invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isOrfFormat([B)Z move-result p1 if-eqz p1, :cond_26 const/4 p1, 0x7 return p1 .line 4706 :cond_26 invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isRw2Format([B)Z move-result p1 if-eqz p1, :cond_2f const/16 p1, 0xa return p1 :cond_2f const/4 p1, 0x0 return p1 .end method .method private getOrfAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5043 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V .line 5048 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" .line 5049 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_ef .line 5052 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;->([B)V .line 5054 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 .line 5058 sget-object p1, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_1:[B array-length v2, p1 new-array v2, v2, [B .line 5059 invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V const-wide/16 v3, 0x0 .line 5060 invoke-virtual {v1, v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V .line 5061 sget-object v3, Landroidx/exifinterface/media/ExifInterface;->ORF_MAKER_NOTE_HEADER_2:[B array-length v4, v3 new-array v4, v4, [B .line 5062 invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V .line 5064 invoke-static {v2, p1}, Ljava/util/Arrays;->equals([B[B)Z move-result p1 if-eqz p1, :cond_3f const-wide/16 v2, 0x8 .line 5065 invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V goto :goto_4a .line 5066 :cond_3f invoke-static {v4, v3}, Ljava/util/Arrays;->equals([B[B)Z move-result p1 if-eqz p1, :cond_4a const-wide/16 v2, 0xc .line 5067 invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V :cond_4a :goto_4a const/4 p1, 0x6 .line 5071 invoke-direct {p0, v1, p1}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V .line 5074 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" .line 5075 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; .line 5076 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v2, v1 const-string v2, "PreviewImageLength" .line 5077 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_7e if-eqz v1, :cond_7e .line 5080 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; .line 5082 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; .line 5089 :cond_7e 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" .line 5090 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_ef .line 5092 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 check-cast p1, [I if-eqz p1, :cond_d7 .line 5093 array-length v1, p1 const/4 v2, 0x4 if-eq v1, v2, :cond_9f goto :goto_d7 :cond_9f const/4 v1, 0x2 .line 5098 aget v1, p1, v1 const/4 v2, 0x0 aget v3, p1, v2 if-le v1, v3, :cond_ef const/4 v4, 0x3 aget v4, p1, v4 aget p1, p1, v0 if-le v4, p1, :cond_ef sub-int/2addr v1, v3 add-int/2addr v1, v0 sub-int/2addr v4, p1 add-int/2addr v4, v0 if-ge v1, v4, :cond_b8 add-int/2addr v1, v4 sub-int v4, v1, v4 sub-int/2addr v1, v4 .line 5108 :cond_b8 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5109 invoke-static {v1, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object p1 .line 5110 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5111 invoke-static {v4, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 .line 5113 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v1, v2 const-string v3, "ImageWidth" invoke-virtual {v1, v3, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5114 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, p1, v2 const-string v1, "ImageLength" invoke-virtual {p1, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_ef .line 5094 :cond_d7 :goto_d7 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Invalid aspect frame values. frame=" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 5095 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; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 5094 const-string v0, "ExifInterface" invoke-static {v0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_ef :goto_ef return-void .end method .method private getRafAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/16 v0, 0x54 .line 4984 invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I const/4 v0, 0x4 .line 4985 new-array v1, v0, [B .line 4986 new-array v2, v0, [B .line 4987 invoke-virtual {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I .line 4989 invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I .line 4990 invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I .line 4991 invoke-static {v1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getInt()I move-result v0 .line 4992 invoke-static {v2}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer; move-result-object v1 invoke-virtual {v1}, Ljava/nio/ByteBuffer;->getInt()I move-result v1 const/4 v2, 0x5 .line 4995 invoke-direct {p0, p1, v0, v2}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V int-to-long v0, v1 .line 4998 invoke-virtual {p1, v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V .line 5001 sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder; invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V .line 5002 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_36 if-ge v2, v0, :cond_73 .line 5010 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v3 .line 5011 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v4 .line 5012 sget-object v5, Landroidx/exifinterface/media/ExifInterface;->TAG_RAF_IMAGE_SIZE:Landroidx/exifinterface/media/ExifInterface$ExifTag; iget v5, v5, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I if-ne v3, v5, :cond_6d .line 5013 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result v0 .line 5014 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result p1 .line 5015 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5016 invoke-static {v0, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 .line 5017 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5018 invoke-static {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object p1 .line 5019 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, v1 const-string v3, "ImageLength" invoke-virtual {v2, v3, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5020 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v0, v0, v1 const-string v1, "ImageWidth" invoke-virtual {v0, v1, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-void .line 5026 :cond_6d invoke-virtual {p1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I add-int/lit8 v2, v2, 0x1 goto :goto_36 :cond_73 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 .line 4933 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 .line 4936 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V .line 4939 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V const/4 v0, 0x5 .line 4940 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V const/4 v0, 0x4 .line 4941 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->updateImageSizeValues(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V .line 4944 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->validateImages(Ljava/io/InputStream;)V .line 4946 iget p1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I const/16 v0, 0x8 if-ne p1, v0, :cond_59 .line 4949 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" .line 4950 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 .line 4953 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;->([B)V .line 4955 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 .line 4958 invoke-virtual {v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V const/16 p1, 0x9 .line 4961 invoke-direct {p0, v1, p1}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V .line 4964 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, v1, p1 .line 4965 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 .line 4967 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 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5125 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V .line 5128 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; const/4 v1, 0x0 aget-object v0, v0, v1 const-string v2, "JpgFromRaw" .line 5129 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 v0, :cond_18 .line 5131 iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mRw2JpgFromRawOffset:I const/4 v2, 0x5 invoke-direct {p0, p1, v0, v2}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V .line 5135 :cond_18 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, p1, v1 const-string v0, "ISO" .line 5136 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; .line 5137 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; const/4 v1, 0x1 aget-object v0, v0, v1 .line 5138 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_3c if-nez v0, :cond_3c .line 5141 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_3c return-void .end method .method private 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 .line 6052 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 .line 6101 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 .line 6053 invoke-virtual {p0, v0, v6}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object p0 .line 6054 aget-object v0, p0, v2 invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair; move-result-object v0 .line 6055 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 .line 6058 :cond_29 :goto_29 array-length v1, p0 if-ge v3, v1, :cond_a5 .line 6059 aget-object v1, p0, v3 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair; move-result-object v1 .line 6061 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; .line 6062 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 move v2, v6 goto :goto_55 .line 6063 :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 .line 6065 :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; .line 6066 invoke-virtual {v1, v4}, Ljava/lang/Integer;->equals(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_80 .line 6067 :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 move v1, v6 :goto_81 if-ne v2, v6, :cond_8b if-ne v1, v6, :cond_8b .line 6070 new-instance p0, Landroid/util/Pair; invoke-direct {p0, v5, v7}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object p0 :cond_8b if-ne v2, v6, :cond_97 .line 6073 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;->(Ljava/lang/Object;Ljava/lang/Object;)V goto :goto_a2 :cond_97 if-ne v1, v6, :cond_a2 .line 6077 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;->(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 .line 6084 :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 .line 6085 invoke-virtual {p0, v0, v6}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object p0 .line 6086 array-length v0, p0 if-ne v0, v4, :cond_ff .line 6088 :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 .line 6089 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 cmp-long p0, v0, v8 const/16 v4, 0xa if-ltz p0, :cond_f5 cmp-long p0, v2, v8 if-gez p0, :cond_d0 goto :goto_f5 :cond_d0 const-wide/32 v8, 0x7fffffff cmp-long p0, v0, v8 const/4 v0, 0x5 if-gtz p0, :cond_eb cmp-long p0, v2, v8 if-lez p0, :cond_dd goto :goto_eb .line 6096 :cond_dd new-instance p0, Landroid/util/Pair; invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-direct {p0, v1, v0}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object p0 .line 6094 :cond_eb :goto_eb new-instance p0, Landroid/util/Pair; invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-direct {p0, v0, v7}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object p0 .line 6091 :cond_f5 :goto_f5 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;->(Ljava/lang/Object;Ljava/lang/Object;)V :try_end_fe .catch Ljava/lang/NumberFormatException; {:try_start_b7 .. :try_end_fe} :catch_ff return-object p0 .line 6101 :catch_ff :cond_ff new-instance p0, Landroid/util/Pair; invoke-direct {p0, v5, v7}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object p0 .line 6104 :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 .line 6105 invoke-virtual {v0}, Ljava/lang/Long;->longValue()J move-result-wide v1 cmp-long v1, v1, v8 const/4 v2, 0x4 if-ltz v1, :cond_130 invoke-virtual {v0}, Ljava/lang/Long;->longValue()J move-result-wide v3 const-wide/32 v10, 0xffff cmp-long v1, v3, v10 if-gtz v1, :cond_130 .line 6106 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 {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-direct {v0, v1, v2}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object v0 .line 6108 :cond_130 invoke-virtual {v0}, Ljava/lang/Long;->longValue()J move-result-wide v0 cmp-long v0, v0, v8 if-gez v0, :cond_144 .line 6109 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;->(Ljava/lang/Object;Ljava/lang/Object;)V return-object v0 .line 6111 :cond_144 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;->(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 .line 6116 :catch_14e :try_start_14e invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D .line 6117 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;->(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 .line 6121 :catch_15d new-instance p0, Landroid/util/Pair; invoke-direct {p0, v5, v7}, Landroid/util/Pair;->(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 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5608 const-string v0, "JPEGInterchangeFormat" .line 5609 invoke-virtual {p2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5610 const-string v1, "JPEGInterchangeFormatLength" .line 5611 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_5e if-eqz p2, :cond_5e .line 5614 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 .line 5615 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 .line 5618 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->available()I move-result v1 sub-int/2addr v1, v0 invoke-static {p2, v1}, Ljava/lang/Math;->min(II)I move-result p2 .line 5619 iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I const/4 v2, 0x4 if-eq v1, v2, :cond_3d const/16 v2, 0x9 if-eq v1, v2, :cond_3d const/16 v2, 0xa if-ne v1, v2, :cond_37 goto :goto_3d :cond_37 const/4 v2, 0x7 if-ne v1, v2, :cond_40 .line 5624 iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mOrfMakerNoteOffset:I goto :goto_3f .line 5621 :cond_3d :goto_3d iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifOffset:I :goto_3f add-int/2addr v0, v1 :cond_40 if-lez v0, :cond_5e if-lez p2, :cond_5e const/4 v1, 0x1 .line 5631 iput-boolean v1, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z .line 5632 iput v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I .line 5633 iput p2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I .line 5634 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; if-nez v1, :cond_5e iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream; if-nez v1, :cond_5e .line 5636 new-array p2, p2, [B int-to-long v0, v0 .line 5637 invoke-virtual {p1, v0, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V .line 5638 invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V .line 5639 iput-object p2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B :cond_5e return-void .end method .method private handleThumbnailFromStrips(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V .registers 15 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5648 const-string v0, "StripOffsets" .line 5649 invoke-virtual {p2, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5650 const-string v1, "StripByteCounts" .line 5651 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_77 if-eqz p2, :cond_77 .line 5654 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5655 invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object; move-result-object v0 invoke-static {v0}, Landroidx/exifinterface/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J move-result-object v0 .line 5656 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5657 invoke-virtual {p2, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object; move-result-object p2 invoke-static {p2}, Landroidx/exifinterface/media/ExifInterface;->convertToLongArray(Ljava/lang/Object;)[J move-result-object p2 .line 5659 const-string v1, "ExifInterface" if-nez v0, :cond_32 .line 5660 const-string p1, "stripOffsets should not be null." invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_32 if-nez p2, :cond_3a .line 5664 const-string p1, "stripByteCounts should not be null." invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void .line 5669 :cond_3a array-length v2, p2 const/4 v3, 0x0 const-wide/16 v4, 0x0 move v6, v3 :goto_3f if-ge v6, v2, :cond_47 aget-wide v7, p2, v6 add-long/2addr v4, v7 add-int/lit8 v6, v6, 0x1 goto :goto_3f :cond_47 long-to-int v2, v4 .line 5674 new-array v4, v2, [B move v5, v3 move v6, v5 move v7, v6 .line 5678 :goto_4d array-length v8, v0 if-ge v5, v8, :cond_70 .line 5679 aget-wide v8, v0, v5 long-to-int v8, v8 .line 5680 aget-wide v9, p2, v5 long-to-int v9, v9 sub-int/2addr v8, v6 if-gez v8, :cond_5e .line 5685 const-string v10, "Invalid strip offset value" invoke-static {v1, v10}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :cond_5e int-to-long v10, v8 .line 5687 invoke-virtual {p1, v10, v11}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V add-int/2addr v6, v8 .line 5691 new-array v8, v9, [B .line 5692 invoke-virtual {p1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->read([B)I add-int/2addr v6, v9 .line 5696 invoke-static {v8, v3, v4, v7, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V add-int/2addr v7, v9 add-int/lit8 v5, v5, 0x1 goto :goto_4d :cond_70 const/4 p1, 0x1 .line 5701 iput-boolean p1, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z .line 5702 iput-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B .line 5703 iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I :cond_77 return-void .end method .method private static isJpegFormat([B)Z .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 move v1, v0 .line 4718 :goto_2 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->JPEG_SIGNATURE:[B array-length v3, v2 if-ge v1, v3, :cond_11 .line 4719 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 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 4751 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream; invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->([B)V .line 4754 invoke-direct {p0, v0}, 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; .line 4756 invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V .line 4758 invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result p1 .line 4759 invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V const/16 v0, 0x4f52 if-eq p1, v0, :cond_20 const/16 v0, 0x5352 if-ne p1, v0, :cond_1e goto :goto_20 :cond_1e const/4 p1, 0x0 goto :goto_21 :cond_20 :goto_20 const/4 p1, 0x1 :goto_21 return p1 .end method .method private isRafFormat([B)Z .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 4733 const-string v0, "FUJIFILMCCD-RAW" invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object v0 const/4 v1, 0x0 move v2, v1 .line 4734 :goto_c array-length v3, v0 if-ge v2, v3, :cond_19 .line 4735 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 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 4768 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream; invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->([B)V .line 4771 invoke-direct {p0, v0}, 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; .line 4773 invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V .line 4775 invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result p1 .line 4776 invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->close()V const/16 v0, 0x55 if-ne p1, v0, :cond_1b const/4 p1, 0x1 goto :goto_1c :cond_1b const/4 p1, 0x0 :goto_1c return p1 .end method .method private isSupportedDataType(Ljava/util/HashMap;)Z .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5709 const-string v0, "BitsPerSample" .line 5710 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 .line 5712 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 check-cast v0, [I .line 5714 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 v2 const/4 v3, 0x1 if-eqz v2, :cond_1e return v3 .line 5719 :cond_1e iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I const/4 v4, 0x3 if-ne v2, v4, :cond_47 .line 5720 const-string v2, "PhotometricInterpretation" .line 5721 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; if-eqz p1, :cond_47 .line 5723 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5724 invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result p1 if-ne p1, v3, :cond_3d .line 5725 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->BITS_PER_SAMPLE_GREYSCALE_2:[I .line 5726 invoke-static {v0, v2}, Ljava/util/Arrays;->equals([I[I)Z move-result v2 if-nez v2, :cond_46 :cond_3d const/4 v2, 0x6 if-ne p1, v2, :cond_47 .line 5728 invoke-static {v0, v1}, Ljava/util/Arrays;->equals([I[I)Z move-result p1 if-eqz p1, :cond_47 :cond_46 return v3 :cond_47 const/4 p1, 0x0 return p1 .end method .method private isThumbnail(Ljava/util/HashMap;)Z .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5745 const-string v0, "ImageLength" invoke-virtual {p1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5746 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 .line 5749 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 .line 5750 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 loadAttributes(Ljava/io/InputStream;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 move v1, v0 .line 4207 :goto_2 :try_start_2 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v2, v2 if-ge v1, v2, :cond_13 .line 4208 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; new-instance v3, Ljava/util/HashMap; invoke-direct {v3}, Ljava/util/HashMap;->()V aput-object v3, v2, v1 add-int/lit8 v1, v1, 0x1 goto :goto_2 .line 4212 :cond_13 new-instance v1, Ljava/io/BufferedInputStream; const/16 v2, 0x1388 invoke-direct {v1, p1, v2}, Ljava/io/BufferedInputStream;->(Ljava/io/InputStream;I)V .line 4213 move-object p1, v1 check-cast p1, Ljava/io/BufferedInputStream; 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 .line 4216 new-instance p1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream; invoke-direct {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->(Ljava/io/InputStream;)V .line 4218 iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I packed-switch v1, :pswitch_data_54 goto :goto_41 .line 4232 :pswitch_2e invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRw2Attributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V goto :goto_41 .line 4224 :pswitch_32 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRafAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V goto :goto_41 .line 4228 :pswitch_36 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getOrfAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V goto :goto_41 .line 4220 :pswitch_3a invoke-direct {p0, p1, v0, v0}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V goto :goto_41 .line 4243 :pswitch_3e invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->getRawAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V .line 4251 :goto_41 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V const/4 p1, 0x1 .line 4252 iput-boolean p1, p0, Landroidx/exifinterface/media/ExifInterface;->mIsSupportedFile:Z :try_end_47 .catch Ljava/io/IOException; {:try_start_2 .. :try_end_47} :catch_4a .catchall {:try_start_2 .. :try_end_47} :catchall_48 goto :goto_4c :catchall_48 move-exception p1 goto :goto_50 .line 4256 :catch_4a :try_start_4a iput-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mIsSupportedFile:Z :try_end_4c .catchall {:try_start_4a .. :try_end_4c} :catchall_48 .line 4263 :goto_4c invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V return-void :goto_50 invoke-direct {p0}, Landroidx/exifinterface/media/ExifInterface;->addDefaultValuesForCompatibility()V throw p1 :pswitch_data_54 .packed-switch 0x0 :pswitch_3e :pswitch_3e :pswitch_3e :pswitch_3e :pswitch_3a :pswitch_3e :pswitch_3e :pswitch_36 :pswitch_3e :pswitch_32 :pswitch_2e :pswitch_3e .end packed-switch .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 .line 5305 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->readByteOrder(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder; move-result-object v0 iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5307 invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V .line 5310 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v0 .line 5311 iget v1, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I const/4 v2, 0x7 if-eq v1, v2, :cond_34 const/16 v2, 0xa if-eq v1, v2, :cond_34 const/16 v1, 0x2a if-ne v0, v1, :cond_1b goto :goto_34 .line 5312 :cond_1b new-instance p1, Ljava/io/IOException; new-instance p2, Ljava/lang/StringBuilder; const-string v1, "Invalid start code: " invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5316 :cond_34 :goto_34 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I move-result v0 const/16 v1, 0x8 if-lt v0, v1, :cond_5f if-ge v0, p2, :cond_5f add-int/lit8 v0, v0, -0x8 if-lez v0, :cond_5e .line 5322 invoke-virtual {p1, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I move-result p1 if-ne p1, v0, :cond_49 goto :goto_5e .line 5323 :cond_49 new-instance p1, Ljava/io/IOException; new-instance p2, Ljava/lang/StringBuilder; const-string v1, "Couldn\'t jump to first Ifd: " invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 :cond_5e :goto_5e return-void .line 5318 :cond_5f new-instance p1, Ljava/io/IOException; new-instance p2, Ljava/lang/StringBuilder; const-string v1, "Invalid first Ifd offset: " invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .end method .method private printAttributes()V .registers 8 const/4 v0, 0x0 .line 4273 :goto_1 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; array-length v1, v1 if-ge v0, v1, :cond_8b .line 4274 new-instance v1, Ljava/lang/StringBuilder; const-string v2, "The size of tag group[" invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "]: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v2, "ExifInterface" invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 4275 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_87 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/util/Map$Entry; .line 4276 invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 4277 new-instance v5, Ljava/lang/StringBuilder; const-string v6, "tagName: " invoke-direct {v5, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object v3 const-string v5, ", tagType: " invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->toString()Ljava/lang/String; move-result-object v5 invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 const-string v5, ", tagValue: \'" invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 iget-object v5, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 4278 invoke-virtual {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 const-string v4, "\'" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 .line 4277 invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I goto :goto_38 :cond_87 add-int/lit8 v0, v0, 0x1 goto/16 :goto_1 :cond_8b 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 .line 5285 invoke-virtual {p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result p1 const/16 v0, 0x4949 if-eq p1, v0, :cond_28 const/16 v0, 0x4d4d if-ne p1, v0, :cond_f .line 5296 sget-object p1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder; return-object p1 .line 5298 :cond_f new-instance v0, Ljava/io/IOException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Invalid byte order: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 .line 5291 :cond_28 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 .line 5245 new-instance v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream; invoke-direct {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->([B)V .line 5249 array-length p1, p1 invoke-direct {p0, v0, p1}, Landroidx/exifinterface/media/ExifInterface;->parseTiffHeaders(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V .line 5252 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 26 .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 .line 5332 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set; iget v4, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 invoke-interface {v3, v4}, Ljava/util/Set;->add(Ljava/lang/Object;)Z .line 5334 iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I add-int/lit8 v3, v3, 0x2 iget v4, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I if-le v3, v4, :cond_1a return-void .line 5339 :cond_1a invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result v3 .line 5343 iget v4, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I mul-int/lit8 v5, v3, 0xc add-int/2addr v4, v5 iget v5, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I if-gt v4, v5, :cond_319 if-gtz v3, :cond_2b goto/16 :goto_319 :cond_2b const/4 v5, 0x0 .line 5350 :goto_2c const-string v9, "ExifInterface" if-ge v5, v3, :cond_2ad .line 5351 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v10 .line 5352 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v11 .line 5353 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I move-result v12 .line 5355 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I move-result v13 int-to-long v13, v13 const-wide/16 v15, 0x4 add-long/2addr v13, v15 .line 5358 sget-object v17, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForReading:[Ljava/util/HashMap; aget-object v4, v17, v2 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v8 invoke-virtual {v4, v8}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifTag; const/4 v8, 0x7 if-nez v4, :cond_6c .line 5369 new-instance v15, Ljava/lang/StringBuilder; const-string v6, "Skip the tag entry since tag number is not defined: " invoke-direct {v15, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v15, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v6 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v9, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :goto_67 move/from16 v16, v5 move-object v7, v9 goto/16 :goto_e1 :cond_6c if-lez v11, :cond_cc .line 5370 sget-object v6, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_BYTES_PER_FORMAT:[I array-length v7, v6 if-lt v11, v7, :cond_74 goto :goto_cc .line 5372 :cond_74 invoke-virtual {v4, v11}, Landroidx/exifinterface/media/ExifInterface$ExifTag;->isFormatCompatible(I)Z move-result v7 if-nez v7, :cond_9d .line 5373 new-instance v6, Ljava/lang/StringBuilder; const-string v7, "Skip the tag entry since data format (" invoke-direct {v6, v7}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V sget-object v7, Landroidx/exifinterface/media/ExifInterface;->IFD_FORMAT_NAMES:[Ljava/lang/String; aget-object v7, v7, v11 invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v6 const-string v7, ") is unexpected for tag: " invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v6 iget-object v7, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v6 invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v9, v6}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_67 :cond_9d if-ne v11, v8, :cond_a1 .line 5377 iget v11, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I :cond_a1 move-object v7, v9 int-to-long v8, v12 .line 5379 aget v6, v6, v11 move/from16 v16, v5 int-to-long v5, v6 mul-long/2addr v5, v8 const-wide/16 v8, 0x0 cmp-long v20, v5, v8 if-ltz v20, :cond_b9 const-wide/32 v8, 0x7fffffff cmp-long v8, v5, v8 if-lez v8, :cond_b7 goto :goto_b9 :cond_b7 const/4 v8, 0x1 goto :goto_e4 .line 5381 :cond_b9 :goto_b9 new-instance v8, Ljava/lang/StringBuilder; const-string v9, "Skip the tag entry since the number of components is invalid: " invoke-direct {v8, v9}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v8, v12}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v8 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v8 invoke-static {v7, v8}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_e3 :cond_cc :goto_cc move/from16 v16, v5 move-object v7, v9 .line 5371 new-instance v5, Ljava/lang/StringBuilder; const-string v6, "Skip the tag entry since data format is invalid: " invoke-direct {v5, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v5, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v5 invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 invoke-static {v7, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :goto_e1 const-wide/16 v5, 0x0 :goto_e3 const/4 v8, 0x0 :goto_e4 if-nez v8, :cond_ed .line 5388 invoke-virtual {v1, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V move/from16 v19, v3 goto/16 :goto_2a6 :cond_ed const-wide/16 v8, 0x4 cmp-long v8, v5, v8 .line 5394 const-string v9, "Compression" if-lez v8, :cond_19f .line 5395 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I move-result v8 .line 5399 iget v15, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I move/from16 v19, v3 const/4 v3, 0x7 if-ne v15, v3, :cond_15f .line 5400 const-string v3, "MakerNote" iget-object v15, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v3, v15}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_10d .line 5402 iput v8, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfMakerNoteOffset:I goto :goto_158 :cond_10d const/4 v3, 0x6 if-ne v2, v3, :cond_158 .line 5403 const-string v15, "ThumbnailImage" iget-object v3, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; .line 5404 invoke-virtual {v15, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_158 .line 5406 iput v8, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailOffset:I .line 5407 iput v12, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailLength:I .line 5409 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; const/4 v15, 0x6 .line 5410 invoke-static {v15, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v3 .line 5411 iget v15, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailOffset:I move/from16 v20, v11 move/from16 v18, v12 int-to-long v11, v15 iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5412 invoke-static {v11, v12, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v11 .line 5413 iget v12, v0, Landroidx/exifinterface/media/ExifInterface;->mOrfThumbnailLength:I move-wide/from16 v21, v13 int-to-long v12, v12 iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5414 invoke-static {v12, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v12 .line 5416 iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; const/4 v14, 0x4 aget-object v13, v13, v14 invoke-virtual {v13, v9, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5417 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, v14 const-string v13, "JPEGInterchangeFormat" invoke-virtual {v3, v13, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5419 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, v14 const-string v11, "JPEGInterchangeFormatLength" invoke-virtual {v3, v11, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_175 :cond_158 :goto_158 move/from16 v20, v11 move/from16 v18, v12 move-wide/from16 v21, v13 goto :goto_175 :cond_15f move/from16 v20, v11 move/from16 v18, v12 move-wide/from16 v21, v13 const/16 v3, 0xa if-ne v15, v3, :cond_175 .line 5423 const-string v3, "JpgFromRaw" iget-object v11, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v3, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_175 .line 5424 iput v8, v0, Landroidx/exifinterface/media/ExifInterface;->mRw2JpgFromRawOffset:I :cond_175 :goto_175 int-to-long v11, v8 add-long v13, v11, v5 .line 5427 iget v3, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I move-object v15, v4 int-to-long v3, v3 cmp-long v3, v13, v3 if-gtz v3, :cond_186 .line 5428 invoke-virtual {v1, v11, v12}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V move-wide/from16 v13, v21 goto :goto_1a6 .line 5431 :cond_186 new-instance v3, Ljava/lang/StringBuilder; const-string v4, "Skip the tag entry since data offset is invalid: " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v7, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I move-wide/from16 v13, v21 .line 5432 invoke-virtual {v1, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V goto/16 :goto_2a6 :cond_19f move/from16 v19, v3 move-object v15, v4 move/from16 v20, v11 move/from16 v18, v12 .line 5438 :goto_1a6 sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sExifPointerTagMap:Ljava/util/HashMap; invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 invoke-virtual {v3, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/Integer; const/16 v4, 0x8 const/4 v8, 0x3 if-eqz v3, :cond_23e move/from16 v11, v20 if-eq v11, v8, :cond_1dc const/4 v5, 0x4 if-eq v11, v5, :cond_1d7 if-eq v11, v4, :cond_1d2 const/16 v4, 0x9 if-eq v11, v4, :cond_1cd const/16 v4, 0xd if-eq v11, v4, :cond_1cd const-wide/16 v4, -0x1 :goto_1ca const-wide/16 v8, 0x0 goto :goto_1e2 .line 5461 :cond_1cd invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I move-result v4 goto :goto_1e0 .line 5452 :cond_1d2 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S move-result v4 goto :goto_1e0 .line 5456 :cond_1d7 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedInt()J move-result-wide v4 goto :goto_1ca .line 5448 :cond_1dc invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I move-result v4 :goto_1e0 int-to-long v4, v4 goto :goto_1ca :goto_1e2 cmp-long v6, v4, v8 if-lez v6, :cond_228 .line 5476 iget v6, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I int-to-long v8, v6 cmp-long v6, v4, v8 if-gez v6, :cond_228 .line 5477 iget-object v6, 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 {v6, v8}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z move-result v6 if-nez v6, :cond_205 .line 5478 invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V .line 5479 invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I move-result v3 invoke-direct {v0, v1, v3}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V goto :goto_23a .line 5481 :cond_205 new-instance v6, Ljava/lang/StringBuilder; const-string v8, "Skip jump into the IFD since it has already been read: IfdType " invoke-direct {v6, v8}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v3 const-string v6, " (at " invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v3 const-string v4, ")" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v7, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_23a .line 5485 :cond_228 new-instance v3, Ljava/lang/StringBuilder; const-string v6, "Skip jump into the IFD since its offset is invalid: " invoke-direct {v3, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v7, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 5488 :goto_23a invoke-virtual {v1, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V goto :goto_2a6 :cond_23e move/from16 v11, v20 long-to-int v3, v5 .line 5492 new-array v3, v3, [B .line 5493 invoke-virtual {v1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V .line 5494 new-instance v5, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move/from16 v6, v18 invoke-direct {v5, v11, v6, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->(II[B)V .line 5495 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, v2 move-object v6, v15 iget-object v7, v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v3, v7, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5500 const-string v3, "DNGVersion" iget-object v7, v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v3, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_263 .line 5501 iput v8, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I .line 5507 :cond_263 const-string v3, "Make" iget-object v7, v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v3, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_277 const-string v3, "Model" iget-object v7, v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-virtual {v3, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_285 :cond_277 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5508 invoke-virtual {v5, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String; move-result-object v3 const-string v7, "PENTAX" invoke-virtual {v3, v7}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v3 if-nez v3, :cond_298 :cond_285 iget-object v3, v6, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; .line 5509 invoke-virtual {v9, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_29a iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5510 invoke-virtual {v5, v3}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result v3 const v5, 0xffff if-ne v3, v5, :cond_29a .line 5511 :cond_298 iput v4, v0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I .line 5515 :cond_29a invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->peek()I move-result v3 int-to-long v3, v3 cmp-long v3, v3, v13 if-eqz v3, :cond_2a6 .line 5516 invoke-virtual {v1, v13, v14}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V :cond_2a6 :goto_2a6 add-int/lit8 v5, v16, 0x1 int-to-short v5, v5 move/from16 v3, v19 goto/16 :goto_2c :cond_2ad move-object v7, v9 .line 5520 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_319 .line 5521 invoke-virtual/range {p1 .. p1}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I move-result v2 int-to-long v3, v2 const-wide/16 v5, 0x0 cmp-long v5, v3, v5 if-lez v5, :cond_307 .line 5528 iget v5, v1, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I if-ge v2, v5, :cond_307 .line 5529 iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributesOffsets:Ljava/util/Set; invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v6 invoke-interface {v5, v6}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z move-result v5 if-nez v5, :cond_2f4 .line 5530 invoke-virtual {v1, v3, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V .line 5531 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_2e5 .line 5533 invoke-direct {v0, v1, v3}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V goto :goto_319 .line 5534 :cond_2e5 iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; const/4 v3, 0x5 aget-object v2, v2, v3 invoke-virtual {v2}, Ljava/util/HashMap;->isEmpty()Z move-result v2 if-eqz v2, :cond_319 .line 5535 invoke-direct {v0, v1, v3}, Landroidx/exifinterface/media/ExifInterface;->readImageFileDirectory(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;I)V goto :goto_319 .line 5538 :cond_2f4 new-instance v1, Ljava/lang/StringBuilder; const-string v3, "Stop reading file since re-reading an IFD may cause an infinite loop: " invoke-direct {v1, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v7, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_319 .line 5542 :cond_307 new-instance v1, Ljava/lang/StringBuilder; const-string v3, "Stop reading file since a wrong offset may cause an infinite loop: " invoke-direct {v1, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v7, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_319 :goto_319 return-void .end method .method private removeAttribute(Ljava/lang/String;)V .registers 4 const/4 v0, 0x0 .line 4194 :goto_1 sget-object v1, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v1, v1 if-ge v0, v1, :cond_10 .line 4195 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 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5557 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v0, v0, p2 const-string v1, "ImageLength" .line 5558 invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5559 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v1, p2 const-string v2, "ImageWidth" .line 5560 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_33 .line 5564 :cond_1c iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v0, v0, p2 const-string v1, "JPEGInterchangeFormat" .line 5565 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; if-eqz v0, :cond_33 .line 5567 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5568 invoke-virtual {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result v0 .line 5571 invoke-direct {p0, p1, v0, p2}, Landroidx/exifinterface/media/ExifInterface;->getJpegAttributes(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;II)V :cond_33 return-void .end method .method private saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V .registers 16 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5153 new-instance v0, Ljava/io/DataInputStream; invoke-direct {v0, p1}, Ljava/io/DataInputStream;->(Ljava/io/InputStream;)V .line 5154 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;->(Ljava/io/OutputStream;Ljava/nio/ByteOrder;)V .line 5156 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_e0 .line 5159 invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5160 invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B move-result p2 const/16 v3, -0x28 if-ne p2, v3, :cond_da .line 5163 invoke-virtual {p1, v3}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5166 invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V const/16 p2, -0x1f .line 5167 invoke-virtual {p1, p2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V const/4 v3, 0x6 .line 5168 invoke-direct {p0, p1, v3}, Landroidx/exifinterface/media/ExifInterface;->writeExifSegment(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;I)I const/16 v4, 0x1000 .line 5170 new-array v5, v4, [B .line 5173 :cond_33 :goto_33 invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B move-result v6 if-ne v6, v2, :cond_d4 .line 5177 invoke-virtual {v0}, Ljava/io/DataInputStream;->readByte()B move-result v6 const/16 v7, -0x27 if-eq v6, v7, :cond_ca const/16 v7, -0x26 if-eq v6, v7, :cond_ca .line 5178 const-string v7, "Invalid length" const/4 v8, 0x0 if-eq v6, p2, :cond_72 .line 5223 invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5224 invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5225 invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedShort()I move-result v6 .line 5226 invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V add-int/lit8 v6, v6, -0x2 if-ltz v6, :cond_6c :goto_5b if-lez v6, :cond_33 .line 5233 invoke-static {v6, v4}, Ljava/lang/Math;->min(II)I move-result v7 .line 5232 invoke-virtual {v0, v5, v8, v7}, Ljava/io/DataInputStream;->read([BII)I move-result v7 if-ltz v7, :cond_33 .line 5234 invoke-virtual {p1, v5, v8, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V sub-int/2addr v6, v7 goto :goto_5b .line 5229 :cond_6c new-instance p1, Ljava/io/IOException; invoke-direct {p1, v7}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5180 :cond_72 invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedShort()I move-result v9 add-int/lit8 v10, v9, -0x2 if-ltz v10, :cond_c4 .line 5184 new-array v11, v3, [B if-lt v10, v3, :cond_a3 .line 5186 invoke-virtual {v0, v11}, Ljava/io/DataInputStream;->read([B)I move-result v12 if-ne v12, v3, :cond_9b .line 5189 sget-object v12, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B invoke-static {v11, v12}, Ljava/util/Arrays;->equals([B[B)Z move-result v12 if-eqz v12, :cond_a3 add-int/lit8 v9, v9, -0x8 .line 5191 invoke-virtual {v0, v9}, Ljava/io/DataInputStream;->skipBytes(I)I move-result v6 if-ne v6, v9, :cond_95 goto :goto_33 .line 5192 :cond_95 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v7}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5187 :cond_9b new-instance p1, Ljava/io/IOException; const-string p2, "Invalid exif" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5198 :cond_a3 invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5199 invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5200 invoke-virtual {p1, v9}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V if-lt v10, v3, :cond_b3 add-int/lit8 v10, v9, -0x8 .line 5203 invoke-virtual {p1, v11}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V :cond_b3 :goto_b3 if-lez v10, :cond_33 .line 5207 invoke-static {v10, v4}, Ljava/lang/Math;->min(II)I move-result v6 .line 5206 invoke-virtual {v0, v5, v8, v6}, Ljava/io/DataInputStream;->read([BII)I move-result v6 if-ltz v6, :cond_33 .line 5208 invoke-virtual {p1, v5, v8, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V sub-int/2addr v10, v6 goto :goto_b3 .line 5182 :cond_c4 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v7}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5215 :cond_ca invoke-virtual {p1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5216 invoke-virtual {p1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V .line 5218 invoke-static {v0, p1}, Landroidx/exifinterface/media/ExifInterface;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I return-void .line 5175 :cond_d4 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5161 :cond_da new-instance p1, Ljava/io/IOException; invoke-direct {p1, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .line 5157 :cond_e0 new-instance p1, Ljava/io/IOException; invoke-direct {p1, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .end method .method private setThumbnailData(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 5578 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; const/4 v1, 0x4 aget-object v0, v0, v1 .line 5580 const-string v1, "Compression" .line 5581 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 .line 5583 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 .line 5586 :cond_21 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromJfif(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V goto :goto_34 .line 5591 :cond_25 invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->isSupportedDataType(Ljava/util/HashMap;)Z move-result v1 if-eqz v1, :cond_34 .line 5592 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->handleThumbnailFromStrips(Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V goto :goto_34 .line 5599 :cond_2f iput v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I .line 5600 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 private swapBasedOnImageSize(II)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 6433 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 if-nez v0, :cond_71 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_15 goto :goto_71 .line 6440 :cond_15 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v0, v0, p1 .line 6441 const-string v1, "ImageLength" invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 6442 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, p1 .line 6443 const-string v3, "ImageWidth" invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 6444 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, p2 .line 6445 invoke-virtual {v4, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 6446 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, p2 .line 6447 invoke-virtual {v4, v3}, 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-nez v2, :cond_46 goto :goto_71 :cond_46 if-eqz v1, :cond_71 if-nez v3, :cond_4b goto :goto_71 .line 6458 :cond_4b iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; invoke-virtual {v0, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result v0 .line 6459 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; invoke-virtual {v2, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result v2 .line 6460 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result v1 .line 6461 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; invoke-virtual {v3, v4}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I move-result v3 if-ge v0, v1, :cond_71 if-ge v2, v3, :cond_71 .line 6465 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v0, p1 .line 6466 aget-object v2, v0, p2 aput-object v2, v0, p1 .line 6467 aput-object v1, v0, p2 :cond_71 :goto_71 return-void .end method .method private updateAttribute(Ljava/lang/String;Landroidx/exifinterface/media/ExifInterface$ExifAttribute;)Z .registers 6 const/4 v0, 0x0 move v1, v0 .line 4179 :goto_2 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v2, v2 if-ge v0, v2, :cond_1c .line 4180 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, v0 invoke-virtual {v2, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_19 .line 4181 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v1, v0 invoke-virtual {v1, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v1, 0x1 :cond_19 add-int/lit8 v0, v0, 0x1 goto :goto_2 :cond_1c return v1 .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 .line 5805 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v0, v0, p2 const-string v1, "DefaultCropSize" .line 5806 invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5808 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v1, v1, p2 const-string v2, "SensorTopBorder" .line 5809 invoke-virtual {v1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5810 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, p2 const-string v3, "SensorLeftBorder" .line 5811 invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5812 iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, p2 const-string v4, "SensorBottomBorder" .line 5813 invoke-virtual {v3, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5814 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, p2 const-string v5, "SensorRightBorder" .line 5815 invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5817 const-string v5, "ImageLength" const-string v6, "ImageWidth" if-eqz v0, :cond_c8 .line 5820 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 .line 5821 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5822 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; check-cast p1, [Landroidx/exifinterface/media/ExifInterface$Rational; if-eqz p1, :cond_6f .line 5823 array-length v0, p1 if-eq v0, v4, :cond_5e goto :goto_6f .line 5828 :cond_5e aget-object v0, p1, v3 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5829 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 .line 5830 aget-object p1, p1, v2 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5831 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_a4 .line 5824 :cond_6f :goto_6f new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2, v7}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 5825 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; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 5824 invoke-static {v8, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void .line 5833 :cond_84 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5834 invoke-virtual {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object; move-result-object p1 check-cast p1, [I check-cast p1, [I if-eqz p1, :cond_b3 .line 5835 array-length v0, p1 if-eq v0, v4, :cond_94 goto :goto_b3 .line 5840 :cond_94 aget v0, p1, v3 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5841 invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 .line 5842 aget p1, p1, v2 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5843 invoke-static {p1, v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object p1 .line 5845 :goto_a4 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; .line 5846 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 .line 5836 :cond_b3 :goto_b3 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2, v7}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 5837 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; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 5836 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 .line 5850 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 .line 5851 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 .line 5852 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 .line 5853 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 .line 5857 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5858 invoke-static {v0, p1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object p1 .line 5859 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5860 invoke-static {v1, v0}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort(ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v0 .line 5861 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; .line 5862 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 .line 5865 :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(Ljava/io/InputStream;)V .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 p1, 0x0 const/4 v0, 0x5 .line 5761 invoke-direct {p0, p1, v0}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V const/4 v1, 0x4 .line 5762 invoke-direct {p0, p1, v1}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V .line 5763 invoke-direct {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->swapBasedOnImageSize(II)V .line 5768 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; const/4 v3, 0x1 aget-object v2, v2, v3 const-string v4, "PixelXDimension" .line 5769 invoke-virtual {v2, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5770 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v4, v3 const-string v4, "PixelYDimension" .line 5771 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 v2, :cond_3b if-eqz v3, :cond_3b .line 5773 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, p1 const-string v5, "ImageWidth" invoke-virtual {v4, v5, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5774 iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, v2, p1 const-string v2, "ImageLength" invoke-virtual {p1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5779 :cond_3b iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, p1, v1 invoke-virtual {p1}, Ljava/util/HashMap;->isEmpty()Z move-result p1 if-eqz p1, :cond_5c .line 5780 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, p1, v0 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->isThumbnail(Ljava/util/HashMap;)Z move-result p1 if-eqz p1, :cond_5c .line 5781 iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, p1, v0 aput-object v2, p1, v1 .line 5782 new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V aput-object v2, p1, v0 .line 5787 :cond_5c iget-object p1, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object p1, p1, v1 invoke-direct {p0, p1}, Landroidx/exifinterface/media/ExifInterface;->isThumbnail(Ljava/util/HashMap;)Z move-result p1 if-nez p1, :cond_6d .line 5788 const-string p1, "ExifInterface" const-string v0, "No image meets the size requirements of a thumbnail image." invoke-static {p1, v0}, 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)I .registers 19 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p1 .line 5873 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v3, v2 new-array v3, v3, [I .line 5874 array-length v2, v2 new-array v2, v2, [I .line 5877 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v5, v4 const/4 v6, 0x0 move v7, v6 :goto_11 if-ge v7, v5, :cond_1d aget-object v8, v4, v7 .line 5878 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 .line 5881 :cond_1d sget-object v4, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; iget-object v4, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; invoke-direct {v0, v4}, Landroidx/exifinterface/media/ExifInterface;->removeAttribute(Ljava/lang/String;)V .line 5882 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 move v4, v6 .line 5885 :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 .line 5886 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 move v8, v6 :goto_3f if-ge v8, v7, :cond_59 aget-object v9, v5, v8 .line 5887 check-cast v9, Ljava/util/Map$Entry; .line 5888 invoke-interface {v9}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v10 if-nez v10, :cond_56 .line 5889 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 .line 5896 :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 .line 5897 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v6 sget-object v9, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; aget-object v9, v9, v5 iget-object v9, v9, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5898 invoke-static {v7, v8, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v10 .line 5897 invoke-virtual {v4, v9, v10}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5900 :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 .line 5901 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v6 sget-object v10, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; aget-object v10, v10, v9 iget-object v10, v10, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5902 invoke-static {v7, v8, v11}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v11 .line 5901 invoke-virtual {v4, v10, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5904 :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 .line 5905 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v5 sget-object v11, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; aget-object v11, v11, v10 iget-object v11, v11, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5906 invoke-static {v7, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v12 .line 5905 invoke-virtual {v4, v11, v12}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5908 :cond_b8 iget-boolean v4, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z const/4 v11, 0x4 if-eqz v4, :cond_e2 .line 5909 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v11 sget-object v12, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; iget-object v13, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5910 invoke-static {v7, v8, v13}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v13 .line 5909 invoke-virtual {v4, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5911 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v11 sget-object v12, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_LENGTH_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; iget v13, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I int-to-long v13, v13 iget-object v15, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5912 invoke-static {v13, v14, v15}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v13 .line 5911 invoke-virtual {v4, v12, v13}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_e2 move v4, v6 .line 5917 :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 .line 5919 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 move v13, v6 :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; .line 5920 invoke-interface {v14}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v14 check-cast v14, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5921 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 .line 5926 :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 move v13, v4 move v12, v6 .line 5931 :goto_11b sget-object v14, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v14, v14 if-ge v12, v14, :cond_13f .line 5932 iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v14, v14, v12 invoke-virtual {v14}, Ljava/util/HashMap;->isEmpty()Z move-result v14 if-nez v14, :cond_13c .line 5933 aput v13, v3, v12 .line 5934 iget-object v14, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v14, v14, v12 invoke-virtual {v14}, Ljava/util/HashMap;->size()I move-result v14 mul-int/lit8 v14, v14, 0xc add-int/lit8 v14, v14, 0x6 aget v15, v2, v12 add-int/2addr v14, v15 add-int/2addr v13, v14 :cond_13c add-int/lit8 v12, v12, 0x1 goto :goto_11b .line 5937 :cond_13f iget-boolean v2, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z if-eqz v2, :cond_15c .line 5939 iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, v11 sget-object v12, Landroidx/exifinterface/media/ExifInterface;->JPEG_INTERCHANGE_FORMAT_TAG:Landroidx/exifinterface/media/ExifInterface$ExifTag; iget-object v12, v12, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; int-to-long v14, v13 iget-object v7, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5940 invoke-static {v14, v15, v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v7 .line 5939 invoke-virtual {v2, v12, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int v2, p2, v13 .line 5941 iput v2, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I .line 5942 iget v2, v0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I add-int/2addr v13, v2 :cond_15c add-int/2addr v13, v4 .line 5956 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_17d .line 5957 iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, v6 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; aget-object v4, v4, v5 iget-object v4, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; aget v7, v3, v5 int-to-long v7, v7 iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5958 invoke-static {v7, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v7 .line 5957 invoke-virtual {v2, v4, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5960 :cond_17d 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_19d .line 5961 iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, v6 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; aget-object v4, v4, v9 iget-object v4, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; aget v7, v3, v9 int-to-long v7, v7 iget-object v12, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; .line 5962 invoke-static {v7, v8, v12}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v7 .line 5961 invoke-virtual {v2, v4, v7}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5964 :cond_19d 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_1bd .line 5965 iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v2, v2, v5 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->EXIF_POINTER_TAGS:[Landroidx/exifinterface/media/ExifInterface$ExifTag; aget-object v4, v4, v10 iget-object v4, v4, Landroidx/exifinterface/media/ExifInterface$ExifTag;->name:Ljava/lang/String; aget v5, v3, v10 int-to-long v7, v5 iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; invoke-static {v7, v8, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong(JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v5 invoke-virtual {v2, v4, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5970 :cond_1bd invoke-virtual {v1, v13}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V .line 5971 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->IDENTIFIER_EXIF_APP1:[B invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V .line 5972 iget-object v2, v0, Landroidx/exifinterface/media/ExifInterface;->mExifByteOrder:Ljava/nio/ByteOrder; sget-object v4, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder; if-ne v2, v4, :cond_1ce const/16 v2, 0x4d4d goto :goto_1d0 :cond_1ce const/16 v2, 0x4949 :goto_1d0 invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeShort(S)V .line 5974 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 .line 5975 invoke-virtual {v1, v2}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V const-wide/16 v4, 0x8 .line 5976 invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V move v2, v6 .line 5979 :goto_1e3 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v4, v4 if-ge v2, v4, :cond_2ae .line 5980 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v2 invoke-virtual {v4}, Ljava/util/HashMap;->isEmpty()Z move-result v4 if-nez v4, :cond_2a8 .line 5983 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v2 invoke-virtual {v4}, Ljava/util/HashMap;->size()I move-result v4 invoke-virtual {v1, v4}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V .line 5986 aget v4, v3, v2 add-int/2addr v4, v9 iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v5, v5, v2 invoke-virtual {v5}, Ljava/util/HashMap;->size()I move-result v5 mul-int/lit8 v5, v5, 0xc add-int/2addr v4, v5 add-int/2addr v4, v11 .line 5987 iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v5, v5, v2 invoke-virtual {v5}, Ljava/util/HashMap;->entrySet()Ljava/util/Set; move-result-object v5 invoke-interface {v5}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v5 :cond_218 :goto_218 invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z move-result v7 if-eqz v7, :cond_262 invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v7 check-cast v7, Ljava/util/Map$Entry; .line 5989 sget-object v8, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap; aget-object v8, v8, v2 invoke-interface {v7}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v10 invoke-virtual {v8, v10}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v8 check-cast v8, Landroidx/exifinterface/media/ExifInterface$ExifTag; .line 5990 iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->number:I .line 5991 invoke-interface {v7}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 5992 invoke-virtual {v7}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->size()I move-result v10 .line 5994 invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V .line 5995 iget v8, v7, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedShort(I)V .line 5996 iget v8, v7, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->numberOfComponents:I invoke-virtual {v1, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeInt(I)V if-le v10, v11, :cond_253 int-to-long v7, v4 .line 5998 invoke-virtual {v1, v7, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V add-int/2addr v4, v10 goto :goto_218 .line 6001 :cond_253 iget-object v7, v7, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B invoke-virtual {v1, v7}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([B)V if-ge v10, v11, :cond_218 :goto_25a if-ge v10, v11, :cond_218 .line 6005 invoke-virtual {v1, v6}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeByte(I)V add-int/lit8 v10, v10, 0x1 goto :goto_25a :cond_262 if-nez v2, :cond_277 .line 6014 iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v4, v4, v11 invoke-virtual {v4}, Ljava/util/HashMap;->isEmpty()Z move-result v4 if-nez v4, :cond_277 .line 6015 aget v4, v3, v11 int-to-long v4, v4 invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V const-wide/16 v4, 0x0 goto :goto_27c :cond_277 const-wide/16 v4, 0x0 .line 6017 invoke-virtual {v1, v4, v5}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->writeUnsignedInt(J)V .line 6021 :goto_27c iget-object v7, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v7, v7, v2 invoke-virtual {v7}, Ljava/util/HashMap;->entrySet()Ljava/util/Set; move-result-object v7 invoke-interface {v7}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v7 :cond_288 :goto_288 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z move-result v8 if-eqz v8, :cond_2aa invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v8 check-cast v8, Ljava/util/Map$Entry; .line 6022 invoke-interface {v8}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v8 check-cast v8, Landroidx/exifinterface/media/ExifInterface$ExifAttribute; .line 6024 iget-object v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B array-length v10, v10 if-le v10, v11, :cond_288 .line 6025 iget-object v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B iget-object v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->bytes:[B array-length v8, v8 invoke-virtual {v1, v10, v6, v8}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataOutputStream;->write([BII)V goto :goto_288 :cond_2a8 const-wide/16 v4, 0x0 :cond_2aa add-int/lit8 v2, v2, 0x1 goto/16 :goto_1e3 .line 6032 :cond_2ae iget-boolean v2, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z if-eqz v2, :cond_2b9 .line 6033 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 .line 6037 :cond_2b9 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 v13 .end method # virtual methods .method public flipHorizontally()V .registers 4 .line 4086 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 v2 packed-switch v2, :pswitch_data_22 const/4 v1, 0x0 goto :goto_1a :pswitch_c const/4 v1, 0x7 goto :goto_1a :pswitch_e const/16 v1, 0x8 goto :goto_1a :pswitch_11 const/4 v1, 0x5 goto :goto_1a :pswitch_13 const/4 v1, 0x6 goto :goto_1a :pswitch_15 const/4 v1, 0x3 goto :goto_1a :pswitch_17 const/4 v1, 0x4 goto :goto_1a :pswitch_19 const/4 v1, 0x2 .line 4118 :goto_1a :pswitch_1a invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v1 invoke-virtual {p0, v0, v1}, 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 .line 4047 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 v2 packed-switch v2, :pswitch_data_22 const/4 v1, 0x0 goto :goto_1a :pswitch_c const/4 v1, 0x5 goto :goto_1a :pswitch_e const/4 v1, 0x6 goto :goto_1a :pswitch_10 const/4 v1, 0x7 goto :goto_1a :pswitch_12 const/16 v1, 0x8 goto :goto_1a :pswitch_15 const/4 v1, 0x2 goto :goto_1a :pswitch_17 const/4 v1, 0x3 goto :goto_1a :pswitch_19 const/4 v1, 0x4 .line 4079 :goto_1a :pswitch_1a invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; move-result-object v1 invoke-virtual {p0, v0, v1}, 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 9 .line 4559 const-string v0, "GPSAltitude" const-wide/high16 v1, -0x4010000000000000L # -1.0 invoke-virtual {p0, v0, v1, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttributeDouble(Ljava/lang/String;D)D move-result-wide v0 .line 4560 const-string v2, "GPSAltitudeRef" const/4 v3, -0x1 invoke-virtual {p0, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I move-result v2 const-wide/16 v4, 0x0 cmpl-double v4, v0, v4 if-ltz v4, :cond_1f if-ltz v2, :cond_1f const/4 p1, 0x1 if-ne v2, p1, :cond_1b goto :goto_1c :cond_1b move v3, p1 :goto_1c int-to-double p1, v3 mul-double/2addr v0, p1 return-wide v0 :cond_1f return-wide p1 .end method .method public getAttribute(Ljava/lang/String;)Ljava/lang/String; .registers 8 .line 3785 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_b1 .line 3787 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_16 .line 3788 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 .line 3790 :cond_16 const-string v2, "GPSTimeStamp" invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_a6 .line 3792 iget p1, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I const/4 v2, 0x5 const-string v3, "ExifInterface" if-eq p1, v2, :cond_40 iget p1, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I const/16 v2, 0xa if-eq p1, v2, :cond_40 .line 3794 new-instance p1, Ljava/lang/StringBuilder; const-string v2, "GPS Timestamp format is not rational. format=" invoke-direct {p1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget v0, v0, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->format:I invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 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 .line 3797 :cond_40 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; check-cast p1, [Landroidx/exifinterface/media/ExifInterface$Rational; if-eqz p1, :cond_8f .line 3798 array-length v0, p1 const/4 v2, 0x3 if-eq v0, v2, :cond_51 goto :goto_8f :cond_51 const/4 v0, 0x0 .line 3802 aget-object v1, p1, v0 iget-wide v1, v1, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J long-to-float v1, v1 aget-object v0, p1, v0 iget-wide v2, v0, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J long-to-float v0, v2 div-float/2addr v1, v0 float-to-int v0, v1 .line 3803 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 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 v1, p1, v1 iget-wide v3, v1, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J long-to-float v1, v3 div-float/2addr v2, v1 float-to-int v1, v2 .line 3804 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 const/4 v2, 0x2 aget-object v3, p1, v2 iget-wide v3, v3, Landroidx/exifinterface/media/ExifInterface$Rational;->numerator:J long-to-float v3, v3 aget-object p1, p1, v2 iget-wide v4, p1, Landroidx/exifinterface/media/ExifInterface$Rational;->denominator:J long-to-float p1, v4 div-float/2addr v3, p1 float-to-int p1, v3 .line 3805 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 filled-new-array {v0, v1, p1}, [Ljava/lang/Object; move-result-object p1 .line 3802 const-string v0, "%02d:%02d:%02d" invoke-static {v0, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 return-object p1 .line 3799 :cond_8f :goto_8f new-instance v0, Ljava/lang/StringBuilder; const-string v2, "Invalid GPS Timestamp array. array=" invoke-direct {v0, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object p1 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 .line 3808 :cond_a6 :try_start_a6 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_b0 .catch Ljava/lang/NumberFormatException; {:try_start_a6 .. :try_end_b0} :catch_b1 return-object p1 :catch_b1 :cond_b1 return-object v1 .end method .method public getAttributeDouble(Ljava/lang/String;D)D .registers 5 .line 3846 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_7 return-wide p2 .line 3852 :cond_7 :try_start_7 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_d .catch Ljava/lang/NumberFormatException; {:try_start_7 .. :try_end_d} :catch_e return-wide p1 :catch_e return-wide p2 .end method .method public getAttributeInt(Ljava/lang/String;I)I .registers 4 .line 3825 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_7 return p2 .line 3831 :cond_7 :try_start_7 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_d .catch Ljava/lang/NumberFormatException; {:try_start_7 .. :try_end_d} :catch_e return p1 :catch_e return p2 .end method .method public getDateTime()J .registers 10 .line 4598 const-string v0, "DateTime" invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-wide/16 v1, -0x1 if-eqz v0, :cond_42 .line 4599 sget-object v3, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern; .line 4600 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_17 goto :goto_42 .line 4602 :cond_17 new-instance v3, Ljava/text/ParsePosition; const/4 v4, 0x0 invoke-direct {v3, v4}, Ljava/text/ParsePosition;->(I)V .line 4606 :try_start_1d sget-object v4, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat; invoke-virtual {v4, v0, v3}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; move-result-object v0 if-nez v0, :cond_26 return-wide v1 .line 4608 :cond_26 invoke-virtual {v0}, Ljava/util/Date;->getTime()J move-result-wide v3 .line 4610 const-string v0, "SubSecTime" invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 :try_end_30 .catch Ljava/lang/IllegalArgumentException; {:try_start_1d .. :try_end_30} :catch_42 if-eqz v0, :cond_41 .line 4613 :try_start_32 invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J move-result-wide v5 :goto_36 const-wide/16 v7, 0x3e8 cmp-long v0, v5, v7 if-lez v0, :cond_40 const-wide/16 v7, 0xa .line 4615 div-long/2addr v5, v7 :try_end_3f .catch Ljava/lang/NumberFormatException; {:try_start_32 .. :try_end_3f} :catch_41 .catch Ljava/lang/IllegalArgumentException; {:try_start_32 .. :try_end_3f} :catch_42 goto :goto_36 :cond_40 add-long/2addr v3, v5 :catch_41 :cond_41 return-wide v3 :catch_42 :cond_42 :goto_42 return-wide v1 .end method .method public getGpsDateTime()J .registers 7 .line 4635 const-string v0, "GPSDateStamp" invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 4636 const-string v1, "GPSTimeStamp" invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-wide/16 v2, -0x1 if-eqz v0, :cond_54 if-eqz v1, :cond_54 .line 4637 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->sNonZeroTimePattern:Ljava/util/regex/Pattern; .line 4638 invoke-virtual {v4, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; move-result-object v5 invoke-virtual {v5}, Ljava/util/regex/Matcher;->matches()Z move-result v5 if-nez v5, :cond_29 .line 4639 invoke-virtual {v4, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; move-result-object v4 invoke-virtual {v4}, Ljava/util/regex/Matcher;->matches()Z move-result v4 if-nez v4, :cond_29 goto :goto_54 .line 4643 :cond_29 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const/16 v4, 0x20 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 4645 new-instance v1, Ljava/text/ParsePosition; const/4 v4, 0x0 invoke-direct {v1, v4}, Ljava/text/ParsePosition;->(I)V .line 4647 :try_start_46 sget-object v4, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat; invoke-virtual {v4, v0, v1}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; move-result-object v0 if-nez v0, :cond_4f return-wide v2 .line 4649 :cond_4f invoke-virtual {v0}, Ljava/util/Date;->getTime()J move-result-wide v0 :try_end_53 .catch Ljava/lang/IllegalArgumentException; {:try_start_46 .. :try_end_53} :catch_54 return-wide v0 :catch_54 :cond_54 :goto_54 return-wide v2 .end method .method public getLatLong([F)Z .registers 6 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 4469 invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getLatLong()[D move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_8 return v1 .line 4474 :cond_8 aget-wide v2, v0, v1 double-to-float v2, v2 aput v2, p1, v1 const/4 v1, 0x1 .line 4475 aget-wide v2, v0, v1 double-to-float v0, v2 aput v0, p1, v1 return v1 .end method .method public getLatLong()[D .registers 11 .line 4488 const-string v0, "GPSLatitude" invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 4489 const-string v1, "GPSLatitudeRef" invoke-virtual {p0, v1}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 .line 4490 const-string v2, "GPSLongitude" invoke-virtual {p0, v2}, Landroidx/exifinterface/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 4491 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_50 if-eqz v1, :cond_50 if-eqz v2, :cond_50 if-eqz v3, :cond_50 .line 4495 :try_start_20 invoke-static {v0, v1}, Landroidx/exifinterface/media/ExifInterface;->convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D move-result-wide v4 .line 4496 invoke-static {v2, v3}, Landroidx/exifinterface/media/ExifInterface;->convertRationalLatLonToDouble(Ljava/lang/String;Ljava/lang/String;)D move-result-wide v6 const/4 v8, 0x2 .line 4497 new-array v8, v8, [D const/4 v9, 0x0 aput-wide v4, v8, v9 const/4 v4, 0x1 aput-wide v6, v8, v4 :try_end_31 .catch Ljava/lang/IllegalArgumentException; {:try_start_20 .. :try_end_31} :catch_32 return-object v8 .line 4499 :catch_32 new-instance v4, Ljava/lang/StringBuilder; const-string v5, "Latitude/longitude values are not parseable. " invoke-direct {v4, v5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V const-string v5, "latValue=%s, latRef=%s, lngValue=%s, lngRef=%s" filled-new-array {v0, v1, v2, v3}, [Ljava/lang/Object; move-result-object v0 .line 4500 invoke-static {v5, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 .line 4499 const-string v1, "ExifInterface" invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_50 const/4 v0, 0x0 return-object v0 .end method .method public getRotationDegrees()I .registers 3 .line 4151 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 .line 4342 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 .line 4343 :cond_b :goto_b invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B move-result-object v0 return-object v0 .end method .method public getThumbnailBitmap()Landroid/graphics/Bitmap; .registers 9 .line 4403 iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z const/4 v1, 0x0 if-nez v0, :cond_6 return-object v1 .line 4405 :cond_6 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B if-nez v0, :cond_10 .line 4406 invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnailBytes()[B move-result-object v0 iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B .line 4409 :cond_10 iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailCompression:I const/4 v2, 0x6 const/4 v3, 0x0 if-eq v0, v2, :cond_70 const/4 v2, 0x7 if-ne v0, v2, :cond_1a goto :goto_70 :cond_1a const/4 v2, 0x1 if-ne v0, v2, :cond_6f .line 4412 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 :goto_24 if-ge v3, v0, :cond_3f .line 4415 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B mul-int/lit8 v5, v3, 0x3 aget-byte v6, v4, v5 shl-int/lit8 v6, v6, 0x10 add-int/lit8 v7, v5, 0x1 aget-byte v7, v4, v7 shl-int/lit8 v7, v7, 0x8 add-int/2addr v6, v7 add-int/lit8 v5, v5, 0x2 aget-byte v4, v4, v5 add-int/2addr v6, v4 aput v6, v2, v3 add-int/lit8 v3, v3, 0x1 goto :goto_24 .line 4419 :cond_3f 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" .line 4420 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; .line 4421 iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v4, v3 const-string v4, "ImageWidth" .line 4422 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_6f if-eqz v3, :cond_6f .line 4424 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 .line 4425 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 .line 4426 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_6f return-object v1 .line 4410 :cond_70 :goto_70 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 8 .line 4354 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 .line 4357 :cond_8 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B if-eqz v1, :cond_d return-object v1 .line 4364 :cond_d :try_start_d iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mAssetInputStream:Landroid/content/res/AssetManager$AssetInputStream; :try_end_f .catch Ljava/io/IOException; {:try_start_d .. :try_end_f} :catch_6b .catchall {:try_start_d .. :try_end_f} :catchall_69 if-eqz v1, :cond_26 .line 4366 :try_start_11 invoke-virtual {v1}, Ljava/io/InputStream;->markSupported()Z move-result v3 if-eqz v3, :cond_1b .line 4367 invoke-virtual {v1}, Ljava/io/InputStream;->reset()V goto :goto_33 .line 4369 :cond_1b 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_20 .catch Ljava/io/IOException; {:try_start_11 .. :try_end_20} :catch_24 .catchall {:try_start_11 .. :try_end_20} :catchall_76 .line 4392 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V return-object v2 :catch_24 move-exception v3 goto :goto_6d .line 4372 :cond_26 :try_start_26 iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; if-eqz v1, :cond_32 .line 4373 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;->(Ljava/lang/String;)V :try_end_31 .catch Ljava/io/IOException; {:try_start_26 .. :try_end_31} :catch_6b .catchall {:try_start_26 .. :try_end_31} :catchall_69 goto :goto_33 :cond_32 move-object v1, v2 :goto_33 if-eqz v1, :cond_63 .line 4379 :try_start_35 iget v3, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I int-to-long v3, v3 invoke-virtual {v1, v3, v4}, Ljava/io/InputStream;->skip(J)J move-result-wide v3 iget v5, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I :try_end_3e .catch Ljava/io/IOException; {:try_start_35 .. :try_end_3e} :catch_24 .catchall {:try_start_35 .. :try_end_3e} :catchall_76 int-to-long v5, v5 cmp-long v3, v3, v5 const-string v4, "Corrupted image" if-nez v3, :cond_5d .line 4382 :try_start_45 iget v3, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I new-array v3, v3, [B .line 4383 invoke-virtual {v1, v3}, Ljava/io/InputStream;->read([B)I move-result v5 iget v6, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I if-ne v5, v6, :cond_57 .line 4386 iput-object v3, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B :try_end_53 .catch Ljava/io/IOException; {:try_start_45 .. :try_end_53} :catch_24 .catchall {:try_start_45 .. :try_end_53} :catchall_76 .line 4392 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V return-object v3 .line 4384 :cond_57 :try_start_57 new-instance v3, Ljava/io/IOException; invoke-direct {v3, v4}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v3 .line 4380 :cond_5d new-instance v3, Ljava/io/IOException; invoke-direct {v3, v4}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v3 .line 4377 :cond_63 new-instance v3, Ljava/io/FileNotFoundException; invoke-direct {v3}, Ljava/io/FileNotFoundException;->()V throw v3 :try_end_69 .catch Ljava/io/IOException; {:try_start_57 .. :try_end_69} :catch_24 .catchall {:try_start_57 .. :try_end_69} :catchall_76 :catchall_69 move-exception v0 goto :goto_78 :catch_6b move-exception v3 move-object v1, v2 .line 4390 :goto_6d :try_start_6d const-string v4, "Encountered exception while getting thumbnail" invoke-static {v0, v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :try_end_72 .catchall {:try_start_6d .. :try_end_72} :catchall_76 .line 4392 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V return-object v2 :catchall_76 move-exception v0 move-object v2, v1 :goto_78 invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V throw v0 .end method .method public getThumbnailRange()[J .registers 7 .line 4450 iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z if-nez v0, :cond_6 const/4 v0, 0x0 return-object v0 .line 4455 :cond_6 iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailOffset:I int-to-long v0, v0 .line 4456 iget v2, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailLength:I int-to-long v2, v2 const/4 v4, 0x2 new-array v4, v4, [J const/4 v5, 0x0 aput-wide v0, v4, v5 const/4 v0, 0x1 aput-wide v2, v4, v0 return-object v4 .end method .method public hasThumbnail()Z .registers 2 .line 4331 iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z return v0 .end method .method public isFlipped()Z .registers 4 .line 4127 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 const/4 v2, 0x2 if-eq v0, v2, :cond_15 const/4 v2, 0x7 if-eq v0, v2, :cond_15 const/4 v2, 0x4 if-eq v0, v2, :cond_15 const/4 v2, 0x5 if-eq v0, v2, :cond_15 const/4 v0, 0x0 return v0 :cond_15 return v1 .end method .method public isThumbnailCompressed()Z .registers 3 .line 4438 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 goto :goto_c :cond_b :goto_b const/4 v0, 0x1 :goto_c return v0 .end method .method public resetOrientation()V .registers 3 const/4 v0, 0x1 .line 4009 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 .line 4019 rem-int/lit8 v0, p1, 0x5a if-nez v0, :cond_62 const/4 v0, 0x1 .line 4023 const-string v1, "Orientation" invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I move-result v0 .line 4026 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 v3 const/4 v4, 0x0 const/4 v5, 0x4 if-eqz v3, :cond_34 .line 4027 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 .line 4028 div-int/lit8 p1, p1, 0x5a add-int/2addr v0, p1 rem-int/2addr v0, v5 if-gez v0, :cond_28 move v4, v5 :cond_28 add-int/2addr v0, v4 .line 4030 invoke-interface {v2, 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 v4 goto :goto_5a .line 4031 :cond_34 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 v3 invoke-interface {v2, v3}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_5a .line 4032 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 .line 4033 div-int/lit8 p1, p1, 0x5a add-int/2addr v0, p1 rem-int/2addr v0, v5 if-gez v0, :cond_4f move v4, v5 :cond_4f add-int/2addr v0, v4 .line 4035 invoke-interface {v2, 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 v4 .line 4040 :cond_5a :goto_5a invoke-static {v4}, 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 .line 4020 :cond_62 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "degree should be a multiple of 90" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public saveAttributes()V .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 4293 iget-boolean v0, p0, Landroidx/exifinterface/media/ExifInterface;->mIsSupportedFile:Z if-eqz v0, :cond_8c iget v0, p0, Landroidx/exifinterface/media/ExifInterface;->mMimeType:I const/4 v1, 0x4 if-ne v0, v1, :cond_8c .line 4296 iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; if-eqz v0, :cond_84 .line 4302 invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface;->getThumbnail()[B move-result-object v0 iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B .line 4304 new-instance v0, Ljava/io/File; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, ".tmp" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V .line 4305 new-instance v1, Ljava/io/File; iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface;->mFilename:Ljava/lang/String; invoke-direct {v1, v2}, Ljava/io/File;->(Ljava/lang/String;)V .line 4306 invoke-virtual {v1, v0}, Ljava/io/File;->renameTo(Ljava/io/File;)Z move-result v1 if-eqz v1, :cond_6b const/4 v1, 0x0 .line 4314 :try_start_3b new-instance v2, Ljava/io/FileInputStream; invoke-direct {v2, v0}, Ljava/io/FileInputStream;->(Ljava/io/File;)V :try_end_40 .catchall {:try_start_3b .. :try_end_40} :catchall_5d .line 4315 :try_start_40 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;->(Ljava/lang/String;)V :try_end_47 .catchall {:try_start_40 .. :try_end_47} :catchall_58 .line 4316 :try_start_47 invoke-direct {p0, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->saveJpegAttributes(Ljava/io/InputStream;Ljava/io/OutputStream;)V :try_end_4a .catchall {:try_start_47 .. :try_end_4a} :catchall_56 .line 4318 invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V .line 4319 invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V .line 4320 invoke-virtual {v0}, Ljava/io/File;->delete()Z .line 4324 iput-object v1, p0, Landroidx/exifinterface/media/ExifInterface;->mThumbnailBytes:[B return-void :catchall_56 move-exception v1 goto :goto_61 :catchall_58 move-exception v3 move-object v5, v3 move-object v3, v1 move-object v1, v5 goto :goto_61 :catchall_5d move-exception v2 move-object v3, v1 move-object v1, v2 move-object v2, v3 .line 4318 :goto_61 invoke-static {v2}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V .line 4319 invoke-static {v3}, Landroidx/exifinterface/media/ExifInterface;->closeQuietly(Ljava/io/Closeable;)V .line 4320 invoke-virtual {v0}, Ljava/io/File;->delete()Z throw v1 .line 4307 :cond_6b new-instance v1, Ljava/io/IOException; new-instance v2, Ljava/lang/StringBuilder; const-string v3, "Could not rename to " invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v1 .line 4297 :cond_84 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;->(Ljava/lang/String;)V throw v0 .line 4294 :cond_8c new-instance v0, Ljava/io/IOException; const-string v1, "ExifInterface only supports saving attributes on JPEG formats." invoke-direct {v0, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 .end method .method public setAltitude(D)V .registers 5 const-wide/16 v0, 0x0 cmpl-double v0, p1, v0 if-ltz v0, :cond_9 .line 4573 const-string v0, "0" goto :goto_b :cond_9 const-string v0, "1" .line 4574 :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;->(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 .line 4575 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 19 move-object/from16 v0, p0 move-object/from16 v1, p2 .line 3865 const-string v2, "ISOSpeedRatings" move-object/from16 v3, p1 invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_11 .line 3870 const-string v2, "PhotographicSensitivity" goto :goto_12 :cond_11 move-object v2, v3 :goto_12 const/4 v3, 0x2 .line 3873 const-string v4, "ExifInterface" const/4 v5, 0x1 if-eqz v1, :cond_b7 sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sTagSetForCompatibility:Ljava/util/HashSet; invoke-virtual {v6, v2}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z move-result v6 if-eqz v6, :cond_b7 .line 3874 const-string v6, "GPSTimeStamp" invoke-virtual {v2, 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_90 .line 3875 sget-object v6, Landroidx/exifinterface/media/ExifInterface;->sGpsTimestampPattern:Ljava/util/regex/Pattern; invoke-virtual {v6, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; move-result-object v6 .line 3876 invoke-virtual {v6}, Ljava/util/regex/Matcher;->find()Z move-result v9 if-nez v9, :cond_51 .line 3877 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v8}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, 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 .line 3880 :cond_51 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()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 {v1, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v7, "/1," invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 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 {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const/4 v7, 0x3 .line 3881 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 {v1, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v6, "/1" invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 goto :goto_b7 .line 3884 :cond_90 :try_start_90 invoke-static/range {p2 .. p2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D move-result-wide v9 .line 3885 new-instance v6, Landroidx/exifinterface/media/ExifInterface$Rational; invoke-direct {v6, v9, v10}, Landroidx/exifinterface/media/ExifInterface$Rational;->(D)V invoke-virtual {v6}, Landroidx/exifinterface/media/ExifInterface$Rational;->toString()Ljava/lang/String; move-result-object v1 :try_end_9d .catch Ljava/lang/NumberFormatException; {:try_start_90 .. :try_end_9d} :catch_9e goto :goto_b7 .line 3887 :catch_9e new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v8}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, 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_b7 :goto_b7 const/4 v6, 0x0 move v7, v6 .line 3893 :goto_b9 sget-object v8, Landroidx/exifinterface/media/ExifInterface;->EXIF_TAGS:[[Landroidx/exifinterface/media/ExifInterface$ExifTag; array-length v8, v8 if-ge v7, v8, :cond_319 const/4 v8, 0x4 if-ne v7, v8, :cond_c7 .line 3894 iget-boolean v8, v0, Landroidx/exifinterface/media/ExifInterface;->mHasThumbnail:Z if-nez v8, :cond_c7 goto/16 :goto_311 .line 3897 :cond_c7 sget-object v8, Landroidx/exifinterface/media/ExifInterface;->sExifTagMapsForWriting:[Ljava/util/HashMap; aget-object v8, v8, v7 invoke-virtual {v8, v2}, 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_311 if-nez v1, :cond_de .line 3900 iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v8, v8, v7 invoke-virtual {v8, v2}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_311 .line 3903 :cond_de invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface;->guessDataFormat(Ljava/lang/String;)Landroid/util/Pair; move-result-object v9 .line 3905 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_1b2 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_fd goto/16 :goto_1b2 .line 3907 :cond_fd iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I if-eq v10, v12, :cond_11d iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat: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 if-eq v10, v11, :cond_119 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; .line 3908 invoke-virtual {v11}, Ljava/lang/Integer;->intValue()I move-result v11 if-ne v10, v11, :cond_11d .line 3909 :cond_119 iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I goto/16 :goto_1b4 .line 3910 :cond_11d iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I if-eq v10, v5, :cond_1af iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I const/4 v11, 0x7 if-eq v10, v11, :cond_1af iget v10, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I if-ne v10, v3, :cond_12c goto/16 :goto_1af .line 3915 :cond_12c new-instance v10, Ljava/lang/StringBuilder; const-string v11, "Given tag (" invoke-direct {v10, v11}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v10 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; move-result-object v10 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 v13, v11, v13 invoke-virtual {v10, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v10 iget v13, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I const-string v14, "" const-string v15, ", " if-ne v13, v12, :cond_151 move-object v8, v14 goto :goto_162 :cond_151 new-instance v13, Ljava/lang/StringBuilder; invoke-direct {v13, v15}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->secondaryFormat:I aget-object v8, v11, v8 invoke-virtual {v13, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v8 :goto_162 invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 const-string v10, " (guess: " invoke-virtual {v8, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 iget-object v10, v9, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast v10, Ljava/lang/Integer; .line 3919 invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I move-result v10 aget-object v10, v11, v10 invoke-virtual {v8, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 iget-object v10, v9, Landroid/util/Pair;->second:Ljava/lang/Object; check-cast v10, Ljava/lang/Integer; invoke-virtual {v10}, Ljava/lang/Integer;->intValue()I move-result v10 if-ne v10, v12, :cond_185 goto :goto_19c :cond_185 new-instance v10, Ljava/lang/StringBuilder; invoke-direct {v10, v15}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v9, v9, Landroid/util/Pair;->second:Ljava/lang/Object; check-cast v9, Ljava/lang/Integer; .line 3920 invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I move-result v9 aget-object v9, v11, v9 invoke-virtual {v10, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v9 invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v14 :goto_19c invoke-virtual {v8, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 const-string v9, ")" invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v8 .line 3915 invoke-static {v4, v8}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto/16 :goto_311 .line 3913 :cond_1af :goto_1af iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I goto :goto_1b4 .line 3906 :cond_1b2 :goto_1b2 iget v8, v8, Landroidx/exifinterface/media/ExifInterface$ExifTag;->primaryFormat:I .line 3923 :goto_1b4 const-string v9, "/" const-string v10, "," packed-switch v8, :pswitch_data_31a :pswitch_1bb move-object/from16 p1, v4 move v15, v5 .line 3998 new-instance v3, Ljava/lang/StringBuilder; const-string v4, "Data format isn\'t one of expected formats: " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 move-object/from16 v4, p1 invoke-static {v4, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto/16 :goto_312 .line 3988 :pswitch_1d4 invoke-virtual {v1, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v8 .line 3989 array-length v9, v8 new-array v9, v9, [D move v10, v6 .line 3990 :goto_1dc array-length v11, v8 if-ge v10, v11, :cond_1ea .line 3991 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_1dc .line 3993 :cond_1ea 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; .line 3994 invoke-static {v9, v10}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createDouble([DLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v9 .line 3993 invoke-virtual {v8, v2, v9}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_311 .line 3976 :pswitch_1f9 invoke-virtual {v1, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v8 .line 3977 array-length v10, v8 new-array v10, v10, [Landroidx/exifinterface/media/ExifInterface$Rational; move v11, v6 .line 3978 :goto_201 array-length v13, v8 if-ge v11, v13, :cond_229 .line 3979 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 .line 3980 new-instance v14, Landroidx/exifinterface/media/ExifInterface$Rational; aget-object v15, v13, v6 move-object/from16 p1, 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 .line 3981 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;->(JJ)V aput-object v14, v10, v11 add-int/lit8 v11, v11, 0x1 move-object/from16 v4, p1 const/4 v3, 0x2 const/4 v5, 0x1 const/4 v6, 0x0 goto :goto_201 :cond_229 move-object/from16 p1, v4 .line 3983 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; .line 3984 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 .line 3983 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_25e :pswitch_239 move-object/from16 p1, v4 .line 3944 invoke-virtual {v1, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v3 .line 3945 array-length v4, v3 new-array v4, v4, [I const/4 v5, 0x0 .line 3946 :goto_243 array-length v6, v3 if-ge v5, v6, :cond_251 .line 3947 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_243 .line 3949 :cond_251 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; .line 3950 invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createSLong([ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v4 .line 3949 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :goto_25e move-object/from16 v4, p1 const/4 v15, 0x1 goto/16 :goto_312 :pswitch_263 move-object/from16 p1, v4 .line 3964 invoke-virtual {v1, v10, v12}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v3 .line 3965 array-length v4, v3 new-array v4, v4, [Landroidx/exifinterface/media/ExifInterface$Rational; const/4 v5, 0x0 .line 3966 :goto_26d array-length v6, v3 if-ge v5, v6, :cond_291 .line 3967 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 .line 3968 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 .line 3969 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;->(JJ)V aput-object v8, v4, v5 add-int/lit8 v5, v5, 0x1 const/4 v12, -0x1 goto :goto_26d :cond_291 const/4 v15, 0x1 .line 3971 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; .line 3972 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 .line 3971 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_30e :pswitch_2a1 move-object/from16 p1, v4 move v15, v5 move v3, v12 .line 3954 invoke-virtual {v1, v10, v3}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v3 .line 3955 array-length v4, v3 new-array v4, v4, [J const/4 v5, 0x0 .line 3956 :goto_2ad array-length v6, v3 if-ge v5, v6, :cond_2bb .line 3957 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_2ad .line 3959 :cond_2bb 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; .line 3960 invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createULong([JLjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v4 .line 3959 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_30e :pswitch_2c9 move-object/from16 p1, v4 move v15, v5 move v3, v12 .line 3934 invoke-virtual {v1, v10, v3}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v3 .line 3935 array-length v4, v3 new-array v4, v4, [I const/4 v5, 0x0 .line 3936 :goto_2d5 array-length v6, v3 if-ge v5, v6, :cond_2e3 .line 3937 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_2d5 .line 3939 :cond_2e3 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; .line 3940 invoke-static {v4, v5}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createUShort([ILjava/nio/ByteOrder;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v4 .line 3939 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_30e :pswitch_2f1 move-object/from16 p1, v4 move v15, v5 .line 3930 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, v7 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createString(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v4 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_30e :pswitch_300 move-object/from16 p1, v4 move v15, v5 .line 3925 iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface;->mAttributes:[Ljava/util/HashMap; aget-object v3, v3, v7 invoke-static {v1}, Landroidx/exifinterface/media/ExifInterface$ExifAttribute;->createByte(Ljava/lang/String;)Landroidx/exifinterface/media/ExifInterface$ExifAttribute; move-result-object v4 invoke-virtual {v3, v2, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :goto_30e move-object/from16 v4, p1 goto :goto_312 :cond_311 :goto_311 move v15, v5 :goto_312 add-int/lit8 v7, v7, 0x1 move v5, v15 const/4 v3, 0x2 const/4 v6, 0x0 goto/16 :goto_b9 :cond_319 return-void :pswitch_data_31a .packed-switch 0x1 :pswitch_300 :pswitch_2f1 :pswitch_2c9 :pswitch_2a1 :pswitch_263 :pswitch_1bb :pswitch_2f1 :pswitch_1bb :pswitch_239 :pswitch_1f9 :pswitch_1bb :pswitch_1d4 .end packed-switch .end method .method public setDateTime(J)V .registers 7 const-wide/16 v0, 0x3e8 .line 4586 rem-long v0, p1, v0 .line 4587 sget-object v2, Landroidx/exifinterface/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat; new-instance v3, Ljava/util/Date; invoke-direct {v3, p1, p2}, Ljava/util/Date;->(J)V invoke-virtual {v2, v3}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String; move-result-object p1 const-string p2, "DateTime" invoke-virtual {p0, p2, p1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V .line 4588 const-string p1, "SubSecTime" invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String; move-result-object p2 invoke-virtual {p0, p1, p2}, 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 .line 4517 :cond_3 const-string v0, "GPSProcessingMethod" invoke-virtual {p1}, Landroid/location/Location;->getProvider()Ljava/lang/String; move-result-object v1 invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V .line 4518 invoke-virtual {p1}, Landroid/location/Location;->getLatitude()D move-result-wide v0 invoke-virtual {p1}, Landroid/location/Location;->getLongitude()D move-result-wide v2 invoke-virtual {p0, v0, v1, v2, v3}, Landroidx/exifinterface/media/ExifInterface;->setLatLong(DD)V .line 4519 invoke-virtual {p1}, Landroid/location/Location;->getAltitude()D move-result-wide v0 invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->setAltitude(D)V .line 4521 const-string v0, "GPSSpeedRef" const-string v1, "K" invoke-virtual {p0, v0, v1}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V .line 4522 new-instance v0, Landroidx/exifinterface/media/ExifInterface$Rational; invoke-virtual {p1}, Landroid/location/Location;->getSpeed()F move-result v1 sget-object v2, Ljava/util/concurrent/TimeUnit;->HOURS:Ljava/util/concurrent/TimeUnit; const-wide/16 v3, 0x1 .line 4523 invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/TimeUnit;->toSeconds(J)J move-result-wide v2 long-to-float v2, v2 mul-float/2addr 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;->(D)V invoke-virtual {v0}, Landroidx/exifinterface/media/ExifInterface$Rational;->toString()Ljava/lang/String; move-result-object v0 .line 4522 const-string v1, "GPSSpeed" invoke-virtual {p0, v1, v0}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V .line 4524 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;->(J)V invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String; move-result-object p1 const-string v0, "\\s+" const/4 v1, -0x1 invoke-virtual {p1, v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object p1 const/4 v0, 0x0 .line 4525 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 .line 4526 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-wide v0, -0x3fa9800000000000L # -90.0 cmpg-double v0, p1, v0 .line 4540 const-string v1, " is not valid." if-ltz v0, :cond_84 const-wide v2, 0x4056800000000000L # 90.0 cmpl-double v0, p1, v2 if-gtz v0, :cond_84 invoke-static {p1, p2}, Ljava/lang/Double;->isNaN(D)Z move-result v0 if-nez v0, :cond_84 const-wide v2, -0x3f99800000000000L # -180.0 cmpg-double v0, p3, v2 if-ltz v0, :cond_6b const-wide v2, 0x4066800000000000L # 180.0 cmpl-double v0, p3, v2 if-gtz v0, :cond_6b .line 4543 invoke-static {p3, p4}, Ljava/lang/Double;->isNaN(D)Z move-result v0 if-nez v0, :cond_6b const-wide/16 v0, 0x0 cmpl-double v2, p1, v0 if-ltz v2, :cond_3b .line 4546 const-string v2, "N" goto :goto_3d :cond_3b const-string v2, "S" :goto_3d const-string v3, "GPSLatitudeRef" invoke-virtual {p0, v3, v2}, Landroidx/exifinterface/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V .line 4547 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 .line 4548 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 .line 4549 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 .line 4544 :cond_6b new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string v0, "Longitude value " invoke-direct {p2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, p3, p4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 4541 :cond_84 new-instance p3, Ljava/lang/IllegalArgumentException; new-instance p4, Ljava/lang/StringBuilder; const-string v0, "Latitude value " invoke-direct {p4, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p4, p1, p2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p3, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p3 .end method