This commit is contained in:
laoyuyu
2018-11-20 21:46:38 +08:00
239 changed files with 4285 additions and 1990 deletions

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.arialyy.simple">
<uses-permission android:name="android.permission.INTERNET"/>
@@ -12,13 +13,13 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
<!--android:name=".test.TestActivity"-->
<!--android:name=".test.AnyRunActivity"-->
android:theme="@style/AppTheme.NoActionBar"
tools:ignore="GoogleAppIndexingWarning">
<!--android:name=".test.TestFTPDirActivity"-->
<!--android:name=".test.TestFTPActivity"-->
<!--android:name=".download.group.DownloadGroupActivity"-->
<!--android:name=".MainActivity"-->
<activity
android:name=".test.TestGroupActivity"
android:name=".download.SingleTaskActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@@ -28,18 +29,17 @@
</activity>
<activity android:name=".download.DownloadActivity"/>
<activity android:name=".download.SingleTaskActivity"/>
<!--<activity android:name=".download.SingleTaskActivity"/>-->
<activity android:name=".download.multi_download.MultiTaskActivity"/>
<activity android:name=".download.fragment_download.FragmentActivity"/>
<activity android:name=".download.multi_download.MultiDownloadActivity"/>
<activity android:name=".download.HighestPriorityActivity"/>
<activity android:name=".test.TestMutilTaskSysDownload"/>
<!--<activity android:name=".download.group.DownloadGroupActivity"/>-->
<activity android:name=".download.group.DownloadGroupActivity"/>
<activity android:name=".download.FtpDownloadActivity"/>
<activity android:name=".download.group.FTPDirDownloadActivity"/>
<activity android:name=".upload.HttpUploadActivity"/>
<activity android:name=".upload.FtpUploadActivity"/>
<activity android:name=".download.KotlinDownloadActivity"/>
<service android:name=".download.service_download.DownloadService"/>
</application>

View File

@@ -11,6 +11,10 @@
<!--注意,修改该配置文件中的属性会覆盖代码中所设置的属性-->
<download>
<!--设置任务最大下载速度0表示不限速单位为kb-->
<maxSpeed value="0"/>
<!--
多线程下载是否使用块下载模式,{@code true}使用,{@code false}不使用
注意:
@@ -31,13 +35,13 @@
3、从3.4.1开始如果线程数为1文件初始化时将不再预占用对应长度的空间下载多少byte则占多大的空间
对于采用多线程的任务或旧任务,依然采用原来的文件空间占用方式;
-->
<threadNum value="3"/>
<threadNum value="1"/>
<!--设置下载队列最大任务数, 默认为2-->
<maxTaskNum value="2"/>
<maxTaskNum value="1"/>
<!--设置下载失败重试次数默认为10-->
<reTryNum value="2"/>
<reTryNum value="1"/>
<!--设置重试间隔单位为毫秒默认2000毫秒-->
<reTryInterval value="5000"/>
@@ -66,7 +70,8 @@
</download>
<upload>
<!--设置任务最大上传速度0表示不限速单位为kb-->
<maxSpeed value="0"/>
<!--断网的时候是否重试true断网也重试false断网不重试直接走失败的回调-->
<notNetRetry value="false"/>

View File

