- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
607 lines
31 KiB
Java
607 lines
31 KiB
Java
package com.mbridge.msdk.foundation.download.download;
|
||
|
||
import android.net.Uri;
|
||
import android.text.TextUtils;
|
||
import android.util.Patterns;
|
||
import android.webkit.URLUtil;
|
||
import androidx.work.WorkRequest;
|
||
import com.mbridge.msdk.MBridgeConstans;
|
||
import com.mbridge.msdk.c.g;
|
||
import com.mbridge.msdk.c.h;
|
||
import com.mbridge.msdk.foundation.controller.c;
|
||
import com.mbridge.msdk.foundation.download.DownloadError;
|
||
import com.mbridge.msdk.foundation.download.DownloadMessage;
|
||
import com.mbridge.msdk.foundation.download.DownloadPriority;
|
||
import com.mbridge.msdk.foundation.download.DownloadResourceType;
|
||
import com.mbridge.msdk.foundation.download.MBDownloadManager;
|
||
import com.mbridge.msdk.foundation.download.OnDownloadStateListener;
|
||
import com.mbridge.msdk.foundation.download.resource.MBResourceManager;
|
||
import com.mbridge.msdk.foundation.entity.CampaignEx;
|
||
import com.mbridge.msdk.foundation.same.b.e;
|
||
import com.mbridge.msdk.foundation.same.e.a;
|
||
import com.mbridge.msdk.foundation.same.report.d.d;
|
||
import com.mbridge.msdk.foundation.tools.SameMD5;
|
||
import com.mbridge.msdk.foundation.tools.af;
|
||
import com.mbridge.msdk.foundation.tools.an;
|
||
import com.mbridge.msdk.foundation.tools.ap;
|
||
import com.mbridge.msdk.foundation.tools.aq;
|
||
import com.mbridge.msdk.playercommon.exoplayer2.source.chunk.ChunkedTrackBlacklistUtil;
|
||
import java.io.IOException;
|
||
import java.net.URL;
|
||
import java.util.concurrent.ConcurrentHashMap;
|
||
import java.util.concurrent.ConcurrentMap;
|
||
import java.util.concurrent.CopyOnWriteArrayList;
|
||
|
||
/* loaded from: classes4.dex */
|
||
public class H5DownLoadManager {
|
||
public static final String SP_ENDING_PAGE_SAVE_TIME = "ending_page_save_time";
|
||
public static final String SP_ENDING_PAGE_SOURCE = "ending_page_source";
|
||
private static final String TAG = "H5DownLoadManager";
|
||
private static volatile H5DownLoadManager sH5Manager;
|
||
private final String DOWN_TYPE = "down_type";
|
||
private final String LOCAL_RID = CampaignEx.JSON_KEY_LOCAL_REQUEST_ID;
|
||
private HTMLResourceManager htmlResourceManager;
|
||
private boolean isUseDownloadModule;
|
||
private CopyOnWriteArrayList<String> mResDownloadingList;
|
||
private ConcurrentMap<String, DownLoadH5SourceListener> mResDownloadingMap;
|
||
private ResourceManager resourceManager;
|
||
|
||
public interface H5ResDownloadListerInter {
|
||
void onFailed(String str, String str2);
|
||
|
||
void onSuccess(String str, String str2, boolean z);
|
||
}
|
||
|
||
public interface IH5SourceDownloadListener extends H5ResDownloadListerInter {
|
||
}
|
||
|
||
public interface IOnDownLoadH5Source {
|
||
void onFailed(String str);
|
||
|
||
void onStart();
|
||
|
||
void onSuccess(String str, byte[] bArr, String str2);
|
||
}
|
||
|
||
public interface ZipDownloadListener extends H5ResDownloadListerInter {
|
||
}
|
||
|
||
private H5DownLoadManager() {
|
||
this.isUseDownloadModule = false;
|
||
try {
|
||
this.resourceManager = ResourceManager.getinstance();
|
||
this.htmlResourceManager = HTMLResourceManager.getInstance();
|
||
this.mResDownloadingList = new CopyOnWriteArrayList<>();
|
||
this.mResDownloadingMap = new ConcurrentHashMap();
|
||
g b = h.a().b(c.m().k());
|
||
if (b != null) {
|
||
this.isUseDownloadModule = b.z(1);
|
||
}
|
||
} catch (Throwable th) {
|
||
af.b(TAG, th.getMessage(), th);
|
||
}
|
||
}
|
||
|
||
public static H5DownLoadManager getInstance() {
|
||
if (sH5Manager == null) {
|
||
synchronized (H5DownLoadManager.class) {
|
||
try {
|
||
if (sH5Manager == null) {
|
||
sH5Manager = new H5DownLoadManager();
|
||
}
|
||
} finally {
|
||
}
|
||
}
|
||
}
|
||
return sH5Manager;
|
||
}
|
||
|
||
public void download(com.mbridge.msdk.foundation.same.report.d.c cVar, String str) {
|
||
download(cVar, str, null);
|
||
}
|
||
|
||
public void download(com.mbridge.msdk.foundation.same.report.d.c cVar, String str, H5ResDownloadListerInter h5ResDownloadListerInter) {
|
||
if (this.isUseDownloadModule) {
|
||
downloadHTMLByDownloadModule(str, h5ResDownloadListerInter);
|
||
} else {
|
||
downloadHTML(cVar, str, h5ResDownloadListerInter);
|
||
}
|
||
}
|
||
|
||
private void downloadHTMLByDownloadModule(final String str, final H5ResDownloadListerInter h5ResDownloadListerInter) {
|
||
if (TextUtils.isEmpty(str)) {
|
||
if (h5ResDownloadListerInter != null) {
|
||
h5ResDownloadListerInter.onFailed("zip url is null", str);
|
||
return;
|
||
}
|
||
return;
|
||
}
|
||
try {
|
||
new URL(str);
|
||
String str2 = e.a(com.mbridge.msdk.foundation.same.b.c.MBRIDGE_700_HTML) + "/";
|
||
String md5 = SameMD5.getMD5(aq.b(str));
|
||
MBDownloadManager.getInstance().download(new DownloadMessage<>(new Object(), str, md5 + ".html", 100, DownloadResourceType.DOWNLOAD_RESOURCE_TYPE_HTML)).withTimeout(ChunkedTrackBlacklistUtil.DEFAULT_TRACK_BLACKLIST_MS).withReadTimeout(WorkRequest.DEFAULT_BACKOFF_DELAY_MILLIS).withConnectTimeout(20000L).withDownloadPriority(DownloadPriority.HIGH).withHttpRetryCounter(1).withDirectoryPathInternal(str2).withDownloadStateListener(new OnDownloadStateListener() { // from class: com.mbridge.msdk.foundation.download.download.H5DownLoadManager.1
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onDownloadStart(DownloadMessage downloadMessage) {
|
||
af.a(H5DownLoadManager.TAG, "开始下载 html: " + downloadMessage.getDownloadUrl() + " " + downloadMessage.getDownloadResourceType());
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onDownloadComplete(DownloadMessage downloadMessage) {
|
||
af.a(H5DownLoadManager.TAG, "下载结束: " + downloadMessage.getDownloadUrl() + " " + downloadMessage.getDownloadResourceType() + " " + downloadMessage.getSaveFilePath());
|
||
H5ResDownloadListerInter h5ResDownloadListerInter2 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter2 != null) {
|
||
h5ResDownloadListerInter2.onSuccess(str, "", false);
|
||
}
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onCancelDownload(DownloadMessage downloadMessage) {
|
||
af.a(H5DownLoadManager.TAG, "下载取消: ");
|
||
H5ResDownloadListerInter h5ResDownloadListerInter2 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter2 != null) {
|
||
h5ResDownloadListerInter2.onFailed(str, "task cancel");
|
||
}
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onDownloadError(DownloadMessage downloadMessage, DownloadError downloadError) {
|
||
af.a(H5DownLoadManager.TAG, "下载结束失败: " + downloadError.getException().getMessage());
|
||
H5ResDownloadListerInter h5ResDownloadListerInter2 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter2 != null) {
|
||
h5ResDownloadListerInter2.onFailed(str, downloadError.getException().getMessage());
|
||
}
|
||
}
|
||
}).build().start();
|
||
} catch (Exception unused) {
|
||
if (h5ResDownloadListerInter != null) {
|
||
h5ResDownloadListerInter.onFailed("zip url is unlawful", str);
|
||
}
|
||
}
|
||
}
|
||
|
||
private void downloadHTML(final com.mbridge.msdk.foundation.same.report.d.c cVar, final String str, final H5ResDownloadListerInter h5ResDownloadListerInter) {
|
||
try {
|
||
af.b(TAG, "download url:" + str);
|
||
final com.mbridge.msdk.foundation.same.report.d.e eVar = new com.mbridge.msdk.foundation.same.report.d.e();
|
||
eVar.a("scenes", "1");
|
||
eVar.a("url", str);
|
||
if (cVar != null) {
|
||
eVar.a("resource_type", Integer.valueOf(cVar.b()));
|
||
}
|
||
if (this.mResDownloadingList.contains(str)) {
|
||
return;
|
||
}
|
||
this.mResDownloadingList.add(str);
|
||
DownloadTask.getInstance().runTask(new a() { // from class: com.mbridge.msdk.foundation.download.download.H5DownLoadManager.2
|
||
@Override // com.mbridge.msdk.foundation.same.e.a
|
||
public void cancelTask() {
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.same.e.a
|
||
public void pauseTask(boolean z) {
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.same.e.a
|
||
public void runTask() {
|
||
if (!TextUtils.isEmpty(H5DownLoadManager.this.htmlResourceManager.getHtmlContentFromUrl(str))) {
|
||
eVar.a("cache", 2);
|
||
H5DownLoadManager.this.mResDownloadingList.remove(str);
|
||
H5ResDownloadListerInter h5ResDownloadListerInter2 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter2 != null) {
|
||
h5ResDownloadListerInter2.onSuccess(str, "", true);
|
||
}
|
||
cVar.a("m_download_start", eVar);
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
return;
|
||
}
|
||
DownLoadUtils.getSourceCodeFromNetUrl(str, new IOnDownLoadH5Source() { // from class: com.mbridge.msdk.foundation.download.download.H5DownLoadManager.2.1
|
||
@Override // com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source
|
||
public void onStart() {
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source
|
||
public void onFailed(String str2) {
|
||
try {
|
||
H5DownLoadManager.this.mResDownloadingList.remove(str);
|
||
AnonymousClass2 anonymousClass2 = AnonymousClass2.this;
|
||
H5ResDownloadListerInter h5ResDownloadListerInter3 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter3 != null) {
|
||
h5ResDownloadListerInter3.onFailed(str, str2);
|
||
}
|
||
} catch (Exception e) {
|
||
if (MBridgeConstans.DEBUG) {
|
||
e.printStackTrace();
|
||
}
|
||
AnonymousClass2 anonymousClass22 = AnonymousClass2.this;
|
||
H5ResDownloadListerInter h5ResDownloadListerInter4 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter4 != null) {
|
||
h5ResDownloadListerInter4.onFailed(str, str2);
|
||
}
|
||
}
|
||
AnonymousClass2 anonymousClass23 = AnonymousClass2.this;
|
||
if (h5ResDownloadListerInter == null) {
|
||
eVar.a("result", 3);
|
||
AnonymousClass2 anonymousClass24 = AnonymousClass2.this;
|
||
cVar.a("m_download_end", eVar);
|
||
d.a().a("m_download_end", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
}
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source
|
||
public void onSuccess(String str2, byte[] bArr, String str3) {
|
||
try {
|
||
H5DownLoadManager.this.mResDownloadingList.remove(str3);
|
||
if (bArr == null || bArr.length <= 0) {
|
||
return;
|
||
}
|
||
if (H5DownLoadManager.this.htmlResourceManager.saveResHtmlFile(str3, bArr)) {
|
||
AnonymousClass2 anonymousClass2 = AnonymousClass2.this;
|
||
H5ResDownloadListerInter h5ResDownloadListerInter3 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter3 != null) {
|
||
h5ResDownloadListerInter3.onSuccess(str3, "", false);
|
||
return;
|
||
}
|
||
eVar.a("result", 3);
|
||
AnonymousClass2 anonymousClass22 = AnonymousClass2.this;
|
||
cVar.a("m_download_end", eVar);
|
||
d.a().a("m_download_end", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
return;
|
||
}
|
||
AnonymousClass2 anonymousClass23 = AnonymousClass2.this;
|
||
H5ResDownloadListerInter h5ResDownloadListerInter4 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter4 != null) {
|
||
h5ResDownloadListerInter4.onFailed(str3, "save file failed");
|
||
return;
|
||
}
|
||
eVar.a("result", 3);
|
||
AnonymousClass2 anonymousClass24 = AnonymousClass2.this;
|
||
cVar.a("m_download_end", eVar);
|
||
d.a().a("m_download_end", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
} catch (Exception e) {
|
||
if (MBridgeConstans.DEBUG) {
|
||
e.printStackTrace();
|
||
}
|
||
AnonymousClass2 anonymousClass25 = AnonymousClass2.this;
|
||
H5ResDownloadListerInter h5ResDownloadListerInter5 = h5ResDownloadListerInter;
|
||
if (h5ResDownloadListerInter5 != null) {
|
||
h5ResDownloadListerInter5.onFailed(str3, e.getMessage());
|
||
return;
|
||
}
|
||
eVar.a("result", 3);
|
||
AnonymousClass2 anonymousClass26 = AnonymousClass2.this;
|
||
cVar.a("m_download_end", eVar);
|
||
d.a().a("m_download_end", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
}
|
||
}
|
||
}, true);
|
||
eVar.a("cache", 1);
|
||
cVar.a("m_download_start", eVar);
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
}
|
||
});
|
||
} catch (Throwable th) {
|
||
if (MBridgeConstans.DEBUG) {
|
||
th.printStackTrace();
|
||
}
|
||
}
|
||
}
|
||
|
||
public void downloadH5Res(com.mbridge.msdk.foundation.same.report.d.c cVar, String str) {
|
||
downloadH5Res(cVar, str, null);
|
||
}
|
||
|
||
/* JADX WARN: Removed duplicated region for block: B:12:? A[RETURN, SYNTHETIC] */
|
||
/* JADX WARN: Removed duplicated region for block: B:9:0x0047 */
|
||
/*
|
||
Code decompiled incorrectly, please refer to instructions dump.
|
||
To view partially-correct add '--show-bad-code' argument
|
||
*/
|
||
public void downloadH5Res(com.mbridge.msdk.foundation.same.report.d.c r3, java.lang.String r4, com.mbridge.msdk.foundation.download.download.H5DownLoadManager.H5ResDownloadListerInter r5) {
|
||
/*
|
||
r2 = this;
|
||
com.mbridge.msdk.foundation.same.report.d.d r0 = com.mbridge.msdk.foundation.same.report.d.d.a()
|
||
com.mbridge.msdk.foundation.same.report.d.c r3 = r0.b(r3)
|
||
java.util.regex.Pattern r0 = android.util.Patterns.WEB_URL // Catch: java.lang.Exception -> L1b
|
||
java.util.regex.Matcher r0 = r0.matcher(r4) // Catch: java.lang.Exception -> L1b
|
||
boolean r0 = r0.matches() // Catch: java.lang.Exception -> L1b
|
||
if (r0 != 0) goto L1d
|
||
boolean r0 = android.webkit.URLUtil.isValidUrl(r4) // Catch: java.lang.Exception -> L1b
|
||
if (r0 == 0) goto L45
|
||
goto L1d
|
||
L1b:
|
||
r3 = move-exception
|
||
goto L42
|
||
L1d:
|
||
android.net.Uri r0 = android.net.Uri.parse(r4) // Catch: java.lang.Exception -> L1b
|
||
java.lang.String r0 = r0.getPath() // Catch: java.lang.Exception -> L1b
|
||
boolean r1 = android.text.TextUtils.isEmpty(r0) // Catch: java.lang.Exception -> L1b
|
||
if (r1 != 0) goto L45
|
||
java.lang.String r0 = r0.toLowerCase() // Catch: java.lang.Exception -> L1b
|
||
java.lang.String r1 = ".zip"
|
||
boolean r0 = r0.endsWith(r1) // Catch: java.lang.Exception -> L1b
|
||
if (r0 == 0) goto L3e
|
||
r0 = r5
|
||
com.mbridge.msdk.foundation.download.download.H5DownLoadManager$ZipDownloadListener r0 = (com.mbridge.msdk.foundation.download.download.H5DownLoadManager.ZipDownloadListener) r0 // Catch: java.lang.Exception -> L1b
|
||
r2.downloadZip(r3, r4, r0) // Catch: java.lang.Exception -> L1b
|
||
goto L41
|
||
L3e:
|
||
r2.download(r3, r4, r5) // Catch: java.lang.Exception -> L1b
|
||
L41:
|
||
return
|
||
L42:
|
||
r3.printStackTrace()
|
||
L45:
|
||
if (r5 == 0) goto L4c
|
||
java.lang.String r3 = "The URL does not contain a path "
|
||
r5.onFailed(r4, r3)
|
||
L4c:
|
||
return
|
||
*/
|
||
throw new UnsupportedOperationException("Method not decompiled: com.mbridge.msdk.foundation.download.download.H5DownLoadManager.downloadH5Res(com.mbridge.msdk.foundation.same.report.d.c, java.lang.String, com.mbridge.msdk.foundation.download.download.H5DownLoadManager$H5ResDownloadListerInter):void");
|
||
}
|
||
|
||
private void downloadZipByDownloadModule(final com.mbridge.msdk.foundation.same.report.d.c cVar, String str, final ZipDownloadListener zipDownloadListener) {
|
||
if (TextUtils.isEmpty(str)) {
|
||
if (zipDownloadListener != null) {
|
||
zipDownloadListener.onFailed(str, "zip url is null");
|
||
return;
|
||
}
|
||
return;
|
||
}
|
||
try {
|
||
new URL(str);
|
||
final com.mbridge.msdk.foundation.same.report.d.e eVar = new com.mbridge.msdk.foundation.same.report.d.e();
|
||
eVar.a("scenes", "1");
|
||
eVar.a("url", str);
|
||
if (cVar != null) {
|
||
eVar.a("resource_type", Integer.valueOf(cVar.b()));
|
||
}
|
||
String a = e.a(com.mbridge.msdk.foundation.same.b.c.MBRIDGE_700_RES);
|
||
String md5 = SameMD5.getMD5(aq.b(str));
|
||
String str2 = a + "/";
|
||
final String str3 = a + "/" + md5;
|
||
DownloadMessage<?> downloadMessage = new DownloadMessage<>(cVar, str, md5 + ".zip", 100, DownloadResourceType.DOWNLOAD_RESOURCE_TYPE_ZIP);
|
||
if (cVar != null) {
|
||
downloadMessage.setUseCronetDownload(cVar.n());
|
||
}
|
||
MBDownloadManager.getInstance().download(downloadMessage).withReadTimeout(WorkRequest.DEFAULT_BACKOFF_DELAY_MILLIS).withConnectTimeout(20000L).withDownloadPriority(DownloadPriority.HIGH).withHttpRetryCounter(1).withDirectoryPathInternal(str2).withTimeout(ChunkedTrackBlacklistUtil.DEFAULT_TRACK_BLACKLIST_MS).withDownloadStateListener(new OnDownloadStateListener() { // from class: com.mbridge.msdk.foundation.download.download.H5DownLoadManager.3
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onDownloadStart(DownloadMessage downloadMessage2) {
|
||
af.a(H5DownLoadManager.TAG, "开始下载 zip: " + downloadMessage2.getDownloadUrl() + " " + downloadMessage2.getDownloadResourceType());
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onDownloadComplete(DownloadMessage downloadMessage2) {
|
||
af.a(H5DownLoadManager.TAG, "下载结束,开始解压缩文件: " + downloadMessage2.getDownloadUrl() + " " + downloadMessage2.getDownloadResourceType() + " " + downloadMessage2.getSaveFilePath());
|
||
try {
|
||
com.mbridge.msdk.foundation.same.report.d.e eVar2 = eVar;
|
||
if (eVar2 != null) {
|
||
eVar2.a("cache", Integer.valueOf(downloadMessage2.isCache() ? 1 : 2));
|
||
}
|
||
com.mbridge.msdk.foundation.same.report.d.c cVar2 = cVar;
|
||
if (cVar2 != null) {
|
||
cVar2.a("m_download_start", eVar);
|
||
}
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
if (TextUtils.isEmpty(ResourceManager.getinstance().getResDirFromCampaign(downloadMessage2.getDownloadUrl()))) {
|
||
MBResourceManager.getInstance().unZip(downloadMessage2.getSaveFilePath(), str3);
|
||
}
|
||
String str4 = "";
|
||
try {
|
||
str4 = (String) downloadMessage2.getExtra("responseHeaders");
|
||
} catch (Throwable th) {
|
||
af.b(H5DownLoadManager.TAG, th.getMessage());
|
||
}
|
||
af.a(H5DownLoadManager.TAG, "下载结束,开始解压缩文件,文件解压成功: " + str3);
|
||
ZipDownloadListener zipDownloadListener2 = zipDownloadListener;
|
||
if (zipDownloadListener2 != null) {
|
||
zipDownloadListener2.onSuccess(downloadMessage2.getDownloadUrl(), str4, downloadMessage2.isCache());
|
||
}
|
||
} catch (IOException e) {
|
||
af.a(H5DownLoadManager.TAG, "下载结束,开始解压缩文件,文件解压失败: " + e.getMessage());
|
||
ZipDownloadListener zipDownloadListener3 = zipDownloadListener;
|
||
if (zipDownloadListener3 != null) {
|
||
zipDownloadListener3.onFailed(downloadMessage2.getDownloadUrl(), e.getMessage());
|
||
}
|
||
}
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onCancelDownload(DownloadMessage downloadMessage2) {
|
||
af.a(H5DownLoadManager.TAG, "下载取消: " + downloadMessage2.getDownloadUrl() + " " + downloadMessage2.getDownloadResourceType());
|
||
com.mbridge.msdk.foundation.same.report.d.e eVar2 = eVar;
|
||
if (eVar2 != null) {
|
||
eVar2.a("cache", Integer.valueOf(downloadMessage2.isCache() ? 1 : 2));
|
||
}
|
||
com.mbridge.msdk.foundation.same.report.d.c cVar2 = cVar;
|
||
if (cVar2 != null) {
|
||
cVar2.a("m_download_start", eVar);
|
||
}
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
if (TextUtils.isEmpty(ResourceManager.getinstance().getResDirFromCampaign(downloadMessage2.getDownloadUrl()))) {
|
||
ZipDownloadListener zipDownloadListener2 = zipDownloadListener;
|
||
if (zipDownloadListener2 != null) {
|
||
zipDownloadListener2.onFailed(downloadMessage2.getDownloadUrl(), "task cancel");
|
||
return;
|
||
}
|
||
return;
|
||
}
|
||
ZipDownloadListener zipDownloadListener3 = zipDownloadListener;
|
||
if (zipDownloadListener3 != null) {
|
||
zipDownloadListener3.onSuccess(downloadMessage2.getDownloadUrl(), "", downloadMessage2.isCache());
|
||
}
|
||
}
|
||
|
||
@Override // com.mbridge.msdk.foundation.download.OnDownloadStateListener
|
||
public void onDownloadError(DownloadMessage downloadMessage2, DownloadError downloadError) {
|
||
af.a(H5DownLoadManager.TAG, "下载错误: " + downloadMessage2.getDownloadUrl() + " " + downloadMessage2.getDownloadResourceType() + " " + downloadError.getException().getMessage());
|
||
com.mbridge.msdk.foundation.same.report.d.e eVar2 = eVar;
|
||
if (eVar2 != null) {
|
||
eVar2.a("cache", Integer.valueOf(downloadMessage2.isCache() ? 1 : 2));
|
||
}
|
||
com.mbridge.msdk.foundation.same.report.d.c cVar2 = cVar;
|
||
if (cVar2 != null) {
|
||
cVar2.a("m_download_start", eVar);
|
||
}
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
if (TextUtils.isEmpty(ResourceManager.getinstance().getResDirFromCampaign(downloadMessage2.getDownloadUrl()))) {
|
||
ZipDownloadListener zipDownloadListener2 = zipDownloadListener;
|
||
if (zipDownloadListener2 != null) {
|
||
zipDownloadListener2.onFailed(downloadMessage2.getDownloadUrl(), downloadError.getException().getMessage());
|
||
return;
|
||
}
|
||
return;
|
||
}
|
||
ZipDownloadListener zipDownloadListener3 = zipDownloadListener;
|
||
if (zipDownloadListener3 != null) {
|
||
zipDownloadListener3.onSuccess(downloadMessage2.getDownloadUrl(), "", downloadMessage2.isCache());
|
||
}
|
||
}
|
||
}).build().start();
|
||
} catch (Exception unused) {
|
||
if (zipDownloadListener != null) {
|
||
zipDownloadListener.onFailed(str, "zip url is unlawful");
|
||
}
|
||
}
|
||
}
|
||
|
||
public void downloadZip(com.mbridge.msdk.foundation.same.report.d.c cVar, String str, ZipDownloadListener zipDownloadListener) {
|
||
if (this.isUseDownloadModule) {
|
||
downloadZipByDownloadModule(cVar, str, zipDownloadListener);
|
||
} else {
|
||
downloadZipByOldDownloadModule(cVar, str, zipDownloadListener);
|
||
}
|
||
}
|
||
|
||
private void downloadZipByOldDownloadModule(com.mbridge.msdk.foundation.same.report.d.c cVar, String str, ZipDownloadListener zipDownloadListener) {
|
||
com.mbridge.msdk.foundation.same.report.d.e eVar = new com.mbridge.msdk.foundation.same.report.d.e();
|
||
eVar.a("scenes", "1");
|
||
eVar.a("url", str);
|
||
if (cVar != null) {
|
||
eVar.a("resource_type", Integer.valueOf(cVar.b()));
|
||
}
|
||
try {
|
||
if (TextUtils.isEmpty(this.resourceManager.getResDirFromCampaign(str))) {
|
||
eVar.a("cache", 2);
|
||
if (this.mResDownloadingMap.containsKey(str)) {
|
||
DownLoadH5SourceListener downLoadH5SourceListener = this.mResDownloadingMap.get(str);
|
||
if (downLoadH5SourceListener != null) {
|
||
downLoadH5SourceListener.setZipDownloadListener(zipDownloadListener);
|
||
}
|
||
if (cVar == null || cVar.a()) {
|
||
return;
|
||
}
|
||
cVar.a("m_download_start", eVar);
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
return;
|
||
}
|
||
DownLoadH5SourceListener downLoadH5SourceListener2 = new DownLoadH5SourceListener(this.mResDownloadingMap, this.resourceManager, zipDownloadListener, str);
|
||
this.mResDownloadingMap.put(str, downLoadH5SourceListener2);
|
||
DownLoadUtils.getSourceCodeFromNetUrl(str, downLoadH5SourceListener2, true);
|
||
} else {
|
||
eVar.a("cache", 1);
|
||
if (zipDownloadListener != null) {
|
||
zipDownloadListener.onSuccess(str, "", true);
|
||
}
|
||
}
|
||
if (cVar == null || cVar.a()) {
|
||
return;
|
||
}
|
||
cVar.a("m_download_start", eVar);
|
||
d.a().a("m_download_start", cVar, (com.mbridge.msdk.foundation.same.report.d.a.a) null);
|
||
} catch (Exception e) {
|
||
if (zipDownloadListener != null) {
|
||
zipDownloadListener.onFailed(str, "downloadzip failed");
|
||
}
|
||
if (MBridgeConstans.DEBUG) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
}
|
||
|
||
public void downloadH5Res(String str, H5ResDownloadListerInter h5ResDownloadListerInter) {
|
||
downloadH5Res(new com.mbridge.msdk.foundation.same.report.d.c(), str, h5ResDownloadListerInter);
|
||
}
|
||
|
||
public String getH5ResAddress(String str) {
|
||
try {
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
if (!Patterns.WEB_URL.matcher(str).matches()) {
|
||
if (URLUtil.isValidUrl(str)) {
|
||
}
|
||
return str;
|
||
}
|
||
Uri parse = Uri.parse(str);
|
||
String path = parse.getPath();
|
||
if (TextUtils.isEmpty(path) || !TextUtils.isEmpty(parse.getQueryParameter("urlDebug"))) {
|
||
return str;
|
||
}
|
||
if (path.toLowerCase().endsWith(".zip")) {
|
||
return getResAddress(str);
|
||
}
|
||
return getHtmlAddress(str);
|
||
}
|
||
|
||
public String getResAddress(String str) {
|
||
ResourceManager resourceManager = this.resourceManager;
|
||
if (resourceManager != null) {
|
||
return resourceManager.getResDirFromCampaign(str);
|
||
}
|
||
return null;
|
||
}
|
||
|
||
private String getHtmlAddress(String str) {
|
||
HTMLResourceManager hTMLResourceManager = this.htmlResourceManager;
|
||
return hTMLResourceManager != null ? hTMLResourceManager.getHtmlPathFromUrl(str) : str;
|
||
}
|
||
|
||
private long getPreSaveTimeFromSp(String str) {
|
||
try {
|
||
Object a = an.a(c.m().c(), SP_ENDING_PAGE_SAVE_TIME + str, 0L);
|
||
if (a != null && (a instanceof Long)) {
|
||
return ((Long) a).longValue();
|
||
}
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
return 0L;
|
||
}
|
||
|
||
public String getSourceContentFromSp(String str) {
|
||
try {
|
||
Object a = an.a(c.m().c(), SP_ENDING_PAGE_SOURCE + str, "");
|
||
if (a == null || !(a instanceof String)) {
|
||
return null;
|
||
}
|
||
String str2 = (String) a;
|
||
if (ap.b(str2)) {
|
||
return str2;
|
||
}
|
||
return null;
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
return null;
|
||
}
|
||
}
|
||
|
||
private void saveSourceContent(String str, String str2) {
|
||
try {
|
||
af.c(TAG, "sourceContent:" + str);
|
||
an.b(c.m().c(), SP_ENDING_PAGE_SOURCE + str2, str);
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
|
||
private void updateEndingPageSaveTime(String str) {
|
||
try {
|
||
an.b(c.m().c(), SP_ENDING_PAGE_SAVE_TIME + str, Long.valueOf(System.currentTimeMillis()));
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
}
|