jimu-decompiled/sources/com/ubt/jimu/base/download/DownloadInfo.java
2025-05-13 19:24:51 +02:00

309 lines
13 KiB
Java

package com.ubt.jimu.base.download;
import android.content.Context;
import android.text.TextUtils;
import com.ubt.jimu.JimuApplication;
import com.ubt.jimu.base.cache.Constants;
import com.ubt.jimu.base.db.DatabaseUtils;
import com.ubt.jimu.base.db.FileDownloadRecordDbHandler;
import com.ubt.jimu.base.db.course.JimuCourseDbHandler;
import com.ubt.jimu.base.entities.FileDownloadRecord;
import com.ubt.jimu.base.entities.FirmwareVersion;
import com.ubt.jimu.base.entities.PartFileInfo;
import com.ubt.jimu.base.entities.Robot;
import com.ubt.jimu.base.entities.Story;
import com.ubt.jimu.blockly.Utils;
import com.ubt.jimu.course.repository.JimuCourse;
import com.ubt.jimu.diy.DiyRobotFile;
import com.ubt.jimu.gen.PartFileInfoDao;
import com.ubt.jimu.transport.model.TransportFile;
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
import com.ubt.jimu.unity.ModelType;
import com.ubt.jimu.utils.ExternalOverFroyoUtils;
import com.ubtrobot.log.ALog;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.greenrobot.greendao.query.QueryBuilder;
import org.greenrobot.greendao.query.WhereCondition;
/* loaded from: classes.dex */
public class DownloadInfo {
public static final int COURSE = 4;
public static final int COURSE_COMMON = 3;
public static final int DIY_FILE = 7;
public static final int FIRMWARE = 6;
public static final int MODEL = 0;
public static final int PARTS = 1;
public static final int STAR_COURSE = 8;
public static final int STORY_COMMON = 2;
public static final int SYNC_FILE = 5;
private static final String TAG = "DownloadInfo";
private String savePath;
private int type;
private String url;
public DownloadInfo(int i, String str, String str2) {
this.type = i;
this.url = str;
this.savePath = str2;
}
private static List<PartFileInfo> getNeedDownPart(List<PartFileInfo> list) {
ArrayList arrayList = new ArrayList();
if (list != null && list.size() != 0) {
for (PartFileInfo partFileInfo : list) {
if (!isInDB(partFileInfo) || !isInDir(partFileInfo)) {
arrayList.add(partFileInfo);
}
}
}
return arrayList;
}
public static List<DownloadInfo> getNeedDownloadCourse(JimuCourse jimuCourse) {
ArrayList arrayList = new ArrayList();
JimuCourse downloadedCourse = JimuCourseDbHandler.getDownloadedCourse(jimuCourse);
String str = Constants.COURSE_RESOURCE_PATH;
if (downloadedCourse != null && downloadedCourse.getDownload()) {
if (new File(str + jimuCourse.getId()).exists() && jimuCourse.getUpdatedTime() == downloadedCourse.getUpdatedTime()) {
return arrayList;
}
}
arrayList.add(new DownloadInfo(4, jimuCourse.getResourceZip(), str + jimuCourse.getFolderName() + ".zip"));
return arrayList;
}
public static List<DownloadInfo> getNeedDownloadDiyRobotFile(String str, List<DiyRobotFile> list) {
String str2;
ArrayList arrayList = new ArrayList();
if (list != null && list.size() != 0) {
String str3 = ExternalOverFroyoUtils.a(JimuApplication.l(), ModelType.DOWNLOAD) + str + File.separator;
for (DiyRobotFile diyRobotFile : list) {
if (513 == diyRobotFile.getFileType()) {
str2 = str3 + "actions" + File.separator + diyRobotFile.getFileName();
} else if (769 == diyRobotFile.getFileType()) {
str2 = str3 + str + Utils.BLOCKLY_ADD_PATH + File.separator + diyRobotFile.getFileName();
} else if (258 == diyRobotFile.getFileType()) {
str2 = str3 + "servos" + File.separator + diyRobotFile.getFileName();
} else if (257 == diyRobotFile.getFileType()) {
str2 = str3 + str + ".xml";
} else if (259 == diyRobotFile.getFileType()) {
str2 = str3 + str + ".jpg";
} else {
str2 = str3 + diyRobotFile.getFileName();
}
arrayList.add(new DownloadInfo(7, diyRobotFile.getFileUrl(), str2));
}
}
return arrayList;
}
public static List<DownloadInfo> getNeedDownloadFirmware(Context context, List<FirmwareVersion> list) {
ArrayList arrayList = new ArrayList();
if (list != null && list.size() != 0) {
for (FirmwareVersion firmwareVersion : list) {
arrayList.add(new DownloadInfo(6, firmwareVersion.getVersionPath(), FirmwareVersion.getPath(context, firmwareVersion)));
}
}
return arrayList;
}
public static List<DownloadInfo> getNeedDownloadInfo(List<TransportFile> list) {
ArrayList arrayList = new ArrayList();
if (list != null && list.size() != 0) {
long currentTimeMillis = System.currentTimeMillis();
for (TransportFile transportFile : list) {
String fileUrl = transportFile.getFileUrl();
if (!TextUtils.isEmpty(fileUrl)) {
int indexOf = fileUrl.indexOf("?");
fileUrl = indexOf < 0 ? fileUrl + "?t=" + currentTimeMillis : fileUrl.substring(0, indexOf) + "t=" + currentTimeMillis;
}
arrayList.add(new DownloadInfo(5, fileUrl, TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile)));
}
}
return arrayList;
}
/* JADX WARN: Code restructure failed: missing block: B:13:0x009f, code lost:
if (r2.getModelUpdateTime() == r8.getModelUpdateTime()) goto L17;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
public static com.ubt.jimu.base.download.DownloadInfo getNeedDownloadModelInfo(com.ubt.jimu.base.entities.Robot r8) {
/*
java.lang.StringBuilder r0 = new java.lang.StringBuilder
r0.<init>()
com.ubt.jimu.JimuApplication r1 = com.ubt.jimu.JimuApplication.l()
com.ubt.jimu.unity.ModelType r2 = com.ubt.jimu.unity.ModelType.DEFAULT
java.lang.String r1 = com.ubt.jimu.utils.ExternalOverFroyoUtils.a(r1, r2)
r0.append(r1)
java.lang.String r1 = r8.getModelName()
r0.append(r1)
java.lang.String r0 = r0.toString()
java.lang.StringBuilder r1 = new java.lang.StringBuilder
r1.<init>()
r1.append(r0)
java.lang.String r2 = ".zip"
r1.append(r2)
java.lang.String r1 = r1.toString()
java.io.File r2 = new java.io.File
r2.<init>(r0)
r0 = 1
java.lang.Object[] r3 = new java.lang.Object[r0]
java.lang.String r4 = r8.toString()
r5 = 0
r3[r5] = r4
java.lang.String r4 = "download"
java.lang.String r6 = "robot from cache : %s"
com.ubtech.utils.XLog.a(r4, r6, r3)
boolean r2 = r2.exists()
if (r2 == 0) goto La2
com.ubt.jimu.gen.DaoSession r2 = com.ubt.jimu.base.db.DatabaseUtils.getDaoSession(r0)
com.ubt.jimu.gen.RobotDao r2 = r2.s()
org.greenrobot.greendao.query.QueryBuilder r2 = r2.k()
org.greenrobot.greendao.Property r3 = com.ubt.jimu.gen.RobotDao.Properties.ModelName
java.lang.String r6 = r8.getModelName()
org.greenrobot.greendao.query.WhereCondition r3 = r3.a(r6)
org.greenrobot.greendao.query.WhereCondition[] r6 = new org.greenrobot.greendao.query.WhereCondition[r5]
r2.a(r3, r6)
java.util.List r2 = r2.b()
if (r2 == 0) goto La2
int r3 = r2.size()
if (r3 <= 0) goto La2
int r3 = r2.size()
if (r3 <= r0) goto L7c
java.lang.String r3 = "There have more than one robot with the same modelName. Is there reinstall the app with different server"
com.ubtech.utils.XLog.b(r4, r3)
L7c:
java.lang.Object r2 = r2.get(r5)
com.ubt.jimu.base.entities.Robot r2 = (com.ubt.jimu.base.entities.Robot) r2
java.lang.Object[] r3 = new java.lang.Object[r0]
java.lang.String r6 = r2.toString()
r3[r5] = r6
java.lang.String r6 = "robot from db : %s"
com.ubtech.utils.XLog.a(r4, r6, r3)
boolean r3 = r2.getDownload()
if (r3 == 0) goto La2
long r2 = r2.getModelUpdateTime()
long r6 = r8.getModelUpdateTime()
int r4 = (r2 > r6 ? 1 : (r2 == r6 ? 0 : -1))
if (r4 != 0) goto La2
goto La3
La2:
r0 = 0
La3:
if (r0 != 0) goto Laf
com.ubt.jimu.base.download.DownloadInfo r0 = new com.ubt.jimu.base.download.DownloadInfo
java.lang.String r8 = r8.getJarUrl()
r0.<init>(r5, r8, r1)
goto Lb0
Laf:
r0 = 0
Lb0:
return r0
*/
throw new UnsupportedOperationException("Method not decompiled: com.ubt.jimu.base.download.DownloadInfo.getNeedDownloadModelInfo(com.ubt.jimu.base.entities.Robot):com.ubt.jimu.base.download.DownloadInfo");
}
public static List<DownloadInfo> getNeedDownloadStory(Context context, Story story) {
ArrayList arrayList = new ArrayList();
if (story != null && !TextUtils.isEmpty(story.getResourceZip())) {
List<FileDownloadRecord> fileDownloadRecordByUrl = FileDownloadRecordDbHandler.getFileDownloadRecordByUrl(story.getResourceZip(), FileDownloadRecord.Type.Star_Course.getValue());
if (fileDownloadRecordByUrl != null && fileDownloadRecordByUrl.size() != 0) {
Iterator<FileDownloadRecord> it = fileDownloadRecordByUrl.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
FileDownloadRecord next = it.next();
if (next.getFileUrl().equals(story.getResourceZip()) && next.getUpdateTime() < story.getUpdateTime()) {
arrayList.add(new DownloadInfo(FileDownloadRecord.Type.Star_Course.getValue(), story.getResourceZip(), Story.getSdcardSavePath(context, story.getResourceZip())));
break;
}
}
} else {
arrayList.add(new DownloadInfo(FileDownloadRecord.Type.Star_Course.getValue(), story.getResourceZip(), Story.getSdcardSavePath(context, story.getResourceZip())));
}
}
return arrayList;
}
public static List<DownloadInfo> getNewDownloadPartsInfo(Robot robot) {
ArrayList arrayList;
String str = ExternalOverFroyoUtils.a(JimuApplication.l(), (ModelType) null) + Constants.PARTS;
File file = new File(str);
if (!file.exists()) {
file.mkdirs();
}
try {
List<PartFileInfo> needDownPart = getNeedDownPart(robot.getComponentsFileInfos());
arrayList = new ArrayList();
if (needDownPart != null) {
try {
if (needDownPart.size() > 0) {
for (PartFileInfo partFileInfo : needDownPart) {
if (!TextUtils.isEmpty(partFileInfo.getAndroidFilePath())) {
arrayList.add(new DownloadInfo(1, partFileInfo.getAndroidFilePath(), str + partFileInfo.getName() + ".assetbundle"));
}
}
}
} catch (Exception e) {
e = e;
e.printStackTrace();
return arrayList;
}
}
} catch (Exception e2) {
e = e2;
arrayList = null;
}
return arrayList;
}
private static boolean isInDB(PartFileInfo partFileInfo) {
if (partFileInfo == null) {
return true;
}
QueryBuilder<PartFileInfo> k = DatabaseUtils.getDaoSession(true).r().k();
k.a(PartFileInfoDao.Properties.Id.a(partFileInfo.getId()), new WhereCondition[0]);
PartFileInfo c = k.c();
if (c == null || c.getUpdateTime() != partFileInfo.getUpdateTime()) {
return false;
}
ALog.a(TAG).d("零件已是最新:" + c.getName());
return true;
}
private static boolean isInDir(PartFileInfo partFileInfo) {
if (partFileInfo == null) {
return true;
}
if (!new File(ExternalOverFroyoUtils.a(JimuApplication.l(), (ModelType) null) + Constants.PARTS).exists()) {
return false;
}
String str = ExternalOverFroyoUtils.a(JimuApplication.l(), (ModelType) null) + Constants.PARTS + partFileInfo.getName() + ".assetbundle";
if (!new File(str).exists()) {
return false;
}
ALog.a(TAG).d("零件已在文件夹:" + str);
return true;
}
public String getSavePath() {
return this.savePath;
}
public int getType() {
return this.type;
}
public String getUrl() {
return this.url;
}
}