TIM v2.3.1版本的 MD5 值为:d6957e3ee7ce901ccc491cefdea0da8c
以下内容为反编译后的 EditJumpToPtu.java 源代码,内容仅作参考
package com.tencent.biz.qqstory.takevideo;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import com.dataline.util.file.FileUtil;
import com.tencent.biz.qqstory.support.logging.SLog;
import com.tencent.biz.qqstory.support.report.VideoEditReport;
import com.tencent.biz.qqstory.takevideo.doodle.ui.doodle.DoodleLayout;
import com.tencent.biz.qqstory.takevideo.publish.GenerateContext;
import com.tencent.biz.qqstory.utils.BitmapUtils;
import com.tencent.mobileqq.app.ThreadManager;
import com.tencent.mobileqq.utils.ImageUtil;
import com.tencent.mobileqq.widget.QQProgressDialog;
import com.tencent.qphone.base.util.QLog;
import com.tencent.tim.R;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class EditJumpToPtu extends EditVideoPart {
public static final int f82921a = 100;
public static final String f5470a = "EditJumpToPtu";
public static final int f82922b = 101;
public static final String f5471b = "com.tencent.ttpic";
public static final int f82923c = 1;
public static final String f5472c = "http://tu.qq.com/websites/guide/sticker.html";
public static final int d = 2;
public static final String f5473d = "pituopenapi://TTPTBEAUTIFY?back=1&v=490&refer=qqimageedit";
public static final int e = 3;
public UIHandler f5474a;
QQProgressDialog f5475a;
public boolean f5476a;
private String f5477e;
public class UIHandler extends Handler {
public UIHandler() {
}
@Override
public void dispatchMessage(Message message) {
super.dispatchMessage(message);
switch (message.what) {
case 1:
if (EditJumpToPtu.this.f5477e != null) {
VideoEditReport.b("0X80080E3", VideoEditReport.l);
ArrayList<? extends Parcelable> arrayList = new ArrayList<>();
arrayList.add(Uri.parse(EditJumpToPtu.this.f5477e));
EditJumpToPtu.this.f5592a.getActivity().startActivityForResult(new Intent("", Uri.parse(EditJumpToPtu.f5473d)).setClassName(EditJumpToPtu.f5471b, "com.tencent.ttpic.module.MainActivity").putParcelableArrayListExtra("android.intent.extra.STREAM", arrayList), 100);
}
EditJumpToPtu.this.e();
return;
case 2:
EditJumpToPtu.this.f5591a.a((Bitmap) message.obj, false);
EditJumpToPtu.this.f5476a = true;
return;
case 3:
EditJumpToPtu.this.e();
return;
default:
return;
}
}
}
public EditJumpToPtu(EditVideoPartManager editVideoPartManager) {
super(editVideoPartManager);
}
@Override
public void mo1553a() {
super.mo1553a();
this.f5474a = new UIHandler();
}
@Override
public void a(int i, Object obj) {
switch (i) {
case 26:
VideoEditReport.b("0X80080E2", VideoEditReport.l);
if (a(this.f5592a.a())) {
ThreadManager.a(new hma(this), 5, null, true);
b("请稍候");
return;
}
VideoEditReport.b("0X80080E4", VideoEditReport.l);
ComponentName componentName = new ComponentName("com.tencent.tim", "com.tencent.mobileqq.activity.QQBrowserActivity");
Intent intent = new Intent();
intent.putExtra("url", f5472c);
intent.setComponent(componentName);
this.f5592a.getActivity().startActivityForResult(intent, 101);
return;
default:
return;
}
}
public boolean m1548a(String str) {
DoodleLayout mo1542a = this.f5591a.f5604a.mo1542a();
Bitmap b2 = mo1542a.b(0);
Bitmap m1570a = this.f5591a.m1570a();
if (m1570a == null) {
return false;
}
if (b2 != null) {
m1570a = BitmapUtils.b(m1570a, b2);
}
boolean a2 = BitmapUtils.a(m1570a, str);
if (b2 != null) {
mo1542a.a(b2);
return a2;
}
return a2;
}
public boolean a(Context context) {
List<PackageInfo> installedPackages = context.getPackageManager().getInstalledPackages(0);
if (installedPackages != null) {
Iterator<PackageInfo> it = installedPackages.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
PackageInfo next = it.next();
if (f5471b.equals(next.packageName)) {
if (next.versionCode >= 490) {
return true;
}
}
}
}
return false;
}
@Override
public void a(int i, GenerateContext generateContext) {
if (this.f5476a) {
generateContext.f6003a.f6015a++;
}
}
@Override
public void a(int i, int i2, Intent intent) {
super.a(i, i2, intent);
this.f5591a.m1573a(0);
if (i == 100) {
if (i2 == -1) {
try {
String uri = ((Uri) intent.getParcelableExtra("android.intent.extra.STREAM")).toString();
SLog.b(f5470a, "onActivityResult PI_TU, new path " + uri);
if (!TextUtils.isEmpty(uri)) {
ThreadManager.a(new hmb(this, uri), 5, null, true);
}
} catch (Exception e2) {
e2.printStackTrace();
}
} else {
SLog.b(f5470a, "onActivityResult cancel ");
}
if (this.f5477e != null) {
FileUtil.a(new File(this.f5477e));
this.f5477e = null;
}
}
}
public void a(String str) {
Bitmap bitmap;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(str, options);
DisplayMetrics displayMetrics = this.f5592a.getActivity().getResources().getDisplayMetrics();
int a2 = EditPicRawImage.a(options, displayMetrics.widthPixels, displayMetrics.heightPixels);
options.inJustDecodeBounds = false;
options.inSampleSize = a2;
try {
bitmap = ImageUtil.a(str, options);
} catch (OutOfMemoryError e2) {
SLog.e(f5470a, "decodeoom");
bitmap = null;
}
if (bitmap == null) {
QLog.e(f5470a, 1, "decode" + ((Object) null));
this.f5592a.a(0, null, R.anim.f37567dialog_exit, 0);
return;
}
SLog.b(f5470a, "sampleSize" + a2 + " w " + bitmap.getWidth() + " h " + bitmap.getHeight());
int b2 = ImageUtil.b(str);
if (b2 != 0 && b2 % 90 == 0) {
SLog.b(f5470a, "has exif rotate" + b2);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Matrix matrix = new Matrix();
matrix.postRotate(b2, width / 2.0f, height / 2.0f);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
}
this.f5474a.obtainMessage(2, bitmap).sendToTarget();
}
void b(String str) {
if (this.f5475a == null) {
this.f5475a = new QQProgressDialog(mo1553a(), mo1553a().getDimensionPixelSize(R.dimen.f39450title_bar_height));
}
this.f5475a.a(str);
this.f5475a.setCancelable(false);
this.f5475a.show();
}
void e() {
if (this.f5475a != null && this.f5475a.isShowing()) {
this.f5475a.dismiss();
}
}
}