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;
    }
}