TIM v2.3.1版本的 MD5 值为:d6957e3ee7ce901ccc491cefdea0da8c
以下内容为反编译后的 WpsFileEditUtil.java 源代码,内容仅作参考
package com.tencent.mobileqq.filemanager.util;
import NS_MOBILE_FEEDS.e_attribute;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import com.tencent.biz.widgets.XChooserActivity;
import com.tencent.common.app.BaseApplicationImpl;
import com.tencent.mobileqq.activity.NearPeopleFilterActivity;
import com.tencent.mobileqq.activity.SplashActivity;
import com.tencent.mobileqq.app.BaseActivity;
import com.tencent.mobileqq.app.QQAppInterface;
import com.tencent.mobileqq.config.splashlogo.WpsFileEditConfigHandler;
import com.tencent.mobileqq.filemanager.activity.WpsFileEditSaveDlgActivity;
import com.tencent.mobileqq.filemanager.core.WpsFileEditManager;
import com.tencent.mobileqq.filemanager.widget.WpsFileEditToastStyleDlg;
import com.tencent.mobileqq.service.report.ReportConstants;
import com.tencent.mobileqq.statistics.ReportUtils;
import com.tencent.mobileqq.unifiedebug.UnifiedTraceRouter;
import com.tencent.mobileqq.utils.DialogUtil;
import com.tencent.mobileqq.utils.SharedPreUtils;
import com.tencent.mobileqq.widget.IndexView;
import com.tencent.mobileqq.widget.QQToast;
import com.tencent.qphone.base.util.QLog;
import com.tencent.tim.R;
import java.io.File;
import mqq.app.AppRuntime;
public class WpsFileEditUtil {
private static final String A = ".doc&.docx&.ppt&.pptx&.xls&.xlsx&.pdf&.txt";
private static final String B = "timapi://wpsfileedit/callback?version=1";
private static final int f89815a = 212;
public static final String f24136a = "FileUuid";
public static final String f89816b = "DiscFileId";
public static final String f89817c = "GroupFileId";
public static final String d = "busType";
public static final String e = "Cloud_FileId";
public static final String f = "Cloud_DirKey";
public static final String g = "Cloud_FileName";
public static final String h = "IsWpsCloudFile";
public static final String i = "WpsCloud_FileId";
public static final String j = "WpsCloud_ParentId";
public static final String k = "WpsCloud_UserId";
public static final String l = "WpsCloud_Entity_Sessionid";
public static final String m = "CookieData";
public static final String n = "CallbackUri";
public static final String o = "WpsCloud_FileId";
public static final String p = "WpsCloud_ParentId";
public static final String q = "WpsCloud_UserId";
public static final String r = "CookieData";
public static final String s = "OpType";
public static final String t = "bnosave";
public static final String u = "WpsFilePath";
public static final String v = "wpsfileedit";
public static final String w = "callback";
private static final String x = "WpsFileEditUtil";
private static final String y = "cn.wps.moffice_eng";
private static final String z = "cn.wps.moffice.cooperation.OpenExternalDocsActivity";
public class FileBusType {
public static final int f89818a = 0;
public static final int f89819b = 1;
public static final int f89820c = 2;
public static final int d = 3;
public static final int e = 4;
public static final int f = 5;
public static final int g = 6;
public static final int h = 7;
public static final int i = 8;
}
public class ReportClickValue {
public static final String f89821a = "0X8008B71";
public static final String f89822b = "0X8008B72";
public static final String f89823c = "0X8008B73";
public static final String d = "0X8008B74";
public static final String e = "0X8008B75";
public static final String f = "0X8008B76";
public static final String g = "0X8008B77";
public static final String h = "0X8008B78";
public static final String i = "0X8008B7A";
public static final String j = "0X8008B7B";
public static final String k = "0X8008B7C";
public static final String l = "0X8008B7D";
public static final String m = "0X8008B7E";
public static final String n = "0X8008B7F";
public static final String o = "0X8008B80";
}
public static boolean m6676a(String str) {
try {
return BaseApplicationImpl.a().getPackageManager().getPackageInfo(str, 0) != null;
} catch (PackageManager.NameNotFoundException e2) {
e2.printStackTrace();
return false;
} catch (Exception e3) {
e3.printStackTrace();
return false;
}
}
public static PackageInfo a() {
try {
return BaseApplicationImpl.a().getPackageManager().getPackageInfo(y, 0);
} catch (PackageManager.NameNotFoundException e2) {
e2.printStackTrace();
return null;
} catch (Exception e3) {
e3.printStackTrace();
return null;
}
}
public static boolean b(String str) {
int lastIndexOf;
if (!TextUtils.isEmpty(str) && (lastIndexOf = str.lastIndexOf(".")) >= 0) {
String lowerCase = str.substring(lastIndexOf).toLowerCase();
for (String str2 : A.split(IndexView.f95329b)) {
if (str2.equalsIgnoreCase(lowerCase)) {
return true;
}
}
return false;
}
return false;
}
public static boolean a(Activity activity) {
if (activity == null) {
return false;
}
QLog.i(x, 1, "[WPSEDIT] openWpsInAppbaby...");
if (m6676a("com.tencent.android.qqdownloader")) {
try {
Intent intent = new Intent(XChooserActivity.i, Uri.parse("market://details?id=cn.wps.moffice_eng"));
intent.setPackage("com.tencent.android.qqdownloader");
intent.addFlags(e_attribute._IsFrdCommentFamousFeed);
activity.startActivity(intent);
return true;
} catch (Exception e2) {
e2.printStackTrace();
return true;
}
}
QLog.i(x, 1, "[WPSEDIT] openWpsInAppbaby in web");
activity.startActivity(new Intent(XChooserActivity.i, Uri.parse("http://a.app.qq.com/o/simple.jsp?pkgname=cn.wps.moffice_eng")));
return true;
}
public static boolean a(Activity activity, String str, Bundle bundle, Bundle bundle2) {
boolean z2;
if (activity == null || bundle == null || str == null || TextUtils.isEmpty(str)) {
QLog.e(x, 1, "[WPSEDIT] requestWpsEdit param error");
QQToast.a(activity, 2, activity.getResources().getString(R.string.f59427name_res_0x7f0a03fd), 0).m9833a();
return false;
}
try {
z2 = new File(str).exists();
} catch (Exception e2) {
e2.printStackTrace();
z2 = false;
}
if (!z2) {
QLog.e(x, 1, "[WPSEDIT] requestWpsEdit file not exist");
QQToast.a(activity, 2, activity.getResources().getString(R.string.f59428name_res_0x7f0a03fe), 0).m9833a();
return false;
}
QQAppInterface qQAppInterface = null;
if (activity instanceof BaseActivity) {
qQAppInterface = ((BaseActivity) activity).app;
}
PackageInfo a2 = a();
if (a2 == null) {
QLog.w(x, 1, "[WPSEDIT] requestWpsEdit. wps not installed");
a(activity);
return false;
} else if (a2.versionCode < 212) {
a(qQAppInterface, ReportClickValue.f89823c);
QLog.w(x, 1, "[WPSEDIT] requestWpsEdit. wps ver too lower");
DialogUtil.a((Context) activity, 230, activity.getResources().getString(R.string.f59430name_res_0x7f0a0400), activity.getResources().getString(R.string.f59432name_res_0x7f0a0402), (int) R.string.f59435name_res_0x7f0a0405, (int) R.string.f59433name_res_0x7f0a0403, (DialogInterface.OnClickListener) new rye(qQAppInterface, activity), (DialogInterface.OnClickListener) new ryf(qQAppInterface)).show();
return false;
} else {
Bundle bundle3 = new Bundle();
int a3 = WpsFileEditManager.a().a(str, bundle, bundle3);
if (a3 != WpsFileEditManager.RetCode.f89502a) {
QLog.w(x, 1, "[WPSEDIT] requestWpsEdit. error happen. ret=" + a3);
QQToast.a(activity, 2, activity.getResources().getString(R.string.f59427name_res_0x7f0a03fd), 0).m9833a();
return false;
}
Intent intent = new Intent();
intent.setComponent(new ComponentName(y, z));
intent.setAction(XChooserActivity.i);
intent.addFlags(e_attribute._IsFrdCommentFamousFeed);
intent.putExtra("android.intent.extra.STREAM", Uri.fromFile(new File(str)));
intent.putExtra("CookieData", bundle3.getByteArray("enCookeData"));
intent.putExtra(n, B);
if (bundle.getBoolean(h, false)) {
String string = bundle.getString("WpsCloud_FileId");
String string2 = bundle.getString("WpsCloud_ParentId");
String string3 = bundle.getString("WpsCloud_UserId");
intent.putExtra("WpsCloud_FileId", string);
intent.putExtra("WpsCloud_ParentId", string2);
intent.putExtra("WpsCloud_UserId", string3);
}
try {
activity.startActivity(intent);
} catch (Exception e3) {
e3.printStackTrace();
}
QLog.i(x, 1, "[WPSEDIT] requestWpsEdit. call wps edit. filePath:" + str);
return true;
}
}
public static boolean a(BaseActivity baseActivity, Intent intent, Bundle bundle) {
String str;
File file;
if (baseActivity == null || intent == null) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponse. param error!");
return false;
} else if (baseActivity.app == null) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponse. app is null");
return false;
} else if (!baseActivity.app.isLogin()) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponse. no login");
QQToast.a(baseActivity, 2, baseActivity.getResources().getString(R.string.f59448name_res_0x7f0a0412), 0).m9833a();
return false;
} else if (intent.getExtras() == null) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponse. extras is null");
return false;
} else {
byte[] byteArrayExtra = intent.getByteArrayExtra("CookieData");
if (byteArrayExtra == null || byteArrayExtra.length == 0) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponse. sResponseData_CookieData is null");
QQToast.a(baseActivity, 2, "数据解析出错,操作失败", 0).m9833a();
return false;
}
Uri uri = (Uri) intent.getExtras().get("android.intent.extra.STREAM");
if (uri == null || (file = new File(uri.getPath())) == null) {
str = null;
} else {
str = file.getAbsolutePath();
}
int intExtra = intent.getIntExtra(s, 0);
boolean booleanExtra = intent.getBooleanExtra(t, false);
QLog.i(x, 1, "[WPSEDIT] onWpsEditResponse. optype:" + intExtra + " wpsFilePath:" + str + " bNosave:" + booleanExtra);
Bundle bundle2 = new Bundle();
bundle2.putByteArray("CookieData", byteArrayExtra);
bundle2.putInt(s, intExtra);
bundle2.putString(u, str);
bundle2.putBoolean(t, booleanExtra);
int a2 = WpsFileEditManager.a().a(bundle2, bundle);
if (a2 != WpsFileEditManager.RetCode.f89502a) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponse. handle error.ret:" + a2);
if (a2 == WpsFileEditManager.RetCode.h) {
QQToast.a(baseActivity, 2, baseActivity.getResources().getString(R.string.f59449name_res_0x7f0a0413), 0).m9833a();
} else if (a2 == WpsFileEditManager.RetCode.d) {
QQToast.a(baseActivity, 2, baseActivity.getResources().getString(R.string.f59442name_res_0x7f0a040c), 0).m9833a();
} else if (a2 == WpsFileEditManager.RetCode.p) {
QQToast.a(baseActivity, 2, baseActivity.getResources().getString(R.string.f59441name_res_0x7f0a040b), 0).m9833a();
} else if (a2 == WpsFileEditManager.RetCode.q) {
long j2 = bundle.getLong("sessionid", 0L);
DialogUtil.a((Context) baseActivity, 230, baseActivity.getResources().getString(R.string.f59430name_res_0x7f0a0400), baseActivity.getResources().getString(R.string.f59440name_res_0x7f0a040a), (int) R.string.f59451name_res_0x7f0a0415, (int) R.string.f59450name_res_0x7f0a0414, (DialogInterface.OnClickListener) new ryg(j2), (DialogInterface.OnClickListener) new ryh(j2)).show();
} else {
QQToast.a(baseActivity, 2, "数据解析出错,操作失败(" + a2 + UnifiedTraceRouter.f, 0).m9833a();
}
return false;
}
long j3 = bundle.getLong("sessionid");
bundle.getString("filePath");
int i2 = bundle.getInt(d, 0);
boolean z2 = bundle.getBoolean("fileChanged", false);
if (intExtra == 3) {
a(baseActivity.app, ReportClickValue.j);
Intent intent2 = new Intent(baseActivity, WpsFileEditSaveDlgActivity.class);
intent2.putExtra("sessionid", j3);
intent2.putExtra("fileChanged", z2);
intent2.putExtra(d, i2);
baseActivity.startActivity(intent2);
baseActivity.overridePendingTransition(0, 0);
} else if (intExtra == 2 && i2 != 6) {
WpsFileEditToastStyleDlg.a(baseActivity, baseActivity.getResources().getString(R.string.f59443name_res_0x7f0a040d), WpsFileEditToastStyleDlg.f89859b, true);
}
return true;
}
}
public static boolean b(BaseActivity baseActivity, Intent intent, Bundle bundle) {
if (baseActivity == null || intent == null) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponseWhenNoLaunch. param error!");
return false;
} else if (baseActivity.app == null) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponseWhenNoLaunch. app is null");
return false;
} else if (!baseActivity.app.isLogin()) {
QLog.e(x, 1, "[WPSEDIT] onWpsEditResponseWhenNoLaunch. is unlogin");
QQToast.a(baseActivity, 2, baseActivity.getResources().getString(R.string.f59448name_res_0x7f0a0412), 0).m9833a();
return false;
} else {
Intent intent2 = new Intent();
intent2.setClass(baseActivity, SplashActivity.class);
intent2.setFlags(268468224);
intent2.putExtra(SplashActivity.f11216c, 1);
intent2.putExtras(intent.getExtras());
intent2.putExtra("_Wps_Edit_Call_", true);
baseActivity.startActivity(intent2);
return true;
}
}
public static void a(boolean z2, int i2, boolean z3) {
if (i2 != 6 || z2 || !z3) {
new Handler(Looper.getMainLooper()).postDelayed(new ryi(z2, i2, z3), 1500L);
}
}
public static void a(String str) {
QQToast.a(BaseApplicationImpl.f6970a, 2, str, 0).m9833a();
}
public static boolean m6675a() {
QQAppInterface qQAppInterface;
AppRuntime m1871a = BaseApplicationImpl.a().m1871a();
if (m1871a == null || !(m1871a instanceof QQAppInterface)) {
qQAppInterface = null;
} else {
qQAppInterface = (QQAppInterface) m1871a;
}
if (c(qQAppInterface)) {
long m6309a = WpsFileEditManager.a().m6309a();
return m6309a != 0 && System.currentTimeMillis() - m6309a < NearPeopleFilterActivity.f85193a;
}
return false;
}
public static void m6674a() {
WpsFileEditManager.a().a(0L);
}
public static boolean a(long j2) {
return WpsFileEditManager.a().m6310a().m6322a(j2);
}
public static void a(QQAppInterface qQAppInterface, String str) {
if (QLog.isDevelopLevel()) {
QLog.i(x, 4, "[WPSEDIT] reportClick: act=" + str);
}
ReportUtils.a(qQAppInterface, ReportConstants.m, ReportConstants.B, "File", str);
}
public static boolean a(QQAppInterface qQAppInterface) {
if (qQAppInterface == null) {
return false;
}
return SharedPreUtils.m9354a((Context) qQAppInterface.getApp(), qQAppInterface.m4704d(), WpsFileEditConfigHandler.f88845b, false);
}
public static boolean b(QQAppInterface qQAppInterface) {
if (qQAppInterface == null) {
return false;
}
return SharedPreUtils.m9354a((Context) qQAppInterface.getApp(), qQAppInterface.m4704d(), WpsFileEditConfigHandler.f88846c, false);
}
public static boolean c(QQAppInterface qQAppInterface) {
if (a(qQAppInterface)) {
return false;
}
return (b(qQAppInterface) && a() == null) ? false : true;
}
}