Apt 下载事件完成

This commit is contained in:
AriaLyy
2017-06-07 20:15:05 +08:00
parent 8049af34e0
commit 603a21fe43
14 changed files with 261 additions and 197 deletions

View File

@ -133,15 +133,6 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
};
@Download.onPre void onPre(DownloadTask task) {
}
@Download.onTaskStart
void onStart(DownloadTask task){
}
/**
* 设置start 和 stop 按钮状态
*/
@ -152,7 +143,8 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
@Override protected void onResume() {
super.onResume();
Aria.download(this).addSchedulerListener(new MySchedulerListener());
Aria.download(this).register();
//Aria.download(this).addSchedulerListener(new MySchedulerListener());
//registerReceiver(mReceiver, getModule(DownloadModule.class).getDownloadFilter());
}
@ -172,6 +164,63 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
return true;
}
@Download.onPre protected void onPre(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_PRE, task.getDownloadEntity().getFileSize())
.sendToTarget();
}
}
@Download.onTaskStart void taskStart(DownloadTask task) {
//通过下载地址可以判断任务是否是你指定的任务
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_START, task.getDownloadEntity().getFileSize())
.sendToTarget();
}
}
@Download.onTaskRunning protected void running(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_RUNNING, task).sendToTarget();
}
}
@Download.onTaskResume void taskResume(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_START, task.getFileSize()).sendToTarget();
}
}
@Download.onTaskStop void taskStop(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_STOP);
}
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_CANCEL);
}
}
@Download.onTaskFail void taskFail(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_FAILE);
}
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_COMPLETE);
}
}
@Download.onNoSupportBreakPoint public void onNoSupportBreakPoint(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
T.showShort(SingleTaskActivity.this, "该下载链接不支持断点");
}
}
@Override protected int setLayoutId() {
return R.layout.activity_single;
}
@ -213,63 +262,4 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
break;
}
}
private class MySchedulerListener extends Aria.DownloadSchedulerListener {
@Override public void onPre(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_PRE, task.getDownloadEntity().getFileSize())
.sendToTarget();
}
}
@Override public void onNoSupportBreakPoint(DownloadTask task) {
super.onNoSupportBreakPoint(task);
T.showShort(SingleTaskActivity.this, "该下载链接不支持断点");
}
@Override public void onTaskStart(DownloadTask task) {
//通过下载地址可以判断任务是否是你指定的任务
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_START, task.getDownloadEntity().getFileSize())
.sendToTarget();
}
}
@Override public void onTaskResume(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_START, task.getFileSize()).sendToTarget();
}
}
@Override public void onTaskStop(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_STOP);
}
}
@Override public void onTaskCancel(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_CANCEL);
}
}
@Override public void onTaskFail(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_FAILE);
}
}
@Override public void onTaskComplete(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.sendEmptyMessage(DOWNLOAD_COMPLETE);
}
}
@Override public void onTaskRunning(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mUpdateHandler.obtainMessage(DOWNLOAD_RUNNING, task).sendToTarget();
}
}
}
}

View File

@ -21,6 +21,7 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import butterknife.Bind;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTask;
@ -58,51 +59,42 @@ public class MultiDownloadActivity extends BaseActivity<ActivityMultiDownloadBin
@Override protected void onResume() {
super.onResume();
Aria.download(this).addSchedulerListener(new MySchedulerListener());
//Aria.download(this).addSchedulerListener(new MySchedulerListener());
Aria.download(this).register();
}
private class MySchedulerListener extends Aria.DownloadSchedulerListener {
@Override public void onTaskPre(DownloadTask task) {
super.onTaskPre(task);
L.d(TAG, "download onPre");
mAdapter.updateState(task.getDownloadEntity());
}
@Download.onPre void onPre(DownloadTask task) {
L.d(TAG, "download onPre");
mAdapter.updateState(task.getDownloadEntity());
}
@Override public void onTaskStart(DownloadTask task) {
super.onTaskStart(task);
L.d(TAG, "download start");
mAdapter.updateState(task.getDownloadEntity());
}
@Download.onTaskStart void taskStart(DownloadTask task) {
L.d(TAG, "download start");
mAdapter.updateState(task.getDownloadEntity());
}
@Override public void onTaskResume(DownloadTask task) {
super.onTaskResume(task);
L.d(TAG, "download resume");
mAdapter.updateState(task.getDownloadEntity());
}
@Download.onTaskResume void taskResume(DownloadTask task) {
L.d(TAG, "download resume");
mAdapter.updateState(task.getDownloadEntity());
}
@Override public void onTaskRunning(DownloadTask task) {
super.onTaskRunning(task);
mAdapter.setProgress(task.getDownloadEntity());
}
@Download.onTaskStop void taskStop(DownloadTask task) {
mAdapter.updateState(task.getDownloadEntity());
}
@Override public void onTaskStop(DownloadTask task) {
super.onTaskStop(task);
mAdapter.updateState(task.getDownloadEntity());
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
mAdapter.updateState(task.getDownloadEntity());
}
@Override public void onTaskCancel(DownloadTask task) {
super.onTaskCancel(task);
mAdapter.updateState(task.getDownloadEntity());
}
@Download.onTaskFail void taskFail(DownloadTask task) {
L.d(TAG, "download fail");
}
@Override public void onTaskComplete(DownloadTask task) {
super.onTaskComplete(task);
mAdapter.updateState(task.getDownloadEntity());
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
mAdapter.updateState(task.getDownloadEntity());
}
@Override public void onTaskFail(DownloadTask task) {
super.onTaskFail(task);
L.d(TAG, "download fail");
}
@Download.onTaskRunning void taskRunning(DownloadTask task) {
mAdapter.setProgress(task.getDownloadEntity());
}
}

