package com.ubt.jimu.base.download; import android.content.Context; import android.text.TextUtils; import com.liulishuo.filedownloader.BaseDownloadTask; import com.ubt.jimu.JimuApplication; import com.ubt.jimu.base.cache.Cache; 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.db.diy.DiyDetailsDbHandler; import com.ubt.jimu.base.db.diy.DiyRobotFileDbDandler; import com.ubt.jimu.base.db.robot.FirmwareVersionDbHandler; import com.ubt.jimu.base.db.robot.PartFileInfoDbHandler; import com.ubt.jimu.base.db.robot.RobotDbHandler; 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.course.repository.JimuCourse; import com.ubt.jimu.diy.DiyRobotFile; import com.ubt.jimu.diy.model.DiyDetailsModel; import com.ubt.jimu.unity.ModelType; import com.ubt.jimu.utils.ExternalOverFroyoUtils; import com.ubt.jimu.utils.LocaleUtils; import com.ubt.jimu.utils.NetWorkUtil; import com.ubtech.utils.FileHelper; import com.ubtech.utils.ThreadExecutor; import com.ubtrobot.log.ALog; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.Callable; /* loaded from: classes.dex */ public class Downloader { private static final String TAG = "Downloader"; public interface IDownloadJimuRobotListener { void onFailed(); void onPrepareStart(); void onProgress(int i, int i2, int i3); void onSuccess(); } public static final DownloadTask downloadDiy(final DiyDetailsModel diyDetailsModel, final List list, final IDownloadJimuRobotListener iDownloadJimuRobotListener) { if (list == null || list.size() == 0) { if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onFailed(); } return null; } try { return (DownloadTask) ThreadExecutor.a().a(new Callable() { // from class: com.ubt.jimu.base.download.Downloader.1 /* JADX WARN: Can't rename method to resolve collision */ @Override // java.util.concurrent.Callable public DownloadTask call() throws Exception { String valueOf = TextUtils.isEmpty(DiyDetailsModel.this.getCustomModelId()) ? String.valueOf(DiyDetailsModel.this.getId()) : DiyDetailsModel.this.getCustomModelId(); List queryDiyRobotFile = DiyRobotFileDbDandler.queryDiyRobotFile(valueOf); final ArrayList arrayList = new ArrayList(); if (queryDiyRobotFile == null || queryDiyRobotFile.size() == 0) { arrayList.addAll(list); } else { for (DiyRobotFile diyRobotFile : list) { int i = 0; while (true) { if (i >= queryDiyRobotFile.size()) { break; } DiyRobotFile diyRobotFile2 = queryDiyRobotFile.get(i); if (diyRobotFile.getFileName().equals(diyRobotFile2.getFileName()) && diyRobotFile.getFileType() == diyRobotFile2.getFileType()) { if (diyRobotFile.getUpdateDate() > diyRobotFile2.getUpdateDate()) { arrayList.add(diyRobotFile); } if (!DiyRobotFile.exists(diyRobotFile)) { arrayList.add(diyRobotFile); } } else { i++; } } if (i == queryDiyRobotFile.size()) { arrayList.add(diyRobotFile); } } } if (arrayList.size() == 0) { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = iDownloadJimuRobotListener; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onSuccess(); } return null; } List needDownloadDiyRobotFile = DownloadInfo.getNeedDownloadDiyRobotFile(valueOf, arrayList); if (needDownloadDiyRobotFile == null || needDownloadDiyRobotFile.size() == 0) { IDownloadJimuRobotListener iDownloadJimuRobotListener3 = iDownloadJimuRobotListener; if (iDownloadJimuRobotListener3 != null) { iDownloadJimuRobotListener3.onFailed(); } return null; } DownloadTask downloadTask = new DownloadTask(needDownloadDiyRobotFile, new IJimuFileDownloadListener() { // from class: com.ubt.jimu.base.download.Downloader.1.1 @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onBlockComplete(BaseDownloadTask baseDownloadTask) { Cache.getInstance().getSettings().put(Constants.KEY_PROGRAM_LANGUAGE, LocaleUtils.b()); for (DiyRobotFile diyRobotFile3 : arrayList) { if (baseDownloadTask.getUrl().equals(diyRobotFile3.getFileUrl())) { DiyRobotFileDbDandler.saveOrUpdate(diyRobotFile3); return; } } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onCompleted() { try { DiyDetailsModel.this.setDownload(true); new DiyDetailsDbHandler(DatabaseUtils.getDaoSession(false).e()).insertOrUpdate(DiyDetailsModel.this); if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onProgress(1, 1, 100); iDownloadJimuRobotListener.onSuccess(); } } catch (Exception e) { e.printStackTrace(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onFailed(Throwable th) { IDownloadJimuRobotListener iDownloadJimuRobotListener4 = iDownloadJimuRobotListener; if (iDownloadJimuRobotListener4 != null) { iDownloadJimuRobotListener4.onFailed(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onProgress(int i2, int i3, int i4) { IDownloadJimuRobotListener iDownloadJimuRobotListener4 = iDownloadJimuRobotListener; if (iDownloadJimuRobotListener4 != null) { iDownloadJimuRobotListener4.onProgress(i2, i3, i4); } } }); IDownloadJimuRobotListener iDownloadJimuRobotListener4 = iDownloadJimuRobotListener; if (iDownloadJimuRobotListener4 != null) { iDownloadJimuRobotListener4.onPrepareStart(); } downloadTask.start(); return downloadTask; } }).get(); } catch (Exception e) { e.printStackTrace(); return null; } } public static DownloadTask downloadFirmware(final Context context, final List list, final IDownloadJimuRobotListener iDownloadJimuRobotListener) { if (list == null) { return null; } List needDownloadFirmware = DownloadInfo.getNeedDownloadFirmware(context, list); if (needDownloadFirmware == null || needDownloadFirmware.size() == 0) { if (iDownloadJimuRobotListener != null) { ALog.a(TAG).d("没有固件需要下载"); iDownloadJimuRobotListener.onSuccess(); } return null; } DownloadTask downloadTask = new DownloadTask(needDownloadFirmware, new IJimuFileDownloadListener() { // from class: com.ubt.jimu.base.download.Downloader.4 private void deleteFirmware(Context context2, FirmwareVersion firmwareVersion) { File parentFile = new File(FirmwareVersion.getPath(context2, firmwareVersion)).getParentFile(); if (parentFile.exists()) { FileHelper.a(parentFile); ALog.a(Downloader.TAG).d("删除已下载的固件:" + parentFile.getAbsolutePath()); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onBlockComplete(BaseDownloadTask baseDownloadTask) { String url = baseDownloadTask.getUrl(); for (FirmwareVersion firmwareVersion : list) { if (url.equals(firmwareVersion.getVersionPath())) { if (FileHelper.a(firmwareVersion.getVersionCRCCode(), FirmwareVersion.getPath(context, firmwareVersion))) { FirmwareVersionDbHandler.getInstance().insertOrUpdate(firmwareVersion); return; } else { deleteFirmware(context, firmwareVersion); return; } } } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onCompleted() { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(1, 1, 100); IDownloadJimuRobotListener.this.onSuccess(); } ALog.a(Downloader.TAG).d("固件下载完成"); } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onFailed(Throwable th) { ALog.a(Downloader.TAG).d("固件下载失败"); FirmwareVersionDbHandler.getInstance().deleteInTx(list); Iterator it = list.iterator(); while (it.hasNext()) { deleteFirmware(context, (FirmwareVersion) it.next()); } IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onFailed(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onProgress(int i, int i2, int i3) { ALog.a(Downloader.TAG).d("总数:" + i + " 当前:" + i2 + " 进度:" + i3); IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(i, i2, i3); } } }); downloadTask.start(); if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onPrepareStart(); ALog.a(TAG).d("开始下载固件"); } return downloadTask; } public static DownloadTask downloadJimuCourse(final JimuCourse jimuCourse, final IDownloadJimuRobotListener iDownloadJimuRobotListener) { if (jimuCourse == null) { return null; } List needDownloadCourse = DownloadInfo.getNeedDownloadCourse(jimuCourse); if (needDownloadCourse == null || needDownloadCourse.size() == 0) { iDownloadJimuRobotListener.onSuccess(); return null; } DownloadTask downloadTask = new DownloadTask(needDownloadCourse, new IJimuFileDownloadListener() { // from class: com.ubt.jimu.base.download.Downloader.3 @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onBlockComplete(BaseDownloadTask baseDownloadTask) { File file = new File(baseDownloadTask.w()); File file2 = new File(file.getParent() + File.separator + jimuCourse.getId()); if (file2.exists()) { FileHelper.a(file2); } try { FileHelper.a(baseDownloadTask.w(), file.getParent() + File.separator + jimuCourse.getId(), true); file.delete(); JimuCourseDbHandler.updateAllUserCourseDownloaded(jimuCourse, true); } catch (Exception e) { e.printStackTrace(); ALog.a(Downloader.TAG).d("解压JimuCourse失败"); IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onFailed(); } } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onCompleted() { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(1, 1, 100); IDownloadJimuRobotListener.this.onSuccess(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onFailed(Throwable th) { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onFailed(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onProgress(int i, int i2, int i3) { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(i, i2, i3); } } }); if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onPrepareStart(); } downloadTask.start(); return downloadTask; } public static DownloadTask downloadJimuRobot(final Robot robot, final IDownloadJimuRobotListener iDownloadJimuRobotListener) { final ArrayList arrayList = new ArrayList(); DownloadInfo needDownloadModelInfo = DownloadInfo.getNeedDownloadModelInfo(robot); if (needDownloadModelInfo != null) { arrayList.add(needDownloadModelInfo); } List newDownloadPartsInfo = DownloadInfo.getNewDownloadPartsInfo(robot); if (newDownloadPartsInfo == null) { if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onFailed(); } return null; } if (newDownloadPartsInfo.size() > 0) { arrayList.addAll(newDownloadPartsInfo); } if (arrayList.size() == 0) { if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onSuccess(); } return null; } DownloadTask downloadTask = new DownloadTask(arrayList, new IJimuFileDownloadListener() { // from class: com.ubt.jimu.base.download.Downloader.2 @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onBlockComplete(BaseDownloadTask baseDownloadTask) { if (baseDownloadTask.a() == null || !(baseDownloadTask.a() instanceof Integer)) { return; } int intValue = ((Integer) baseDownloadTask.a()).intValue(); if (intValue == 0) { Downloader.onModelBlockComplete(robot, baseDownloadTask); return; } if (intValue == 1) { Downloader.onPartBlockComplete(robot, baseDownloadTask); } else if (intValue == 2) { Downloader.onStoryCommonBlockComplete(robot, baseDownloadTask); } else if (intValue == 3 || intValue != 4) { } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onCompleted() { FileDownloadRecordDbHandler.writeRecord(robot.getModelId(), robot.getJarUrl(), (ExternalOverFroyoUtils.a(JimuApplication.l(), ModelType.DEFAULT) + robot.getModelName()) + ".zip", FileDownloadRecord.Type.Robot.getValue(), robot.getModelUpdateTime()); IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(arrayList.size(), arrayList.size(), 100); IDownloadJimuRobotListener.this.onSuccess(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onFailed(Throwable th) { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onFailed(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onProgress(int i, int i2, int i3) { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(i, i2, i3); } } }); downloadTask.start(); if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onPrepareStart(); } return downloadTask; } public static DownloadTask downloadStarCourse(final Story story, final IDownloadJimuRobotListener iDownloadJimuRobotListener) { if (story == null) { return null; } if (story.getIsLocked() > 0) { if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onFailed(); } return null; } final Context applicationContext = JimuApplication.l().getApplicationContext(); List needDownloadStory = DownloadInfo.getNeedDownloadStory(applicationContext, story); if (needDownloadStory == null || needDownloadStory.size() == 0) { if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onSuccess(); } return null; } if (!NetWorkUtil.b(applicationContext)) { if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onFailed(); } return null; } DownloadTask downloadTask = new DownloadTask(needDownloadStory, new IJimuFileDownloadListener() { // from class: com.ubt.jimu.base.download.Downloader.5 @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onBlockComplete(BaseDownloadTask baseDownloadTask) { Downloader.onStarCourseBlockComplete(Long.valueOf(story.getId()).longValue(), baseDownloadTask.getUrl(), Story.getSdcardSavePath(applicationContext, story.getResourceZip()), story.getUpdateTime()); } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onCompleted() { ALog.a(Downloader.TAG).d("文件下载成功:"); IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(1, 1, 100); IDownloadJimuRobotListener.this.onSuccess(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onFailed(Throwable th) { ALog.a(Downloader.TAG).d("文件下载失败:"); IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onFailed(); } } @Override // com.ubt.jimu.base.download.IJimuFileDownloadListener public void onProgress(int i, int i2, int i3) { IDownloadJimuRobotListener iDownloadJimuRobotListener2 = IDownloadJimuRobotListener.this; if (iDownloadJimuRobotListener2 != null) { iDownloadJimuRobotListener2.onProgress(i, i2, i3); } ALog.a(Downloader.TAG).d("totalCount:" + i + " current:" + i2 + " progress:" + i3); } }); if (iDownloadJimuRobotListener != null) { iDownloadJimuRobotListener.onPrepareStart(); } downloadTask.start(); return downloadTask; } /* JADX INFO: Access modifiers changed from: private */ public static void onModelBlockComplete(Robot robot, BaseDownloadTask baseDownloadTask) { File file = new File(baseDownloadTask.w()); File file2 = new File(file.getParent() + File.separator + robot.getModelName()); if (file2.exists()) { FileHelper.a(file2); } try { FileHelper.a(baseDownloadTask.w(), file.getParent(), true); robot.setDownload(true); RobotDbHandler.setRobotDownloadState(robot); file.delete(); } catch (Exception e) { e.printStackTrace(); } } /* JADX INFO: Access modifiers changed from: private */ public static void onPartBlockComplete(Robot robot, BaseDownloadTask baseDownloadTask) { for (PartFileInfo partFileInfo : robot.getComponentsFileInfos()) { if (baseDownloadTask.getUrl().equals(partFileInfo.getAndroidFilePath())) { new PartFileInfoDbHandler(DatabaseUtils.getDaoSession(true).r()).insertOrUpdate((PartFileInfoDbHandler) partFileInfo); return; } } } /* JADX INFO: Access modifiers changed from: private */ public static void onStarCourseBlockComplete(long j, String str, String str2, long j2) { File file = new File(str2); String substring = str2.substring(str2.lastIndexOf("/") + 1, str2.lastIndexOf(".")); String parent = file.getParent(); File file2 = new File(parent, substring); if (file2.exists()) { file2.delete(); } try { FileHelper.a(str2, parent, true); file.delete(); FileDownloadRecordDbHandler.writeRecord(j, str, str2, FileDownloadRecord.Type.Star_Course.getValue(), j2); } catch (Exception e) { e.printStackTrace(); } } /* JADX INFO: Access modifiers changed from: private */ public static void onStoryCommonBlockComplete(Robot robot, BaseDownloadTask baseDownloadTask) { } }