Add Discord community version (64-bit only)

- 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
This commit is contained in:
2026-02-18 15:48:36 -08:00
parent c19eb3d7ff
commit c080f0d97f
26930 changed files with 2529574 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
package com.mbridge.msdk.foundation.download.download;
import android.text.TextUtils;
import com.mbridge.msdk.MBridgeConstans;
import com.mbridge.msdk.foundation.download.download.H5DownLoadManager;
import com.mbridge.msdk.foundation.tools.af;
import java.util.Iterator;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
/* loaded from: classes4.dex */
public class DownLoadH5SourceListener implements H5DownLoadManager.IOnDownLoadH5Source {
private static String TAG = "DownLoadH5SourceListener";
private CopyOnWriteArrayList<H5DownLoadManager.ZipDownloadListener> listeners;
private ConcurrentMap<String, DownLoadH5SourceListener> mResDownloadingMap;
private String mUrl;
private ResourceManager resourceManager;
@Override // com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source
public void onStart() {
}
public DownLoadH5SourceListener(ConcurrentMap<String, DownLoadH5SourceListener> concurrentMap, ResourceManager resourceManager, H5DownLoadManager.ZipDownloadListener zipDownloadListener, String str) {
CopyOnWriteArrayList<H5DownLoadManager.ZipDownloadListener> copyOnWriteArrayList = new CopyOnWriteArrayList<>();
this.listeners = copyOnWriteArrayList;
this.mResDownloadingMap = concurrentMap;
this.resourceManager = resourceManager;
copyOnWriteArrayList.add(zipDownloadListener);
this.mUrl = str;
}
@Override // com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source
public void onSuccess(String str, byte[] bArr, String str2) {
ConcurrentMap<String, DownLoadH5SourceListener> concurrentMap;
String str3 = "";
try {
concurrentMap = this.mResDownloadingMap;
} catch (Exception e) {
if (MBridgeConstans.DEBUG) {
e.printStackTrace();
}
try {
str3 = e.getMessage();
} catch (Throwable th) {
af.b(TAG, th.getMessage(), th);
}
}
if (concurrentMap == null) {
Iterator<H5DownLoadManager.ZipDownloadListener> it = this.listeners.iterator();
while (it.hasNext()) {
H5DownLoadManager.ZipDownloadListener next = it.next();
if (next != null) {
next.onFailed(str2, "mResDownloadingMap is null");
this.listeners.remove(next);
}
}
return;
}
if (concurrentMap.containsKey(str2)) {
this.mResDownloadingMap.remove(str2);
}
if (bArr == null || bArr.length <= 0) {
str3 = "response data is error";
} else {
String saveResFile = this.resourceManager.saveResFile(str2, bArr);
if (TextUtils.isEmpty(saveResFile)) {
Iterator<H5DownLoadManager.ZipDownloadListener> it2 = this.listeners.iterator();
while (it2.hasNext()) {
H5DownLoadManager.ZipDownloadListener next2 = it2.next();
if (next2 != null) {
next2.onSuccess(str2, "", false);
this.listeners.remove(next2);
}
}
return;
}
str3 = "data save failed:" + saveResFile;
}
Iterator<H5DownLoadManager.ZipDownloadListener> it3 = this.listeners.iterator();
while (it3.hasNext()) {
H5DownLoadManager.ZipDownloadListener next3 = it3.next();
if (next3 != null) {
next3.onFailed(str2, str3);
}
}
}
@Override // com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source
public void onFailed(String str) {
ConcurrentMap<String, DownLoadH5SourceListener> concurrentMap;
try {
concurrentMap = this.mResDownloadingMap;
} catch (Exception e) {
if (MBridgeConstans.DEBUG) {
e.printStackTrace();
}
try {
str = e.getMessage();
} catch (Throwable th) {
af.b(TAG, th.getMessage(), th);
}
}
if (concurrentMap == null) {
Iterator<H5DownLoadManager.ZipDownloadListener> it = this.listeners.iterator();
while (it.hasNext()) {
H5DownLoadManager.ZipDownloadListener next = it.next();
if (next != null) {
next.onFailed(this.mUrl, "mResDownloadingMap is null");
this.listeners.remove(next);
}
}
return;
}
if (concurrentMap.containsKey(this.mUrl)) {
this.mResDownloadingMap.remove(this.mUrl);
}
Iterator<H5DownLoadManager.ZipDownloadListener> it2 = this.listeners.iterator();
while (it2.hasNext()) {
H5DownLoadManager.ZipDownloadListener next2 = it2.next();
if (next2 != null) {
next2.onFailed(this.mUrl, str);
this.listeners.remove(next2);
}
}
}
public void setZipDownloadListener(H5DownLoadManager.ZipDownloadListener zipDownloadListener) {
this.listeners.add(zipDownloadListener);
}
}

