213 lines
9.7 KiB
Java
213 lines
9.7 KiB
Java
package com.tencent.mm.opensdk.diffdev.a;
|
|
|
|
import android.os.AsyncTask;
|
|
import android.os.Build;
|
|
import android.os.Environment;
|
|
import android.util.Base64;
|
|
import com.tencent.mm.opensdk.diffdev.OAuthErrCode;
|
|
import com.tencent.mm.opensdk.diffdev.OAuthListener;
|
|
import com.tencent.mm.opensdk.utils.Log;
|
|
import com.ubt.jimu.diy.view.fragment.BuildStepFragment;
|
|
import java.io.File;
|
|
import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import org.json.JSONObject;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class d extends AsyncTask<Void, Void, a> {
|
|
private static final boolean ad;
|
|
private static final String ae;
|
|
private static String af;
|
|
private String ag;
|
|
private String ah;
|
|
private OAuthListener ai;
|
|
private f aj;
|
|
private String appId;
|
|
private String scope;
|
|
private String signature;
|
|
|
|
static class a {
|
|
public OAuthErrCode ak;
|
|
public String al;
|
|
public String am;
|
|
public String an;
|
|
public int ao;
|
|
public String ap;
|
|
public byte[] aq;
|
|
|
|
private a() {
|
|
}
|
|
|
|
private static boolean a(String str, byte[] bArr) {
|
|
FileOutputStream fileOutputStream = null;
|
|
try {
|
|
try {
|
|
FileOutputStream fileOutputStream2 = new FileOutputStream(str);
|
|
try {
|
|
fileOutputStream2.write(bArr);
|
|
fileOutputStream2.flush();
|
|
try {
|
|
fileOutputStream2.close();
|
|
} catch (IOException e) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", "fout.close() exception:" + e.getMessage());
|
|
}
|
|
Log.d("MicroMsg.SDK.GetQRCodeResult", "writeToFile ok!");
|
|
return true;
|
|
} catch (Exception e2) {
|
|
e = e2;
|
|
fileOutputStream = fileOutputStream2;
|
|
Log.w("MicroMsg.SDK.GetQRCodeResult", "write to file error, exception:" + e.getMessage());
|
|
if (fileOutputStream == null) {
|
|
return false;
|
|
}
|
|
try {
|
|
fileOutputStream.close();
|
|
return false;
|
|
} catch (IOException e3) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", "fout.close() exception:" + e3.getMessage());
|
|
return false;
|
|
}
|
|
} catch (Throwable th) {
|
|
th = th;
|
|
fileOutputStream = fileOutputStream2;
|
|
if (fileOutputStream != null) {
|
|
try {
|
|
fileOutputStream.close();
|
|
} catch (IOException e4) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", "fout.close() exception:" + e4.getMessage());
|
|
}
|
|
}
|
|
throw th;
|
|
}
|
|
} catch (Exception e5) {
|
|
e = e5;
|
|
}
|
|
} catch (Throwable th2) {
|
|
th = th2;
|
|
}
|
|
}
|
|
|
|
public static a c(byte[] bArr) {
|
|
OAuthErrCode oAuthErrCode;
|
|
String format;
|
|
a aVar = new a();
|
|
if (bArr == null || bArr.length == 0) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", "parse fail, buf is null");
|
|
oAuthErrCode = OAuthErrCode.WechatAuth_Err_NetworkErr;
|
|
} else {
|
|
try {
|
|
try {
|
|
JSONObject jSONObject = new JSONObject(new String(bArr, "utf-8"));
|
|
int i = jSONObject.getInt("errcode");
|
|
if (i != 0) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", String.format("resp errcode = %d", Integer.valueOf(i)));
|
|
aVar.ak = OAuthErrCode.WechatAuth_Err_NormalErr;
|
|
aVar.ao = i;
|
|
aVar.ap = jSONObject.optString("errmsg");
|
|
return aVar;
|
|
}
|
|
String string = jSONObject.getJSONObject("qrcode").getString("qrcodebase64");
|
|
if (string != null && string.length() != 0) {
|
|
byte[] decode = Base64.decode(string, 0);
|
|
if (decode != null && decode.length != 0) {
|
|
if (!d.ad) {
|
|
aVar.ak = OAuthErrCode.WechatAuth_Err_OK;
|
|
aVar.aq = decode;
|
|
aVar.al = jSONObject.getString(BuildStepFragment.UUID);
|
|
aVar.am = jSONObject.getString("appname");
|
|
Log.d("MicroMsg.SDK.GetQRCodeResult", String.format("parse succ, save in memory, uuid = %s, appname = %s, imgBufLength = %d", aVar.al, aVar.am, Integer.valueOf(aVar.aq.length)));
|
|
return aVar;
|
|
}
|
|
File file = new File(d.ae);
|
|
file.mkdirs();
|
|
if (file.exists()) {
|
|
file.delete();
|
|
}
|
|
if (!a(d.ae, decode)) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", String.format("writeToFile fail, qrcodeBuf length = %d", Integer.valueOf(decode.length)));
|
|
aVar.ak = OAuthErrCode.WechatAuth_Err_NormalErr;
|
|
return aVar;
|
|
}
|
|
aVar.ak = OAuthErrCode.WechatAuth_Err_OK;
|
|
aVar.an = d.ae;
|
|
aVar.al = jSONObject.getString(BuildStepFragment.UUID);
|
|
aVar.am = jSONObject.getString("appname");
|
|
Log.d("MicroMsg.SDK.GetQRCodeResult", String.format("parse succ, save in external storage, uuid = %s, appname = %s, imgPath = %s", aVar.al, aVar.am, aVar.an));
|
|
return aVar;
|
|
}
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", "parse fail, qrcodeBuf is null");
|
|
aVar.ak = OAuthErrCode.WechatAuth_Err_JsonDecodeErr;
|
|
return aVar;
|
|
}
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", "parse fail, qrcodeBase64 is null");
|
|
aVar.ak = OAuthErrCode.WechatAuth_Err_JsonDecodeErr;
|
|
return aVar;
|
|
} catch (Exception e) {
|
|
format = String.format("parse json fail, ex = %s", e.getMessage());
|
|
Log.e("MicroMsg.SDK.GetQRCodeResult", format);
|
|
oAuthErrCode = OAuthErrCode.WechatAuth_Err_NormalErr;
|
|
aVar.ak = oAuthErrCode;
|
|
return aVar;
|
|
}
|
|
} catch (Exception e2) {
|
|
format = String.format("parse fail, build String fail, ex = %s", e2.getMessage());
|
|
}
|
|
}
|
|
aVar.ak = oAuthErrCode;
|
|
return aVar;
|
|
}
|
|
}
|
|
|
|
static {
|
|
ad = Environment.getExternalStorageState().equals("mounted") && new File(Environment.getExternalStorageDirectory().getAbsolutePath()).canWrite();
|
|
ae = Environment.getExternalStorageDirectory().getAbsolutePath() + "/tencent/MicroMsg/oauth_qrcode.png";
|
|
af = null;
|
|
af = "http://open.weixin.qq.com/connect/sdk/qrconnect?appid=%s&noncestr=%s×tamp=%s&scope=%s&signature=%s";
|
|
}
|
|
|
|
public d(String str, String str2, String str3, String str4, String str5, OAuthListener oAuthListener) {
|
|
this.appId = str;
|
|
this.scope = str2;
|
|
this.ag = str3;
|
|
this.ah = str4;
|
|
this.signature = str5;
|
|
this.ai = oAuthListener;
|
|
}
|
|
|
|
@Override // android.os.AsyncTask
|
|
protected final /* synthetic */ a doInBackground(Void[] voidArr) {
|
|
Log.i("MicroMsg.SDK.GetQRCodeTask", "external storage available = " + ad);
|
|
String format = String.format(af, this.appId, this.ag, this.ah, this.scope, this.signature);
|
|
long currentTimeMillis = System.currentTimeMillis();
|
|
byte[] b = e.b(format, -1);
|
|
Log.d("MicroMsg.SDK.GetQRCodeTask", String.format("doInBackground, url = %s, time consumed = %d(ms)", format, Long.valueOf(System.currentTimeMillis() - currentTimeMillis)));
|
|
return a.c(b);
|
|
}
|
|
|
|
@Override // android.os.AsyncTask
|
|
protected final /* synthetic */ void onPostExecute(a aVar) {
|
|
a aVar2 = aVar;
|
|
OAuthErrCode oAuthErrCode = aVar2.ak;
|
|
if (oAuthErrCode != OAuthErrCode.WechatAuth_Err_OK) {
|
|
Log.e("MicroMsg.SDK.GetQRCodeTask", String.format("onPostExecute, get qrcode fail, OAuthErrCode = %s", oAuthErrCode));
|
|
this.ai.onAuthFinish(aVar2.ak, null);
|
|
return;
|
|
}
|
|
Log.d("MicroMsg.SDK.GetQRCodeTask", "onPostExecute, get qrcode success");
|
|
this.ai.onAuthGotQrcode(aVar2.an, aVar2.aq);
|
|
this.aj = new f(aVar2.al, this.ai);
|
|
f fVar = this.aj;
|
|
if (Build.VERSION.SDK_INT >= 11) {
|
|
fVar.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, new Void[0]);
|
|
} else {
|
|
fVar.execute(new Void[0]);
|
|
}
|
|
}
|
|
|
|
public final boolean q() {
|
|
Log.i("MicroMsg.SDK.GetQRCodeTask", "cancelTask");
|
|
f fVar = this.aj;
|
|
return fVar == null ? cancel(true) : fVar.cancel(true);
|
|
}
|
|
}
|