Shandong video conference v3.2.10版本的 MD5 值为:e9e908f971313b4c4bca5737f96781ef

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


package com.tencent.wework.api;

import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import com.tencent.wework.api.Callbacks;
import com.tencent.wework.api.IWWAPI;
import com.tencent.wework.api.model.BaseMessage;
import com.tencent.wework.api.model.OpenData;
import com.tencent.wework.api.model.WWAuthMessage;
import com.tencent.wework.api.model.WWBaseMessage;
import com.tencent.wework.api.model.WWBaseRespMessage;
import com.tencent.wework.api.utils.OpenDataUtils;
import com.tencent.wework.api.view.H5Activity;
import com.umeng.analytics.pro.bw;
import io.xylink.rtc.internal.model.define.CallConst;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.http.client.methods.HttpPostHC4;
import org.json.JSONArray;
import org.json.JSONObject;
public final class WWAPIImplLocal implements IWWAPI {
    private static final String AZ_PKG_SIGNATURE = "B374B823AD2BF3F216AC8F67B86CE189";
    private static final String CCTV_PKG_SIGNATURE = "F5BF8B3B1B616EFEF88681716C061BA4";
    private static final String CUSTOM_SCHEME = "custom_scheme";
    private static final String LOCAL_ENTERPRISE_PKG_NAME = "com.tencent.weworkenterprise";
    private static final String LOCAL_PKG_NAME = "com.tencent.weworklocal";
    public static final String LOCAL_PKG_SIGNATURE = "011A40266C8C75D181DDD8E4DDC50075";
    private static final String PKG_NAME = "com.tencent.wework";
    private static final int PKG_NAMES_SIZE = 2;
    private static final String SCHEME_UNIFORM_GOV_LOCAL = "wxworkgovuniform";
    private static final String SCHEME_UNIFORM_WW_LOCAL = "wxwork";
    private static final String SPECIAL_PKG_NAME = "com.tencent.wework.special";
    private static final String SXF_PKG_SIGNATURE = "99A7B5BDA8615128675831C01F208344";
    private static final String TAG = "WWAPIImplLocal";
    private final Context context;
    private String customScheme;
    private SharedPreferences mPreferences;
    private String schema;
    private static final ArrayList<String> PKG_NAMES = new ArrayList<String>() {
        {
            add(WWAPIImplLocal.PKG_NAME);
            add(WWAPIImplLocal.SPECIAL_PKG_NAME);
        }
    };
    private static ArrayList<String> PKG_NAMES2 = new ArrayList<String>() {
        {
            add(WWAPIImplLocal.LOCAL_PKG_NAME);
            add(WWAPIImplLocal.LOCAL_ENTERPRISE_PKG_NAME);
        }
    };
    private static ArrayList<String> SCHEME_LOCALS = new ArrayList<String>() {
        {
            add(IWWAPI.SCHEME_CUSTOM_LOCAL);
            add(IWWAPI.SCHEME_UNIFORM_LOCAL);
        }
    };
    private static final ArrayList<String> ValidSignatureList = new ArrayList<String>() {
        {
            add("011A40266C8C75D181DDD8E4DDC50075");
            add(WWAPIImplLocal.CCTV_PKG_SIGNATURE);
            add(WWAPIImplLocal.SXF_PKG_SIGNATURE);
            add(WWAPIImplLocal.AZ_PKG_SIGNATURE);
        }
    };
    private static boolean requesting = false;
    private Map<String, IWWAPIEventHandler> callbacks = new HashMap();
    private BroadcastReceiver mReciver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            try {
                if (WWAPIImplLocal.this.schema.equals(intent.getScheme())) {
                    final BaseMessage parseUri = BaseMessage.parseUri(intent.getData());
                    parseUri.setsKey(WWAPIImplLocal.this.mPreferences.getString("sk", ""));
                    parseUri.fromBundle(intent.getExtras());
                    if (parseUri instanceof WWBaseRespMessage) {
                        new Handler(Looper.getMainLooper()).post(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    ((IWWAPIEventHandler) WWAPIImplLocal.this.callbacks.get(((WWBaseRespMessage) parseUri).transaction)).handleResp(parseUri);
                                    WWAPIImplLocal.this.callbacks.remove(((WWBaseRespMessage) parseUri).transaction);
                                } catch (Throwable unused) {
                                }
                            }
                        });
                    }
                }
            } catch (Throwable unused) {
            }
        }
    };

    class AnonymousClass6 implements Runnable {
        final Callbacks.InitOpenDataCallBack val$cb;
        final Handler val$handler;
        final String val$skey;

        AnonymousClass6(String str, Handler handler, Callbacks.InitOpenDataCallBack initOpenDataCallBack) {
            this.val$skey = str;
            this.val$handler = handler;
            this.val$cb = initOpenDataCallBack;
        }

        @Override
        public void run() {
            try {
                JSONObject jSONObject = new JSONObject();
                jSONObject.put("session_key", this.val$skey);
                WWAPIImplLocal.this.httpPost("https://open.work.weixin.qq.com/sdk/opendata/init_open_data", jSONObject.toString().getBytes("UTF-8"), new HttpResult() {
                    @Override
                    public void call(final int i2, StringBuilder sb) {
                        if (i2 != 0) {
                            AnonymousClass6.this.val$handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    AnonymousClass6.this.val$cb.onResult(i2, "");
                                }
                            });
                            return;
                        }
                        try {
                            JSONObject jSONObject2 = new JSONObject(sb.toString());
                            final int i3 = jSONObject2.getInt("errcode");
                            final String optString = jSONObject2.optString("errmsg");
                            final String optString2 = jSONObject2.optString("open_data_ticket");
                            AnonymousClass6.this.val$handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    AnonymousClass6.this.val$cb.onResult(i3, optString);
                                    if (i3 != 0 || TextUtils.isEmpty(optString2)) {
                                        return;
                                    }
                                    WWAPIImplLocal.this.mPreferences.edit().putString("tk", optString2).commit();
                                }
                            });
                        } catch (Throwable unused) {
                            AnonymousClass6.this.val$handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    AnonymousClass6.this.val$cb.onResult(101, "");
                                }
                            });
                        }
                    }
                });
            } catch (Throwable unused) {
                this.val$handler.post(new Runnable() {
                    @Override
                    public void run() {
                        AnonymousClass6.this.val$cb.onResult(101, "");
                    }
                });
            }
            boolean unused2 = WWAPIImplLocal.requesting = false;
        }
    }

    class AnonymousClass7 implements Runnable {
        final Callbacks.GetOpenDataCallBack val$cb;
        final List val$data;
        final Handler val$handler;
        final String val$tk;

        AnonymousClass7(String str, List list, Handler handler, Callbacks.GetOpenDataCallBack getOpenDataCallBack) {
            this.val$tk = str;
            this.val$data = list;
            this.val$handler = handler;
            this.val$cb = getOpenDataCallBack;
        }

        @Override
        public void run() {
            try {
                JSONObject jSONObject = new JSONObject();
                jSONObject.put("open_data_ticket", this.val$tk);
                JSONArray jSONArray = new JSONArray();
                for (OpenData openData : this.val$data) {
                    if (openData != null && !TextUtils.isEmpty(openData.id)) {
                        JSONObject jSONObject2 = new JSONObject();
                        jSONObject2.put("id", openData.id);
                        if (openData.type == 1) {
                            jSONObject2.put("type", CallConst.KEY_USER_NAME);
                        } else if (openData.type == 2) {
                            jSONObject2.put("type", "departmentName");
                        } else if (openData.type == 3) {
                            jSONObject2.put("type", "userGender");
                        } else if (openData.type == 4) {
                            jSONObject2.put("type", "userDepartment");
                        } else if (openData.type == 100 && !TextUtils.isEmpty(openData.typeStr)) {
                            jSONObject2.put("type", openData.typeStr);
                        }
                        jSONArray.put(jSONObject2);
                    }
                }
                jSONObject.put("items", jSONArray);
                WWAPIImplLocal.this.httpPost("https://open.work.weixin.qq.com/sdk/opendata/get_open_data", jSONObject.toString().getBytes("UTF-8"), new HttpResult() {
                    @Override
                    public void call(final int i2, StringBuilder sb) {
                        if (i2 != 0) {
                            AnonymousClass7.this.val$handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    AnonymousClass7.this.val$cb.onResult(i2, "", new ArrayList());
                                }
                            });
                            return;
                        }
                        try {
                            JSONObject jSONObject3 = new JSONObject(sb.toString());
                            final int i3 = jSONObject3.getInt("errcode");
                            final String optString = jSONObject3.optString("errmsg");
                            JSONArray optJSONArray = jSONObject3.optJSONArray("items");
                            final ArrayList arrayList = new ArrayList();
                            for (int i4 = 0; i4 < optJSONArray.length(); i4++) {
                                JSONObject jSONObject4 = optJSONArray.getJSONObject(i4);
                                OpenData openData2 = new OpenData();
                                String optString2 = jSONObject4.optString("type");
                                if (TextUtils.equals(optString2, CallConst.KEY_USER_NAME)) {
                                    openData2.type = 1;
                                } else if (TextUtils.equals(optString2, "departmentName")) {
                                    openData2.type = 2;
                                } else if (TextUtils.equals(optString2, "userGender")) {
                                    openData2.type = 3;
                                } else if (TextUtils.equals(optString2, "userDepartment")) {
                                    openData2.type = 4;
                                } else if (!TextUtils.isEmpty(optString2)) {
                                    openData2.type = 100;
                                }
                                openData2.typeStr = optString2;
                                openData2.id = jSONObject4.optString("id");
                                openData2.name = jSONObject4.optString("data");
                                arrayList.add(openData2);
                            }
                            AnonymousClass7.this.val$handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    AnonymousClass7.this.val$cb.onResult(i3, optString, arrayList);
                                }
                            });
                        } catch (Throwable unused) {
                            AnonymousClass7.this.val$handler.post(new Runnable() {
                                @Override
                                public void run() {
                                    AnonymousClass7.this.val$cb.onResult(101, "", new ArrayList());
                                }
                            });
                        }
                    }
                });
            } catch (Throwable unused) {
                this.val$handler.post(new Runnable() {
                    @Override
                    public void run() {
                        AnonymousClass7.this.val$cb.onResult(101, "", new ArrayList());
                    }
                });
            }
            boolean unused2 = WWAPIImplLocal.requesting = false;
        }
    }

    public interface HttpResult {
        void call(int i2, StringBuilder sb);
    }

    public WWAPIImplLocal(Context context) {
        this.mPreferences = null;
        this.context = context;
        this.mPreferences = context.getSharedPreferences("wxwork_wwapi_store", 0);
    }

    private static String HexEncode(byte[] bArr) {
        StringBuilder sb = new StringBuilder(bArr.length * 2);
        for (byte b2 : bArr) {
            sb.append(Integer.toHexString((b2 & 240) >>> 4));
            sb.append(Integer.toHexString(b2 & bw.m));
        }
        return sb.toString().toUpperCase();
    }

    private static String MD5Encode(byte[] bArr) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            messageDigest.reset();
            messageDigest.update(bArr);
            return HexEncode(messageDigest.digest());
        } catch (NoSuchAlgorithmException e2) {
            e2.printStackTrace();
            return "";
        }
    }

    private String getAppPackageName(Intent intent) {
        List<ResolveInfo> queryIntentActivities = this.context.getPackageManager().queryIntentActivities(intent, 65536);
        return queryIntentActivities.size() > 0 ? queryIntentActivities.get(0).activityInfo.applicationInfo.packageName : "";
    }

    private String getSignature(String str) {
        try {
            return MD5Encode(this.context.getPackageManager().getPackageInfo(str, 64).signatures[0].toByteArray());
        } catch (Throwable unused) {
            return "";
        }
    }

    private int getVersioncode(String str) {
        try {
            PackageInfo packageInfo = this.context.getPackageManager().getPackageInfo(str, 128);
            if (packageInfo == null) {
                return 0;
            }
            return packageInfo.versionCode;
        } catch (Throwable unused) {
            return 0;
        }
    }

    private List<String> getWwPkgs() {
        ArrayList<String> arrayList = PKG_NAMES;
        Context context = this.context;
        return (context == null || TextUtils.equals(context.getPackageName(), "com.tencent.mm")) ? arrayList : PKG_NAMES2;
    }

    private String getWwpkg(ArrayList<String> arrayList) {
        Iterator<String> it = arrayList.iterator();
        while (it.hasNext()) {
            String next = it.next();
            if (isValidSignature(next)) {
                return next;
            }
        }
        return null;
    }

    public void httpPost(String str, byte[] bArr, HttpResult httpResult) {
        HttpURLConnection httpURLConnection;
        InputStream inputStream;
        OutputStream outputStream;
        InputStreamReader inputStreamReader;
        BufferedReader bufferedReader;
        try {
            try {
                httpURLConnection = (HttpURLConnection) new URL(str).openConnection();
                try {
                    httpURLConnection.setConnectTimeout(5000);
                    httpURLConnection.setRequestMethod(HttpPostHC4.METHOD_NAME);
                    httpURLConnection.setDoInput(true);
                    httpURLConnection.setDoOutput(true);
                    outputStream = httpURLConnection.getOutputStream();
                    int i2 = 512;
                    for (int i3 = 0; i3 < bArr.length; i3 += i2) {
                        try {
                            if (i3 + i2 > bArr.length) {
                                i2 = bArr.length - i3;
                            }
                            outputStream.write(bArr, i3, i2);
                            outputStream.flush();
                        } catch (Throwable unused) {
                            inputStream = null;
                            inputStreamReader = 0;
                        }
                    }
                    inputStream = httpURLConnection.getInputStream();
                } catch (Throwable unused2) {
                    inputStream = null;
                    outputStream = inputStream;
                    inputStreamReader = outputStream;
                    bufferedReader = inputStreamReader;
                    try {
                        httpResult.call(101, null);
                        if (httpURLConnection != null) {
                            httpURLConnection.disconnect();
                        }
                        if (bufferedReader != null) {
                            bufferedReader.close();
                        }
                        if (inputStreamReader != 0) {
                            inputStreamReader.close();
                        }
                        if (inputStream != null) {
                            inputStream.close();
                        }
                        if (outputStream == null) {
                            return;
                        }
                        outputStream.close();
                    } catch (Throwable th) {
                        if (httpURLConnection != null) {
                            httpURLConnection.disconnect();
                        }
                        if (bufferedReader != null) {
                            try {
                                bufferedReader.close();
                            } catch (Throwable unused3) {
                                throw th;
                            }
                        }
                        if (inputStreamReader != 0) {
                            inputStreamReader.close();
                        }
                        if (inputStream != null) {
                            inputStream.close();
                        }
                        if (outputStream != null) {
                            outputStream.close();
                        }
                        throw th;
                    }
                }
            } catch (Throwable unused4) {
                httpURLConnection = null;
                inputStream = null;
            }
            try {
                inputStreamReader = new InputStreamReader(inputStream);
                try {
                    bufferedReader = new BufferedReader(inputStreamReader);
                    try {
                        StringBuilder sb = new StringBuilder();
                        while (true) {
                            String readLine = bufferedReader.readLine();
                            if (readLine == null) {
                                break;
                            }
                            sb.append(readLine);
                        }
                        httpResult.call(0, sb);
                        if (httpURLConnection != null) {
                            httpURLConnection.disconnect();
                        }
                        bufferedReader.close();
                        inputStreamReader.close();
                        if (inputStream != null) {
                            inputStream.close();
                        }
                        if (outputStream == null) {
                            return;
                        }
                    } catch (Throwable unused5) {
                        httpResult.call(101, null);
                        if (httpURLConnection != null) {
                        }
                        if (bufferedReader != null) {
                        }
                        if (inputStreamReader != 0) {
                        }
                        if (inputStream != null) {
                        }
                        if (outputStream == null) {
                        }
                        outputStream.close();
                    }
                } catch (Throwable unused6) {
                    bufferedReader = null;
                }
            } catch (Throwable unused7) {
                inputStreamReader = 0;
                bufferedReader = inputStreamReader;
                httpResult.call(101, null);
                if (httpURLConnection != null) {
                }
                if (bufferedReader != null) {
                }
                if (inputStreamReader != 0) {
                }
                if (inputStream != null) {
                }
                if (outputStream == null) {
                }
                outputStream.close();
            }
            outputStream.close();
        } catch (Throwable unused8) {
        }
    }

    private boolean isAppInstalled(Intent intent) {
        return this.context.getPackageManager().queryIntentActivities(intent, 65536).size() > 0;
    }

    public static boolean isSupportSignature(String str) {
        return ValidSignatureList.contains(str);
    }

    private boolean isValidSignature(String str) {
        return isSupportSignature(getSignature(str));
    }

    @Override
    public void addPackageName(String str) {
        if (PKG_NAMES2.contains(str)) {
            return;
        }
        PKG_NAMES2.add(0, str);
        ValidSignatureList.add(0, getSignature(str));
    }

    @Override
    public void clearCustomScheme() {
        this.customScheme = null;
        this.mPreferences.edit().putString(CUSTOM_SCHEME, null).commit();
    }

    @Override
    public void detach() {
        this.context.unregisterReceiver(this.mReciver);
        PKG_NAMES2 = new ArrayList<String>() {
            {
                add(WWAPIImplLocal.LOCAL_ENTERPRISE_PKG_NAME);
                add(WWAPIImplLocal.LOCAL_PKG_NAME);
            }
        };
    }

    @Override
    public void getOpenData(List<OpenData> list, Callbacks.GetOpenDataCallBack getOpenDataCallBack) {
        if (requesting) {
            getOpenDataCallBack.onResult(100, "", new ArrayList());
            return;
        }
        String string = this.mPreferences.getString("tk", "");
        if (TextUtils.isEmpty(string)) {
            getOpenDataCallBack.onResult(Callbacks.ERR_INVALID_TICKET, "", new ArrayList());
            return;
        }
        new Thread(new AnonymousClass7(string, list, new Handler(Looper.myLooper()), getOpenDataCallBack)).start();
        requesting = true;
    }

    @Override
    public String getWWAppName() {
        Iterator<String> it = getWwPkgs().iterator();
        if (it.hasNext()) {
            String next = it.next();
            try {
                PackageManager packageManager = this.context.getPackageManager();
                String charSequence = packageManager.getApplicationLabel(packageManager.getApplicationInfo(next, 0)).toString();
                return TextUtils.isEmpty(charSequence) ? "企业微信" : charSequence;
            } catch (Throwable unused) {
                return "企业微信";
            }
        }
        return "企业微信";
    }

    @Override
    public int getWWAppSupportAPI() {
        for (String str : getWwPkgs()) {
            int versioncode = getVersioncode(str);
            if (versioncode != 0) {
                return versioncode;
            }
        }
        return 0;
    }

    @Override
    public boolean handleIntent(Intent intent, IWWAPIEventHandler iWWAPIEventHandler) {
        return false;
    }

    @Override
    public void initOpenData(Callbacks.InitOpenDataCallBack initOpenDataCallBack) {
        if (requesting) {
            initOpenDataCallBack.onResult(100, "");
            return;
        }
        String string = this.mPreferences.getString("sk", "");
        if (TextUtils.isEmpty(string)) {
            initOpenDataCallBack.onResult(Callbacks.ERR_INVALID_SESSION, "");
            return;
        }
        new Thread(new AnonymousClass6(string, new Handler(Looper.myLooper()), initOpenDataCallBack)).start();
        requesting = true;
    }

    @Override
    public boolean isWWAppInstalled() {
        for (String str : getWwPkgs()) {
            if (isValidSignature(str)) {
                return true;
            }
        }
        return false;
    }

    @Override
    public boolean isWWAppSupportAPI() {
        return getWWAppSupportAPI() >= 100;
    }

    @Override
    public boolean openWWApp() {
        for (String str : getWwPkgs()) {
            if (isValidSignature(str)) {
                try {
                    this.context.startActivity(this.context.getPackageManager().getLaunchIntentForPackage(str));
                    return true;
                } catch (Throwable unused) {
                }
            }
        }
        return false;
    }

    @Override
    public boolean registerApp(String str) {
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addDataScheme(str);
        intentFilter.addAction(str);
        this.context.registerReceiver(this.mReciver, intentFilter);
        this.schema = str;
        this.customScheme = this.mPreferences.getString(CUSTOM_SCHEME, null);
        return true;
    }

    @Override
    public boolean sendMessage(BaseMessage baseMessage) {
        String wwpkg;
        boolean z;
        Intent intent;
        baseMessage.setsKey(this.mPreferences.getString("sk", ""));
        ArrayList<String> arrayList = PKG_NAMES2;
        Intent intent2 = new Intent("com.tencent.wework.api.sharemsg", Uri.parse(this.customScheme + "://jump"));
        String str = null;
        if (this.customScheme != null) {
            if (isAppInstalled(intent2)) {
                wwpkg = getAppPackageName(intent2);
                if (isValidSignature(wwpkg)) {
                    str = this.customScheme;
                    z = false;
                }
            }
            return false;
        }
        if (arrayList.size() > 2) {
            wwpkg = getWwpkg(arrayList);
        } else {
            Iterator<String> it = SCHEME_LOCALS.iterator();
            String str2 = null;
            while (true) {
                if (!it.hasNext()) {
                    break;
                }
                String next = it.next();
                Intent intent3 = new Intent("com.tencent.wework.api.sharemsg", Uri.parse(next + "://jump"));
                if (isAppInstalled(intent3)) {
                    str2 = getAppPackageName(intent3);
                    if (isValidSignature(str2)) {
                        str = next;
                        break;
                    }
                }
            }
            String str3 = LOCAL_ENTERPRISE_PKG_NAME;
            if (TextUtils.equals(str2, LOCAL_ENTERPRISE_PKG_NAME) || TextUtils.equals(str2, LOCAL_PKG_NAME)) {
                if (!isValidSignature(LOCAL_ENTERPRISE_PKG_NAME)) {
                    if (isValidSignature(LOCAL_PKG_NAME)) {
                        str3 = LOCAL_PKG_NAME;
                    }
                }
                wwpkg = isValidSignature(str3) ? getWwpkg(arrayList) : str3;
            }
            str3 = str2;
            if (isValidSignature(str3)) {
            }
        }
        z = true;
        if (isValidSignature(wwpkg)) {
            if (str != null) {
                intent = new Intent("com.tencent.wework.api.sharemsg", Uri.parse(str + "://jump"));
            } else {
                intent = new Intent();
            }
            if (z || (!TextUtils.equals(str, IWWAPI.SCHEME_WXWORK_LOCAL) && !TextUtils.equals(str, IWWAPI.SCHEME_CUSTOM_LOCAL) && !TextUtils.equals(str, IWWAPI.SCHEME_UNIFORM_LOCAL))) {
                intent.setClassName(wwpkg, "com.tencent.wework.apihost.WWAPIActivity");
            }
            intent.addFlags(411041792);
            try {
                baseMessage.setDestPkg(wwpkg);
                baseMessage.setContext(this.context);
                Bundle pack = BaseMessage.pack(baseMessage);
                long addBundle = OpenDataUtils.addBundle(this.context, this.context.getPackageName(), wwpkg, pack);
                if (addBundle > 0) {
                    intent.putExtra("data_id", addBundle);
                    intent.putExtra("data_pkg", this.context.getPackageName());
                } else {
                    intent.putExtras(pack);
                }
                intent.putExtra("PendingIntent", PendingIntent.getBroadcast(this.context, 0, new Intent(this.context, this.mReciver.getClass()), 134217728));
                baseMessage.adjustIntent(intent, wwpkg);
                this.context.startActivity(intent);
                return true;
            } catch (Throwable th) {
                th.printStackTrace();
            }
        }
        return false;
    }

    @Override
    public void setCustomScheme(String str) {
        if (str == null || str.length() == 0) {
            return;
        }
        this.customScheme = str;
        this.mPreferences.edit().putString(CUSTOM_SCHEME, str).commit();
    }

    @Override
    public void setSessionKey(String str) {
        this.mPreferences.edit().putString("sk", str).commit();
    }

    @Override
    public void unregisterApp() {
    }

    @Override
    public boolean isWWAppInstalled(IWWAPI.WWAppType wWAppType) {
        if (wWAppType == IWWAPI.WWAppType.WwAppTypeDefault) {
            return isValidSignature(PKG_NAME) || isValidSignature(SPECIAL_PKG_NAME);
        } else if (wWAppType == IWWAPI.WWAppType.WwAppTypeWxwork) {
            return isValidSignature(PKG_NAME) || isValidSignature(SPECIAL_PKG_NAME) || isAppInstalled(new Intent("com.tencent.wework.api.sharemsg", Uri.parse("wxwork://jump")));
        } else if (wWAppType == IWWAPI.WWAppType.WwAppTypeLocal) {
            return isAppInstalled(new Intent("com.tencent.wework.api.sharemsg", Uri.parse("wxworkgovuniform://jump")));
        } else {
            return false;
        }
    }

    @Override
    public String getWWAppName(IWWAPI.WWAppType wWAppType) {
        return wWAppType == IWWAPI.WWAppType.WwAppTypeLocal ? "政务微信" : "企业微信";
    }

    @Override
    public boolean sendMessage(BaseMessage baseMessage, IWWAPI.WWAppType wWAppType) {
        String str;
        String str2;
        String str3;
        String str4;
        IWWAPI.WWAppType wWAppType2;
        String str5 = ", appType:";
        ArrayList arrayList = new ArrayList();
        IWWAPI.WWAppType wWAppType3 = IWWAPI.WWAppType.WwAppTypeDefault;
        String str6 = LOCAL_PKG_NAME;
        String str7 = LOCAL_ENTERPRISE_PKG_NAME;
        String str8 = SPECIAL_PKG_NAME;
        String str9 = PKG_NAME;
        if (wWAppType == wWAppType3) {
            arrayList.add(PKG_NAME);
            arrayList.add(SPECIAL_PKG_NAME);
        } else if (wWAppType == IWWAPI.WWAppType.WwAppTypeWxwork) {
            arrayList.add(PKG_NAME);
            arrayList.add(SPECIAL_PKG_NAME);
            arrayList.add(LOCAL_ENTERPRISE_PKG_NAME);
        } else if (wWAppType == IWWAPI.WWAppType.WwAppTypeLocal) {
            arrayList.add(LOCAL_PKG_NAME);
        }
        Iterator it = arrayList.iterator();
        while (it.hasNext()) {
            String str10 = (String) it.next();
            Iterator it2 = it;
            String str11 = str9;
            if ((str10.equals(str9) || str10.equals(str8)) && isValidSignature(str10)) {
                str = str8;
                Intent intent = new Intent("com.tencent.wework.apihost");
                intent.setClassName(str10, "com.tencent.wework.apihost.WWAPIActivity");
                intent.addFlags(411041792);
                try {
                    baseMessage.setDestPkg(str10);
                    baseMessage.setContext(this.context);
                    Bundle pack = BaseMessage.pack(baseMessage);
                    str2 = str5;
                    try {
                        long addBundle = OpenDataUtils.addBundle(this.context, this.context.getPackageName(), str10, pack);
                        if (addBundle > 0) {
                            intent.putExtra("data_id", addBundle);
                            intent.putExtra("data_pkg", this.context.getPackageName());
                        } else {
                            intent.putExtras(pack);
                        }
                        intent.putExtra("PendingIntent", PendingIntent.getBroadcast(this.context, 0, new Intent(this.context, this.mReciver.getClass()), 134217728));
                        baseMessage.adjustIntent(intent, str10);
                        this.context.startActivity(intent);
                        Log.i(TAG, "sendMessage, start WWAPIActivity, pkg: " + str10);
                        return true;
                    } catch (Throwable th) {
                        th = th;
                        Log.w(TAG, "sendMessage failed, pkg: " + str10, th);
                        str3 = str6;
                        str4 = str7;
                        str5 = str2;
                        wWAppType2 = wWAppType;
                        it = it2;
                        str9 = str11;
                        str6 = str3;
                        str8 = str;
                        str7 = str4;
                    }
                } catch (Throwable th2) {
                    th = th2;
                    str2 = str5;
                }
            } else {
                String str12 = str5;
                str = str8;
                String str13 = "";
                if (str10.equals(str7)) {
                    Intent intent2 = new Intent("com.tencent.wework.api.sharemsg", Uri.parse("wxwork://jump"));
                    if (isAppInstalled(intent2)) {
                        str10 = getAppPackageName(intent2);
                        if (!isValidSignature(str10)) {
                            return false;
                        }
                        str13 = SCHEME_UNIFORM_WW_LOCAL;
                    }
                } else if (str10.equals(str6)) {
                    Intent intent3 = new Intent("com.tencent.wework.api.sharemsg", Uri.parse("wxworkgovuniform://jump"));
                    if (isAppInstalled(intent3)) {
                        str10 = getAppPackageName(intent3);
                        if (!isValidSignature(str10)) {
                            return false;
                        }
                        str13 = SCHEME_UNIFORM_GOV_LOCAL;
                    }
                } else {
                    it = it2;
                    str9 = str11;
                    str8 = str;
                    str5 = str12;
                }
                String str14 = str13;
                if (TextUtils.isEmpty(str14)) {
                    it = it2;
                    str9 = str11;
                    str8 = str;
                    str5 = str12;
                } else {
                    Intent intent4 = new Intent("com.tencent.wework.api.sharemsg", Uri.parse(str14 + "://jump"));
                    intent4.addFlags(411041792);
                    try {
                        baseMessage.setDestPkg(str10);
                        baseMessage.setContext(this.context);
                        Bundle pack2 = BaseMessage.pack(baseMessage);
                        str3 = str6;
                        try {
                            str4 = str7;
                            try {
                                long addBundle2 = OpenDataUtils.addBundle(this.context, this.context.getPackageName(), str10, pack2);
                                if (addBundle2 > 0) {
                                    intent4.putExtra("data_id", addBundle2);
                                    intent4.putExtra("data_pkg", this.context.getPackageName());
                                } else {
                                    intent4.putExtras(pack2);
                                }
                                intent4.putExtra("PendingIntent", PendingIntent.getBroadcast(this.context, 0, new Intent(this.context, this.mReciver.getClass()), 134217728));
                                baseMessage.adjustIntent(intent4, str10);
                                this.context.startActivity(intent4);
                                StringBuilder sb = new StringBuilder();
                                sb.append("sendMessage, start WWAPIActivity, pkg: ");
                                sb.append(str10);
                                sb.append(",scheme:");
                                sb.append(str14);
                                str5 = str12;
                                try {
                                    sb.append(str5);
                                    wWAppType2 = wWAppType;
                                    try {
                                        sb.append(wWAppType2);
                                        Log.i(TAG, sb.toString());
                                        return true;
                                    } catch (Throwable th3) {
                                        th = th3;
                                        Log.w(TAG, "sendMessage failed, pkg: " + str10 + ",scheme:" + str14 + str5 + wWAppType2, th);
                                        it = it2;
                                        str9 = str11;
                                        str6 = str3;
                                        str8 = str;
                                        str7 = str4;
                                    }
                                } catch (Throwable th4) {
                                    th = th4;
                                    wWAppType2 = wWAppType;
                                    Log.w(TAG, "sendMessage failed, pkg: " + str10 + ",scheme:" + str14 + str5 + wWAppType2, th);
                                    it = it2;
                                    str9 = str11;
                                    str6 = str3;
                                    str8 = str;
                                    str7 = str4;
                                }
                            } catch (Throwable th5) {
                                th = th5;
                                wWAppType2 = wWAppType;
                                str5 = str12;
                                Log.w(TAG, "sendMessage failed, pkg: " + str10 + ",scheme:" + str14 + str5 + wWAppType2, th);
                                it = it2;
                                str9 = str11;
                                str6 = str3;
                                str8 = str;
                                str7 = str4;
                            }
                        } catch (Throwable th6) {
                            th = th6;
                            wWAppType2 = wWAppType;
                            str4 = str7;
                        }
                    } catch (Throwable th7) {
                        th = th7;
                        str3 = str6;
                        str4 = str7;
                        str5 = str12;
                    }
                }
            }
            it = it2;
            str9 = str11;
            str6 = str3;
            str8 = str;
            str7 = str4;
        }
        return false;
    }

    @Override
    public boolean sendMessage(BaseMessage baseMessage, IWWAPIEventHandler iWWAPIEventHandler) {
        if ((baseMessage instanceof WWAuthMessage.Req) && !isWWAppInstalled()) {
            Intent intent = new Intent(this.context, H5Activity.class);
            intent.putExtra("url", "https://open.work.weixin.qq.com/native/sso/auth/guide?appid=" + ((WWAuthMessage.Req) baseMessage).appId);
            intent.addFlags(268435456);
            try {
                this.context.startActivity(intent);
            } catch (Throwable unused) {
            }
            return false;
        } else if (sendMessage(baseMessage)) {
            if (baseMessage instanceof WWBaseMessage) {
                this.callbacks.put(((WWBaseMessage) baseMessage).transaction, iWWAPIEventHandler);
                return true;
            }
            return true;
        } else {
            return false;
        }
    }

    @Override
    public boolean sendMessage(BaseMessage baseMessage, IWWAPI.WWAppType wWAppType, IWWAPIEventHandler iWWAPIEventHandler) {
        if (sendMessage(baseMessage, wWAppType)) {
            if (baseMessage instanceof WWBaseMessage) {
                this.callbacks.put(((WWBaseMessage) baseMessage).transaction, iWWAPIEventHandler);
                return true;
            }
            return true;
        }
        return false;
    }
}