View File

@@ -0,0 +1,6 @@
package com.mbridge.msdk.foundation.download.download;
/* loaded from: classes4.dex */
public interface DownLoadTaskSelfProgressListener {
void onProgress(long j, int i);
}

View File

@@ -0,0 +1,53 @@
package com.mbridge.msdk.foundation.download.download;
/* loaded from: classes4.dex */
public class DownLoadUtils {
private static final int DOWNLOAD_CONNECTION_TIME_OUT = 20000;
private static final int DOWNLOAD_READ_TIME_OUT = 30000;
public static final String END_TAG = "<mbridgeloadend></mbridgeloadend>";
private static final String TAG = "DownLoadUtils";
/* JADX WARN: Code restructure failed: missing block: B:11:0x001e, code lost:
r3.onFailed("url is error");
*/
/* JADX WARN: Code restructure failed: missing block: B:12:0x0023, code lost:
return;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public static void getSourceCodeFromNetUrl(final java.lang.String r2, final com.mbridge.msdk.foundation.download.download.H5DownLoadManager.IOnDownLoadH5Source r3, final boolean r4) {
/*
boolean r0 = com.mbridge.msdk.foundation.tools.ap.a(r2) // Catch: java.lang.Throwable -> L1a
if (r0 != 0) goto L1c
boolean r0 = android.webkit.URLUtil.isNetworkUrl(r2) // Catch: java.lang.Throwable -> L1a
if (r0 != 0) goto Ld
goto L1c
Ld:
com.mbridge.msdk.foundation.download.download.DownloadTask r0 = com.mbridge.msdk.foundation.download.download.DownloadTask.getInstance() // Catch: java.lang.Throwable -> L1a
com.mbridge.msdk.foundation.download.download.DownLoadUtils$1 r1 = new com.mbridge.msdk.foundation.download.download.DownLoadUtils$1 // Catch: java.lang.Throwable -> L1a
r1.<init>() // Catch: java.lang.Throwable -> L1a
r0.runTask(r1) // Catch: java.lang.Throwable -> L1a
goto L2b
L1a:
r2 = move-exception
goto L24
L1c:
if (r3 == 0) goto L23
java.lang.String r2 = "url is error"
r3.onFailed(r2) // Catch: java.lang.Throwable -> L1a
L23:
return
L24:
boolean r3 = com.mbridge.msdk.MBridgeConstans.DEBUG
if (r3 == 0) goto L2b
r2.printStackTrace()
L2b:
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.mbridge.msdk.foundation.download.download.DownLoadUtils.getSourceCodeFromNetUrl(java.lang.String, com.mbridge.msdk.foundation.download.download.H5DownLoadManager$IOnDownLoadH5Source, boolean):void");
}
}

View File

@@ -0,0 +1,38 @@
package com.mbridge.msdk.foundation.download.download;
import com.mbridge.msdk.foundation.controller.c;
import com.mbridge.msdk.foundation.same.e.a;
import com.mbridge.msdk.foundation.same.e.b;
/* loaded from: classes4.dex */
public class DownloadTask {
private b mLoader;
public static class DownloadTaskHolder {
public static DownloadTask instance = new DownloadTask();
private DownloadTaskHolder() {
}
}
private DownloadTask() {
init();
}
private void init() {
if (c.m().c() != null) {
this.mLoader = new b(c.m().c());
}
}
public static DownloadTask getInstance() {
return DownloadTaskHolder.instance;
}
public void runTask(a aVar) {
b bVar = this.mLoader;
if (bVar != null) {
bVar.a(aVar);
}
}
}

View File

@@ -0,0 +1,606 @@
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();
}
}
}

