This commit is contained in:
laoyuyu
2019-07-25 23:52:40 +08:00
84 changed files with 880 additions and 649 deletions

View File

@@ -41,10 +41,10 @@
3、从3.4.1开始如果线程数为1文件初始化时将不再预占用对应长度的空间下载多少byte则占多大的空间
对于3.4.1之前版本的未完成的老任务,依然采用原来的文件空间占用方式;
-->
<threadNum value="3"/>
<threadNum value="1"/>
<!--设置下载队列最大任务数, 默认为2-->
<maxTaskNum value="1"/>
<maxTaskNum value="3"/>
<!--设置下载失败重试次数默认为10-->
<reTryNum value="1"/>

View File

@@ -40,7 +40,7 @@ public class FtpDownload extends BaseActivity<ActivityTestBinding> {
}
@Download.onTaskStart void taskStart(DownloadTask task) {
Log.d(TAG, "onStart");
Log.d(TAG, "onPreStart");
}
@Download.onTaskRunning protected void running(DownloadTask task) {

View File

@@ -46,7 +46,7 @@ import java.io.IOException;
public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding> {
private String mUrl, mFilePath;
private FtpDownloadModule mModule;
private DownloadEntity mEntity;
private long mTaskId;
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
@@ -60,10 +60,10 @@ public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding
if (entity == null) {
return;
}
mEntity = entity;
if (mEntity.getState() == IEntity.STATE_STOP) {
mTaskId = entity.getId();
if (entity.getState() == IEntity.STATE_STOP) {
getBinding().setStateStr(getString(R.string.resume));
} else if (mEntity.getState() == IEntity.STATE_RUNNING) {
} else if (entity.getState() == IEntity.STATE_RUNNING) {
getBinding().setStateStr(getString(R.string.stop));
}
@@ -90,29 +90,34 @@ public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding
switch (view.getId()) {
case R.id.start:
if (!AppUtil.chekEntityValid(mEntity)) {
Aria.download(this).loadFtp(mUrl)
if (mTaskId == -1) {
mTaskId = Aria.download(this).loadFtp(mUrl)
.setFilePath(mFilePath, true)
.option().login("N0rI", "0qcK")
.option()
.login("8L8e", "8guD")
.controller(ControllerType.START_CONTROLLER)
.start();
getBinding().setStateStr(getString(R.string.stop));
break;
}
if (Aria.download(this).load(mEntity.getId()).isRunning()) {
if (Aria.download(this).load(mTaskId).isRunning()) {
getBinding().setStateStr(getString(R.string.resume));
Aria.download(this).loadFtp(mEntity.getId()).stop();
Aria.download(this).loadFtp(mTaskId).stop();
} else {
Aria.download(this).loadFtp(mEntity.getId()).resume();
Aria.download(this)
.loadFtp(mTaskId)
.option()
.login("8L8e", "8guD")
.controller(ControllerType.NORMAL_CONTROLLER)
.resume();
getBinding().setStateStr(getString(R.string.stop));
}
break;
case R.id.cancel:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.download(this).loadFtp(mEntity.getId()).cancel();
}
Aria.download(this).loadFtp(mTaskId).cancel();
getBinding().setStateStr(getString(R.string.start));
mTaskId = -1;
break;
}
}
@@ -162,12 +167,13 @@ public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding
@Download.onTaskFail() void taskFail(DownloadTask task) {
L.d(TAG, "ftp task fail");
getBinding().setStateStr(getString(R.string.resume));
}
@Download.onTaskComplete() void taskComplete(DownloadTask task) {
getBinding().setSpeed("");
getBinding().setProgress(100);
Log.d(TAG, "md5 ==> " + CommonUtil.getFileMD5(new File(task.getDownloadPath())));
Log.d(TAG, "md5 ==> " + CommonUtil.getFileMD5(new File(task.getFilePath())));
T.showShort(this, "文件:" + task.getEntity().getFileName() + ",下载完成");
}

View File

@@ -16,7 +16,6 @@
package com.arialyy.simple.core.download;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
@@ -149,15 +148,11 @@ public class HighestPriorityActivity extends BaseActivity<ActivityHighestPriorit
switch (view.getId()) {
case R.id.start:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.download(this)
.load(DOWNLOAD_URL)
.setFilePath(Environment.getExternalStorageDirectory().getPath()
+ "/Download/"
+ mTaskName
+ ".apk")
.setHighestPriority();
} else {
Aria.download(this).load(mEntity.getId()).resume();
String text = ((TextView) view).getText().toString();
if (text.equals("重新开始?") || text.equals("开始")) {
} else {
Aria.download(this).load(mEntity.getId()).resume();
}
}
((TextView) view).setText(getString(R.string.stop));
break;

View File

@@ -55,7 +55,7 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
private String mUrl;
private String mFilePath;
private HttpDownloadModule mModule;
private DownloadEntity mEntity;
private long mTaskId = -1;
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
@@ -95,11 +95,10 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
if (entity == null) {
return;
}
mEntity = entity;
if (mEntity.getState() == IEntity.STATE_STOP) {
mTaskId = entity.getId();
if (entity.getState() == IEntity.STATE_STOP) {
getBinding().setStateStr(getString(R.string.resume));
} else if (mEntity.getState() == IEntity.STATE_RUNNING) {
} else if (entity.getState() == IEntity.STATE_RUNNING) {
getBinding().setStateStr(getString(R.string.stop));
}
@@ -231,6 +230,7 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
@Download.onTaskCancel
void taskCancel(DownloadTask task) {
if (task.getKey().equals(mUrl)) {
mTaskId = -1;
getBinding().setProgress(0);
getBinding().setStateStr(getString(R.string.start));
getBinding().setSpeed("");
@@ -267,25 +267,24 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
if (!AppUtil.chekEntityValid(mEntity)) {
if (mTaskId == -1) {
startD();
break;
}
if (Aria.download(this).load(mEntity.getId()).isRunning()) {
Aria.download(this).load(mEntity.getId()).stop();
if (Aria.download(this).load(mTaskId).isRunning()) {
Aria.download(this).load(mTaskId).stop();
} else {
Aria.download(this).load(mEntity.getId()).resume();
Aria.download(this).load(mTaskId).resume();
}
break;
case R.id.cancel:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.download(this).load(mEntity.getId()).cancel(true);
}
Aria.download(this).load(mTaskId).cancel(true);
break;
}
}
private void startD() {
Aria.download(SingleTaskActivity.this)
mTaskId = Aria.download(SingleTaskActivity.this)
.load(mUrl)
.useServerFileName(true)
.setFilePath(mFilePath, true)

View File

@@ -32,7 +32,6 @@ import com.arialyy.frame.util.show.T;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityDownloadGroupBinding;
import com.arialyy.simple.util.AppUtil;
import com.arialyy.simple.widget.SubStateLinearLayout;
import java.util.List;
import java.util.Map;
@@ -44,7 +43,7 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
private SubStateLinearLayout mChildList;
private List<String> mUrls;
private DownloadGroupEntity mEntity;
private long mTaskId = -1;
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
@@ -53,21 +52,22 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
mChildList = getBinding().childList;
mUrls = getModule(GroupModule.class).getUrls();
mEntity = Aria.download(this).getGroupEntity(mUrls);
if (mEntity != null) {
mChildList.addData(mEntity.getSubEntities());
DownloadGroupEntity entity = Aria.download(this).getGroupEntity(mUrls);
if (entity != null) {
mTaskId = entity.getId();
mChildList.addData(entity.getSubEntities());
getBinding().setStateStr(
mEntity.getState() == IEntity.STATE_RUNNING ? getString(R.string.stop)
entity.getState() == IEntity.STATE_RUNNING ? getString(R.string.stop)
: getString(R.string.resume));
getBinding().setFileSize(mEntity.getConvertFileSize());
if (mEntity.getFileSize() == 0) {
getBinding().setFileSize(entity.getConvertFileSize());
if (entity.getFileSize() == 0) {
getBinding().setProgress(0);
} else {
getBinding().setProgress(mEntity.isComplete() ? 100
: (int) (mEntity.getCurrentProgress() * 100 / mEntity.getFileSize()));
getBinding().setProgress(entity.isComplete() ? 100
: (int) (entity.getCurrentProgress() * 100 / entity.getFileSize()));
}
ALog.d(TAG,
"size = " + mEntity.getSubEntities().size() + "; len = " + mEntity.getConvertFileSize());
"size = " + entity.getSubEntities().size() + "; len = " + entity.getConvertFileSize());
}
mChildList.setOnItemClickListener(new SubStateLinearLayout.OnItemClickListener() {
@@ -90,8 +90,8 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
if (!AppUtil.chekEntityValid(mEntity)) {
Aria.download(this)
if (mTaskId == -1) {
mTaskId = Aria.download(this)
.loadGroup(mUrls)
.setDirPath(
Environment.getExternalStorageDirectory().getPath() + "/Download/group_test_2")
@@ -117,17 +117,17 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
getBinding().setStateStr(getString(R.string.stop));
break;
}
if (Aria.download(this).loadGroup(mEntity.getId()).isRunning()) {
Aria.download(this).loadGroup(mEntity.getId()).stop();
if (Aria.download(this).loadGroup(mTaskId).isRunning()) {
Aria.download(this).loadGroup(mTaskId).stop();
getBinding().setStateStr(getString(R.string.resume));
} else {
Aria.download(this).loadGroup(mEntity.getId()).resume();
Aria.download(this).loadGroup(mTaskId).resume();
getBinding().setStateStr(getString(R.string.stop));
}
break;
case R.id.cancel:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.download(this).loadGroup(mEntity.getId()).cancel(true);
}
Aria.download(this).loadGroup(mTaskId).cancel(true);
mTaskId = -1;
break;
}
}
@@ -141,9 +141,6 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
}
@DownloadGroup.onTaskPre() protected void onTaskPre(DownloadGroupTask task) {
if (mChildList.getSubData().size() <= 0) {
mChildList.addData(task.getEntity().getSubEntities());
}
L.d(TAG, "group task pre");
getBinding().setFileSize(task.getConvertFileSize());
if (mChildList.getSubData().size() <= 0) {

View File

@@ -23,37 +23,43 @@ import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.common.controller.ControllerType;
import com.arialyy.aria.core.download.DownloadGroupEntity;
import com.arialyy.aria.core.download.DownloadGroupTask;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.frame.util.show.L;
import com.arialyy.frame.util.show.T;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityDownloadGroupBinding;
import com.arialyy.simple.util.AppUtil;
import com.arialyy.simple.widget.SubStateLinearLayout;
/**
* Created by lyy on 2017/7/6.
*/
public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBinding> {
private static final String dir = "ftp://9.9.9.50:21/upload/测试";
private static final String dir = "ftp://9.9.9.205:2121/upload/测试";
private SubStateLinearLayout mChildList;
private DownloadGroupEntity mEntity;
private long mTaskId = -1;
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
Aria.download(this).register();
setTitle("FTP文件夹下载");
mChildList = findViewById(R.id.child_list);
mEntity = Aria.download(this).getFtpDirEntity(dir);
if (mEntity != null) {
mChildList.addData(mEntity.getSubEntities());
getBinding().setFileSize(mEntity.getConvertFileSize());
if (mEntity.getFileSize() == 0) {
DownloadGroupEntity entity = Aria.download(this).getFtpDirEntity(dir);
if (entity != null) {
mTaskId = entity.getId();
mChildList.addData(entity.getSubEntities());
getBinding().setFileSize(entity.getConvertFileSize());
if (entity.getState() == IEntity.STATE_RUNNING) {
getBinding().setStateStr(getString(R.string.stop));
} else {
getBinding().setStateStr(getString(R.string.start));
}
if (entity.getFileSize() == 0) {
getBinding().setProgress(0);
} else {
getBinding().setProgress(mEntity.isComplete() ? 100
: (int) (mEntity.getCurrentProgress() * 100 / mEntity.getFileSize()));
getBinding().setProgress(entity.isComplete() ? 100
: (int) (entity.getCurrentProgress() * 100 / entity.getFileSize()));
}
}
}
@@ -65,28 +71,35 @@ public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBi
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
if (!AppUtil.chekEntityValid(mEntity)) {
Aria.download(this)
if (mTaskId == -1) {
mTaskId = Aria.download(this)
.loadFtpDir(dir)
.setDirPath(
Environment.getExternalStorageDirectory().getPath() + "/Download/ftp_dir")
.setGroupAlias("ftp文件夹下载")
.option()
.login("lao", "123456")
.login("8L8e", "8guD")
.controller(ControllerType.START_CONTROLLER)
.start();
getBinding().setStateStr(getString(R.string.stop));
break;
}
if (Aria.download(this).loadFtpDir(mEntity.getId()).isRunning()) {
Aria.download(this).loadFtpDir(mEntity.getId()).stop();
if (Aria.download(this).loadFtpDir(mTaskId).isRunning()) {
Aria.download(this).loadFtpDir(mTaskId).stop();
getBinding().setStateStr(getString(R.string.resume));
} else {
Aria.download(this).loadFtpDir(mEntity.getId()).resume();
Aria.download(this)
.loadFtpDir(mTaskId)
.option()
.login("8L8e", "8guD")
.controller(ControllerType.NORMAL_CONTROLLER)
.resume();
getBinding().setStateStr(getString(R.string.stop));
}
break;
case R.id.cancel:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.download(this).loadFtpDir(mEntity.getId()).cancel();
}
Aria.download(this).loadFtpDir(mTaskId).cancel();
mTaskId = -1;
break;
}
}
@@ -99,12 +112,10 @@ public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBi
if (mChildList.getSubData().size() <= 0) {
mChildList.addData(task.getEntity().getSubEntities());
}
L.d(TAG, "group task pre");
getBinding().setFileSize(task.getConvertFileSize());
}
@DownloadGroup.onTaskStart() void taskStart(DownloadGroupTask task) {
L.d(TAG, "group task start");
}
@DownloadGroup.onTaskRunning() protected void running(DownloadGroupTask task) {
@@ -114,17 +125,16 @@ public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBi
}
@DownloadGroup.onTaskResume() void taskResume(DownloadGroupTask task) {
L.d(TAG, "group task resume");
}
@DownloadGroup.onTaskStop() void taskStop(DownloadGroupTask task) {
L.d(TAG, "group task stop");
getBinding().setSpeed("");
}
@DownloadGroup.onTaskCancel() void taskCancel(DownloadGroupTask task) {
getBinding().setSpeed("");
getBinding().setProgress(0);
getBinding().setStateStr(getString(R.string.start));
}
@DownloadGroup.onTaskFail() void taskFail(DownloadGroupTask task) {

View File

@@ -47,7 +47,6 @@ import com.arialyy.simple.common.ModifyPathDialog;
import com.arialyy.simple.common.ModifyUrlDialog;
import com.arialyy.simple.databinding.ActivityM3u8VodBinding;
import com.arialyy.simple.to.PeerIndex;
import com.arialyy.simple.util.AppUtil;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
@@ -61,7 +60,7 @@ public class M3U8VodDLoadActivity extends BaseActivity<ActivityM3u8VodBinding> {
private String mFilePath;
private M3U8VodModule mModule;
private VideoPlayerFragment mVideoFragment;
private DownloadEntity mEntity;
private long mTaskId;
@Override
protected void init(Bundle savedInstanceState) {
@@ -75,10 +74,10 @@ public class M3U8VodDLoadActivity extends BaseActivity<ActivityM3u8VodBinding> {
if (entity == null) {
return;
}
mEntity = entity;
if (mEntity.getState() == IEntity.STATE_STOP) {
mTaskId = entity.getId();
if (entity.getState() == IEntity.STATE_STOP) {
getBinding().setStateStr(getString(R.string.resume));
} else if (mEntity.getState() == IEntity.STATE_RUNNING) {
} else if (entity.getState() == IEntity.STATE_RUNNING) {
getBinding().setStateStr(getString(R.string.stop));
}
@@ -272,26 +271,47 @@ public class M3U8VodDLoadActivity extends BaseActivity<ActivityM3u8VodBinding> {
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
if (!AppUtil.chekEntityValid(mEntity)) {
if (mTaskId == -1) {
startD();
break;
}
if (Aria.download(this).load(mEntity.getId()).isRunning()) {
Aria.download(this).load(mEntity.getId()).stop();
if (Aria.download(this).load(mTaskId).isRunning()) {
Aria.download(this).load(mTaskId).stop();
} else {
Aria.download(this).load(mEntity.getId()).resume();
Aria.download(this)
.load(mTaskId)
.asM3U8()
.setBandWidthUrlConverter(new IBandWidthUrlConverter() {
@Override public String convert(String bandWidthUrl) {
int index = mUrl.lastIndexOf("/");
return mUrl.substring(0, index + 1) + bandWidthUrl;
}
})
.setTsUrlConvert(new IVodTsUrlConverter() {
@Override public List<String> convert(String m3u8Url, List<String> tsUrls) {
int index = m3u8Url.lastIndexOf("/");
String parentUrl = m3u8Url.substring(0, index + 1);
List<String> newUrls = new ArrayList<>();
for (String url : tsUrls) {
newUrls.add(parentUrl + url);
}
return newUrls;
}
})
.controller(ControllerType.NORMAL_CONTROLLER)
.resume();
}
break;
case R.id.cancel:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.download(this).load(mEntity.getId()).cancel(true);
}
Aria.download(this).load(mTaskId).cancel(true);
mTaskId = -1;
break;
}
}
private void startD() {
Aria.download(M3U8VodDLoadActivity.this)
mTaskId = Aria.download(M3U8VodDLoadActivity.this)
.load(mUrl)
.useServerFileName(true)
.setFilePath(mFilePath, true)
@@ -315,15 +335,13 @@ public class M3U8VodDLoadActivity extends BaseActivity<ActivityM3u8VodBinding> {
}
})
.setMergeHandler(new ITsMergeHandler() {
@Override public boolean merge(@Nullable M3U8KeyInfo keyInfo, List<String> tsPath) {
public boolean merge(@Nullable M3U8KeyInfo keyInfo, List<String> tsPath) {
ALog.d(TAG, "合并TS....");
return false;
}
})
.controller(ControllerType.START_CONTROLLER)
.start();
//.start();
//.asVod().setPeerIndex(50)
//.start();
}
private Class<StartController> c = StartController.class;

View File

@@ -55,7 +55,7 @@ public class VideoPlayerFragment extends BaseFragment<FragmentVideoPlayerBinding
getBinding().surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
@Override public void surfaceCreated(SurfaceHolder holder) {
mSurfaceHolder = holder;
startNewPlayer(mPlayers.valueAt(0));
//startNewPlayer(mPlayers.valueAt(0));
}
@Override

View File

@@ -207,10 +207,10 @@ public class DownloadAdapter extends AbsRVAdapter<AbsEntity, DownloadAdapter.Sim
//删除按钮事件
holder.cancel.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// mData.remove(entity);
mData.remove(entity);
notifyDataSetChanged();
// cancel(entity);
stop(entity);
cancel(entity);
//stop(entity);
}
});
//if (holder instanceof GroupHolder){

View File

@@ -32,8 +32,8 @@ import com.arialyy.aria.util.ALog;
import com.arialyy.frame.util.FileUtil;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityMultiBinding;
import com.arialyy.simple.core.download.DownloadModule;
import com.arialyy.simple.databinding.ActivityMultiBinding;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
@@ -136,7 +136,7 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
}
@DownloadGroup.onTaskFail void groupTaskFail(DownloadGroupTask task) {
if (task == null){
if (task == null) {
return;
}
mAdapter.updateBtState(task.getKey(), true);

View File

@@ -52,7 +52,7 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
private String mFilePath;
private String mUrl;
private UploadModule mModule;
private UploadEntity mEntity;
private long mTaskId = -1;
@Override protected void init(Bundle savedInstanceState) {
setTile("D_FTP 文件上传");
@@ -67,8 +67,8 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
mModule = ViewModelProviders.of(this).get(UploadModule.class);
mModule.getFtpInfo(this).observe(this, new Observer<UploadEntity>() {
@Override public void onChanged(@Nullable UploadEntity entity) {
mEntity = entity;
if (entity != null) {
mTaskId = entity.getId();
if (entity.getFileSize() != 0) {
getBinding().setFileSize(CommonUtil.formatFileSize(entity.getFileSize()));
getBinding().setProgress(entity.isComplete() ? 100
@@ -79,7 +79,7 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
mUrl = entity.getUrl();
mFilePath = entity.getFilePath();
getBinding().setStateStr(getString(
entity.getState() == IEntity.STATE_RUNNING ? R.string.stop : R.string.resume));
entity.getState() == IEntity.STATE_RUNNING ? R.string.stop : R.string.start));
} else {
getBinding().setStateStr(getString(R.string.resume));
}
@@ -113,38 +113,47 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
if (!AppUtil.chekEntityValid(mEntity)) {
Aria.upload(this).loadFtp(mFilePath).setUploadUrl(mUrl).setUploadInterceptor(
new IFtpUploadInterceptor() {
if (mTaskId == -1) {
mTaskId = Aria.upload(this)
.loadFtp(mFilePath)
.setUploadUrl(mUrl)
.setUploadInterceptor(
new IFtpUploadInterceptor() {
@Override
public FtpInterceptHandler onIntercept(UploadEntity entity, List<String> fileList) {
FtpInterceptHandler.Builder builder = new FtpInterceptHandler.Builder();
//builder.coverServerFile();
builder.resetFileName("test.zip");
return builder.build();
}
})
@Override
public FtpInterceptHandler onIntercept(UploadEntity entity,
List<String> fileList) {
FtpInterceptHandler.Builder builder = new FtpInterceptHandler.Builder();
//builder.coverServerFile();
builder.resetFileName("test.zip");
return builder.build();
}
})
.option()
.login("N0rI", "0qcK")
.login("8L8e", "8guD")
.controller(ControllerType.START_CONTROLLER)
.start();
getBinding().setStateStr(getString(R.string.stop));
break;
}
if (Aria.download(this).loadFtp(mEntity.getId()).isRunning()) {
Aria.download(this).loadFtp(mEntity.getId()).stop();
if (Aria.upload(this).loadFtp(mTaskId).isRunning()) {
Aria.upload(this).loadFtp(mTaskId).stop();
getBinding().setStateStr(getString(R.string.resume));
} else {
Aria.download(this).loadFtp(mEntity.getId()).resume();
Aria.upload(this)
.loadFtp(mTaskId)
.option()
.login("8L8e", "8guD")
.controller(ControllerType.NORMAL_CONTROLLER)
.resume();
getBinding().setStateStr(getString(R.string.stop));
}
break;
case R.id.cancel:
if (AppUtil.chekEntityValid(mEntity)) {
Aria.upload(this).loadFtp(mEntity.getId()).cancel();
}
Aria.upload(this).loadFtp(mTaskId).cancel();
mTaskId = -1;
getBinding().setStateStr(getString(R.string.start));
break;
}
}
@@ -179,6 +188,7 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
@Upload.onTaskFail public void taskFail(UploadTask task) {
Log.d(TAG, "上传失败");
getBinding().setStateStr(getString(R.string.resume));
}
@Upload.onTaskRunning public void taskRunning(UploadTask task) {
@@ -191,6 +201,7 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
getBinding().setProgress(100);
getBinding().setSpeed("");
T.showShort(this, "文件:" + task.getEntity().getFileName() + ",上传完成");
getBinding().setStateStr(getString(R.string.re_start));
}
@Override protected void dataCallback(int result, Object data) {

View File

@@ -52,7 +52,7 @@ public class AnyRunnModule {
}
@Download.onTaskStart void taskStart(DownloadTask task) {
Log.d(TAG, "onStart");
Log.d(TAG, "onPreStart");
}
@Download.onTaskRunning protected void running(DownloadTask task) {

View File

@@ -64,26 +64,16 @@
<string-array name="test_apk_download_url">
<item>http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk</item> <!--300M的文件-->
<item>http://static.gaoshouyou.com/d/21/e8/61218d78d0e8b79df68dbc18dd484c97.apk</item>
<item>http://static.gaoshouyou.com/d/12/0d/7f120f50c80d2e7b8c4ba24ece4f9cdd.apk</item>
<item>http://static.gaoshouyou.com/d/d4/4f/d6d48db3794fb9ecf47e83c346570881.apk</item>
<!--<item>http://static.gaoshouyou.com/d/18/cf/ba18113bc6cf56c1c5863e761e717003.apk</item>-->
<!--<item>http://static.gaoshouyou.com/d/60/17/2460921367173ea7145f11194a6f2587.apk</item>-->
<!--<item>http://static.gaoshouyou.com/d/32/e0/1a32123ecbe0ee010d35479df248f90f.apk</item>-->
<!--<item>http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk</item>-->
<!--<item>http://static.gaoshouyou.com/d/e6/f5/4de6329f9cf5dc3a1d1e6bbcca0d003c.apk</item>-->
<!--<item>http://static.gaoshouyou.com/d/6e/e5/ff6ecaaf45e532e6d07747af82357472.apk</item>-->
<!--<item>http://static.gaoshouyou.com/d/36/69/2d3699acfa69e9632262442c46516ad8.apk</item>-->
</string-array>
<string-array name="file_nams">
<item>阴阳师</item>
<item>奇迹暖暖</item>
<item>幻影纹章</item>
<item>史上最坑爹的游戏10</item>
<item>鲜果消消乐</item>
<item>航海奇迹</item>
<item>王者荣耀</item>
<item>植物大战僵尸</item>
<item>部落冲突</item>
<item>瘟疫公司</item>
<item>水上公园大战</item>
<item>死亡之雨</item>
<item>test_1</item>
<item>test_2</item>
@@ -91,13 +81,12 @@
</string-array>
<string-array name="download_url">
<item>https://g37.gdl.netease.com/onmyoji_netease_10_1.0.20.apk</item>
<item>http://static.gaoshouyou.com/d/eb/f2/dfeba30541f209ab8a50d847fc1661ce.apk</item>
<item>http://rs.0.gaoshouyou.com/d/51/46/58514d126c46b8a3f27fc8c7db3b09ec.apk</item>
<item>http://rs.0.gaoshouyou.com/d/23/69/07238f952669727878d7a0e180534c8b.apk</item>
<item>http://rs.0.gaoshouyou.com/d/e7/3d/73e716d3353de5b479fcf7da8d36a5ef.apk</item>
<item>http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk</item>
<item>https://downs.muzhiwan.com/2019/06/28/com.tencent.tmgp.sgame5d15f9df3bb4d.gpk</item>
<item>https://downs.muzhiwan.com/2017/03/15/com.ea.game.pvz2_row58c8bfc00eea8.gpk</item>
<item>https://downs.muzhiwan.com/2019/07/04/com.supercell.clashofclans.ewan.mzw_5d1da09397884.apk</item>
<item>https://downs.muzhiwan.com/2019/02/28/com.miniclip.plagueinc_5c77596c79179.apk</item>
<item>https://downs.muzhiwan.com/2019/06/03/com.aqua.slide_5cf4b69e90e6a.apk</item>
<item>https://downs.muzhiwan.com/2019/05/07/com.tinydevbox.deadrain2_g_5cd14a8aedb2f.apk</item>
<item>http://dby-resource-android.duobeiyun.com/jz22a8508b4265466b9fb4bb29082eaa2d.zip</item>
<item>http://dby-resource-android.duobeiyun.com/jz05fa8faf068145fcb25c93c8091297ad.zip</item>
<item>http://dby-resource-android.duobeiyun.com/jz684e1b4c2f6b4576979e60fd95edebad.zip</item>