View File

@ -23,12 +23,15 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import butterknife.Bind;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.frame.util.show.T;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityMultiBinding;
import com.arialyy.simple.download.DownloadModule;
import com.arialyy.simple.download.SingleTaskActivity;
import java.util.ArrayList;
import java.util.List;
@ -71,12 +74,31 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
@Override protected void onResume() {
super.onResume();
Aria.download(this).addSchedulerListener(new DownloadListener());
Aria.download(this).register();
}
@Override protected void onDestroy() {
super.onDestroy();
//unregisterReceiver(mReceiver);
@Download.onTaskStart void taskStart(DownloadTask task) {
mAdapter.updateBtState(task.getKey(), false);
}
@Download.onTaskResume void taskResume(DownloadTask task) {
mAdapter.updateBtState(task.getKey(), false);
}
@Download.onTaskStop void taskStop(DownloadTask task) {
mAdapter.updateBtState(task.getKey(), true);
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
mAdapter.updateBtState(task.getKey(), true);
}
@Download.onTaskFail void taskFail(DownloadTask task) {
mAdapter.updateBtState(task.getKey(), true);
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
mAdapter.updateBtState(task.getKey(), true);
}
@Override protected void dataCallback(int result, Object data) {
@ -85,31 +107,4 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
Aria.get(this).getDownloadConfig().setMaxTaskNum(Integer.parseInt(data + ""));
}
}
private class DownloadListener extends Aria.DownloadSchedulerListener {
@Override public void onTaskStart(DownloadTask task) {
super.onTaskStart(task);
mAdapter.updateBtState(task.getDownloadUrl(), false);
}
@Override public void onTaskRunning(DownloadTask task) {
super.onTaskRunning(task);
}
@Override public void onTaskResume(DownloadTask task) {
super.onTaskResume(task);
mAdapter.updateBtState(task.getDownloadUrl(), false);
}
@Override public void onTaskStop(DownloadTask task) {
super.onTaskStop(task);
mAdapter.updateBtState(task.getDownloadUrl(), true);
}
@Override public void onTaskComplete(DownloadTask task) {
super.onTaskComplete(task);
mAdapter.updateBtState(task.getDownloadUrl(), true);
}
}
}

View File

@ -21,6 +21,7 @@ import android.os.Handler;
import android.os.Message;
import butterknife.Bind;
import butterknife.OnClick;
import com.arialyy.annotations.Upload;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.upload.UploadTask;
import com.arialyy.frame.util.FileUtil;
@ -98,48 +99,34 @@ public class UploadActivity extends BaseActivity<ActivityUploadMeanBinding> {
@Override protected void onResume() {
super.onResume();
Aria.upload(this).addSchedulerListener(new UploadListener(mHandler));
//Aria.upload(this).addSchedulerListener(new UploadListener(mHandler));
Aria.upload(this).register();
}
static class UploadListener extends Aria.UploadSchedulerListener {
WeakReference<Handler> handler;
@Upload.onPre public void onPre(UploadTask task) {
}
UploadListener(Handler handler) {
this.handler = new WeakReference<>(handler);
}
@Upload.onTaskPre public void taskPre(UploadTask task) {
L.d(TAG, "fileSize = " + task.getConvertFileSize());
}
@Override public void onPre(UploadTask task) {
super.onPre(task);
}
@Upload.onTaskStart public void taskStart(UploadTask task) {
mHandler.obtainMessage(START, task).sendToTarget();
}
@Override public void onTaskPre(UploadTask task) {
super.onTaskPre(task);
L.d(TAG, "fileSize = " + task.getConvertFileSize());
}
@Upload.onTaskStop public void taskStop(UploadTask task) {
mHandler.obtainMessage(STOP, task).sendToTarget();
}
@Override public void onTaskStart(UploadTask task) {
super.onTaskStart(task);
handler.get().obtainMessage(START, task).sendToTarget();
}
@Upload.onTaskCancel public void taskCancel(UploadTask task) {
mHandler.obtainMessage(CANCEL, task).sendToTarget();
}
@Override public void onTaskStop(UploadTask task) {
super.onTaskStop(task);
handler.get().obtainMessage(STOP, task).sendToTarget();
}
@Upload.onTaskRunning public void taskRunning(UploadTask task) {
mHandler.obtainMessage(RUNNING, task).sendToTarget();
}
@Override public void onTaskCancel(UploadTask task) {
super.onTaskCancel(task);
handler.get().obtainMessage(CANCEL, task).sendToTarget();
}
@Override public void onTaskRunning(UploadTask task) {
super.onTaskRunning(task);
handler.get().obtainMessage(RUNNING, task).sendToTarget();
}
@Override public void onTaskComplete(UploadTask task) {
super.onTaskComplete(task);
handler.get().obtainMessage(COMPLETE, task).sendToTarget();
}
@Upload.onTaskComplete public void taskComplete(UploadTask task) {
mHandler.obtainMessage(COMPLETE, task).sendToTarget();
}
}