View File

@@ -0,0 +1,122 @@
package com.mbridge.msdk.foundation.download.download;
import android.text.TextUtils;
import com.mbridge.msdk.MBridgeConstans;
import com.mbridge.msdk.c.g;
import com.mbridge.msdk.c.h;
import com.mbridge.msdk.foundation.same.b.c;
import com.mbridge.msdk.foundation.same.b.e;
import com.mbridge.msdk.foundation.same.d;
import com.mbridge.msdk.foundation.same.e.a;
import com.mbridge.msdk.foundation.tools.SameMD5;
import com.mbridge.msdk.foundation.tools.ad;
import com.mbridge.msdk.foundation.tools.af;
import com.mbridge.msdk.foundation.tools.aq;
import java.io.File;
/* loaded from: classes4.dex */
public class HTMLResourceManager {
public static final int EXPIRE_TIME = 259200000;
private static final String TAG = "HTMLResourceManager";
private String mFileSaveSDDir;
public static class ResourceManagerHolder {
public static HTMLResourceManager instance = new HTMLResourceManager();
private ResourceManagerHolder() {
}
}
private HTMLResourceManager() {
init();
}
public void init() {
this.mFileSaveSDDir = e.a(c.MBRIDGE_700_HTML);
}
public static HTMLResourceManager getInstance() {
return ResourceManagerHolder.instance;
}
public void cleanHtmlRes() {
try {
if (TextUtils.isEmpty(this.mFileSaveSDDir)) {
return;
}
DownloadTask.getInstance().runTask(new a() { // from class: com.mbridge.msdk.foundation.download.download.HTMLResourceManager.1
@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() {
ad.a(HTMLResourceManager.this.mFileSaveSDDir);
}
});
} catch (Exception e) {
if (MBridgeConstans.DEBUG) {
e.printStackTrace();
}
}
}
public String getHtmlContentFromUrl(String str) {
try {
File file = new File(this.mFileSaveSDDir + "/" + SameMD5.getMD5(aq.b(str)) + ".html");
if (file.exists()) {
return ad.b(file);
}
return null;
} catch (Throwable th) {
if (!MBridgeConstans.DEBUG) {
return null;
}
th.printStackTrace();
return null;
}
}
public String getHtmlPathFromUrl(String str) {
try {
String str2 = this.mFileSaveSDDir + "/" + SameMD5.getMD5(aq.b(str)) + ".html";
File file = new File(str2);
if (!file.exists()) {
return null;
}
g b = h.a().b(com.mbridge.msdk.foundation.controller.c.m().k());
if (b != null && !TextUtils.isEmpty(b.W())) {
d.a(str, file);
}
return "file:////" + str2;
} catch (Throwable th) {
if (!MBridgeConstans.DEBUG) {
return null;
}
th.printStackTrace();
return null;
}
}
public boolean saveResHtmlFile(String str, byte[] bArr) {
try {
af.c(TAG, "saveResHtmlFile url:" + str);
if (bArr == null || bArr.length <= 0) {
return false;
}
String str2 = this.mFileSaveSDDir + "/" + SameMD5.getMD5(aq.b(str)) + ".html";
af.c(TAG, "saveResHtmlFile folderName:" + str2);
return ad.a(bArr, new File(str2));
} catch (Exception e) {
if (!MBridgeConstans.DEBUG) {
return false;
}
e.printStackTrace();
return false;
}
}
}

View File