@@ -20,6 +20,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import butterknife.OnClick;
import com.arialyy.aria.core.Aria;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityMainBinding;
import com.arialyy.simple.download.DownloadActivity;
@@ -30,7 +31,7 @@ import com.arialyy.simple.upload.FtpUploadActivity;
import com.arialyy.simple.upload.HttpUploadActivity;
/**
* Created by Aria.Lao on 2017/3/1.
* Created by lyy on 2017/3/1.
*/
public class MainActivity extends BaseActivity<ActivityMainBinding> {
@@ -39,6 +40,7 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
setSupportActionBar(mBar);
mBar.setTitle("Aria Demo");
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
@Override protected int setLayoutId() {

View File

@@ -17,7 +17,7 @@ import com.arialyy.simple.base.BaseDialog;
import com.arialyy.simple.databinding.DialogFragmentDownloadBinding;
/**
* Created by Aria.Lao on 2017/8/8.
* Created by lyy on 2017/8/8.
*/
@SuppressLint("ValidFragment") public class DownloadDialogFragment
extends BaseDialog<DialogFragmentDownloadBinding> {

View File

@@ -31,7 +31,7 @@ import com.arialyy.simple.databinding.ActivityFtpDownloadBinding;
import java.io.File;
/**
* Created by Aria.Lao on 2017/7/25.
* Created by lyy on 2017/7/25.
* Ftp下载测试
*/
public class FtpDownloadActivity extends BaseActivity<ActivityFtpDownloadBinding> {

View File

@@ -1,73 +1,75 @@
package com.arialyy.simple.download
import android.os.Bundle
import android.os.Environment
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.view.View
import com.arialyy.annotations.Download
import com.arialyy.aria.core.Aria
import com.arialyy.aria.core.download.DownloadTask
import com.arialyy.simple.R
import com.arialyy.simple.base.BaseActivity
/**
* Created by Aria.Lao on 2017/10/23.
*/
class KotlinDownloadActivity : AppCompatActivity() {
private val DOWNLOAD_URL = "http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk"
private val TAG = "KotlinDownloadActivity";
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(setLayoutId())
}
fun setLayoutId(): Int {
return R.layout.activity_single
}
fun init(savedInstanceState: Bundle?) {
title = "单任务下载"
// val target = Aria.download(this).load(DOWNLOAD_URL)
// binding.progress = target.getPercent()
// if (target.getTaskState() == IEntity.STATE_STOP) {
// mStart.setText("恢复")
// mStart.setTextColor(resources.getColor(android.R.color.holo_blue_light))
// setBtState(true)
// } else if (target.isDownloading()) {
// setBtState(false)
//package com.arialyy.simple.download
//
//import android.os.Bundle
//import android.os.Environment
//import android.support.v7.app.AppCompatActivity
//import android.util.Log
//import android.view.View
//import com.arialyy.annotations.Download
//import com.arialyy.aria.core.Aria
//import com.arialyy.aria.core.download.DownloadTask
//import com.arialyy.simple.R
//import com.arialyy.simple.base.BaseActivity
//
///**
// * Created by lyy on 2017/10/23.
// */
//class KotlinDownloadActivity : AppCompatActivity() {
//
// private val DOWNLOAD_URL = "http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk"
//
// private val TAG = "KotlinDownloadActivity";
//
// override fun onCreate(savedInstanceState: Bundle?) {
// super.onCreate(savedInstanceState)
// setContentView(setLayoutId())
// }
//
// fun setLayoutId(): Int {
// return R.layout.activity_single
// }
//
// fun init(savedInstanceState: Bundle?) {
// title = "单任务下载"
//// val target = Aria.download(this).load(DOWNLOAD_URL)
//// binding.progress = target.getPercent()
//// if (target.getTaskState() == IEntity.STATE_STOP) {
//// mStart.setText("恢复")
//// mStart.setTextColor(resources.getColor(android.R.color.holo_blue_light))
//// setBtState(true)
//// } else if (target.isDownloading()) {
//// setBtState(false)
//// }
//// binding.fileSize = target.getConvertFileSize()
// Aria.get(this).downloadConfig.maxTaskNum = 2
// Aria.download(this).register()
// }
//
// @Download.onTaskRunning
// protected fun running(task: DownloadTask) {
// Log.d(TAG, task.percent.toString() + "")
//// val len = task.fileSize
//// if (len == 0L) {
//// binding.progress = 0
//// } else {
//// binding.progress = task.percent
//// }
//// binding.speed = task.convertSpeed
// }
//
// fun onClick(view: View) {
// when (view.id) {
// R.id.start -> startD()
// R.id.stop -> Aria.download(this).load(DOWNLOAD_URL).stop()
// R.id.cancel -> Aria.download(this).load(DOWNLOAD_URL).cancel()
// }
// binding.fileSize = target.getConvertFileSize()
Aria.download(this).register()
}
@Download.onTaskRunning protected fun running(task: DownloadTask) {
Log.d(TAG, task.percent.toString() + "")
val len = task.fileSize
// if (len == 0L) {
// binding.progress = 0
// } else {
// binding.progress = task.percent
// }
// binding.speed = task.convertSpeed
}
fun onClick(view: View) {
when (view.id) {
R.id.start -> startD()
R.id.stop -> Aria.download(this).load(DOWNLOAD_URL).stop()
R.id.cancel -> Aria.download(this).load(DOWNLOAD_URL).cancel()
}
}
private fun startD() {
Aria.download(this)
.load(DOWNLOAD_URL, true)
.addHeader("groupName", "value")
.setDownloadPath(Environment.getExternalStorageDirectory().path + "/hhhhhhhh.apk")
.start()
}
}
// }
//
// private fun startD() {
// Aria.download(this)
// .load(DOWNLOAD_URL)
// .addHeader("groupName", "value")
// .setDownloadPath(Environment.getExternalStorageDirectory().path + "/hhhhhhhh.apk")
// .start()
// }
//}

View File

@@ -26,7 +26,7 @@
//import com.arialyy.simple.R;
//
///**
// * Created by Aria.Lao on 2017/1/18.
// * Created by lyy on 2017/1/18.
// */
//
//public class SimpleNotification {

View File

@@ -16,7 +16,9 @@
package com.arialyy.simple.download;
import android.content.ContentResolver;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
@@ -33,6 +35,7 @@ import com.arialyy.aria.core.common.RequestEnum;
import com.arialyy.aria.core.download.DownloadTarget;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.core.inf.IEntity;
import com.arialyy.aria.util.ALog;
import com.arialyy.aria.util.CommonUtil;
import com.arialyy.frame.util.show.L;
import com.arialyy.frame.util.show.T;
@@ -40,19 +43,25 @@ import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivitySingleBinding;
import java.io.File;
import java.util.Map;
public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
private static final String DOWNLOAD_URL =
//"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://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apks";
//"http://120.55.95.61:8811/ghcg/zg/武义总规纲要成果.zip";
//"https://yizi-kejian.oss-cn-beijing.aliyuncs.com/qimeng/package1/qmtable11.zip";
//"http://rs.0.gaoshouyou.com/d/04/1e/400423a7551e1f3f0eb1812afa1f9b44.apk";
//"http://58.210.9.131/tpk/sipgt//TDLYZTGH.tpk"; //chunked 下载
//"https://static.donguo.me//video/ip/course/pfys_1.mp4";
//"https://www.baidu.com/link?url=_LFCuTPtnzFxVJByJ504QymRywIA1Z_T5xUxe9ZLuxcGM0C_RcdpWyB1eGjbJC-e5wv5wAKM4WmLMAS5KeF6EZJHB8Va3YqZUiaErqK_pxm&wd=&eqid=e8583fe70002d126000000065a99f864";
//"https://d.pcs.baidu.com/file/a02c89a2d479d4fd2756f3313d42491d?fid=4232431903-250528-1114369760340736&dstime=1525491372&rt=sh&sign=FDtAERVY-DCb740ccc5511e5e8fedcff06b081203-3C13vkOkuk4TqXvVYW05zj1K0ao%3D&expires=8h&chkv=1&chkbd=0&chkpc=et&dp-logid=8651730921842106225&dp-callid=0&r=165533013";
//"http://apk500.bce.baidu-mgame.com/game/67000/67734/20170622040827_oem_5502845.apk?r=1";
"https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
//"https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
//"http://9.9.9.59:5000/download/CentOS-7-x86_64-Minimal-1804.iso";
"https://firmwareapi.azurewebsites.net/firmware-overview?name=A19_Filament_W_IMG0038_00102411-encrypted.ota";
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@Bind(R.id.cancel) Button mCancel;
@@ -130,6 +139,7 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
@Download.onTaskRunning protected void running(DownloadTask task) {
ALog.d(TAG, String.format("%s_running_%s", getClass().getName(), hashCode()));
if (task.getKey().equals(DOWNLOAD_URL)) {
//Log.d(TAG, task.getKey());
long len = task.getFileSize();
@@ -168,10 +178,11 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
}
@Download.onTaskFail void taskFail(DownloadTask task) {
@Download.onTaskFail void taskFail(DownloadTask task, Exception e) {
if (task.getKey().equals(DOWNLOAD_URL)) {
Toast.makeText(SingleTaskActivity.this, "下载失败", Toast.LENGTH_SHORT).show();
setBtState(true);
//ALog.d(TAG, ALog.getExceptionString(e));
}
}
@@ -186,6 +197,11 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
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));
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
File apkFile = new File(task.getDownloadPath());
install.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
startActivity(install);
}
}
@@ -220,12 +236,14 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
startD();
break;
case R.id.stop:
//Aria.download(this).load(DOWNLOAD_URL).stop();
startActivity(new Intent(this, SingleTaskActivity.class));
Aria.download(this).load(DOWNLOAD_URL).stop();
//startActivity(new Intent(this, SingleTaskActivity.class));
//Aria.download(this).unRegister();
//Aria.download(this).load(DOWNLOAD_URL).removeRecord();
//Log.d(TAG, Aria.download(this).taskExists(DOWNLOAD_URL) + "");
break;
case R.id.cancel:
Aria.download(this).load(DOWNLOAD_URL).cancel();
Aria.download(this).load(DOWNLOAD_URL).cancel(true);
//Aria.download(this).load(DOWNLOAD_URL).removeRecord();
break;
}
@@ -234,15 +252,24 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
private void startD() {
//Aria.get(this).setLogLevel(ALog.LOG_CLOSE);
//Aria.download(this).load("aaaa.apk");
String path = Environment.getExternalStorageDirectory().getPath() + "/ggsg11.ota";
//File file = new File(path);
//if (file.exists()){
// file.delete();
//}
Aria.download(SingleTaskActivity.this)
.load(DOWNLOAD_URL)
//.addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")
//.addHeader("Accept-Encoding", "gzip, deflate")
.addHeader("Accept-Encoding", "gzip, deflate")
//.addHeader("DNT", "1")
//.addHeader("Cookie", "BAIDUID=648E5FF020CC69E8DD6F492D1068AAA9:FG=1; BIDUPSID=648E5FF020CC69E8DD6F492D1068AAA9; PSTM=1519099573; BD_UPN=12314753; locale=zh; BDSVRTM=0")
//.useServerFileName(true)
//.setRequestMode(RequestEnum.GET)
.setFilePath(Environment.getExternalStorageDirectory().getPath() + "/ggsg3.apk")
.useServerFileName(true)
.setFilePath(path, true)
//.asPost().setParam("key", "value")
//.setExtendField("{\n"
// + "\"id\":\"你的样子\"\n< > "
// + "}")
//.resetState()
.start();
//.add();

View File

@@ -35,7 +35,7 @@ import com.arialyy.simple.databinding.FragmentDownloadBinding;
import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
/**
* Created by Aria.Lao on 2017/1/4.
* Created by lyy on 2017/1/4.
*/
public class DownloadFragment extends AbsFragment<FragmentDownloadBinding> {
@Bind(R.id.start) Button mStart;

View File

@@ -23,7 +23,7 @@ import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.FragmentDownloadBinding;
/**
* Created by Aria.Lao on 2017/1/4.
* Created by lyy on 2017/1/4.
*/
public class FragmentActivity extends BaseActivity<FragmentDownloadBinding> {

View File

@@ -39,7 +39,7 @@ import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
import java.util.List;
/**
* Created by Aria.Lao on 2017/9/5.
* Created by lyy on 2017/9/5.
*/
@SuppressLint("ValidFragment") public class ChildHandleDialog
extends BaseDialog<DialogSubTaskHandlerBinding> {

View File

@@ -22,6 +22,7 @@ import android.view.View;
import butterknife.Bind;
import com.arialyy.annotations.DownloadGroup;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadGroupEntity;
import com.arialyy.aria.core.download.DownloadGroupTask;
import com.arialyy.aria.core.download.DownloadGroupTaskEntity;
@@ -31,10 +32,11 @@ import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivityDownloadGroupBinding;
import com.arialyy.simple.widget.SubStateLinearLayout;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Aria.Lao on 2017/7/6.
* Created by lyy on 2017/7/6.
*/
public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBinding> {
@@ -79,21 +81,25 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
List<String> temp = new ArrayList<>();
temp.add("https://d.pcs.baidu.com/file/130335545f3f4d9cc38afe709c19af5a?fid=1411168371-250528-1010657263806840&dstime=1531134714&rt=sh&sign=FDtAERVY-DCb740ccc5511e5e8fedcff06b081203-h8KgJ6gl4oY9UR6NqvwJsT4nVSM%3D&expires=8h&chkv=1&chkbd=0&chkpc=et&dp-logid=4401996296756616039&dp-callid=0&r=279987343");
Aria.download(this)
.loadGroup(mUrls)
.setDirPath(
Environment.getExternalStorageDirectory().getPath() + "/Download/group_test_3")
//Environment.getExternalStorageDirectory().getPath() + "/Download/group_test_5")
Environment.getExternalStorageDirectory().getPath() + "/Download/group_test_1")
.setGroupAlias("任务组测试")
//.setSubFileName(getModule(GroupModule.class).getSubName())
//.setFileSize(32895492)
//.setSubFileName(getModule(GroupModule.class).getSubName2())
.setSubFileName(getModule(GroupModule.class).getSubName())
//.updateUrls(temp)
.start();
break;
case R.id.stop:
Aria.download(this).loadGroup(mUrls).stop();
break;
case R.id.cancel:
//Aria.download(this).load(mUrls).cancel(true);
Aria.download(this).removeAllTask(true);
Aria.download(this).loadGroup(mUrls).cancel(true);
//Aria.download(this).removeAllTask(true);
//mUrls = getModule(GroupModule.class).getUrls1();
//Aria.download(this)
// .load(mUrls)
@@ -141,6 +147,7 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
+ task.getCurrentProgress());
getBinding().setProgress(task.getPercent());
getBinding().setSpeed(task.getConvertSpeed());
//Log.d(TAG, "sub_len = " + task.getEntity().getSubEntities().size());
mChildList.updateChildProgress(task.getEntity().getSubEntities());
}
@@ -170,4 +177,53 @@ public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBin
T.showShort(this, "任务组下载完成");
L.d(TAG, "任务组下载完成");
}
@DownloadGroup.onSubTaskRunning void onSubTaskRunning(DownloadGroupTask groupTask,
DownloadEntity subEntity) {
//Log.e(TAG, "gHash = "
// + groupTask.getEntity().getSubEntities().get(0).hashCode()
// + "; subHash = "
// + groupTask.getTaskEntity().getSubTaskEntities().get(0).getEntity().hashCode() +
// "; subHash = " + subEntity.hashCode());
//int percent = subEntity.getPercent();
////如果你打开了速度单位转换配置将可以通过以下方法获取带单位的下载速度1 mb/s
//String convertSpeed = subEntity.getConvertSpeed();
////当前下载完成的进度长度bytes
//long completedSize = subEntity.getCurrentProgress();
//Log.d(TAG, "subTask名字"
// + subEntity.getFileName()
// + ", "
// + " speed:"
// + convertSpeed
// + ",percent: "
// + percent
// + "%, completedSize:"
// + completedSize);
}
@DownloadGroup.onSubTaskPre void onSubTaskPre(DownloadGroupTask groupTask,
DownloadEntity subEntity) {
}
@DownloadGroup.onSubTaskStop void onSubTaskStop(DownloadGroupTask groupTask,
DownloadEntity subEntity) {
}
@DownloadGroup.onSubTaskStart void onSubTaskStart(DownloadGroupTask groupTask,
DownloadEntity subEntity) {
}
//@DownloadGroup.onSubTaskCancel void onSubTaskCancel(DownloadGroupTask groupTask,
// DownloadEntity subEntity) {
// Log.d(TAG, "new Size: " + groupTask.getConvertFileSize());
// mSub.setText("子任务:" + mChildName + ",状态:取消下载");
//}
@DownloadGroup.onSubTaskComplete void onSubTaskComplete(DownloadGroupTask groupTask,
DownloadEntity subEntity) {
}
@DownloadGroup.onSubTaskFail void onSubTaskFail(DownloadGroupTask groupTask,
DownloadEntity subEntity) {
}
}

