添加日志级别

pull/330/head
AriaLyy 7 years ago
parent 3a3667f214
commit 3fa49f11dd
  1. 23
      Aria/src/main/java/com/arialyy/aria/core/AriaManager.java
  2. 6
      Aria/src/main/java/com/arialyy/aria/core/ConfigHelper.java
  3. 17
      Aria/src/main/java/com/arialyy/aria/core/FtpUrlEntity.java
  4. 8
      Aria/src/main/java/com/arialyy/aria/core/SubTaskManager.java
  5. 4
      Aria/src/main/java/com/arialyy/aria/core/TaskManager.java
  6. 6
      Aria/src/main/java/com/arialyy/aria/core/WidgetLiftManager.java
  7. 4
      Aria/src/main/java/com/arialyy/aria/core/command/group/AbsGroupCmd.java
  8. 13
      Aria/src/main/java/com/arialyy/aria/core/command/normal/AbsNormalCmd.java
  9. 4
      Aria/src/main/java/com/arialyy/aria/core/command/normal/AddCmd.java
  10. 5
      Aria/src/main/java/com/arialyy/aria/core/command/normal/HighestPriorityCmd.java
  11. 4
      Aria/src/main/java/com/arialyy/aria/core/command/normal/ResumeAllCmd.java
  12. 4
      Aria/src/main/java/com/arialyy/aria/core/command/normal/StartCmd.java
  13. 4
      Aria/src/main/java/com/arialyy/aria/core/command/normal/StopCmd.java
  14. 6
      Aria/src/main/java/com/arialyy/aria/core/common/AbsFileer.java
  15. 26
      Aria/src/main/java/com/arialyy/aria/core/common/AbsFtpInfoThread.java
  16. 26
      Aria/src/main/java/com/arialyy/aria/core/common/AbsThreadTask.java
  17. 4
      Aria/src/main/java/com/arialyy/aria/core/download/DownloadGroupTarget.java
  18. 4
      Aria/src/main/java/com/arialyy/aria/core/download/DownloadGroupTask.java
  19. 4
      Aria/src/main/java/com/arialyy/aria/core/download/DownloadTask.java
  20. 6
      Aria/src/main/java/com/arialyy/aria/core/download/FtpDirDownloadTarget.java
  21. 5
      Aria/src/main/java/com/arialyy/aria/core/download/FtpDownloadTarget.java
  22. 18
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/AbsGroupUtil.java
  23. 4
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/Downloader.java
  24. 5
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/FtpDirInfoThread.java
  25. 6
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/FtpThreadTask.java
  26. 6
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/HttpFileInfoThread.java
  27. 11
      Aria/src/main/java/com/arialyy/aria/core/download/downloader/HttpThreadTask.java
  28. 4
      Aria/src/main/java/com/arialyy/aria/core/inf/AbsDownloadTarget.java
  29. 4
      Aria/src/main/java/com/arialyy/aria/core/inf/AbsTarget.java
  30. 2
      Aria/src/main/java/com/arialyy/aria/core/inf/AbsTaskEntity.java
  31. 18
      Aria/src/main/java/com/arialyy/aria/core/queue/AbsTaskQueue.java
  32. 5
      Aria/src/main/java/com/arialyy/aria/core/queue/DownloadGroupTaskQueue.java
  33. 7
      Aria/src/main/java/com/arialyy/aria/core/queue/DownloadTaskQueue.java
  34. 5
      Aria/src/main/java/com/arialyy/aria/core/queue/UploadTaskQueue.java
  35. 16
      Aria/src/main/java/com/arialyy/aria/core/queue/pool/BaseCachePool.java
  36. 16
      Aria/src/main/java/com/arialyy/aria/core/queue/pool/BaseExecutePool.java
  37. 8
      Aria/src/main/java/com/arialyy/aria/core/queue/pool/DownloadExecutePool.java
  38. 16
      Aria/src/main/java/com/arialyy/aria/core/scheduler/AbsSchedulers.java
  39. 6
      Aria/src/main/java/com/arialyy/aria/core/upload/FtpUploadTarget.java
  40. 6
      Aria/src/main/java/com/arialyy/aria/core/upload/uploader/FtpThreadTask.java
  41. 8
      Aria/src/main/java/com/arialyy/aria/core/upload/uploader/HttpThreadTask.java
  42. 6
      Aria/src/main/java/com/arialyy/aria/orm/DbUtil.java
  43. 12
      Aria/src/main/java/com/arialyy/aria/orm/SqlHelper.java
  44. 90
      Aria/src/main/java/com/arialyy/aria/util/ALog.java
  45. 11
      Aria/src/main/java/com/arialyy/aria/util/CheckUtil.java
  46. 31
      Aria/src/main/java/com/arialyy/aria/util/CommonUtil.java
  47. 8
      app/src/main/java/com/arialyy/simple/download/FtpDownloadActivity.java
  48. 2
      app/src/main/java/com/arialyy/simple/download/group/FTPDirDownloadActivity.java
  49. 5
      aria/src/main/java/com/arialyy/aria/core/upload/UploadTask.java

