1.Ŀ®复了任务重试多次回调问题

2.移除路径被占用导致的崩溃问题
3.支持在任意类中使用回调
This commit is contained in:
laoyuyu
2018-04-19 21:14:38 +08:00
committed by laoyuyu
parent 618db821ed
commit 4d55b95a8d
27 changed files with 238 additions and 169 deletions

View File

@@ -15,10 +15,10 @@
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
<!--android:name=".MainActivity"-->
<!--android:name=".test.TestActivity"-->
<!--android:name=".test.AnyRunActivity"-->
<!--android:name=".test.TestGroupActivity"-->
<activity
android:name=".test.AnyRunActivity"
android:name=".test.TestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

View File

@@ -11,7 +11,7 @@
<maxTaskNum value="2"/>
<!--设置下载失败重试次数默认为10-->
<reTryNum value="1"/>
<reTryNum value="2"/>
<!--设置重试间隔单位为毫秒默认2000毫秒-->
<reTryInterval value="5000"/>

View File

@@ -1,15 +1,12 @@
package com.arialyy.simple.test;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import com.arialyy.annotations.Download;
import com.arialyy.annotations.Upload;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.common.RequestEnum;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.core.upload.UploadTask;
import com.arialyy.aria.util.CommonUtil;
import com.arialyy.frame.util.show.L;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityTestBinding;
@@ -21,7 +18,11 @@ import java.io.File;
public class TestActivity extends BaseActivity<ActivityTestBinding> {
String TAG = "TestActivity";
String URL = "http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
//String URL = "http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
//private final String URL = "ftp://192.168.1.3:21/download//AriaPrj.rar";
private final String FILE_PATH = "/mnt/sdcard/AriaPrj.rar";
//private final String URL = "ftp://192.168.29.140:21/aa//你好";
private final String URL = "http://192.168.29.140:5000/upload/";
@Override protected int setLayoutId() {
return R.layout.activity_test;
@@ -30,62 +31,55 @@ public class TestActivity extends BaseActivity<ActivityTestBinding> {
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mBar.setVisibility(View.GONE);
Aria.download(this).register();
Aria.upload(this).register();
}
@Download.onWait void onWait(DownloadTask task) {
Log.d(TAG, "wait ==> " + task.getDownloadEntity().getFileName());
@Upload.onWait void onWait(UploadTask task) {
Log.d(TAG, "wait ==> " + task.getEntity().getFileName());
}
@Download.onPre protected void onPre(DownloadTask task) {
@Upload.onPre protected void onPre(UploadTask task) {
Log.d(TAG, "onPre");
}
@Download.onTaskStart void taskStart(DownloadTask task) {
@Upload.onTaskStart void taskStart(UploadTask task) {
Log.d(TAG, "onStart");
}
@Download.onTaskRunning protected void running(DownloadTask task) {
@Upload.onTaskRunning protected void running(UploadTask task) {
Log.d(TAG, "running");
}
@Download.onTaskResume void taskResume(DownloadTask task) {
@Upload.onTaskResume void taskResume(UploadTask task) {
Log.d(TAG, "resume");
}
@Download.onTaskStop void taskStop(DownloadTask task) {
@Upload.onTaskStop void taskStop(UploadTask task) {
Log.d(TAG, "stop");
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
@Upload.onTaskCancel void taskCancel(UploadTask task) {
Log.d(TAG, "cancel");
}
@Download.onTaskFail void taskFail(DownloadTask task) {
@Upload.onTaskFail void taskFail(UploadTask task) {
Log.d(TAG, "fail");
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
L.d(TAG, "path ==> " + task.getDownloadEntity().getDownloadPath());
L.d(TAG, "md5Code ==> " + CommonUtil.getFileMD5(new File(task.getDownloadPath())));
@Upload.onTaskComplete void taskComplete(UploadTask task) {
Log.d(TAG, "complete, md5 => " + CommonUtil.getFileMD5(new File(task.getKey())));
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(this)
.load(URL)
.addHeader("Accept-Encoding", "gzip, deflate")
.setRequestMode(RequestEnum.GET)
.setFilePath(Environment.getExternalStorageDirectory().getPath() + "/ggsg1.apk")
.resetState()
.start();
Aria.upload(this).load(FILE_PATH).setUploadUrl(URL).setExtendField("韩寒哈大双").setAttachment("file").start();
break;
case R.id.stop:
Aria.download(this).load(URL).stop();
Aria.upload(this).load(FILE_PATH).stop();
break;
case R.id.cancel:
Aria.download(this).load(URL).cancel();
Aria.upload(this).load(FILE_PATH).cancel();
break;
}
}

View File

@@ -19,6 +19,7 @@ import java.util.List;
public class TestGroupActivity extends BaseActivity<ActivityTestBinding> {
List<String> mUrls;
private static final String dir = "ftp://192.168.1.8:21/upload/测试";
@Override protected int setLayoutId() {
return R.layout.activity_test;
@@ -74,17 +75,25 @@ public class TestGroupActivity extends BaseActivity<ActivityTestBinding> {
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
//Aria.download(this)
// .loadGroup(mUrls)
// .setDirPath(Environment.getExternalStorageDirectory().getPath() + "/download/test/")
// .resetState()
// .start();
Aria.download(this)
.loadGroup(mUrls)
.setDirPath(Environment.getExternalStorageDirectory().getPath() + "/download/test/")
.resetState()
.loadFtpDir(dir)
.setDirPath(
Environment.getExternalStorageDirectory().getPath() + "/Download/ftp_dir")
.setGroupAlias("ftp文件夹下载")
//.setSubTaskFileName(getModule(GroupModule.class).getSubName())
.login("lao", "123456")
.start();
break;
case R.id.stop:
Aria.download(this).loadGroup(mUrls).stop();
Aria.download(this).loadFtpDir(dir).stop();
break;
case R.id.cancel:
Aria.download(this).loadGroup(mUrls).cancel();
Aria.download(this).loadFtpDir(dir).cancel();
break;
}
}