修复ftp服务器无法响应abor命令导致的无法停止上传的问题
修复ftp上传时,服务器有长度为0的文件导致上传失败的问题 修复下载任务和上传任务的文件路径是同一个时,导致的记录混乱问题
This commit is contained in:
@@ -141,8 +141,15 @@ public class CheckUtil {
|
||||
*/
|
||||
public static void checkMemberClass(Class clazz) {
|
||||
int modifiers = clazz.getModifiers();
|
||||
if (!clazz.isMemberClass() || !Modifier.isStatic(modifiers) || Modifier.isPrivate(modifiers)) {
|
||||
ALog.e(TAG, "为了防止内存泄漏,请使用静态的成员类(public static class xxx)或文件类(A.java)");
|
||||
//ALog.d(TAG, "isMemberClass = "
|
||||
// + clazz.isMemberClass()
|
||||
// + "; isStatic = "
|
||||
// + Modifier.isStatic(modifiers)
|
||||
// + "; isPrivate = "
|
||||
// + Modifier.isPrivate(modifiers));
|
||||
if (!clazz.isMemberClass() || !Modifier.isStatic(modifiers)) {
|
||||
ALog.e(TAG, String.format("为了防止内存泄漏,请使用静态的成员类(public static class %s)或文件类(%s.java)",
|
||||
clazz.getSimpleName(), clazz.getSimpleName()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,12 +15,13 @@
|
||||
*/
|
||||
package com.arialyy.aria.util;
|
||||
|
||||
import com.arialyy.aria.core.wrapper.RecordWrapper;
|
||||
import com.arialyy.aria.core.TaskRecord;
|
||||
import com.arialyy.aria.core.ThreadRecord;
|
||||
import com.arialyy.aria.core.download.DGEntityWrapper;
|
||||
import com.arialyy.aria.core.download.DTaskWrapper;
|
||||
import com.arialyy.aria.core.download.DownloadEntity;
|
||||
import com.arialyy.aria.core.download.DownloadGroupEntity;
|
||||
import com.arialyy.aria.core.wrapper.ITaskWrapper;
|
||||
import com.arialyy.aria.orm.DbEntity;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
@@ -35,15 +36,20 @@ public class DbDataHelper {
|
||||
* 获取任务记录
|
||||
*
|
||||
* @param filePath 文件地址
|
||||
* @param taskType 任务类型{@link ITaskWrapper}
|
||||
* @return 没有记录返回null,有记录则返回任务记录
|
||||
*/
|
||||
public static TaskRecord getTaskRecord(String filePath) {
|
||||
List<RecordWrapper> record =
|
||||
DbEntity.findRelationData(RecordWrapper.class, "TaskRecord.filePath=?", filePath);
|
||||
if (record == null || record.size() == 0) {
|
||||
return null;
|
||||
public static TaskRecord getTaskRecord(String filePath, int taskType) {
|
||||
TaskRecord taskRecord =
|
||||
DbEntity.findFirst(TaskRecord.class, "filePath=? AND taskType=?", filePath,
|
||||
String.valueOf(taskType));
|
||||
if (taskRecord != null) {
|
||||
taskRecord.threadRecords =
|
||||
DbEntity.findDatas(ThreadRecord.class, "taskKey=? AND threadType=?", filePath,
|
||||
String.valueOf(taskType));
|
||||
}
|
||||
return record.get(0).taskRecord;
|
||||
|
||||
return taskRecord;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.arialyy.aria.core.download.DownloadGroupEntity;
|
||||
import com.arialyy.aria.core.download.M3U8Entity;
|
||||
import com.arialyy.aria.core.inf.IRecordHandler;
|
||||
import com.arialyy.aria.core.upload.UploadEntity;
|
||||
import com.arialyy.aria.core.wrapper.ITaskWrapper;
|
||||
import com.arialyy.aria.core.wrapper.RecordWrapper;
|
||||
import com.arialyy.aria.orm.DbEntity;
|
||||
import java.io.File;
|
||||
@@ -187,7 +188,7 @@ public class RecordUtil {
|
||||
* @return true 为m3u8任务
|
||||
*/
|
||||
private static boolean recordIsM3U8(int recordType) {
|
||||
return recordType == TaskRecord.TYPE_M3U8_VOD || recordType == TaskRecord.TYPE_M3U8_LIVE;
|
||||
return recordType == ITaskWrapper.M3U8_VOD || recordType == ITaskWrapper.M3U8_LIVE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -361,13 +362,14 @@ public class RecordUtil {
|
||||
*
|
||||
* @param oldPath 旧的文件路径
|
||||
* @param newPath 新的文件路径
|
||||
* @param taskType 任务类型{@link ITaskWrapper}
|
||||
*/
|
||||
public static void modifyTaskRecord(String oldPath, String newPath) {
|
||||
public static void modifyTaskRecord(String oldPath, String newPath, int taskType) {
|
||||
if (oldPath.equals(newPath)) {
|
||||
ALog.w(TAG, "修改任务记录失败,新文件路径和旧文件路径一致");
|
||||
return;
|
||||
}
|
||||
TaskRecord record = DbDataHelper.getTaskRecord(oldPath);
|
||||
TaskRecord record = DbDataHelper.getTaskRecord(oldPath, taskType);
|
||||
if (record == null) {
|
||||
if (new File(oldPath).exists()) {
|
||||
ALog.w(TAG, "修改任务记录失败,文件【" + oldPath + "】对应的任务记录不存在");
|
||||
|
||||
Reference in New Issue
Block a user