TIM v2.3.1版本的 MD5 值为:d6957e3ee7ce901ccc491cefdea0da8c

以下内容为反编译后的 LocalImageShootInfo.java 源代码,内容仅作参考


package cooperation.qzone.model;

import android.media.ExifInterface;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import com.tencent.image.JpegExifReader;
import com.tencent.mobileqq.filemanager.data.FMConstants;
import com.tencent.qphone.base.util.QLog;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class LocalImageShootInfo implements Parcelable {
    public static final Parcelable.Creator CREATOR = new ybk();
    private static final String f98511b = "LocalImageShootInfo";
    public long f98512a;
    public GpsInfo4LocalImage f70451a;
    public String f70452a;
    public long f70453b;

    public LocalImageShootInfo() {
    }

    private LocalImageShootInfo(String str) {
        if (!TextUtils.isEmpty(str) && str.startsWith("file:///")) {
            str = str.replaceFirst(FMConstants.f23377aY, "");
        }
        File file = new File(str);
        if (!file.exists() || file.isDirectory()) {
            throw new Exception();
        }
        this.f70452a = file.getAbsolutePath();
        this.f70453b = file.lastModified();
    }

    public static LocalImageShootInfo a(String str) {
        LocalImageShootInfo localImageShootInfo = null;
        if (str != null && str.length() != 0) {
            try {
                localImageShootInfo = new LocalImageShootInfo(str);
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (localImageShootInfo != null) {
                b(localImageShootInfo);
                a(localImageShootInfo);
            }
        }
        return localImageShootInfo;
    }

    public static boolean a(LocalImageShootInfo localImageShootInfo) {
        if (localImageShootInfo == null) {
            return false;
        }
        if (localImageShootInfo.f70451a == null) {
            try {
                if (!JpegExifReader.isCrashJpeg(localImageShootInfo.f70452a)) {
                    float[] fArr = new float[2];
                    if (new ExifInterface(localImageShootInfo.f70452a).getLatLong(fArr)) {
                        localImageShootInfo.f70451a = new GpsInfo4LocalImage(fArr[0], fArr[1]);
                        return true;
                    }
                }
            } catch (Throwable th) {
                QLog.e(f98511b, 1, "GifAntishakeModule path:" + localImageShootInfo.f70452a, th);
            }
            return false;
        }
        return true;
    }

    public static boolean b(LocalImageShootInfo localImageShootInfo) {
        boolean z = true;
        if (localImageShootInfo == null) {
            return false;
        }
        try {
            if (JpegExifReader.isCrashJpeg(localImageShootInfo.f70452a)) {
                localImageShootInfo.f98512a = new File(localImageShootInfo.f70452a).lastModified();
                QLog.d(f98511b, 4, "LocalImageShootInfo#appendCaptureDate photo exif date info parse exception, now use last modified time.");
                return false;
            }
            String attribute = new ExifInterface(localImageShootInfo.f70452a).getAttribute("DateTime");
            if (attribute != null) {
                Date parse = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss").parse(attribute);
                if (parse != null) {
                    localImageShootInfo.f98512a = parse.getTime();
                } else {
                    z = false;
                }
                return z;
            }
            localImageShootInfo.f98512a = new File(localImageShootInfo.f70452a).lastModified();
            QLog.d(f98511b, 4, "LocalImageShootInfo#appendCaptureDate photo exif date info parse exception, now use last modified time.");
            return false;
        } catch (Throwable th) {
            localImageShootInfo.f98512a = new File(localImageShootInfo.f70452a).lastModified();
            QLog.d(f98511b, 4, "LocalImageShootInfo#appendCaptureDate photo exif date info parse exception, now use last modified time.", th);
            QLog.e(f98511b, 1, "LocalImageShootInfo path:" + localImageShootInfo.f70452a, th);
            return false;
        }
    }

    public LocalImageShootInfo(Parcel parcel) {
        this.f98512a = parcel.readLong();
        this.f70453b = parcel.readLong();
        this.f70452a = parcel.readString();
        if (parcel.readInt() != 0) {
            this.f70451a = new GpsInfo4LocalImage(parcel);
        }
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int i) {
        parcel.writeLong(this.f98512a);
        parcel.writeLong(this.f70453b);
        parcel.writeString(this.f70452a);
        if (this.f70451a != null) {
            parcel.writeInt(1);
            this.f70451a.writeToParcel(parcel, i);
            return;
        }
        parcel.writeInt(0);
    }

    public boolean equals(Object obj) {
        boolean z = true;
        if (obj == null) {
            return false;
        }
        if (this == obj) {
            return true;
        }
        if (obj instanceof LocalImageShootInfo) {
            LocalImageShootInfo localImageShootInfo = (LocalImageShootInfo) obj;
            if (this.f98512a != localImageShootInfo.f98512a || !this.f70451a.equals(localImageShootInfo)) {
                z = false;
            }
            return z;
        }
        return false;
    }
}