修复任务组崩溃问题

This commit is contained in:
laoyuyu
2018-04-21 15:44:24 +08:00
parent a7ca196258
commit c6d548ec48
14 changed files with 82 additions and 63 deletions

View File

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

View File

@@ -46,7 +46,7 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
//"http://kotlinlang.org/docs/kotlin-docs.pdf";
//"https://atom-installer.github.com/v1.13.0/AtomSetup.exe?s=1484074138&ext=.exe";
//"http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk";
"http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
"http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
//"https://static.donguo.me//video/ip/course/pfys_1.mp4";
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@@ -107,67 +107,87 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
@Download.onWait void onWait(DownloadTask task) {
Log.d(TAG, "wait ==> " + task.getDownloadEntity().getFileName());
if (task.getKey().equals(DOWNLOAD_URL)) {
Log.d(TAG, "wait ==> " + task.getDownloadEntity().getFileName());
}
}
@Download.onPre protected void onPre(DownloadTask task) {
setBtState(false);
if (task.getKey().equals(DOWNLOAD_URL)) {
setBtState(false);
}
}
@Download.onTaskStart void taskStart(DownloadTask task) {
getBinding().setFileSize(task.getConvertFileSize());
if (task.getKey().equals(DOWNLOAD_URL)) {
getBinding().setFileSize(task.getConvertFileSize());
}
}
@Download.onTaskRunning protected void running(DownloadTask task) {
long len = task.getFileSize();
if (len == 0) {
getBinding().setProgress(0);
} else {
getBinding().setProgress(task.getPercent());
if (task.getKey().equals(DOWNLOAD_URL)) {
Log.d(TAG, task.getKey());
long len = task.getFileSize();
if (len == 0) {
getBinding().setProgress(0);
} else {
getBinding().setProgress(task.getPercent());
}
getBinding().setSpeed(task.getConvertSpeed());
}
getBinding().setSpeed(task.getConvertSpeed());
}
@Download.onTaskResume void taskResume(DownloadTask task) {
mStart.setText("暂停");
setBtState(false);
if (task.getKey().equals(DOWNLOAD_URL)) {
mStart.setText("暂停");
setBtState(false);
}
}
@Download.onTaskStop void taskStop(DownloadTask task) {
mStart.setText("恢复");
setBtState(true);
getBinding().setSpeed("");
if (task.getKey().equals(DOWNLOAD_URL)) {
mStart.setText("恢复");
setBtState(true);
getBinding().setSpeed("");
}
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
getBinding().setProgress(0);
Toast.makeText(SingleTaskActivity.this, "取消下载", Toast.LENGTH_SHORT).show();
mStart.setText("开始");
setBtState(true);
getBinding().setSpeed("");
Log.d(TAG, "cancel");
if (task.getKey().equals(DOWNLOAD_URL)) {
getBinding().setProgress(0);
Toast.makeText(SingleTaskActivity.this, "取消下载", Toast.LENGTH_SHORT).show();
mStart.setText("开始");
setBtState(true);
getBinding().setSpeed("");
Log.d(TAG, "cancel");
}
}
@Download.onTaskFail void taskFail(DownloadTask task) {
Toast.makeText(SingleTaskActivity.this, "下载失败", Toast.LENGTH_SHORT).show();
setBtState(true);
if (task.getKey().equals(DOWNLOAD_URL)) {
Toast.makeText(SingleTaskActivity.this, "下载失败", Toast.LENGTH_SHORT).show();
setBtState(true);
}
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
getBinding().setProgress(100);
Toast.makeText(SingleTaskActivity.this, "下载完成", Toast.LENGTH_SHORT).show();
mStart.setText("重新开始?");
mCancel.setEnabled(false);
setBtState(true);
getBinding().setSpeed("");
L.d(TAG, "path ==> " + task.getDownloadEntity().getDownloadPath());
L.d(TAG, "md5Code ==> " + CommonUtil.getFileMD5(new File(task.getDownloadPath())));
L.d(TAG, "data ==> " + Aria.download(this).getDownloadEntity(DOWNLOAD_URL));
if (task.getKey().equals(DOWNLOAD_URL)) {
getBinding().setProgress(100);
Toast.makeText(SingleTaskActivity.this, "下载完成", Toast.LENGTH_SHORT).show();
mStart.setText("重新开始?");
mCancel.setEnabled(false);
setBtState(true);
getBinding().setSpeed("");
L.d(TAG, "path ==> " + task.getDownloadEntity().getDownloadPath());
L.d(TAG, "md5Code ==> " + CommonUtil.getFileMD5(new File(task.getDownloadPath())));
L.d(TAG, "data ==> " + Aria.download(this).getDownloadEntity(DOWNLOAD_URL));
}
}
@Download.onNoSupportBreakPoint public void onNoSupportBreakPoint(DownloadTask task) {
T.showShort(SingleTaskActivity.this, "该下载链接不支持断点");
if (task.getKey().equals(DOWNLOAD_URL)) {
T.showShort(SingleTaskActivity.this, "该下载链接不支持断点");
}
}
@Override protected int setLayoutId() {

View File

@@ -17,6 +17,7 @@ package com.arialyy.simple.download.group;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import butterknife.Bind;
import com.arialyy.annotations.DownloadGroup;
@@ -84,7 +85,7 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
Environment.getExternalStorageDirectory().getPath() + "/Download/group_test_3")
.setGroupAlias("任务组测试")
.setSubFileName(getModule(GroupModule.class).getSubName())
.setFileSize(32895492)
//.setFileSize(32895492)
.start();
break;
case R.id.stop:
@@ -126,10 +127,12 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
}
@DownloadGroup.onTaskStart() void taskStart(DownloadGroupTask task) {
getBinding().setFileSize(task.getConvertFileSize());
L.d(TAG, "group task start");
}
@DownloadGroup.onTaskRunning() protected void running(DownloadGroupTask task) {
Log.d(TAG, "group running");
getBinding().setProgress(task.getPercent());
getBinding().setSpeed(task.getConvertSpeed());
mChildList.updateChildProgress(task.getEntity().getSubEntities());

View File

@@ -64,7 +64,7 @@
</string-array>
<string-array name="group_urls_1">
<item>http://hzdown.muzhiwan.com/2017/05/08/nl.noio.kingdom_59104935e56f0.apk</item>
<!--<item>http://hzdown.muzhiwan.com/2017/05/08/nl.noio.kingdom_59104935e56f0.apk</item>-->
<!--<item>https://atom-installer.github.com/v1.13.0/AtomSetup.exe</item>-->
<item>http://hzdown.muzhiwan.com/2017/09/05/com.mir.iphone.empire83jie.mzw_59ae6d5a3638d.apk</item>
</string-array>
@@ -81,7 +81,7 @@
<string-array name="group_names">
<!--<item>王者荣耀.apk</item>-->
<item>战斗吧剑灵.apk</item>
<!--<item>战斗吧剑灵.apk</item>-->
<item>天魔幻想.apk</item>
</string-array>