@@ -0,0 +1,245 @@
package com.mbridge.msdk.foundation.download.download;
import android.text.TextUtils;
import com.mbridge.msdk.MBridgeConstans;
import com.mbridge.msdk.foundation.controller.c;
import com.mbridge.msdk.foundation.entity.CampaignEx;
import com.mbridge.msdk.foundation.same.b.e;
import com.mbridge.msdk.foundation.same.c.b;
import com.mbridge.msdk.foundation.tools.ad;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
/* loaded from: classes4.dex */
public class ResDownloadCheckManager {
private static ConcurrentHashMap<String, Boolean> recordImageMap = new ConcurrentHashMap<>();
private ConcurrentHashMap<String, Boolean> campaignStateMap;
private ConcurrentHashMap<String, Boolean> preLoadSuccessedMap;
private ConcurrentHashMap<String, Boolean> recordVideoMap;
private ConcurrentHashMap<String, Boolean> recordZipMap;
public static final class Holder {
public static ResDownloadCheckManager instance = new ResDownloadCheckManager();
private Holder() {
}
}
private ResDownloadCheckManager() {
this.campaignStateMap = new ConcurrentHashMap<>();
this.preLoadSuccessedMap = new ConcurrentHashMap<>();
this.recordVideoMap = new ConcurrentHashMap<>();
this.recordZipMap = new ConcurrentHashMap<>();
}
public static ResDownloadCheckManager getInstance() {
return Holder.instance;
}
public boolean checkImageState(boolean z, CampaignEx.c cVar) {
List<CampaignEx.c.a> a;
List<String> list;
if (cVar != null && (a = cVar.a()) != null) {
for (CampaignEx.c.a aVar : a) {
if (aVar != null && (list = aVar.a) != null) {
Iterator<String> it = list.iterator();
while (it.hasNext()) {
if (!checkImageUrlState(z, it.next())) {
return false;
}
}
}
}
}
return true;
}
private boolean checkImageUrlState(boolean z, String str) {
boolean checkState = checkState(recordImageMap, str);
if (checkState || b.a(c.m().c()).b(str)) {
return true;
}
return checkState;
}
private boolean checkState(ConcurrentHashMap<String, Boolean> concurrentHashMap, String str) {
if (TextUtils.isEmpty(str)) {
return true;
}
if (concurrentHashMap != null) {
if (concurrentHashMap.containsKey(str)) {
return concurrentHashMap.get(str).booleanValue();
}
concurrentHashMap.put(str, Boolean.FALSE);
return false;
}
new ConcurrentHashMap().put(str, Boolean.FALSE);
return false;
}
public boolean checkPreLoadState(String str) {
if (!TextUtils.isEmpty(str) && this.preLoadSuccessedMap.containsKey(str)) {
return this.preLoadSuccessedMap.get(str).booleanValue();
}
return false;
}
private boolean checkZipState(boolean z, String str) {
boolean checkState = checkState(this.recordZipMap, str);
if (checkState || !z || TextUtils.isEmpty(H5DownLoadManager.getInstance().getH5ResAddress(str))) {
return checkState;
}
this.recordZipMap.put(str, Boolean.TRUE);
return true;
}
public boolean containsVideoKey(String str) {
if (this.recordVideoMap == null || TextUtils.isEmpty(str) || !this.recordVideoMap.containsKey(str)) {
return false;
}
return this.recordVideoMap.get(str).booleanValue();
}
public boolean containsZipKey(String str) {
if (this.recordZipMap == null || TextUtils.isEmpty(str) || !this.recordZipMap.containsKey(str)) {
return false;
}
return this.recordZipMap.get(str).booleanValue();
}
private boolean getIsEffectivePath(String str) {
File file = new File(e.a(com.mbridge.msdk.foundation.same.b.c.MBRIDGE_VC) + File.separator + ad.c(str));
try {
if (file.exists() && file.isFile()) {
return file.canRead();
}
return false;
} catch (Throwable th) {
if (!MBridgeConstans.DEBUG) {
return false;
}
th.printStackTrace();
return false;
}
}
public void removePreLoadState(String str) {
if (this.preLoadSuccessedMap.containsKey(str)) {
this.preLoadSuccessedMap.remove(str);
}
}
public void setCampaignList(CopyOnWriteArrayList<CampaignEx> copyOnWriteArrayList) {
if (copyOnWriteArrayList == null || copyOnWriteArrayList.size() == 0) {
return;
}
Iterator<CampaignEx> it = copyOnWriteArrayList.iterator();
while (it.hasNext()) {
CampaignEx next = it.next();
if (next != null) {
addUrlToMap(next);
updateCampaignState(next.getId(), false);
}
}
}
private void addUrlToMap(CampaignEx campaignEx) {
List<CampaignEx.c.a> a;
ConcurrentHashMap<String, Boolean> concurrentHashMap;
ConcurrentHashMap<String, Boolean> concurrentHashMap2;
if (campaignEx != null) {
String videoUrlEncode = campaignEx.getVideoUrlEncode();
if (!TextUtils.isEmpty(videoUrlEncode) && (concurrentHashMap2 = this.recordVideoMap) != null && !concurrentHashMap2.containsKey(videoUrlEncode)) {
this.recordVideoMap.put(videoUrlEncode, Boolean.FALSE);
}
String str = campaignEx.getendcard_url();
if (!TextUtils.isEmpty(str) && (concurrentHashMap = this.recordZipMap) != null && !concurrentHashMap.containsKey(str)) {
this.recordZipMap.put(str, Boolean.FALSE);
}
CampaignEx.c rewardTemplateMode = campaignEx.getRewardTemplateMode();
if (rewardTemplateMode == null || (a = rewardTemplateMode.a()) == null) {
return;
}
for (CampaignEx.c.a aVar : a) {
if (aVar != null) {
addImageUrlToMap(aVar.a);
}
}
}
}
private void updateCampaignState(String str, boolean z) {
if (this.campaignStateMap == null) {
this.campaignStateMap = new ConcurrentHashMap<>();
}
if (TextUtils.isEmpty(str)) {
return;
}
this.campaignStateMap.put(str, Boolean.valueOf(z));
}
private void addImageUrlToMap(List<String> list) {
ConcurrentHashMap<String, Boolean> concurrentHashMap;
if (list == null || list.size() == 0) {
return;
}
for (String str : list) {
if (!TextUtils.isEmpty(str) && (concurrentHashMap = recordImageMap) != null && !concurrentHashMap.containsKey(str)) {
boolean b = b.a(c.m().c()).b(str);
if (!TextUtils.isEmpty(str)) {
recordImageMap.put(str, Boolean.valueOf(b));
}
}
}
}
public void setCampaignList(CampaignEx campaignEx) {
if (campaignEx != null) {
addUrlToMap(campaignEx);
updateCampaignState(campaignEx.getId(), false);
}
}
public void setImageDownloadDone(String str, boolean z) {
if (recordImageMap == null) {
recordImageMap = new ConcurrentHashMap<>();
}
if (TextUtils.isEmpty(str)) {
return;
}
recordImageMap.put(str, Boolean.valueOf(z));
}
public void setTemplatePreLoadDone(String str, boolean z) {
if (this.preLoadSuccessedMap == null) {
this.preLoadSuccessedMap = new ConcurrentHashMap<>();
}
if (TextUtils.isEmpty(str)) {
return;
}
this.preLoadSuccessedMap.put(str, Boolean.valueOf(z));
}
public void setVideoDownloadDone(String str, boolean z) {
if (this.recordVideoMap == null) {
this.recordVideoMap = new ConcurrentHashMap<>();
}
if (TextUtils.isEmpty(str)) {
return;
}
this.recordVideoMap.put(str, Boolean.valueOf(z));
}
public void setZipDownloadDone(String str, boolean z) {
if (this.recordZipMap == null) {
this.recordZipMap = new ConcurrentHashMap<>();
}
if (TextUtils.isEmpty(str)) {
return;
}
this.recordZipMap.put(str, Boolean.valueOf(z));
}
}