@ -27,7 +27,6 @@ import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.util.Log;
import android.widget.PopupWindow;
import com.arialyy.aria.core.command.ICmd;
import com.arialyy.aria.core.common.QueueMod;
@ -42,6 +41,7 @@ import com.arialyy.aria.core.upload.UploadReceiver;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.orm.DbUtil;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.io.File;
import java.io.IOException;
@ -67,6 +67,16 @@ import org.xml.sax.SAXException;
public static final Object LOCK = new Object();
public static final String DOWNLOAD_TEMP_DIR = "/Aria/temp/download/";
public static final String UPLOAD_TEMP_DIR = "/Aria/temp/upload/";
public static final int LOG_LEVEL_VERBOSE = 2;
public static final int LOG_LEVEL_DEBUG = 3;
public static final int LOG_LEVEL_INFO = 4;
public static final int LOG_LEVEL_WARN = 5;
public static final int LOG_LEVEL_ERROR = 6;
public static final int LOG_LEVEL_ASSERT = 7;
public static final int LOG_CLOSE = 8;
public static final int LOG_DEFAULT = LOG_LEVEL_DEBUG;
@SuppressLint("StaticFieldLeak") private static volatile AriaManager INSTANCE = null;
private Map<String, IReceiver> mReceivers = new ConcurrentHashMap<>();
public static Context APP;
@ -94,6 +104,15 @@ import org.xml.sax.SAXException;
return mReceivers;
}
/**
* 设置Aria 日志级别
*
* @param level {@link #LOG_LEVEL_VERBOSE}
*/
public void setLogLevel(int level) {
ALog.LOG_LEVEL = level;
}
/**
* 设置上传任务的执行队列类型
*
@ -356,7 +375,7 @@ import org.xml.sax.SAXException;
CommonUtil.createFileFormInputStream(APP.getAssets().open("aria_config.xml"),
APP.getFilesDir().getPath() + Configuration.XML_FILE);
} catch (ParserConfigurationException | IOException | SAXException e) {
Log.e(TAG, e.toString());
ALog.e(TAG, e.toString());
}
}

@ -16,7 +16,7 @@
package com.arialyy.aria.core;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.util.ALog;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
@ -210,7 +210,7 @@ class ConfigHelper extends DefaultHandler {
num = Integer.parseInt(value);
}
if (num < 1) {
Log.e(TAG, "任务队列数不能小于 1");
ALog.w(TAG, "任务队列数不能小于 1");
num = 2;
}
if (isDownloadConfig) {
@ -227,7 +227,7 @@ class ConfigHelper extends DefaultHandler {
num = Integer.parseInt(value);
}
if (num < 1) {
Log.e(TAG, "下载线程数不能小于 1");
ALog.e(TAG, "下载线程数不能小于 1");
num = 1;
}
if (isDownloadConfig) {

@ -1,3 +1,20 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.arialyy.aria.core;
import java.net.InetAddress;

@ -16,9 +16,9 @@
package com.arialyy.aria.core;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.command.group.GroupCmdFactory;
import com.arialyy.aria.core.inf.AbsGroupTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.util.List;
@ -86,16 +86,16 @@ public class SubTaskManager {
*/
private boolean checkUrl(String url) {
if (TextUtils.isEmpty(url)) {
Log.e(TAG, "子任务地址不能为null");
ALog.e(TAG, "子任务地址不能为null");
return false;
}
List<String> urls = mEntity.getEntity().getUrls();
if (urls == null || urls.isEmpty()) {
Log.e(TAG, "任务组任务链接为null");
ALog.e(TAG, "任务组任务链接为null");
return false;
}
if (!urls.contains(url)) {
Log.e(TAG, "任务组中没有改Url【+ " + url + "】");
ALog.e(TAG, "任务组中没有改Url【+ " + url + "】");
return false;
}
return true;

@ -15,8 +15,8 @@
*/
package com.arialyy.aria.core;
import android.util.Log;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.util.Iterator;
import java.util.Map;
@ -54,7 +54,7 @@ public class TaskManager {
public boolean addTask(String key, AbsTask task) {
String hash = CommonUtil.keyToHashKey(key);
if (map.keySet().contains(hash)) {
Log.e(TAG, "任务【" + key + "】已存在");
ALog.e(TAG, "任务【" + key + "】已存在");
return false;
}
map.put(CommonUtil.keyToHashKey(key), task);

@ -21,8 +21,8 @@ import android.content.DialogInterface;
import android.os.Build;
import android.os.Message;
import android.support.v4.app.DialogFragment;
import android.util.Log;
import android.widget.PopupWindow;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.lang.reflect.Field;
@ -62,7 +62,7 @@ final class WidgetLiftManager {
PopupWindow.OnDismissListener listener =
(PopupWindow.OnDismissListener) dismissField.get(popupWindow);
if (listener != null) {
Log.e(TAG, "你已经对PopupWindow设置了Dismiss事件。为了防止内存泄露,"
ALog.e(TAG, "你已经对PopupWindow设置了Dismiss事件。为了防止内存泄露,"
+ "请在dismiss方法中调用Aria.download(this).unRegister();来注销事件");
return true;
} else {
@ -97,7 +97,7 @@ final class WidgetLiftManager {
Field cancelField = CommonUtil.getField(dialog.getClass(), "mCancelMessage");
Message cancelMsg = (Message) cancelField.get(dialog);
if (cancelMsg != null) {
Log.e(TAG, "你已经对Dialog设置了Dismiss和cancel事件。"
ALog.e(TAG, "你已经对Dialog设置了Dismiss和cancel事件。"
+ "为了防止内存泄露,请在dismiss方法中调用Aria.download(this).unRegister();来注销事件\n"
+ "如果你使用的是DialogFragment,那么你需要在onDestroy()中进行销毁Aria事件操作");
return true;

@ -15,13 +15,13 @@
*/
package com.arialyy.aria.core.command.group;
import android.util.Log;
import com.arialyy.aria.core.command.AbsCmd;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
import com.arialyy.aria.core.inf.AbsGroupTask;
import com.arialyy.aria.core.inf.AbsGroupTaskEntity;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.queue.DownloadGroupTaskQueue;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
/**
@ -64,7 +64,7 @@ public abstract class AbsGroupCmd<T extends AbsGroupTaskEntity> extends AbsCmd<T
if (tempTask == null) {
createTask();
if (tempTask.isComplete()) {
Log.w(TAG, "任务已完成");
ALog.i(TAG, "任务已完成");
return false;
}
}

@ -16,7 +16,6 @@
package com.arialyy.aria.core.command.normal;
import android.util.Log;
import com.arialyy.aria.core.command.AbsCmd;
import com.arialyy.aria.core.command.ICmd;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
@ -28,6 +27,7 @@ import com.arialyy.aria.core.queue.DownloadGroupTaskQueue;
import com.arialyy.aria.core.queue.DownloadTaskQueue;
import com.arialyy.aria.core.queue.UploadTaskQueue;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
/**
@ -55,30 +55,29 @@ public abstract class AbsNormalCmd<T extends AbsTaskEntity> extends AbsCmd<T> {
TAG = CommonUtil.getClassName(this);
if (taskType == ICmd.TASK_TYPE_DOWNLOAD) {
if (!(entity instanceof DownloadTaskEntity)) {
Log.w(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_DOWNLOAD");
ALog.e(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_DOWNLOAD");
return;
}
mQueue = DownloadTaskQueue.getInstance();
} else if (taskType == ICmd.TASK_TYPE_DOWNLOAD_GROUP) {
if (!(entity instanceof DownloadGroupTaskEntity)) {
Log.w(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_DOWNLOAD_GROUP");
ALog.e(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_DOWNLOAD_GROUP");
return;
}
mQueue = DownloadGroupTaskQueue.getInstance();
} else if (taskType == ICmd.TASK_TYPE_UPLOAD) {
if (!(entity instanceof UploadTaskEntity)) {
Log.w(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_UPLOAD");
ALog.e(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_UPLOAD");
return;
}
mQueue = UploadTaskQueue.getInstance();
} else {
Log.w(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_DOWNLOAD、TASK_TYPE_DOWNLOAD_GROUP、TASK_TYPE_UPLOAD");
ALog.e(TAG, "任务类型错误,任务类型应该为ICM.TASK_TYPE_DOWNLOAD、TASK_TYPE_DOWNLOAD_GROUP、TASK_TYPE_UPLOAD");
return;
}
isDownloadCmd = taskType < ICmd.TASK_TYPE_UPLOAD;
}
/**
* 删除所有任务
*/

@ -16,10 +16,10 @@
package com.arialyy.aria.core.command.normal;
import android.util.Log;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.util.ALog;
/**
* Created by lyy on 2016/8/22.
@ -38,7 +38,7 @@ class AddCmd<T extends AbsTaskEntity> extends AbsNormalCmd<T> {
mTaskEntity.getEntity().setState(IEntity.STATE_WAIT);
createTask();
} else {
Log.w(TAG, "添加命令执行失败,【该任务已经存在】");
ALog.w(TAG, "添加命令执行失败,【该任务已经存在】");
}
}
}

@ -16,12 +16,11 @@
package com.arialyy.aria.core.command.normal;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.core.inf.AbsNormalTask;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.queue.DownloadTaskQueue;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.NetUtils;
/**
@ -47,7 +46,7 @@ final class HighestPriorityCmd<T extends AbsTaskEntity> extends AbsNormalCmd<T>
@Override public void executeCmd() {
if (!canExeCmd) return;
if (!NetUtils.isConnected(AriaManager.APP)){
Log.w(TAG, "启动任务失败,网络未连接");
ALog.e(TAG, "启动任务失败,网络未连接");
return;
}
DownloadTask task = (DownloadTask) getTask();

@ -1,6 +1,5 @@
package com.arialyy.aria.core.command.normal;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
@ -11,6 +10,7 @@ import com.arialyy.aria.core.queue.DownloadTaskQueue;
import com.arialyy.aria.core.queue.UploadTaskQueue;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.NetUtils;
import java.util.ArrayList;
import java.util.List;
@ -34,7 +34,7 @@ final class ResumeAllCmd<T extends AbsTaskEntity> extends AbsNormalCmd<T> {
@Override public void executeCmd() {
if (!NetUtils.isConnected(AriaManager.APP)) {
Log.w(TAG, "恢复任务失败,网络未连接");
ALog.w(TAG, "恢复任务失败,网络未连接");
return;
}
if (isDownloadCmd) {

@ -17,7 +17,6 @@
package com.arialyy.aria.core.command.normal;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.common.QueueMod;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
@ -30,6 +29,7 @@ import com.arialyy.aria.core.queue.DownloadTaskQueue;
import com.arialyy.aria.core.queue.UploadTaskQueue;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.NetUtils;
import java.util.ArrayList;
import java.util.List;
@ -48,7 +48,7 @@ class StartCmd<T extends AbsTaskEntity> extends AbsNormalCmd<T> {
@Override public void executeCmd() {
if (!canExeCmd) return;
if (!NetUtils.isConnected(AriaManager.APP)) {
Log.w(TAG, "启动任务失败,网络未连接");
ALog.e(TAG, "启动任务失败,网络未连接");
return;
}
String mod;

@ -17,10 +17,10 @@
package com.arialyy.aria.core.command.normal;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.util.ALog;
/**
* Created by lyy on 2016/9/20.
@ -39,7 +39,7 @@ class StopCmd<T extends AbsTaskEntity> extends AbsNormalCmd<T> {
if (mTaskEntity.getEntity().getState() == IEntity.STATE_RUNNING) {
stopTask();
} else {
Log.w(TAG, "停止命令执行失败,【调度器中没有该任务】");
ALog.w(TAG, "停止命令执行失败,【调度器中没有该任务】");
}
} else {
if (!TextUtils.isEmpty(mTargetName)) {

@ -16,7 +16,6 @@
package com.arialyy.aria.core.common;
import android.content.Context;
import android.util.Log;
import android.util.SparseArray;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.download.DownloadTaskEntity;
@ -25,6 +24,7 @@ import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.inf.IDownloadListener;
import com.arialyy.aria.core.inf.IEventListener;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.io.File;
import java.util.Properties;
@ -264,7 +264,7 @@ public abstract class AbsFileer<ENTITY extends AbsNormalEntity, TASK_ENTITY exte
*/
private boolean resumeRecordLocation(int i, long startL, long endL) {
mConstance.CURRENT_LOCATION += endL - startL;
Log.d(TAG, "++++++++++ 线程_" + i + "_已经下载完成 ++++++++++");
ALog.d(TAG, "++++++++++ 线程_" + i + "_已经下载完成 ++++++++++");
mConstance.COMPLETE_THREAD_NUM++;
mConstance.STOP_NUM++;
mConstance.CANCEL_NUM++;
@ -332,7 +332,7 @@ public abstract class AbsFileer<ENTITY extends AbsNormalEntity, TASK_ENTITY exte
mConstance.CURRENT_LOCATION += r - startL;
startL = r;
}
Log.d(TAG, "任务【" + mEntity.getFileName() + "】线程__" + i + "__恢复下载");
ALog.d(TAG, "任务【" + mEntity.getFileName() + "】线程__" + i + "__恢复下载");
recordL[rl] = i;
rl++;
} else {

@ -16,12 +16,12 @@
package com.arialyy.aria.core.common;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.FtpUrlEntity;
import com.arialyy.aria.core.inf.AbsEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.Regular;
import java.io.IOException;
import java.net.InetAddress;
@ -73,11 +73,6 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
if (client == null) return;
String remotePath =
new String(setRemotePath().getBytes(charSet), AbsFtpThreadTask.SERVER_CHARSET);
FTPFile[] files_1 = client.listFiles();
for (FTPFile tf : files_1) {
Log.d(TAG, tf.getName());
}
FTPFile[] files = client.listFiles(remotePath);
boolean isExist = files.length != 0;
if (!isExist && !isUpload) {
@ -122,8 +117,8 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
* @return {@code true}存在
*/
private boolean checkFileExist(FTPFile[] ftpFiles, String fileName) {
for (FTPFile ff : ftpFiles){
if (ff.getName().equals(fileName)){
for (FTPFile ff : ftpFiles) {
if (ff.getName().equals(fileName)) {
return true;
}
}
@ -186,7 +181,7 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
charSet = "UTF-8";
if (!TextUtils.isEmpty(mTaskEntity.charSet) || !FTPReply.isPositiveCompletion(
client.sendCommand("OPTS UTF8", "ON"))) {
Log.d(TAG, "FTP 服务器不支持开启UTF8编码,尝试使用Aria手动设置的编码");
ALog.i(TAG, "FTP 服务器不支持开启UTF8编码,尝试使用Aria手动设置的编码");
charSet = mTaskEntity.charSet;
}
client.setControlEncoding(charSet);
@ -210,8 +205,15 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
return client;
} catch (IOException e) {
//e.printStackTrace();
try {
if (client.isConnected()) {
client.disconnect();
}
} catch (IOException e1) {
e1.printStackTrace();
}
if (index + 1 >= ips.length) {
Log.e(TAG, "遇到[ECONNREFUSED-连接被服务器拒绝]错误,已没有其他地址,链接失败");
ALog.w(TAG, "遇到[ECONNREFUSED-连接被服务器拒绝]错误,已没有其他地址,链接失败");
return null;
}
try {
@ -219,7 +221,7 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
} catch (InterruptedException e1) {
e1.printStackTrace();
}
Log.e(TAG, "遇到[ECONNREFUSED-连接被服务器拒绝]错误,正在尝试下一个地址");
ALog.w(TAG, "遇到[ECONNREFUSED-连接被服务器拒绝]错误,正在尝试下一个地址");
return connect(new FTPClient(), ips, index + 1, port);
}
}
@ -255,7 +257,7 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
}
private void failDownload(String errorMsg, boolean needRetry) {
Log.e(TAG, errorMsg);
ALog.e(TAG, errorMsg);
if (mCallback != null) {
mCallback.onFail(mEntity.getKey(), errorMsg, needRetry);
}

@ -17,12 +17,12 @@ package com.arialyy.aria.core.common;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.inf.AbsNormalEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.inf.IEventListener;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import com.arialyy.aria.util.ErrorHelp;
import com.arialyy.aria.util.NetUtils;
@ -103,7 +103,7 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
if (mConfig.SUPPORT_BP) {
final long currentTemp = mChildCurrentLocation;
STATE.STOP_NUM++;
Log.d(TAG, "任务【"
ALog.d(TAG, "任务【"
+ mConfig.TEMP_FILE.getName()
+ "】thread__"
+ mConfig.THREAD_ID
@ -111,12 +111,12 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
+ currentTemp);
writeConfig(false, currentTemp);
if (STATE.isStop()) {
Log.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已停止");
ALog.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已停止");
STATE.isRunning = false;
mListener.onStop(STATE.CURRENT_LOCATION);
}
} else {
Log.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已停止");
ALog.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已停止");
STATE.isRunning = false;
mListener.onStop(STATE.CURRENT_LOCATION);
}
@ -157,7 +157,7 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
synchronized (AriaManager.LOCK) {
if (mConfig.SUPPORT_BP) {
STATE.CANCEL_NUM++;
Log.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】thread__" + mConfig.THREAD_ID + "__取消");
ALog.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】thread__" + mConfig.THREAD_ID + "__取消");
if (STATE.isCancel()) {
File configFile = new File(mConfigFPath);
if (configFile.exists()) {
@ -166,12 +166,12 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
if (mConfig.TEMP_FILE.exists() && !(mEntity instanceof UploadEntity)) {
mConfig.TEMP_FILE.delete();
}
Log.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已取消");
ALog.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已取消");
STATE.isRunning = false;
mListener.onCancel();
}
} else {
Log.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已取消");
ALog.d(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】已取消");
STATE.isRunning = false;
mListener.onCancel();
}
@ -185,15 +185,15 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
synchronized (AriaManager.LOCK) {
try {
if (ex != null) {
Log.e(TAG, msg + "\n" + CommonUtil.getPrintException(ex));
ALog.e(TAG, msg + "\n" + CommonUtil.getPrintException(ex));
} else {
Log.e(TAG, msg);
ALog.e(TAG, msg);
}
if (mConfig.SUPPORT_BP) {
writeConfig(false, currentLocation);
retryThis(STATE.THREAD_NUM != 1);
} else {
Log.e(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】执行失败");
ALog.e(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】执行失败");
mListener.onFail(true);
ErrorHelp.saveError(mTaskType, mEntity, "", CommonUtil.getPrintException(ex));
}
@ -210,7 +210,7 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
*/
private void retryThis(boolean needRetry) {
if (!NetUtils.isConnected(AriaManager.APP)) {
Log.w(TAG,
ALog.w(TAG,
"任务【" + mConfig.TEMP_FILE.getName() + "】thread__" + mConfig.THREAD_ID + "__重试失败,网络未连接");
}
if (mFailNum < RETRY_NUM && needRetry && NetUtils.isConnected(AriaManager.APP)) {
@ -222,7 +222,7 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
mFailTimer.schedule(new TimerTask() {
@Override public void run() {
mFailNum++;
Log.w(TAG,
ALog.w(TAG,
"任务【" + mConfig.TEMP_FILE.getName() + "】thread__" + mConfig.THREAD_ID + "__正在重试");
final long retryLocation =
mChildCurrentLocation == 0 ? mConfig.START_LOCATION : mChildCurrentLocation;
@ -235,7 +235,7 @@ public abstract class AbsThreadTask<ENTITY extends AbsNormalEntity, TASK_ENTITY
if (STATE.isFail()) {
STATE.isRunning = false;
STATE.isStop = true;
Log.e(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】执行失败");
ALog.e(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】执行失败");
mListener.onFail(true);
}
}

@ -16,8 +16,8 @@
package com.arialyy.aria.core.download;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CheckUtil;
import com.arialyy.aria.util.CommonUtil;
import java.util.List;
@ -67,7 +67,7 @@ public class DownloadGroupTarget
*/
public DownloadGroupTarget setFileSize(long fileSize) {
if (fileSize <= 0) {
Log.w(TAG, "文件大小不能小于 0");
ALog.e(TAG, "文件大小不能小于 0");
return this;
}
if (mEntity.getFileSize() <= 1 || mEntity.getFileSize() != fileSize) {

@ -24,6 +24,7 @@ import com.arialyy.aria.core.download.downloader.FtpDirDownloadUtil;
import com.arialyy.aria.core.inf.AbsGroupTask;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.scheduler.ISchedulers;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CheckUtil;
/**
@ -47,6 +48,7 @@ public class DownloadGroupTask extends AbsGroupTask<DownloadGroupTaskEntity> {
mUtil = new FtpDirDownloadUtil(mListener, mTaskEntity);
break;
}
Log.d(TAG, "FTP_TASK_MD5:" + mTaskEntity.hashCode());
}
@Override public boolean isRunning() {
@ -59,7 +61,7 @@ public class DownloadGroupTask extends AbsGroupTask<DownloadGroupTaskEntity> {
@Override public void start() {
if (mUtil.isRunning()) {
Log.d(TAG, "任务正在下载");
ALog.d(TAG, "任务正在下载");
} else {
mUtil.start();
}

@ -18,12 +18,12 @@ package com.arialyy.aria.core.download;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.common.IUtil;
import com.arialyy.aria.core.download.downloader.SimpleDownloadUtil;
import com.arialyy.aria.core.inf.AbsNormalTask;
import com.arialyy.aria.core.scheduler.ISchedulers;
import com.arialyy.aria.util.ALog;
import java.io.File;
/**
@ -115,7 +115,7 @@ public class DownloadTask extends AbsNormalTask<DownloadTaskEntity> {
@Override public void start() {
mListener.isWait = false;
if (mUtil.isRunning()) {
Log.d(TAG, "任务正在下载");
ALog.d(TAG, "任务正在下载");
} else {
mUtil.start();
}

@ -19,6 +19,7 @@ import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
/**
@ -34,6 +35,7 @@ public class FtpDirDownloadTarget
mTargetName = targetName;
mTaskEntity.urlEntity = CommonUtil.getFtpUrlInfo(url);
mTaskEntity.requestType = AbsTaskEntity.FTP_DIR;
Log.d(TAG, "FTP_TARGET_MD5:" + mTaskEntity.hashCode());
}
private void init(String key) {
@ -77,10 +79,10 @@ public class FtpDirDownloadTarget
*/
public FtpDirDownloadTarget login(String userName, String password, String account) {
if (TextUtils.isEmpty(userName)) {
Log.e(TAG, "用户名不能为null");
ALog.e(TAG, "用户名不能为null");
return this;
} else if (TextUtils.isEmpty(password)) {
Log.e(TAG, "密码不能为null");
ALog.e(TAG, "密码不能为null");
return this;
}
mTaskEntity.urlEntity.needLogin = true;

@ -19,6 +19,7 @@ import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.io.File;
@ -100,10 +101,10 @@ public class FtpDownloadTarget extends DownloadTarget {
*/
public FtpDownloadTarget login(String userName, String password, String account) {
if (TextUtils.isEmpty(userName)) {
Log.e(TAG, "用户名不能为null");
ALog.e(TAG, "用户名不能为null");
return this;
} else if (TextUtils.isEmpty(password)) {
Log.e(TAG, "密码不能为null");
ALog.e(TAG, "密码不能为null");
return this;
}
mTaskEntity.urlEntity.needLogin = true;

@ -15,8 +15,8 @@
*/
package com.arialyy.aria.core.download.downloader;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.FtpUrlEntity;
import com.arialyy.aria.core.common.IUtil;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
@ -24,6 +24,7 @@ import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.inf.IDownloadListener;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import com.arialyy.aria.util.NetUtils;
import java.io.File;
@ -201,11 +202,11 @@ public abstract class AbsGroupUtil implements IUtil {
DownloadTaskEntity entity = mTasksMap.get(url);
if (entity != null) {
if (entity.getState() == IEntity.STATE_COMPLETE) {
Log.w(TAG, "任务【" + url + "】已完成," + type + "失败");
ALog.w(TAG, "任务【" + url + "】已完成," + type + "失败");
return false;
}
} else {
Log.w(TAG, "任务组中没有该任务【" + url + "】," + type + "失败");
ALog.w(TAG, "任务组中没有该任务【" + url + "】," + type + "失败");
return false;
}
return true;
@ -387,7 +388,7 @@ public abstract class AbsGroupUtil implements IUtil {
if (taskEntity != null) {
taskEntity.entity = entity;
//ftp登录的
taskEntity.urlEntity = mTaskEntity.urlEntity;
taskEntity.urlEntity = createFtpUrlEntity(entity);
mTasksMap.put(entity.getUrl(), taskEntity);
return taskEntity;
}
@ -401,13 +402,18 @@ public abstract class AbsGroupUtil implements IUtil {
taskEntity.isGroupTask = true;
taskEntity.requestType = mTaskEntity.requestType;
//ftp登录的
taskEntity.urlEntity = mTaskEntity.urlEntity;
taskEntity.key = entity.getDownloadPath();
taskEntity.urlEntity = createFtpUrlEntity(entity);
taskEntity.save();
mTasksMap.put(entity.getUrl(), taskEntity);
return taskEntity;
}
private FtpUrlEntity createFtpUrlEntity(DownloadEntity entity) {
FtpUrlEntity urlEntity = CommonUtil.getFtpUrlInfo(entity.getUrl());
urlEntity.validAddr = mTaskEntity.urlEntity.validAddr;
return urlEntity;
}
/**
* 子任务事件监听
*/

@ -15,7 +15,6 @@
*/
package com.arialyy.aria.core.download.downloader;
import android.util.Log;
import com.arialyy.aria.core.common.AbsFileer;
import com.arialyy.aria.core.common.AbsThreadTask;
import com.arialyy.aria.core.common.SubThreadConfig;
@ -24,6 +23,7 @@ import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.inf.IDownloadListener;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.BufferedRandomAccessFile;
import com.arialyy.aria.util.CommonUtil;
import com.arialyy.aria.util.ErrorHelp;
@ -102,7 +102,7 @@ class Downloader extends AbsFileer<DownloadEntity, DownloadTaskEntity> {
private void failDownload(String errorMsg) {
closeTimer();
Log.e(TAG, errorMsg);
ALog.e(TAG, errorMsg);
mConstance.isRunning = false;
mListener.onFail(false);
ErrorHelp.saveError("", mEntity, "", errorMsg);

@ -15,6 +15,7 @@
*/
package com.arialyy.aria.core.download.downloader;
import com.arialyy.aria.core.FtpUrlEntity;
import com.arialyy.aria.core.common.AbsFtpInfoThread;
import com.arialyy.aria.core.common.OnFileInfoCallback;
import com.arialyy.aria.core.download.DownloadEntity;
@ -52,8 +53,10 @@ class FtpDirInfoThread extends AbsFtpInfoThread<DownloadGroupEntity, DownloadGro
}
private void addEntity(String remotePath, FTPFile ftpFile) {
final FtpUrlEntity urlEntity = mTaskEntity.urlEntity;
DownloadEntity entity = new DownloadEntity();
entity.setUrl(mTaskEntity.urlEntity.url);
entity.setUrl(
urlEntity.protocol + "://" + urlEntity.hostName + ":" + urlEntity.port + remotePath);
entity.setDownloadPath(mEntity.getDirPath() + "/" + remotePath);
int lastIndex = remotePath.lastIndexOf("/");
String fileName = lastIndex < 0 ? CommonUtil.keyToHashKey(remotePath)

@ -15,13 +15,13 @@
*/
package com.arialyy.aria.core.download.downloader;
import android.util.Log;
import com.arialyy.aria.core.common.AbsFtpThreadTask;
import com.arialyy.aria.core.common.StateConstance;
import com.arialyy.aria.core.common.SubThreadConfig;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.inf.IDownloadListener;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.BufferedRandomAccessFile;
import java.io.File;
import java.io.IOException;
@ -48,7 +48,7 @@ class FtpThreadTask extends AbsFtpThreadTask<DownloadEntity, DownloadTaskEntity>
InputStream is = null;
BufferedRandomAccessFile file = null;
try {
Log.d(TAG, "任务【"
ALog.d(TAG, "任务【"
+ mConfig.TEMP_FILE.getName()
+ "】线程__"
+ mConfig.THREAD_ID
@ -90,7 +90,7 @@ class FtpThreadTask extends AbsFtpThreadTask<DownloadEntity, DownloadTaskEntity>
}
}
if (STATE.isCancel || STATE.isStop) return;
Log.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】线程__" + mConfig.THREAD_ID + "__下载完毕");
ALog.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】线程__" + mConfig.THREAD_ID + "__下载完毕");
writeConfig(true, 1);
STATE.COMPLETE_THREAD_NUM++;
if (STATE.isComplete()) {

@ -16,11 +16,11 @@
package com.arialyy.aria.core.download.downloader;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.common.OnFileInfoCallback;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.io.IOException;
import java.net.HttpURLConnection;
@ -127,7 +127,7 @@ class HttpFileInfoThread implements Runnable {
*/
private void handle302Turn(HttpURLConnection conn) throws IOException {
String newUrl = conn.getHeaderField(mTaskEntity.redirectUrlKey);
Log.d(TAG, "30x跳转,location【 " + mTaskEntity.redirectUrlKey + "】" + "新url为【" + newUrl + "】");
ALog.d(TAG, "30x跳转,location【 " + mTaskEntity.redirectUrlKey + "】" + "新url为【" + newUrl + "】");
if (TextUtils.isEmpty(newUrl) || newUrl.equalsIgnoreCase("null")) {
if (onFileInfoListener != null) {
onFileInfoListener.onFail(mEntity.getUrl(), "获取重定向链接失败", false);
@ -163,7 +163,7 @@ class HttpFileInfoThread implements Runnable {
}
private void failDownload(String errorMsg, boolean needRetry) {
Log.e(TAG, errorMsg);
ALog.e(TAG, errorMsg);
if (onFileInfoListener != null) {
onFileInfoListener.onFail(mEntity.getUrl(), errorMsg, needRetry);
}

@ -15,19 +15,18 @@
*/
package com.arialyy.aria.core.download.downloader;
import android.util.Log;
import com.arialyy.aria.core.common.AbsThreadTask;
import com.arialyy.aria.core.common.StateConstance;
import com.arialyy.aria.core.common.SubThreadConfig;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.inf.IDownloadListener;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.BufferedRandomAccessFile;
import com.arialyy.aria.util.CommonUtil;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
@ -54,7 +53,7 @@ final class HttpThreadTask extends AbsThreadTask<DownloadEntity, DownloadTaskEnt
URL url = new URL(CommonUtil.convertUrl(mConfig.URL));
conn = ConnectionHelp.handleConnection(url);
if (mConfig.SUPPORT_BP) {
Log.d(TAG, "任务【"
ALog.d(TAG, "任务【"
+ mConfig.TEMP_FILE.getName()
+ "】线程__"
+ mConfig.THREAD_ID
@ -67,7 +66,7 @@ final class HttpThreadTask extends AbsThreadTask<DownloadEntity, DownloadTaskEnt
conn.setRequestProperty("Range",
"bytes=" + mConfig.START_LOCATION + "-" + (mConfig.END_LOCATION - 1));
} else {
Log.w(TAG, "该下载不支持断点");
ALog.w(TAG, "该下载不支持断点");
}
conn = ConnectionHelp.setConnectParam(mConfig.TASK_ENTITY, conn);
conn.setConnectTimeout(STATE.CONNECT_TIME_OUT);
@ -90,7 +89,7 @@ final class HttpThreadTask extends AbsThreadTask<DownloadEntity, DownloadTaskEnt
if (STATE.isCancel || STATE.isStop) return;
//支持断点的处理
if (mConfig.SUPPORT_BP) {
Log.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】线程__" + mConfig.THREAD_ID + "__下载完毕");
ALog.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】线程__" + mConfig.THREAD_ID + "__下载完毕");
writeConfig(true, 1);
STATE.COMPLETE_THREAD_NUM++;
if (STATE.isComplete()) {
@ -102,7 +101,7 @@ final class HttpThreadTask extends AbsThreadTask<DownloadEntity, DownloadTaskEnt
mListener.onComplete();
}
} else {
Log.i(TAG, "下载任务完成");
ALog.i(TAG, "下载任务完成");
STATE.isRunning = false;
mListener.onComplete();
}

@ -16,10 +16,10 @@
package com.arialyy.aria.core.inf;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.command.normal.NormalCmdFactory;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
/**
@ -107,7 +107,7 @@ public abstract class AbsDownloadTarget<TARGET extends AbsTarget, ENTITY extends
*/
public void setRedirectUrlKey(String redirectUrlKey) {
if (TextUtils.isEmpty(redirectUrlKey)) {
Log.w("AbsDownloadTarget", "重定向后,新url的key不能为null");
ALog.e("AbsDownloadTarget", "重定向后,新url的key不能为null");
return;
}
mTaskEntity.redirectUrlKey = redirectUrlKey;

@ -17,7 +17,6 @@ package com.arialyy.aria.core.inf;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.command.ICmd;
import com.arialyy.aria.core.command.normal.CancelCmd;
@ -26,6 +25,7 @@ import com.arialyy.aria.core.common.RequestEnum;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.util.ArrayList;
import java.util.List;
@ -120,7 +120,7 @@ public abstract class AbsTarget<TARGET extends AbsTarget, ENTITY extends AbsEnti
*/
@Override public int getPercent() {
if (mEntity == null) {
Log.e("AbsTarget", "下载管理器中没有该任务");
ALog.e("AbsTarget", "下载管理器中没有该任务");
return 0;
}
if (mEntity.getFileSize() != 0) {

@ -50,8 +50,6 @@ public abstract class AbsTaskEntity<ENTITY extends AbsEntity> extends DbEntity {
* 账号和密码
*/
@Ignore public FtpUrlEntity urlEntity;
//@Ignore public String userName, userPw, account, serverIp;
//@Ignore public int port;
/**
* 刷新信息 {@code true} 重新刷新下载信息

@ -16,13 +16,13 @@
package com.arialyy.aria.core.queue;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.core.queue.pool.BaseCachePool;
import com.arialyy.aria.core.queue.pool.BaseExecutePool;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.NetUtils;
/**
@ -114,7 +114,7 @@ abstract class AbsTaskQueue<TASK extends AbsTask, TASK_ENTITY extends AbsTaskEnt
int oldMaxSize = getConfigMaxNum();
int diff = downloadNum - oldMaxSize;
if (oldMaxSize == downloadNum) {
Log.d(TAG, "设置的下载任务数和配置文件的下载任务数一直,跳过");
ALog.e(TAG, "设置的下载任务数和配置文件的下载任务数一直,跳过");
return;
}
//设置的任务数小于配置任务数
@ -154,39 +154,39 @@ abstract class AbsTaskQueue<TASK extends AbsTask, TASK_ENTITY extends AbsTaskEnt
}
@Override public void stopTask(TASK task) {
if (!task.isRunning()) Log.w(TAG, "停止任务失败,【任务已经停止】");
if (!task.isRunning()) ALog.w(TAG, "停止任务失败,【任务已经停止】");
if (mExecutePool.removeTask(task)) {
task.stop();
} else {
task.stop();
Log.w(TAG, "删除任务失败,【执行队列中没有该任务】");
ALog.w(TAG, "删除任务失败,【执行队列中没有该任务】");
}
}
@Override public void removeTaskFormQueue(String key) {
TASK task = mExecutePool.getTask(key);
if (task != null) {
Log.d(TAG, "从执行池删除任务,删除" + (mExecutePool.removeTask(task) ? "成功" : "失败"));
ALog.d(TAG, "从执行池删除任务,删除" + (mExecutePool.removeTask(task) ? "成功" : "失败"));
}
task = mCachePool.getTask(key);
if (task != null) {
Log.d(TAG, "从缓存池删除任务,删除" + (mCachePool.removeTask(task) ? "成功" : "失败"));
ALog.d(TAG, "从缓存池删除任务,删除" + (mCachePool.removeTask(task) ? "成功" : "失败"));
}
}
@Override public void reTryStart(TASK task) {
if (task == null) {
Log.w(TAG, "重试失败,task 为null");
ALog.e(TAG, "重试失败,task 为null");
return;
}
if (!NetUtils.isConnected(AriaManager.APP)) {
Log.w(TAG, "重试失败,网络未连接");
ALog.e(TAG, "重试失败,网络未连接");
return;
}
if (!task.isRunning()) {
task.start();
} else {
Log.w(TAG, "任务没有完全停止,重试下载失败");
ALog.e(TAG, "任务没有完全停止,重试下载失败");
}
}

@ -17,15 +17,14 @@
package com.arialyy.aria.core.queue;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.download.DownloadGroupEntity;
import com.arialyy.aria.core.download.DownloadGroupTask;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
import com.arialyy.aria.core.queue.pool.BaseCachePool;
import com.arialyy.aria.core.queue.pool.BaseExecutePool;
import com.arialyy.aria.core.queue.pool.DownloadSharePool;
import com.arialyy.aria.core.scheduler.DownloadGroupSchedulers;
import com.arialyy.aria.util.ALog;
/**
* Created by AriaL on 2017/6/29.
@ -65,7 +64,7 @@ public class DownloadGroupTaskQueue
entity.key = entity.getEntity().getGroupName();
mCachePool.putTask(task);
} else {
Log.e(TAG, "target name 为 null!!");
ALog.e(TAG, "target name 为 null!!");
}
return task;
}

@ -17,15 +17,14 @@
package com.arialyy.aria.core.queue;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.queue.pool.BaseCachePool;
import com.arialyy.aria.core.queue.pool.BaseExecutePool;
import com.arialyy.aria.core.queue.pool.DownloadSharePool;
import com.arialyy.aria.core.scheduler.DownloadSchedulers;
import com.arialyy.aria.util.ALog;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
@ -75,7 +74,7 @@ public class DownloadTaskQueue
DownloadTask temp = exeTasks.get(key);
if (temp != null && temp.isRunning() && temp.isHighestPriorityTask() && !temp.getKey()
.equals(task.getKey())) {
Log.e(TAG, "设置最高优先级任务失败,失败原因【任务中已经有最高优先级任务,请等待上一个最高优先级任务完成,或手动暂停该任务】");
ALog.e(TAG, "设置最高优先级任务失败,失败原因【任务中已经有最高优先级任务,请等待上一个最高优先级任务完成,或手动暂停该任务】");
task.setHighestPriority(false);
return;
}
@ -126,7 +125,7 @@ public class DownloadTaskQueue
entity.key = entity.getEntity().getDownloadPath();
mCachePool.putTask(task);
} else {
Log.e(TAG, "target name 为 null!!");
ALog.e(TAG, "target name 为 null!!");
}
return task;

@ -17,15 +17,14 @@
package com.arialyy.aria.core.queue;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.queue.pool.BaseCachePool;
import com.arialyy.aria.core.queue.pool.BaseExecutePool;
import com.arialyy.aria.core.queue.pool.UploadSharePool;
import com.arialyy.aria.core.scheduler.UploadSchedulers;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.core.upload.UploadTask;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.util.ALog;
/**
* Created by lyy on 2017/2/27.
@ -67,7 +66,7 @@ public class UploadTaskQueue extends AbsTaskQueue<UploadTask, UploadTaskEntity>
entity.key = entity.getEntity().getFilePath();
mCachePool.putTask(task);
} else {
Log.e(TAG, "target name 为 null是!!");
ALog.e(TAG, "target name 为 null是!!");
}
return task;
}

@ -17,12 +17,10 @@
package com.arialyy.aria.core.queue.pool;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.core.inf.ITask;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
@ -87,16 +85,16 @@ public class BaseCachePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public boolean putTask(TASK task) {
synchronized (AriaManager.LOCK) {
if (task == null) {
Log.e(TAG, "下载任务不能为空!!");
ALog.e(TAG, "下载任务不能为空!!");
return false;
}
String url = task.getKey();
if (mCacheQueue.contains(task)) {
Log.w(TAG, "队列中已经包含了该任务,任务下载链接【" + url + "】");
ALog.w(TAG, "队列中已经包含了该任务,任务下载链接【" + url + "】");
return false;
} else {
boolean s = mCacheQueue.offer(task);
Log.d(TAG, "任务添加" + (s ? "成功" : "失败,【" + url + "】"));
ALog.d(TAG, "任务添加" + (s ? "成功" : "失败,【" + url + "】"));
if (s) {
mCacheMap.put(CommonUtil.keyToHashKey(url), task);
}
@ -125,7 +123,7 @@ public class BaseCachePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public TASK getTask(String downloadUrl) {
synchronized (AriaManager.LOCK) {
if (TextUtils.isEmpty(downloadUrl)) {
Log.e(TAG, "请传入有效的下载链接");
ALog.e(TAG, "请传入有效的下载链接");
return null;
}
String key = CommonUtil.keyToHashKey(downloadUrl);
@ -136,7 +134,7 @@ public class BaseCachePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public boolean removeTask(TASK task) {
synchronized (AriaManager.LOCK) {
if (task == null) {
Log.e(TAG, "任务不能为空");
ALog.e(TAG, "任务不能为空");
return false;
} else {
String key = CommonUtil.keyToHashKey(task.getKey());
@ -149,7 +147,7 @@ public class BaseCachePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public boolean removeTask(String downloadUrl) {
synchronized (AriaManager.LOCK) {
if (TextUtils.isEmpty(downloadUrl)) {
Log.e(TAG, "请传入有效的下载链接");
ALog.e(TAG, "请传入有效的下载链接");
return false;
}
String key = CommonUtil.keyToHashKey(downloadUrl);

@ -17,9 +17,9 @@
package com.arialyy.aria.core.queue.pool;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.util.Map;
import java.util.concurrent.ArrayBlockingQueue;
@ -62,12 +62,12 @@ public class BaseExecutePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public boolean putTask(TASK task) {
synchronized (AriaManager.LOCK) {
if (task == null) {
Log.e(TAG, "任务不能为空!!");
ALog.e(TAG, "任务不能为空!!");
return false;
}
String url = task.getKey();
if (mExecuteQueue.contains(task)) {
Log.e(TAG, "队列中已经包含了该任务,任务key【" + url + "】");
ALog.e(TAG, "队列中已经包含了该任务,任务key【" + url + "】");
return false;
} else {
if (mExecuteQueue.size() >= mSize) {
@ -112,7 +112,7 @@ public class BaseExecutePool<TASK extends AbsTask> implements IPool<TASK> {
synchronized (AriaManager.LOCK) {
String url = newTask.getKey();
boolean s = mExecuteQueue.offer(newTask);
Log.w(TAG, "任务添加" + (s ? "成功" : "失败,【" + url + "】"));
ALog.d(TAG, "任务添加" + (s ? "成功" : "失败,【" + url + "】"));
if (s) {
mExecuteMap.put(CommonUtil.keyToHashKey(url), newTask);
}
@ -128,7 +128,7 @@ public class BaseExecutePool<TASK extends AbsTask> implements IPool<TASK> {
try {
TASK oldTask = mExecuteQueue.poll(TIME_OUT, TimeUnit.MICROSECONDS);
if (oldTask == null) {
Log.e(TAG, "移除任务失败");
ALog.w(TAG, "移除任务失败");
return false;
}
oldTask.stop();
@ -162,7 +162,7 @@ public class BaseExecutePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public TASK getTask(String key) {
synchronized (AriaManager.LOCK) {
if (TextUtils.isEmpty(key)) {
Log.e(TAG, "请传入有效的任务key");
ALog.e(TAG, "请传入有效的任务key");
return null;
}
return mExecuteMap.get(CommonUtil.keyToHashKey(key));
@ -172,7 +172,7 @@ public class BaseExecutePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public boolean removeTask(TASK task) {
synchronized (AriaManager.LOCK) {
if (task == null) {
Log.e(TAG, "任务不能为空");
ALog.e(TAG, "任务不能为空");
return false;
} else {
return removeTask(task.getKey());
@ -183,7 +183,7 @@ public class BaseExecutePool<TASK extends AbsTask> implements IPool<TASK> {
@Override public boolean removeTask(String key) {
synchronized (AriaManager.LOCK) {
if (TextUtils.isEmpty(key)) {
Log.e(TAG, "请传入有效的任务key");
ALog.e(TAG, "请传入有效的任务key");
return false;
}
String convertKey = CommonUtil.keyToHashKey(key);

@ -15,9 +15,9 @@
*/
package com.arialyy.aria.core.queue.pool;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.inf.AbsTask;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@ -36,13 +36,13 @@ class DownloadExecutePool<TASK extends AbsTask> extends BaseExecutePool<TASK> {
@Override public boolean putTask(TASK task) {
synchronized (AriaManager.LOCK) {
if (task == null) {
Log.e(TAG, "任务不能为空!!");
ALog.e(TAG, "任务不能为空!!");
return false;
}
String url = task.getKey();
if (mExecuteQueue.contains(task)) {
if (!task.isRunning()) return true;
Log.e(TAG, "队列中已经包含了该任务,任务key【" + url + "】");
ALog.e(TAG, "队列中已经包含了该任务,任务key【" + url + "】");
return false;
} else {
if (mExecuteQueue.size() >= mSize) {
@ -65,7 +65,7 @@ class DownloadExecutePool<TASK extends AbsTask> extends BaseExecutePool<TASK> {
try {
TASK oldTask = mExecuteQueue.poll(TIME_OUT, TimeUnit.MICROSECONDS);
if (oldTask == null) {
Log.e(TAG, "移除任务失败");
ALog.e(TAG, "移除任务失败");
return false;
}
if (oldTask.isHighestPriorityTask()) {

@ -17,7 +17,6 @@ package com.arialyy.aria.core.scheduler;
import android.os.CountDownTimer;
import android.os.Message;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.core.inf.AbsEntity;
@ -28,6 +27,7 @@ import com.arialyy.aria.core.inf.GroupSendParams;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.core.queue.ITaskQueue;
import com.arialyy.aria.core.upload.UploadTask;
import com.arialyy.aria.util.ALog;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@ -60,7 +60,7 @@ abstract class AbsSchedulers<TASK_ENTITY extends AbsTaskEntity, TASK extends Abs
listener.setListener(obj);
mObservers.put(targetName, listener);
} else {
Log.e(TAG, "注册错误,没有【" + targetName + "】观察者");
ALog.e(TAG, "注册错误,没有【" + targetName + "】观察者");
}
}
}
@ -84,11 +84,11 @@ abstract class AbsSchedulers<TASK_ENTITY extends AbsTaskEntity, TASK extends Abs
Class clazz = Class.forName(targetName + getProxySuffix());
listener = (AbsSchedulerListener<TASK, AbsNormalEntity>) clazz.newInstance();
} catch (ClassNotFoundException e) {
Log.e(TAG, targetName + ",没有Aria的Download或Upload注解方法");
ALog.e(TAG, targetName + ",没有Aria的Download或Upload注解方法");
} catch (InstantiationException e) {
Log.e(TAG, e.getMessage());
ALog.e(TAG, e.getMessage());
} catch (IllegalAccessException e) {
Log.e(TAG, e.getMessage());
ALog.e(TAG, e.getMessage());
}
return listener;
}
@ -100,7 +100,7 @@ abstract class AbsSchedulers<TASK_ENTITY extends AbsTaskEntity, TASK extends Abs
TASK task = (TASK) msg.obj;
if (task == null) {
Log.e(TAG, "请传入下载任务");
ALog.e(TAG, "请传入下载任务");
return true;
}
handleNormalEvent(task, msg.what);
@ -190,7 +190,7 @@ abstract class AbsSchedulers<TASK_ENTITY extends AbsTaskEntity, TASK extends Abs
AbsSchedulerListener<TASK, AbsNormalEntity> listener) {
if (listener != null) {
if (task == null) {
Log.e(TAG, "TASK 为null,回调失败");
ALog.e(TAG, "TASK 为null,回调失败");
return;
}
switch (state) {
@ -275,7 +275,7 @@ abstract class AbsSchedulers<TASK_ENTITY extends AbsTaskEntity, TASK extends Abs
private void startNextTask() {
TASK newTask = mQueue.getNextTask();
if (newTask == null) {
Log.w(TAG, "没有下一任务");
ALog.d(TAG, "没有下一任务");
return;
}
if (newTask.getState() == IEntity.STATE_WAIT) {

@ -17,11 +17,11 @@ package com.arialyy.aria.core.upload;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.FtpUrlEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
import com.arialyy.aria.core.inf.AbsUploadTarget;
import com.arialyy.aria.orm.DbEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CheckUtil;
import com.arialyy.aria.util.CommonUtil;
import java.io.File;
@ -87,10 +87,10 @@ public class FtpUploadTarget
*/
public FtpUploadTarget login(String userName, String password, String account) {
if (TextUtils.isEmpty(userName)) {
Log.e(TAG, "用户名不能为null");
ALog.e(TAG, "用户名不能为null");
return this;
} else if (TextUtils.isEmpty(password)) {
Log.e(TAG, "密码不能为null");
ALog.e(TAG, "密码不能为null");
return this;
}
mTaskEntity.urlEntity.needLogin = true;

@ -15,13 +15,13 @@
*/
package com.arialyy.aria.core.upload.uploader;
import android.util.Log;
import com.arialyy.aria.core.common.AbsFtpThreadTask;
import com.arialyy.aria.core.common.StateConstance;
import com.arialyy.aria.core.common.SubThreadConfig;
import com.arialyy.aria.core.inf.IEventListener;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.BufferedRandomAccessFile;
import java.io.File;
import java.io.IOException;
@ -49,7 +49,7 @@ class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
FTPClient client = null;
BufferedRandomAccessFile file = null;
try {
Log.d(TAG, "任务【"
ALog.d(TAG, "任务【"
+ mConfig.TEMP_FILE.getName()
+ "】线程__"
+ mConfig.THREAD_ID
@ -71,7 +71,7 @@ class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
}
upload(client, file);
if (STATE.isCancel || STATE.isStop) return;
Log.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】线程__" + mConfig.THREAD_ID + "__上传完毕");
ALog.i(TAG, "任务【" + mConfig.TEMP_FILE.getName() + "】线程__" + mConfig.THREAD_ID + "__上传完毕");
writeConfig(true, 1);
STATE.COMPLETE_THREAD_NUM++;
if (STATE.isComplete()) {

@ -15,13 +15,13 @@
*/
package com.arialyy.aria.core.upload.uploader;
import android.util.Log;
import com.arialyy.aria.core.common.AbsThreadTask;
import com.arialyy.aria.core.common.StateConstance;
import com.arialyy.aria.core.common.SubThreadConfig;
import com.arialyy.aria.core.inf.IUploadListener;
import com.arialyy.aria.core.upload.UploadEntity;
import com.arialyy.aria.core.upload.UploadTaskEntity;
import com.arialyy.aria.util.ALog;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@ -56,7 +56,7 @@ class HttpThreadTask extends AbsThreadTask<UploadEntity, UploadTaskEntity> {
@Override public void run() {
File uploadFile = new File(mEntity.getFilePath());
if (!uploadFile.exists()) {
Log.e(TAG, "【" + mEntity.getFilePath() + "】,文件不存在。");
ALog.e(TAG, "【" + mEntity.getFilePath() + "】,文件不存在。");
fail();
return;
}
@ -89,7 +89,7 @@ class HttpThreadTask extends AbsThreadTask<UploadEntity, UploadTaskEntity> {
addFormField(writer, key, mTaskEntity.formFields.get(key));
}
uploadFile(writer, mTaskEntity.attachment, uploadFile);
Log.d(TAG, finish(writer) + "");
finish(writer);
} catch (IOException e) {
e.printStackTrace();
fail();
@ -193,7 +193,7 @@ class HttpThreadTask extends AbsThreadTask<UploadEntity, UploadTaskEntity> {
reader.close();
mHttpConn.disconnect();
} else {
Log.w(TAG, "state_code = " + status);
ALog.w(TAG, "state_code = " + status);
fail();
}

@ -21,8 +21,8 @@ import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.NonNull;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CheckUtil;
import com.arialyy.aria.util.CommonUtil;
import java.util.List;
@ -203,10 +203,10 @@ public class DbUtil {
synchronized int getRowId(Class clazz, Object[] wheres, Object[] values) {
checkDb();
if (wheres.length <= 0 || values.length <= 0) {
Log.e(TAG, "请输入删除条件");
ALog.e(TAG, "请输入删除条件");
return -1;
} else if (wheres.length != values.length) {
Log.e(TAG, "groupName 和 vaule 长度不相等");
ALog.e(TAG, "groupName 和 vaule 长度不相等");
return -1;
}
StringBuilder sb = new StringBuilder();

@ -22,8 +22,8 @@ import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CheckUtil;
import com.arialyy.aria.util.CommonUtil;
import java.lang.reflect.Field;
@ -96,10 +96,10 @@ final class SqlHelper extends SQLiteOpenHelper {
*/
private void handleDbUpdate(SQLiteDatabase db) {
if (db == null) {
Log.d("SqlHelper", "db 为 null");
ALog.e("SqlHelper", "db 为 null");
return;
} else if (!db.isOpen()) {
Log.d("SqlHelper", "db已关闭");
ALog.e("SqlHelper", "db已关闭");
return;
}
Set<String> tables = DBConfig.mapping.keySet();
@ -206,10 +206,10 @@ final class SqlHelper extends SQLiteOpenHelper {
Class<T> clazz, @NonNull String[] wheres, @NonNull String[] values) {
db = checkDb(db);
if (wheres.length <= 0 || values.length <= 0) {
Log.e(TAG, "请输入查询条件");
ALog.e(TAG, "请输入查询条件");
return null;
} else if (wheres.length != values.length) {
Log.e(TAG, "groupName 和 vaule 长度不相等");
ALog.e(TAG, "groupName 和 vaule 长度不相等");
return null;
}
StringBuilder sb = new StringBuilder();
@ -517,7 +517,7 @@ final class SqlHelper extends SQLiteOpenHelper {
str = "遍历整个数据库 >>>> ";
break;
}
Log.v(TAG, str + sql);
ALog.v(TAG, str + sql);
}
/**

@ -0,0 +1,90 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.arialyy.aria.util;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
/**
* Created by Aria.Lao on 2017/10/25.
* Aria日志工具
*/
public class ALog {
public static int LOG_LEVEL = AriaManager.LOG_DEFAULT;
public static int v(String tag, String msg) {
return println(Log.VERBOSE, tag, msg);
}
public static int d(String tag, String msg) {
return println(Log.DEBUG, tag, msg);
}
public static int i(String tag, String msg) {
return println(Log.INFO, tag, msg);
}
public static int w(String tag, String msg) {
return println(Log.WARN, tag, msg);
}
public static int e(String tag, String msg) {
return println(Log.ERROR, tag, msg);
}
public static int e(String tag, Throwable e) {
return println(Log.ERROR, tag, getExceptionString(e));
}
/**
* 将异常信息转换为字符串
*/
public static String getExceptionString(Throwable ex) {
StringBuilder err = new StringBuilder();
err.append("ExceptionDetailed:\n");
err.append("====================Exception Info====================\n");
err.append(ex.toString());
err.append("\n");
StackTraceElement[] stack = ex.getStackTrace();
for (StackTraceElement stackTraceElement : stack) {
err.append(stackTraceElement.toString()).append("\n");
}
Throwable cause = ex.getCause();
if (cause != null) {
err.append("【Caused by】: ");
err.append(cause.toString());
err.append("\n");
StackTraceElement[] stackTrace = cause.getStackTrace();
for (StackTraceElement stackTraceElement : stackTrace) {
err.append(stackTraceElement.toString()).append("\n");
}
}
err.append("===================================================");
return err.toString();
}
private static int println(int level, String tag, String msg) {
if (LOG_LEVEL <= level) {
return Log.println(level, tag, TextUtils.isEmpty(msg) ? "null" : msg);
} else {
return -1;
}
}
}

@ -17,7 +17,6 @@
package com.arialyy.aria.util;
import android.text.TextUtils;
import android.util.Log;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTaskEntity;
import com.arialyy.aria.core.inf.AbsTaskEntity;
@ -135,20 +134,20 @@ public class CheckUtil {
if (entity instanceof DownloadTaskEntity) {
DownloadEntity entity1 = ((DownloadTaskEntity) entity).getEntity();
if (entity1 == null) {
Log.e(TAG, "下载实体不能为空");
ALog.e(TAG, "下载实体不能为空");
} else if (checkType && TextUtils.isEmpty(entity1.getUrl())) {
Log.e(TAG, "下载链接不能为空");
ALog.e(TAG, "下载链接不能为空");
} else if (checkType && TextUtils.isEmpty(entity1.getDownloadPath())) {
Log.e(TAG, "保存路径不能为空");
ALog.e(TAG, "保存路径不能为空");
} else {
b = true;
}
} else if (entity instanceof UploadTaskEntity) {
UploadEntity entity1 = ((UploadTaskEntity) entity).getEntity();
if (entity1 == null) {
Log.e(TAG, "上传实体不能为空");
ALog.e(TAG, "上传实体不能为空");
} else if (TextUtils.isEmpty(entity1.getFilePath())) {
Log.e(TAG, "上传文件路径不能为空");
ALog.e(TAG, "上传文件路径不能为空");
} else {
b = true;
}

@ -22,7 +22,6 @@ import android.content.SharedPreferences;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Base64;
import android.util.Log;
import com.arialyy.aria.core.AriaManager;
import com.arialyy.aria.core.FtpUrlEntity;
import com.arialyy.aria.core.command.ICmd;
@ -251,7 +250,7 @@ public class CommonUtil {
md.update(sb.toString().getBytes());
md5 = new BigInteger(1, md.digest()).toString(16);
} catch (NoSuchAlgorithmException e) {
Log.e(TAG, e.getMessage());
ALog.e(TAG, e.getMessage());
}
return md5;
}
@ -356,12 +355,12 @@ public class CommonUtil {
File dir = new File("/sys/devices/system/cpu/");
//Filter to only list the devices we care about
File[] files = dir.listFiles(new CpuFilter());
Log.d(TAG, "CPU Count: " + files.length);
ALog.d(TAG, "CPU Count: " + files.length);
//Return the number of cores (virtual CPU devices)
return files.length;
} catch (Exception e) {
//Print exception
Log.d(TAG, "CPU Count: Failed.");
ALog.d(TAG, "CPU Count: Failed.");
e.printStackTrace();
//Default to return 1 core
return 1;
@ -391,13 +390,13 @@ public class CommonUtil {
*/
public static boolean checkMD5(String md5, File updateFile) {
if (TextUtils.isEmpty(md5) || updateFile == null) {
Log.e(TAG, "MD5 string empty or updateFile null");
ALog.e(TAG, "MD5 string empty or updateFile null");
return false;
}
String calculatedDigest = getFileMD5(updateFile);
if (calculatedDigest == null) {
Log.e(TAG, "calculatedDigest null");
ALog.e(TAG, "calculatedDigest null");
return false;
}
return calculatedDigest.equalsIgnoreCase(md5);
@ -408,13 +407,13 @@ public class CommonUtil {
*/
public static boolean checkMD5(String md5, InputStream is) {
if (TextUtils.isEmpty(md5) || is == null) {
Log.e(TAG, "MD5 string empty or updateFile null");
ALog.e(TAG, "MD5 string empty or updateFile null");
return false;
}
String calculatedDigest = getFileMD5(is);
if (calculatedDigest == null) {
Log.e(TAG, "calculatedDigest null");
ALog.e(TAG, "calculatedDigest null");
return false;
}
return calculatedDigest.equalsIgnoreCase(md5);
@ -428,7 +427,7 @@ public class CommonUtil {
try {
is = new FileInputStream(updateFile);
} catch (FileNotFoundException e) {
Log.e(TAG, "Exception while getting FileInputStream", e);
ALog.e(TAG, e);
return null;
}
@ -443,7 +442,7 @@ public class CommonUtil {
try {
digest = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
Log.e(TAG, "Exception while getting digest", e);
ALog.e(TAG, e);
return null;
}
@ -465,7 +464,7 @@ public class CommonUtil {
try {
is.close();
} catch (IOException e) {
Log.e(TAG, "Exception on closing MD5 input stream", e);
ALog.e(TAG, e);
}
}
}
@ -699,7 +698,7 @@ public class CommonUtil {
File file = new File(path);
if (!file.exists()) {
if (!file.mkdirs()) {
Log.d(TAG, "创建失败,请检查路径和是否配置文件权限!");
ALog.d(TAG, "创建失败,请检查路径和是否配置文件权限!");
return false;
}
return true;
@ -714,14 +713,14 @@ public class CommonUtil {
*/
public static void createFile(String path) {
if (TextUtils.isEmpty(path)) {
Log.e(TAG, "文件路径不能为null");
ALog.e(TAG, "文件路径不能为null");
return;
}
File file = new File(path);
if (!file.getParentFile().exists()) {
Log.d(TAG, "目标文件所在路径不存在,准备创建……");
ALog.d(TAG, "目标文件所在路径不存在,准备创建……");
if (!createDir(file.getParent())) {
Log.d(TAG, "创建目录文件所在的目录失败!文件路径【" + path + "】");
ALog.d(TAG, "创建目录文件所在的目录失败!文件路径【" + path + "】");
}
}
// 创建目标文件
@ -732,7 +731,7 @@ public class CommonUtil {
}
try {
if (file.createNewFile()) {
Log.d(TAG, "创建文件成功:" + file.getAbsolutePath());
ALog.d(TAG, "创建文件成功:" + file.getAbsolutePath());
}
} catch (IOException e) {
e.printStackTrace();

@ -36,7 +36,9 @@ import java.io.File;
*/
public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding> {
//private final String URL = "ftp://192.168.1.9:21/下载/AriaPrj.zip";
private final String URL = "ftp://192.168.1.9:21/下载/[电影天堂www.dy2018.com]赛车总动员3BD中英双字.mp4";
//private final String URL = "ftp://192.168.1.9:21/下载/[电影天堂www.dy2018.com]赛车总动员3BD中英双字.mp4";
//private final String URL = "ftp://d:d@dygodj8.com:12311/[电影天堂www.dy2018.com]光辉岁月BD韩语中字.rmvb";
private final String URL = "ftp://172.18.104.64:21/upload/成都.mp3";
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
@ -58,8 +60,8 @@ public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding
switch (view.getId()) {
case R.id.start:
Aria.download(this).loadFtp(URL, true)
.charSet("GBK")
//.login("lao", "123456")
//.charSet("GBK")
.login("lao", "123456")
.setDownloadPath("/mnt/sdcard/").start();
break;
case R.id.stop:

@ -35,7 +35,7 @@ import com.arialyy.simple.widget.SubStateLinearLayout;
* Created by Aria.Lao on 2017/7/6.
*/
public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBinding> {
private static final String dir = "ftp://172.18.104.49:21/haha/";
private static final String dir = "ftp://172.18.104.64:21/haha/";
@Bind(R.id.child_list) SubStateLinearLayout mChildList;

@ -17,11 +17,10 @@ package com.arialyy.aria.core.upload;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.inf.AbsNormalTask;
import com.arialyy.aria.core.scheduler.ISchedulers;
import com.arialyy.aria.core.upload.uploader.SimpleUploadUtil;
import com.arialyy.aria.util.ALog;
/**
* Created by lyy on 2017/2/23.
@ -54,7 +53,7 @@ public class UploadTask extends AbsNormalTask<UploadTaskEntity> {
@Override public void start() {
if (mUtil.isRunning()) {
Log.d(TAG, "任务正在下载");
ALog.d(TAG, "任务正在下载");
} else {
mUtil.start();
}

Loading…
Cancel
Save