在Activity中使用
例子
public class MultiDownloadActivity extends BaseActivity<ActivityMultiDownloadBinding> {
@Bind(R.id.list) RecyclerView mList;
private DownloadAdapter mAdapter;
private List<AbsEntity> mData = new ArrayList<>();
@Override protected int setLayoutId() {
return R.layout.activity_multi_download;
}
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
Aria.download(this).register();
setTitle("下载列表");
List<AbsEntity> temps = Aria.download(this).getTotalTaskList();
if (temps != null && !temps.isEmpty()) {
mData.addAll(temps);
}
mAdapter = new DownloadAdapter(this, mData);
mList.setLayoutManager(new LinearLayoutManager(this));
mList.setAdapter(mAdapter);
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_mutil_task, menu);
return super.onCreateOptionsMenu(menu);
}
@Override public boolean onMenuItemClick(MenuItem item) {
Aria.download(this).resumeAllTask();
return true;
}
@Download.onPre void onPre(DownloadTask task) {
mAdapter.updateState(task.getEntity());
Log.d(TAG, task.getTaskName() + ", " + task.getState());
}
@Download.onTaskStart void taskStart(DownloadTask task) {
Log.d(TAG, task.getTaskName() + ", " + task.getState());
mAdapter.updateState(task.getEntity());
}
@Download.onTaskResume void taskResume(DownloadTask task) {
Log.d(TAG, task.getTaskName() + ", " + task.getState());
mAdapter.updateState(task.getEntity());
}
@Download.onTaskStop void taskStop(DownloadTask task) {
mAdapter.updateState(task.getEntity());
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
mAdapter.updateState(task.getEntity());
}
@Download.onTaskFail void taskFail(DownloadTask task) {
mAdapter.updateState(task.getEntity());
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
mAdapter.updateState(task.getEntity());
}
@Download.onTaskRunning() void taskRunning(DownloadTask task) {
mAdapter.setProgress(task.getEntity());
}
@DownloadGroup.onPre void onGroupPre(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskStart void groupTaskStart(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onWait void groupTaskWait(DownloadGroupTask task) {
ALog.d(TAG, String.format("group【%s】wait", task.getTaskName()));
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskResume void groupTaskResume(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskStop void groupTaskStop(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskCancel void groupTaskCancel(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskFail void groupTaskFail(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskComplete void groupTaskComplete(DownloadGroupTask task) {
mAdapter.updateState(task.getEntity());
}
@DownloadGroup.onTaskRunning() void groupTaskRunning(DownloadGroupTask task) {
mAdapter.setProgress(task.getEntity());
}
}