View File

@@ -0,0 +1,161 @@
package com.mbridge.msdk.foundation.download.download;
import android.net.Uri;
import android.text.TextUtils;
import com.mbridge.msdk.MBridgeConstans;
import com.mbridge.msdk.c.g;
import com.mbridge.msdk.c.h;
import com.mbridge.msdk.foundation.same.b.c;
import com.mbridge.msdk.foundation.same.b.e;
import com.mbridge.msdk.foundation.same.d;
import com.mbridge.msdk.foundation.same.e.a;
import com.mbridge.msdk.foundation.tools.SameMD5;
import com.mbridge.msdk.foundation.tools.ac;
import com.mbridge.msdk.foundation.tools.ad;
import com.mbridge.msdk.foundation.tools.af;
import com.mbridge.msdk.foundation.tools.aq;
import com.vungle.ads.internal.model.AdPayload;
import java.io.File;
import java.util.List;
/* loaded from: classes4.dex */
public class ResourceManager {
public static final int EXPIRE_TIME = 259200000;
public static final String KEY_INDEX_HTML = "foldername";
public static final String KEY_MD5CHECK = "nc";
public static final String KEY_MD5FILENAME = "md5filename";
private static String TAG = "ResourceManager";
private String mFileSaveSDDir;
public static class ResourceManagerHolder {
public static ResourceManager instance = new ResourceManager();
private ResourceManagerHolder() {
}
}
private ResourceManager() {
init();
}
public void init() {
this.mFileSaveSDDir = e.a(c.MBRIDGE_700_RES);
}
public static ResourceManager getinstance() {
return ResourceManagerHolder.instance;
}
public void cleanZipRes() {
try {
if (TextUtils.isEmpty(this.mFileSaveSDDir)) {
return;
}
DownloadTask.getInstance().runTask(new a() { // from class: com.mbridge.msdk.foundation.download.download.ResourceManager.1
@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() {
ad.a(ResourceManager.this.mFileSaveSDDir);
}
});
} catch (Exception e) {
if (MBridgeConstans.DEBUG) {
e.printStackTrace();
}
}
}
public String getResDirFromCampaign(String str) {
String str2;
String str3 = "";
try {
String str4 = this.mFileSaveSDDir + "/" + SameMD5.getMD5(aq.b(str));
List<String> queryParameters = Uri.parse(str).getQueryParameters(KEY_INDEX_HTML);
af.a(TAG, "check zip 下载情况url:" + str);
af.a(TAG, "check zip 下载情况indexHtml:" + queryParameters);
if (queryParameters == null || queryParameters.size() <= 0) {
return null;
}
String str5 = queryParameters.get(0);
if (TextUtils.isEmpty(str5)) {
return null;
}
String str6 = str4 + "/" + str5 + "/" + str5 + ".html";
if (!ad.d(str6)) {
return null;
}
g b = h.a().b(com.mbridge.msdk.foundation.controller.c.m().k());
if (b != null && !TextUtils.isEmpty(b.W())) {
d.a(str, new File(str6));
}
try {
str2 = str.substring(str.indexOf("?") + 1);
} catch (Exception unused) {
str2 = "";
}
if (!TextUtils.isEmpty(str2)) {
str3 = "?" + str2;
}
return AdPayload.FILE_SCHEME + str6 + str3;
} catch (Exception e) {
if (!MBridgeConstans.DEBUG) {
return null;
}
e.printStackTrace();
return null;
}
}
public synchronized String saveResFile(String str, byte[] bArr) {
String message;
String str2 = "unknow exception ";
if (bArr != null) {
try {
try {
if (bArr.length > 0) {
String str3 = this.mFileSaveSDDir + "/" + SameMD5.getMD5(aq.b(str)) + ".zip";
File file = new File(str3);
if (ad.a(bArr, file)) {
Uri parse = Uri.parse(str);
List<String> queryParameters = parse.getQueryParameters(KEY_MD5CHECK);
if (queryParameters != null && queryParameters.size() != 0) {
str2 = save(str, str3, file);
}
List<String> queryParameters2 = parse.getQueryParameters(KEY_MD5FILENAME);
if (queryParameters2 != null && queryParameters2.size() > 0) {
String str4 = queryParameters2.get(0);
if (!TextUtils.isEmpty(str4) && str4.equals(ac.a(file))) {
str2 = save(str, str3, file);
}
}
}
if (!TextUtils.isEmpty(str2)) {
ad.a(file);
}
}
} catch (Exception e) {
if (MBridgeConstans.DEBUG) {
e.printStackTrace();
}
message = e.getMessage();
}
} catch (Throwable th) {
throw th;
}
}
message = str2;
return message;
}
private String save(String str, String str2, File file) {
String b = ad.b(str2, this.mFileSaveSDDir + "/" + SameMD5.getMD5(aq.b(str)));
return TextUtils.isEmpty(b) ? ad.a(file) : b;
}
}