View File

@@ -32,7 +32,7 @@ import com.arialyy.simple.databinding.ActivityDownloadGroupBinding;
import com.arialyy.simple.widget.SubStateLinearLayout;
/**
* Created by Aria.Lao on 2017/7/6.
* Created by lyy on 2017/7/6.
*/
public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBinding> {
private static final String dir = "ftp://192.168.1.2:21/upload/测试";

View File

@@ -23,7 +23,7 @@ import java.util.Collections;
import java.util.List;
/**
* Created by Aria.Lao on 2017/7/6.
* Created by lyy on 2017/7/6.
*/
public class GroupModule extends BaseModule {
public GroupModule(Context context) {
@@ -32,15 +32,16 @@ public class GroupModule extends BaseModule {
public List<String> getUrls() {
List<String> urls = new ArrayList<>();
String[] str = getContext().getResources().getStringArray(R.array.group_url4);
String[] str = getContext().getResources().getStringArray(R.array.group_urls_1);
Collections.addAll(urls, str);
return urls;
}
List<String> getUrls1() {
List<String> urls = new ArrayList<>();
String[] str = getContext().getResources().getStringArray(R.array.group_urls);
Collections.addAll(urls, str);
//String[] str = getContext().getResources().getStringArray(R.array.group_urls);
//Collections.addAll(urls, str);
urls.add("https://d.pcs.baidu.com/file/130335545f3f4d9cc38afe709c19af5a?fid=1411168371-250528-1010657263806840&dstime=1531134607&rt=sh&sign=FDtAERVY-DCb740ccc5511e5e8fedcff06b081203-sNCujT7lC42aMcfiHcgqAzYHuw4%3D&expires=8h&chkv=1&chkbd=0&chkpc=et&dp-logid=4401967667009194668&dp-callid=0&r=540192514");
return urls;
}
@@ -50,4 +51,78 @@ public class GroupModule extends BaseModule {
Collections.addAll(names, str);
return names;
}
List<String> getSubName2() {
List<String> taskSubFile;
taskSubFile = new ArrayList<>();
//taskSubFile.add("2156.mp4");
// taskSubFile.add("2115.mp4");
//taskSubFile.add("2009.mp4");
//taskSubFile.add("1893.mp4");
taskSubFile.add("1952.mp4");
taskSubFile.add("1958.mp4");
taskSubFile.add("1994.mp4");
//taskSubFile.add("2083.mp4");
taskSubFile.add("2305.JPG");
taskSubFile.add("2183.JPG");
taskSubFile.add("2154.JPG");
taskSubFile.add("2153.JPG");
taskSubFile.add("2152.JPG");
taskSubFile.add("2151.JPG");
taskSubFile.add("2149.JPG");
taskSubFile.add("2148.JPG");
taskSubFile.add("2147.JPG");
taskSubFile.add("2146.JPG");
taskSubFile.add("1949.JPG");
taskSubFile.add("1887.JPG");
taskSubFile.add("1996.txt");
return taskSubFile;
}
public List<String> getUrls2() {
List<String> downLoadUrls;
downLoadUrls = new ArrayList<>();
//downLoadUrls.add(
// "http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2156&clientId=A000011106034058176");
// downLoadUrls.add("http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2115&clientId=A000011106034058176");
//downLoadUrls.add(
// "http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2009&clientId=A000011106034058176");
//downLoadUrls.add(
// "http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1893&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1952&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1958&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1994&clientId=A000011106034058176");
//downLoadUrls.add(
// "http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2083&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2305&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2183&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2154&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2153&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2152&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2151&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2149&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2148&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2147&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=2146&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1949&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1887&clientId=A000011106034058176");
downLoadUrls.add(
"http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1996&clientId=A000011106034058176");
return downLoadUrls;
}
}

View File

@@ -117,7 +117,7 @@ public class MultiDownloadActivity extends BaseActivity<ActivityMultiDownloadBin
}
@DownloadGroup.onWait void groupTaskWait(DownloadGroupTask task) {
ALog.d(TAG, String.format("group【%s】wait", task.getTaskName()));
ALog.d(TAG, String.format("group【%s】wait---", task.getTaskName()));
mAdapter.updateState(task.getEntity());
}

View File

@@ -19,7 +19,7 @@ import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadGroupEntity;
/**
* Created by Aria.Lao on 2017/7/14.
* Created by lyy on 2017/7/14.
*/
public class MultiEntity {
public static final int SIMPLE_DOWNLOAD = 0xa1;

View File

@@ -19,7 +19,7 @@ import android.content.Context;
import com.arialyy.simple.base.BaseModule;
/**
* Created by Aria.Lao on 2017/7/14.
* Created by lyy on 2017/7/14.
*/
public class MultiModule extends BaseModule{
public MultiModule(Context context) {

View File

@@ -29,6 +29,7 @@ import com.arialyy.annotations.DownloadGroup;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadGroupTask;
import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.util.ALog;
import com.arialyy.frame.util.FileUtil;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
@@ -119,6 +120,11 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
mAdapter.updateBtState(task.getKey(), false);
}
@DownloadGroup.onWait void groupTaskWait(DownloadGroupTask task) {
ALog.d(TAG, String.format("group【%s】wait---", task.getTaskName()));
mAdapter.updateBtState(task.getKey(), true);
}
@DownloadGroup.onTaskStop void groupTaskStop(DownloadGroupTask task) {
mAdapter.updateBtState(task.getKey(), true);
Log.d(TAG, String.format("group【%s】stop", task.getTaskName()));

View File

@@ -22,7 +22,7 @@ import android.support.v4.app.NotificationCompat;
import com.arialyy.simple.R;
/**
* Created by Aria.Lao on 2017/1/18.
* Created by lyy on 2017/1/18.
*/
public class DownloadNotification {

View File

@@ -26,7 +26,7 @@ import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.frame.util.show.T;
/**
* Created by Aria.Lao on 2017/4/5.
* Created by lyy on 2017/4/5.
* 在服务中使用 Aria进行下载
*/
public class DownloadService extends Service {

View File

@@ -27,8 +27,12 @@ public class AnyRunActivity extends BaseActivity<ActivityTestBinding> {
//String URL = "http://static.gaoshouyou.com/d/22/94/822260b849944492caadd2983f9bb624.apk";
//private final String URL = "ftp://192.168.29.140:21/download/AriaPrj.rar";
//String URL = "https://dl.genymotion.com/releases/genymotion-2.12.1/genymotion-2.12.1-vbox.exe";
String URL = "ftp://192.168.29.140:21/download/SDK_Demo-release.apk";
//String URL = "ftp://192.168.29.140:21/download/SDK_Demo-release.apk";
//String URL = "ftps://192.168.29.140:990/download/SDK_Demo-release.apk";
//String URL = "http://d.quanscreen.com/k/down/resourceDownLoad?resourceId=1994&clientId=A000011106034058176";
//String URL = "ftp://z:z@dygod18.com:21211/[电影天堂www.dy2018.com]猩球崛起3终极之战BD国英双语中英双字.mkv";
//String URL = "https://app-dl.byfen.com//app//201810//ef0400d637e768e9c630b4d38633ee06.zip";
String URL = "ftps://9.9.9.59:990/download/SDK_Demo-release.apk";
//private String URL = "https://www.bilibili.com/bangumi/play/ep77693";
//private String URL = "http://cn-hbsjz-cmcc-v-03.acgvideo.com/upgcxcode/63/82/5108263/5108263-1-80.flv?expires=1530178500&platform=pc&ssig=vr7gLl0duyqWqSMnIpzaDA&oi=3746029570&nfa=BpfiWF+i4mNW8KzjZFHzBQ==&dynamic=1&hfa=2030547937&hfb=Yjk5ZmZjM2M1YzY4ZjAwYTMzMTIzYmIyNWY4ODJkNWI=&trid=3476be01a9254115b15f8cc7198600fe&nfc=1";

View File

@@ -10,7 +10,6 @@ import com.arialyy.aria.core.download.DownloadTask;
import com.arialyy.aria.util.CommonUtil;
import com.arialyy.frame.util.show.L;
import java.io.File;
import java.net.Proxy;
/**
* Created by laoyuyu on 2018/4/13.
@@ -65,10 +64,9 @@ public class AnyRunnModule {
void start(String url) {
mUrl = url;
String path = Environment.getExternalStorageDirectory().getPath() + "/aaas.apk";
String path = Environment.getExternalStorageDirectory().getPath() + "/mmm2.mp4";
Aria.download(this)
.load(url)
.setRequestMode(RequestEnum.GET)
.setFilePath(path)
.resetState()
.start();
@@ -79,7 +77,11 @@ public class AnyRunnModule {
Aria.download(this)
.loadFtp(url)
.login("lao", "123456")
.setFilePath(Environment.getExternalStorageDirectory().getPath() + "/")
.setFilePath(Environment.getExternalStorageDirectory().getPath() + "/Download/")
.asFtps()
.setStorePath("/mnt/sdcard/Download/server.crt")
.setAlias("www.laoyuyu.me")
.setStorePass("123456")
.start();
}

View File

@@ -6,6 +6,7 @@ import android.util.Log;
import android.view.View;
import com.arialyy.annotations.Upload;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.common.ProtocolType;
import com.arialyy.aria.core.common.RequestEnum;
import com.arialyy.aria.core.upload.UploadTask;
import com.arialyy.aria.util.ALog;
@@ -19,12 +20,12 @@ import java.io.File;
* Created by Administrator on 2018/4/12.
*/
public class TestActivity extends BaseActivity<ActivityTestBinding> {
String TAG = "TestActivity";
public class TestFTPActivity extends BaseActivity<ActivityTestBinding> {
String TAG = "TestFTPActivity";
//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.1.2:21/aa//你好";
private final String FILE_PATH = "/mnt/sdcard/mmm.mp4";
private final String URL = "ftps://9.9.9.59:990/aa/你好";
@Override protected int setLayoutId() {
@@ -35,7 +36,7 @@ public class TestActivity extends BaseActivity<ActivityTestBinding> {
super.init(savedInstanceState);
mBar.setVisibility(View.GONE);
Aria.upload(this).register();
Aria.upload(this).setMaxSpeed(128);
}
@Upload.onWait void onWait(UploadTask task) {
@@ -51,7 +52,7 @@ public class TestActivity extends BaseActivity<ActivityTestBinding> {
}
@Upload.onTaskRunning protected void running(UploadTask task) {
Log.d(TAG, "running");
Log.d(TAG, "runningspeed=" + task.getConvertSpeed());
}
@Upload.onTaskResume void taskResume(UploadTask task) {
@@ -81,7 +82,9 @@ public class TestActivity extends BaseActivity<ActivityTestBinding> {
.loadFtp(FILE_PATH)
.login("lao", "123456")
.setUploadUrl(URL)
.setExtendField("韩寒哈大双")
.asFtps()
.setStorePath("/mnt/sdcard/Download/server.crt")
.setAlias("www.laoyuyu.me")
.start();
//Uri uri = Uri.parse("ftp://z:z@dygod18.com:21211/[电影天堂www.dy2018.com]猩球崛起3终极之战BD国英双语中英双字.mkv");
//ALog.d(TAG, "sh = " + uri.getScheme() + ", user = " + uri.getUserInfo() + ", host = " + uri.getHost() + ", port = " + uri.getPort() + " remotePath = " + uri.getPath());

View File

@@ -17,9 +17,9 @@ import java.util.List;
* Created by Administrator on 2018/4/12.
*/
public class TestGroupActivity extends BaseActivity<ActivityTestBinding> {
public class TestFTPDirActivity extends BaseActivity<ActivityTestBinding> {
List<String> mUrls;
private static final String dir = "ftp://192.168.1.8:21/upload/测试";
private static final String dir = "ftps://192.168.29.140:990/upload/测试";
@Override protected int setLayoutId() {
return R.layout.activity_test;
@@ -87,6 +87,10 @@ public class TestGroupActivity extends BaseActivity<ActivityTestBinding> {
.setGroupAlias("ftp文件夹下载")
//.setSubTaskFileName(getModule(GroupModule.class).getSubName())
.login("lao", "123456")
.asFtps()
.setStorePath("/mnt/sdcard/Download/server.crt")
.setAlias("www.laoyuyu.me")
.setStorePass("123456")
.start();
break;
case R.id.stop:

View File

@@ -31,7 +31,7 @@ import com.arialyy.simple.databinding.ActivityFtpUploadBinding;
import java.io.File;
/**
* Created by Aria.Lao on 2017/7/28.
* Created by lyy on 2017/7/28.
* Ftp 文件上传demo
*/
public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {

View File

@@ -32,7 +32,7 @@ import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
import java.io.File;
/**
* Created by Aria.Lao on 2017/2/9.
* Created by lyy on 2017/2/9.
*/
public class HttpUploadActivity extends BaseActivity<ActivityUploadBinding> {
private static final String TAG = "HttpUploadActivity";
@@ -56,7 +56,7 @@ public class HttpUploadActivity extends BaseActivity<ActivityUploadBinding> {
"http://lib-test.xzxyun.com:8042/Api/upload?data={\"type\":\"1\",\"fileType\":\".apk\"}")
//.setUploadUrl("http://192.168.1.6:8080/upload/sign_file/").setAttachment("file")
//.addHeader("iplanetdirectorypro", "11a09102fb934ad0bc206f9c611d7933")
.setRequestMode(RequestEnum.POST)
.asPost()
.start();
}

View File

@@ -18,6 +18,7 @@ package com.arialyy.simple.widget;
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
@@ -31,10 +32,10 @@ import java.util.Map;
import java.util.WeakHashMap;
/**
* Created by Aria.Lao on 2017/7/17.
* Created by lyy on 2017/7/17.
*/
public class SubStateLinearLayout extends LinearLayout implements View.OnClickListener {
private final String TAG = "SubStateLinearLayout";
interface OnShowCallback {
void onShow(boolean visibility);
}

View File

@@ -60,7 +60,7 @@
<!--<item>https://res5.d.cn/5a6a3384c1b2be1a52034c72752e8475414630ebc69318b84ef584115ebf5eaaab945ae07b7fe3596afc72a7940ff328d4a9553f6ae92d6c09ba4bfb533137f6.apk</item>-->
<!--<item>https://res5.d.cn/5a6a3384c1b2be1a426f06bfc69034d69c44ae1a01da180cab8e59bd1a5e1a784bac46ba0c64579d14f0e80a4ce4f068af89b0369a393456f4f449a8829cad5c.apk</item>-->
<item>http://static.gaoshouyou.com/d/12/0d/7f120f50c80d2e7b8c4ba24ece4f9cdd.apk</item>
<item>http://static.ilongyuan.cn/rayark/RayarkFZ_2.0.7.apk</item>
<!--<item>http://static.ilongyuan.cn/rayark/RayarkFZ_2.0.7.apk</item>-->
</string-array>
<string-array name="group_urls_1">
@@ -85,9 +85,9 @@
</string-array>
<string-array name="group_names">
<!--<item>王者荣耀.apk</item>-->
<item>王者荣耀.apk</item>
<item>战斗吧剑灵.apk</item>
<item>天魔幻想.apk</item>
<!--<item>天魔幻想.apk</item>-->
</string-array>
<string-array name="group_names_1">