diff --git a/DEV_LOG.md b/DEV_LOG.md index 3066f5fc..8875ef3c 100644 --- a/DEV_LOG.md +++ b/DEV_LOG.md @@ -1,5 +1,5 @@ ## 开发日志 - + v_3.8.7 + + v_3.8.7 (2020/5/25) - 修复组合任务单个子任务失败后,重新恢复组合任务,组合任务状态变为完成的问题 - 修复40x错误,会继续重试并且无法重试成功的问题 https://github.com/AriaLyy/Aria/issues/619 - 修复wait模式下,resume(true)无效问题 diff --git a/HttpComponent/src/main/java/com/arialyy/aria/http/download/HttpDFileInfoTask.java b/HttpComponent/src/main/java/com/arialyy/aria/http/download/HttpDFileInfoTask.java index e8a822f2..ed26d1c5 100644 --- a/HttpComponent/src/main/java/com/arialyy/aria/http/download/HttpDFileInfoTask.java +++ b/HttpComponent/src/main/java/com/arialyy/aria/http/download/HttpDFileInfoTask.java @@ -291,6 +291,10 @@ final class HttpDFileInfoTask implements IInfoTask, Runnable { ALog.d(TAG, String.format("文件重命名为:%s", newName)); File oldFile = new File(mEntity.getFilePath()); String newPath = oldFile.getParent() + "/" + newName; + if (!CheckUtil.checkDPathConflicts(false, newPath, mTaskWrapper.getRequestType())) { + ALog.e(TAG, "文件重命名失败"); + return; + } if (oldFile.exists()) { boolean b = oldFile.renameTo(new File(newPath)); ALog.d(TAG, String.format("文件重命名%s", b ? "成功" : "失败")); diff --git a/PublicComponent/src/main/java/com/arialyy/aria/orm/DelegateUpdate.java b/PublicComponent/src/main/java/com/arialyy/aria/orm/DelegateUpdate.java index 2c6bb876..ce41af35 100644 --- a/PublicComponent/src/main/java/com/arialyy/aria/orm/DelegateUpdate.java +++ b/PublicComponent/src/main/java/com/arialyy/aria/orm/DelegateUpdate.java @@ -150,7 +150,7 @@ class DelegateUpdate extends AbsDelegate { */ private ContentValues createValues(DbEntity dbEntity) { List fields = CommonUtil.getAllFields(dbEntity.getClass()); - if (fields != null && fields.size() > 0) { + if (fields.size() > 0) { ContentValues values = new ContentValues(); try { for (Field field : fields) { diff --git a/PublicComponent/src/main/java/com/arialyy/aria/orm/SqlHelper.java b/PublicComponent/src/main/java/com/arialyy/aria/orm/SqlHelper.java index a9452140..2bd2e65a 100644 --- a/PublicComponent/src/main/java/com/arialyy/aria/orm/SqlHelper.java +++ b/PublicComponent/src/main/java/com/arialyy/aria/orm/SqlHelper.java @@ -148,6 +148,14 @@ final class SqlHelper extends SQLiteOpenHelper { return db; } + @Override public SQLiteDatabase getWritableDatabase() { + if (!mainTmpDirSet) { + createDbCacheDir(); + return super.getWritableDatabase(); + } + return super.getWritableDatabase(); + } + /** * 用于修复 Too many open files 的问题 * https://github.com/AriaLyy/Aria/issues/664 @@ -155,17 +163,21 @@ final class SqlHelper extends SQLiteOpenHelper { @Override public SQLiteDatabase getReadableDatabase() { if (!mainTmpDirSet) { - String cacheDir = mContext.getCacheDir().getPath() + "/AriaDbCacheDir"; - boolean rs = new File(cacheDir).mkdir(); - ALog.d(TAG, rs + ""); - super.getReadableDatabase() - .execSQL("PRAGMA temp_store_directory = '" + cacheDir + "'"); - mainTmpDirSet = true; + createDbCacheDir(); return super.getReadableDatabase(); } return super.getReadableDatabase(); } + private void createDbCacheDir() { + String cacheDir = mContext.getCacheDir().getPath() + "/AriaDbCacheDir"; + boolean rs = new File(cacheDir).mkdir(); + ALog.d(TAG, rs + ""); + super.getReadableDatabase() + .execSQL("PRAGMA temp_store_directory = '" + cacheDir + "'"); + mainTmpDirSet = true; + } + /** * 处理数据库升级 * diff --git a/README.md b/README.md index 4f6306bb..9f999ce7 100644 --- a/README.md +++ b/README.md @@ -45,19 +45,19 @@ Aria有以下特点: ## 引入库 [![license](http://img.shields.io/badge/license-Apache2.0-brightgreen.svg?style=flat)](https://github.com/AriaLyy/Aria/blob/master/LICENSE) -[![Core](https://img.shields.io/badge/Core-3.8.6-blue)](https://github.com/AriaLyy/Aria) -[![Compiler](https://img.shields.io/badge/Compiler-3.8.6-blue)](https://github.com/AriaLyy/Aria) -[![FtpComponent](https://img.shields.io/badge/FtpComponent-3.8.6-orange)](https://github.com/AriaLyy/Aria) -[![FtpComponent](https://img.shields.io/badge/SFtpComponent-3.8.6-orange)](https://github.com/AriaLyy/Aria) -[![M3U8Component](https://img.shields.io/badge/M3U8Component-3.8.6-orange)](https://github.com/AriaLyy/Aria) +[![Core](https://img.shields.io/badge/Core-3.8.7-blue)](https://github.com/AriaLyy/Aria) +[![Compiler](https://img.shields.io/badge/Compiler-3.8.7-blue)](https://github.com/AriaLyy/Aria) +[![FtpComponent](https://img.shields.io/badge/FtpComponent-3.8.7-orange)](https://github.com/AriaLyy/Aria) +[![FtpComponent](https://img.shields.io/badge/SFtpComponent-3.8.7-orange)](https://github.com/AriaLyy/Aria) +[![M3U8Component](https://img.shields.io/badge/M3U8Component-3.8.7-orange)](https://github.com/AriaLyy/Aria) ```java -implementation 'com.arialyy.aria:core:3.8.6' -annotationProcessor 'com.arialyy.aria:compiler:3.8.6' -implementation 'com.arialyy.aria:ftpComponent:3.8.6' # 如果需要使用ftp,请增加该组件 -implementation 'com.arialyy.aria:sftpComponent:3.8.6' # 如果需要使用ftp,请增加该组件 -implementation 'com.arialyy.aria:m3u8Component:3.8.6' # 如果需要使用m3u8下载功能,请增加该组件 +implementation 'com.arialyy.aria:core:3.8.7' +annotationProcessor 'com.arialyy.aria:compiler:3.8.7' +implementation 'com.arialyy.aria:ftpComponent:3.8.7' # 如果需要使用ftp,请增加该组件 +implementation 'com.arialyy.aria:sftpComponent:3.8.7' # 如果需要使用ftp,请增加该组件 +implementation 'com.arialyy.aria:m3u8Component:3.8.7' # 如果需要使用m3u8下载功能,请增加该组件 ``` 如果你使用的是kotlin,请使用kotlin官方提供的方法配置apt,[kotlin kapt官方配置传送门](https://www.kotlincn.net/docs/reference/kapt.html) @@ -138,13 +138,17 @@ protected void onCreate(Bundle savedInstanceState) { ### 版本日志 -+ v_3.8.6 (2020/2/18) - - fix bug https://github.com/AriaLyy/Aria/issues/608 - - fix bug https://github.com/AriaLyy/Aria/issues/579#issuecomment-586665035 - - fix bug https://github.com/AriaLyy/Aria/issues/610 - - fix bug https://github.com/AriaLyy/Aria/issues/614 - - 增加文件名适配器(感谢小伙伴[DaveBoy](https://github.com/DaveBoy)的PR) - - 优化异常提示 ++ v_3.8.7 (2020/5/25) + - 修复组合任务单个子任务失败后,重新恢复组合任务,组合任务状态变为完成的问题 + - 修复40x错误,会继续重试并且无法重试成功的问题 https://github.com/AriaLyy/Aria/issues/619 + - 修复wait模式下,resume(true)无效问题 + - 修复now模式下的一些问题 https://github.com/AriaLyy/Aria/issues/620 + - 修复组任务,其中一个子任务在获取文件长度失败后,重新恢复组合任务,组合任务状态变为完成的问题 https://github.com/AriaLyy/Aria/issues/628 + - 修复组任务中,其中一个子任务是30x地址,导致调度器无法出现该子任务状态的问题 + - 增加组任务groupHash冲突检查 https://github.com/AriaLyy/Aria/issues/635 + - 修复task.cancel(false)还是把本地文件删除的问题 https://github.com/AriaLyy/Aria/issues/646 + - fix bug https://github.com/AriaLyy/Aria/issues/670 + - fix bug https://github.com/AriaLyy/Aria/issues/664 [更多版本记录](https://github.com/AriaLyy/Aria/blob/master/DEV_LOG.md) diff --git a/build.gradle b/build.gradle index 5ae534e9..53e056f3 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,7 @@ task clean(type: Delete) { ext { versionCode = 387 - versionName = '3.8.7-beta-12' + versionName = '3.8.7' userOrg = 'arialyy' groupId = 'com.arialyy.aria' publishVersion = versionName