laoyuyu
2019-03-07 21:44:32 +08:00
parent d8a14c0086
commit 0f9f2577b8
120 changed files with 10595 additions and 307 deletions

View File

@@ -19,8 +19,6 @@ package com.arialyy.simple;
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;
@@ -33,24 +31,29 @@ import com.arialyy.simple.upload.HttpUploadActivity;
/**
* Created by lyy on 2017/3/1.
*/
public class MainActivity extends BaseActivity<ActivityMainBinding> {
public class MainActivity extends BaseActivity<ActivityMainBinding>
implements View.OnClickListener {
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
setSupportActionBar(mBar);
mBar.setTitle("Aria Demo");
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getBinding().download.setOnClickListener(this);
getBinding().upload.setOnClickListener(this);
getBinding().downloadTaskGroup.setOnClickListener(this);
getBinding().ftpDownload.setOnClickListener(this);
getBinding().ftpDirDownload.setOnClickListener(this);
getBinding().ftpUpload.setOnClickListener(this);
getBinding().kotlinDownload.setOnClickListener(this);
}
@Override protected int setLayoutId() {
return R.layout.activity_main;
}
@OnClick({
R.id.download, R.id.upload, R.id.download_task_group, R.id.ftp_download,
R.id.ftp_dir_download, R.id.ftp_upload, R.id.kotlin_download
}) public void funcation(View view) {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.download:
startActivity(new Intent(this, DownloadActivity.class));

View File

@@ -20,7 +20,6 @@ import android.databinding.ViewDataBinding;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import butterknife.Bind;
import com.arialyy.frame.core.AbsActivity;
import com.arialyy.frame.util.AndroidVersionUtil;
import com.arialyy.simple.R;
@@ -32,7 +31,7 @@ import com.arialyy.simple.common.MsgDialog;
public abstract class BaseActivity<VB extends ViewDataBinding> extends AbsActivity<VB>
implements Toolbar.OnMenuItemClickListener {
@Bind(R.id.toolbar) protected Toolbar mBar;
protected Toolbar mBar;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -43,16 +42,20 @@ public abstract class BaseActivity<VB extends ViewDataBinding> extends AbsActivi
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mBar = findViewById(R.id.toolbar);
setSupportActionBar(mBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mBar.setOnMenuItemClickListener(this);
}
protected void setTile(String title){
protected void setTile(String title) {
if (mBar == null) {
mBar = findViewById(R.id.toolbar);
}
mBar.setTitle(title);
}
protected void showMsgDialog(String title, String msg){
protected void showMsgDialog(String title, String msg) {
MsgDialog dialog = new MsgDialog(this, title, msg);
dialog.show(getSupportFragmentManager(), "msg_dialog");
}

View File

@@ -19,7 +19,6 @@ package com.arialyy.simple.base;
import android.app.Application;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.os.Build;
import android.os.StrictMode;
import com.arialyy.aria.core.Aria;
import com.arialyy.frame.core.AbsFrame;
@@ -38,17 +37,13 @@ public class BaseApplication extends Application {
INSTANCE = this;
AbsFrame.init(this);
Aria.init(this);
if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
if (BuildConfig.DEBUG) {
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectAll()
.penaltyLog()
.build());
StrictMode.setThreadPolicy(
new StrictMode.ThreadPolicy.Builder().detectAll().penaltyLog().build());
StrictMode.VmPolicy policy = new StrictMode.VmPolicy.Builder()
//.detectLeakedSqlLiteObjects()
//.detectLeakedClosableObjects()
.detectAll()
.penaltyDeath()
.penaltyLog()
.build();
StrictMode.setVmPolicy(policy);
}
registerReceiver(new ConnectionChangeReceiver(),

View File

@@ -20,7 +20,6 @@ import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.View;
import butterknife.ButterKnife;
/**
* Created by lyy on 2015/12/3.
@@ -32,7 +31,7 @@ public class AbsHolder extends RecyclerView.ViewHolder {
public AbsHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
mView = itemView;
}
@SuppressWarnings("unchecked")

View File

@@ -16,8 +16,6 @@
package com.arialyy.simple.base.adapter;
import android.content.Context;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;

View File

@@ -17,8 +17,7 @@ package com.arialyy.simple.common;
import android.annotation.SuppressLint;
import android.os.Bundle;
import butterknife.OnClick;
import com.arialyy.frame.util.show.T;
import android.view.View;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseDialog;
import com.arialyy.simple.databinding.DialogMsgBinding;
@@ -40,14 +39,14 @@ import com.arialyy.simple.databinding.DialogMsgBinding;
super.init(savedInstanceState);
getBinding().setTitle(mTitle);
getBinding().setMsg(mMsg);
getBinding().enter.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
dismiss();
}
});
}
@Override protected int setLayoutId() {
return R.layout.dialog_msg;
}
@OnClick(R.id.enter)
public void close(){
dismiss();
}
}

View File

@@ -23,8 +23,6 @@ import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import butterknife.Bind;
import com.arialyy.aria.core.Aria;
import com.arialyy.frame.permission.OnPermissionCallback;
import com.arialyy.frame.permission.PermissionManager;
import com.arialyy.frame.util.show.T;
@@ -39,10 +37,10 @@ import com.arialyy.simple.download.service_download.DownloadService;
* Created by Lyy on 2016/10/13.
*/
public class DownloadActivity extends BaseActivity<ActivityDownloadMeanBinding> {
@Bind(R.id.single_task) Button mSigleBt;
@Bind(R.id.multi_task) Button mMultiBt;
@Bind(R.id.dialog_task) Button mDialogBt;
@Bind(R.id.pop_task) Button mPopBt;
Button mSigleBt;
Button mMultiBt;
Button mDialogBt;
Button mPopBt;
@Override protected int setLayoutId() {
return R.layout.activity_download_mean;
@@ -51,6 +49,10 @@ public class DownloadActivity extends BaseActivity<ActivityDownloadMeanBinding>
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
setTitle("Aria下载");
mSigleBt = getBinding().singleTask;
mMultiBt = getBinding().multiTask;
mDialogBt = getBinding().dialogTask;
mPopBt = getBinding().popTask;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
setEnable(true);
} else { //6.0处理

View File

@@ -21,10 +21,7 @@ import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.OnClick;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.download.DownloadTarget;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadTask;
@@ -36,13 +33,13 @@ import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
/**
* Created by AriaL on 2017/1/2.
*/
public class DownloadDialog extends AbsDialog {
@Bind(R.id.progressBar) HorizontalProgressBarWithNumber mPb;
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@Bind(R.id.cancel) Button mCancel;
@Bind(R.id.size) TextView mSize;
@Bind(R.id.speed) TextView mSpeed;
public class DownloadDialog extends AbsDialog implements View.OnClickListener{
private HorizontalProgressBarWithNumber mPb;
private Button mStart;
private Button mStop;
private Button mCancel;
private TextView mSize;
private TextView mSpeed;
private static final String DOWNLOAD_URL =
"http://static.gaoshouyou.com/d/4b/d7/e04b308d9cd7f0ad4cac18d1a514544c.apk";
@@ -58,6 +55,12 @@ public class DownloadDialog extends AbsDialog {
private void init() {
Aria.download(this).register();
mPb = findViewById(R.id.progressBar);
mStart = findViewById(R.id.start);
mStop = findViewById(R.id.stop);
mCancel = findViewById(R.id.cancel);
mSize = findViewById(R.id.size);
mSpeed = findViewById(R.id.speed);
DownloadEntity entity = Aria.download(this).getDownloadEntity(DOWNLOAD_URL);
if (entity != null) {
mSize.setText(CommonUtil.formatFileSize(entity.getFileSize()));
@@ -68,9 +71,13 @@ public class DownloadDialog extends AbsDialog {
} else {
setBtState(true);
}
mStart.setOnClickListener(this);
mStop.setOnClickListener(this);
mCancel.setOnClickListener(this);
}
@OnClick({ R.id.start, R.id.stop, R.id.cancel }) public void onClick(View view) {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(this)

View File

@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Toast;
import butterknife.OnClick;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
@@ -20,7 +19,7 @@ import com.arialyy.simple.databinding.DialogFragmentDownloadBinding;
* Created by lyy on 2017/8/8.
*/
@SuppressLint("ValidFragment") public class DownloadDialogFragment
extends BaseDialog<DialogFragmentDownloadBinding> {
extends BaseDialog<DialogFragmentDownloadBinding> implements View.OnClickListener{
private static final String DOWNLOAD_URL =
"http://res3.d.cn/android/new/game/2/78702/fzjh_1499390260312.apk?f=web_1";
@@ -37,6 +36,9 @@ import com.arialyy.simple.databinding.DialogFragmentDownloadBinding;
getBinding().setFileSize(CommonUtil.formatFileSize(entity.getFileSize()));
getBinding().setProgress((int) (entity.getCurrentProgress() * 100 / entity.getFileSize()));
}
mRootView.findViewById(R.id.start).setOnClickListener(this);
mRootView.findViewById(R.id.stop).setOnClickListener(this);
mRootView.findViewById(R.id.cancel).setOnClickListener(this);
}
@Override protected int setLayoutId() {
@@ -93,7 +95,7 @@ import com.arialyy.simple.databinding.DialogFragmentDownloadBinding;
T.showShort(getContext(), "该下载链接不支持断点");
}
@OnClick({ R.id.start, R.id.stop, R.id.cancel }) public void onClick(View view) {
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(getContext())

View File

@@ -23,8 +23,6 @@ import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.OnClick;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
@@ -38,13 +36,13 @@ import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
/**
* Created by AriaL on 2017/1/2.
*/
public class DownloadPopupWindow extends AbsPopupWindow {
@Bind(R.id.progressBar) HorizontalProgressBarWithNumber mPb;
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@Bind(R.id.cancel) Button mCancel;
@Bind(R.id.size) TextView mSize;
@Bind(R.id.speed) TextView mSpeed;
public class DownloadPopupWindow extends AbsPopupWindow implements View.OnClickListener {
private HorizontalProgressBarWithNumber mPb;
private Button mStart;
private Button mStop;
private Button mCancel;
private TextView mSize;
private TextView mSpeed;
private static final String DOWNLOAD_URL =
"http://static.gaoshouyou.com/d/25/57/2e25bd9d4557ba31e9beebacfaf9e804.apk";
@@ -59,6 +57,16 @@ public class DownloadPopupWindow extends AbsPopupWindow {
}
private void initWidget() {
mPb = mView.findViewById(R.id.progressBar);
mStart = mView.findViewById(R.id.start);
mStop = mView.findViewById(R.id.stop);
mCancel = mView.findViewById(R.id.cancel);
mSize = mView.findViewById(R.id.size);
mSpeed = mView.findViewById(R.id.speed);
mStart.setOnClickListener(this);
mStop.setOnClickListener(this);
mCancel.setOnClickListener(this);
if (Aria.download(this).taskExists(DOWNLOAD_URL)) {
DownloadTarget target = Aria.download(this).load(DOWNLOAD_URL);
int p = (int) (target.getCurrentProgress() * 100 / target.getFileSize());
@@ -75,7 +83,8 @@ public class DownloadPopupWindow extends AbsPopupWindow {
}
}
@OnClick({ R.id.start, R.id.stop, R.id.cancel }) public void onClick(View view) {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(this)

View File

@@ -24,7 +24,6 @@ import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import butterknife.Bind;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
@@ -48,13 +47,13 @@ import java.util.Set;
* 最高优先级任务Demo
*/
public class HighestPriorityActivity extends BaseActivity<ActivityHighestPriorityBinding> {
@Bind(R.id.progressBar) HorizontalProgressBarWithNumber mPb;
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@Bind(R.id.cancel) Button mCancel;
@Bind(R.id.size) TextView mSize;
@Bind(R.id.speed) TextView mSpeed;
@Bind(R.id.list) RecyclerView mList;
private HorizontalProgressBarWithNumber mPb;
private Button mStart;
private Button mStop;
private Button mCancel;
private TextView mSize;
private TextView mSpeed;
private RecyclerView mList;
private String mTaskName = "光明大陆";
private static final String DOWNLOAD_URL =
@@ -69,6 +68,14 @@ public class HighestPriorityActivity extends BaseActivity<ActivityHighestPriorit
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mPb = findViewById(R.id.progressBar);
mStart = findViewById(R.id.start);
mStop = findViewById(R.id.stop);
mCancel = findViewById(R.id.cancel);
mSize = findViewById(R.id.size);
mSpeed = findViewById(R.id.speed);
mList = findViewById(R.id.list);
setTitle("最高优先级任务");
getBinding().setTaskName("任务名:" + mTaskName + " (最高优先级任务)");
initWidget();

View File

@@ -31,7 +31,7 @@ import android.view.View;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.Toast;
import butterknife.Bind;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.common.RequestEnum;
@@ -46,6 +46,7 @@ import com.arialyy.frame.util.show.T;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseActivity;
import com.arialyy.simple.databinding.ActivitySingleBinding;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
@@ -59,23 +60,24 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
//"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";
//"http://9.9.9.50:5000/download1";
//"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";
//"http://9.9.9.50:5000/download1";
//"http://9.9.9.50:5000/download/CentOS-7-x86_64-Minimal-1804.iso";
//"http://v2.qingdian1.com/m_20180730_991/2/2B9FB34A4BCD8CE61481D1C8418EFE36_1080P.m3u8";
//"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;
@Bind(R.id.speeds) RadioGroup mRg;
Button mStart;
Button mStop;
Button mCancel;
RadioGroup mRg;
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override public void onReceive(Context context, Intent intent) {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ISchedulers.ARIA_TASK_INFO_ACTION)) {
ALog.d(TAG, "state = " + intent.getIntExtra(ISchedulers.TASK_STATE, -1));
ALog.d(TAG, "type = " + intent.getIntExtra(ISchedulers.TASK_TYPE, -1));
@@ -86,21 +88,38 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
};
@Override protected void onResume() {
@Override
protected void onResume() {
super.onResume();
//registerReceiver(receiver, new IntentFilter(ISchedulers.ARIA_TASK_INFO_ACTION));
}
@Override protected void onDestroy() {
@Override
protected void onDestroy() {
super.onDestroy();
//unregisterReceiver(receiver);
Aria.download(this).unRegister();
}
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@Override
protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mStart = findViewById(R.id.start);
mStop = findViewById(R.id.stop);
mCancel = findViewById(R.id.cancel);
mRg = findViewById(R.id.speeds);
setTitle("单任务下载");
Aria.download(this).register();
Log.d(TAG, "TAG========" + Aria.download(this).load(DOWNLOAD_URL).getTaskState() + "");
DownloadTarget target = Aria.download(this).load(DOWNLOAD_URL);
getBinding().setProgress(target.getPercent());
if (target.getTaskState() == IEntity.STATE_STOP) {
mStart.setText("恢复");
mStart.setTextColor(getResources().getColor(android.R.color.holo_blue_light));
setBtState(true);
} else if (target.isRunning()) {
setBtState(false);
}
getBinding().setFileSize(target.getConvertFileSize());
}
/**
@@ -111,12 +130,14 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
//mStop.setEnabled(!state);
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_single_task_activity, menu);
return super.onCreateOptionsMenu(menu);
}
@Override public boolean onMenuItemClick(MenuItem item) {
@Override
public boolean onMenuItemClick(MenuItem item) {
int speed = -1;
String msg = "";
switch (item.getItemId()) {
@@ -151,25 +172,29 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
return true;
}
@Download.onWait void onWait(DownloadTask task) {
@Download.onWait
void onWait(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
Log.d(TAG, "wait ==> " + task.getDownloadEntity().getFileName());
}
}
@Download.onPre protected void onPre(DownloadTask task) {
@Download.onPre
protected void onPre(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
setBtState(false);
}
}
@Download.onTaskStart void taskStart(DownloadTask task) {
@Download.onTaskStart
void taskStart(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
getBinding().setFileSize(task.getConvertFileSize());
}
}
@Download.onTaskRunning protected void running(DownloadTask task) {
@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());
@@ -183,14 +208,16 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
//}
}
@Download.onTaskResume void taskResume(DownloadTask task) {
@Download.onTaskResume
void taskResume(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mStart.setText("暂停");
setBtState(false);
}
}
@Download.onTaskStop void taskStop(DownloadTask task) {
@Download.onTaskStop
void taskStop(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
mStart.setText("恢复");
setBtState(true);
@@ -198,7 +225,8 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
}
@Download.onTaskCancel void taskCancel(DownloadTask task) {
@Download.onTaskCancel
void taskCancel(DownloadTask task) {
if (task.getKey().equals(DOWNLOAD_URL)) {
getBinding().setProgress(0);
Toast.makeText(SingleTaskActivity.this, "取消下载", Toast.LENGTH_SHORT).show();
@@ -210,11 +238,11 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
/**
*
* @param task
* @param e
*/
@Download.onTaskFail void taskFail(DownloadTask task, Exception e) {
@Download.onTaskFail
void taskFail(DownloadTask task, Exception e) {
if (task.getKey().equals(DOWNLOAD_URL)) {
Toast.makeText(SingleTaskActivity.this, "下载失败", Toast.LENGTH_SHORT).show();
setBtState(true);
@@ -227,7 +255,8 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
}
@Download.onTaskComplete void taskComplete(DownloadTask task) {
@Download.onTaskComplete
void taskComplete(DownloadTask task) {
//if (task.getKey().equals(DOWNLOAD_URL)) {
getBinding().setProgress(100);
Toast.makeText(SingleTaskActivity.this, "下载完成", Toast.LENGTH_SHORT).show();
@@ -246,31 +275,20 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
//}
}
@Download.onNoSupportBreakPoint public void onNoSupportBreakPoint(DownloadTask task) {
@Download.onNoSupportBreakPoint
public void onNoSupportBreakPoint(DownloadTask task) {
Log.d(TAG, "该下载链接不支持断点");
if (task.getKey().equals(DOWNLOAD_URL)) {
T.showShort(SingleTaskActivity.this, "该下载链接不支持断点");
}
}
@Override protected int setLayoutId() {
@Override
protected int setLayoutId() {
return R.layout.activity_single;
}
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
setTitle("单任务下载");
DownloadTarget target = Aria.download(this).load(DOWNLOAD_URL);
getBinding().setProgress(target.getPercent());
if (target.getTaskState() == IEntity.STATE_STOP) {
mStart.setText("恢复");
mStart.setTextColor(getResources().getColor(android.R.color.holo_blue_light));
setBtState(true);
} else if (target.isRunning()) {
setBtState(false);
}
getBinding().setFileSize(target.getConvertFileSize());
}
public void onClick(View view) {
switch (view.getId()) {
@@ -291,16 +309,23 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
}
}
int i = 1;
private void startD() {
//Aria.get(this).setLogLevel(ALog.LOG_CLOSE);
//Aria.download(this).load("aaaa.apk");
//String path = Environment.getExternalStorageDirectory().getPath() + "/ggsg11.ota";
String path = "/sdcard/ggsg11.mp4";
String path = String.format("/sdcard/ggsg11(%s).mp4", i);
//if (new File(path).exists()) {
//
// i++;
// path = String.format("/sdcard/ggsg11(%s).mp4", i);
//}
//File file = new File(path);
//if (file.exists()){
// file.delete();
//}
Aria.download(SingleTaskActivity.this).load(DOWNLOAD_URL).resetState().save();
Map<String, String> params = new HashMap<>();
params.put("key", "value");
params.put("filename", "CentOS-7-x86_64-Minimal-1804.iso");
@@ -323,7 +348,8 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
//.add();
}
@Override protected void onStop() {
@Override
protected void onStop() {
super.onStop();
//Aria.download(this).unRegister();
}

View File

@@ -20,9 +20,6 @@ import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.OnClick;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.download.DownloadTarget;
import com.arialyy.aria.core.Aria;
@@ -37,14 +34,23 @@ import com.arialyy.simple.widget.HorizontalProgressBarWithNumber;
/**
* Created by lyy on 2017/1/4.
*/
public class DownloadFragment extends AbsFragment<FragmentDownloadBinding> {
@Bind(R.id.start) Button mStart;
@Bind(R.id.stop) Button mStop;
@Bind(R.id.cancel) Button mCancel;
public class DownloadFragment extends AbsFragment<FragmentDownloadBinding>
implements View.OnClickListener {
Button mStart;
Button mStop;
Button mCancel;
private static final String DOWNLOAD_URL = "https://res5.d.cn/2137e42d610b3488d9420c6421529386eee5bdbfd9be1fafe0a05d6dabaec8c156ddbd00581055bbaeac03904fb63310e80010680235d16bd4c040b50096a0c20dd1c4b0854529a1.apk";
private static final String DOWNLOAD_URL =
"https://res5.d.cn/2137e42d610b3488d9420c6421529386eee5bdbfd9be1fafe0a05d6dabaec8c156ddbd00581055bbaeac03904fb63310e80010680235d16bd4c040b50096a0c20dd1c4b0854529a1.apk";
@Override protected void init(Bundle savedInstanceState) {
mStart = mRootView.findViewById(R.id.start);
mStop = mRootView.findViewById(R.id.stop);
mCancel = mRootView.findViewById(R.id.cancel);
mStart.setOnClickListener(this);
mStop.setOnClickListener(this);
mCancel.setOnClickListener(this);
if (Aria.download(this).taskExists(DOWNLOAD_URL)) {
DownloadTarget target = Aria.download(this).load(DOWNLOAD_URL);
getBinding().setProgress(target.getPercent());
@@ -60,7 +66,7 @@ public class DownloadFragment extends AbsFragment<FragmentDownloadBinding> {
Aria.download(this).register();
}
@OnClick({ R.id.start, R.id.stop, R.id.cancel }) public void onClick(View view) {
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(this)

View File

@@ -24,8 +24,6 @@ import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import butterknife.Bind;
import butterknife.OnClick;
import com.arialyy.annotations.DownloadGroup;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
@@ -41,10 +39,10 @@ import java.util.List;
* Created by lyy on 2017/9/5.
*/
@SuppressLint("ValidFragment") public class ChildHandleDialog
extends BaseDialog<DialogSubTaskHandlerBinding> {
@Bind(R.id.sub_task) TextView mSub;
@Bind(R.id.task_group) TextView mGroup;
@Bind(R.id.pb) HorizontalProgressBarWithNumber mPb;
extends BaseDialog<DialogSubTaskHandlerBinding> implements View.OnClickListener {
TextView mSub;
TextView mGroup;
HorizontalProgressBarWithNumber mPb;
private String mGroupHash;
private String mChildName;
private List<String> mUrls;
@@ -71,6 +69,13 @@ import java.util.List;
}
private void initWidget() {
mSub = findViewById(R.id.sub_task);
mGroup = findViewById(R.id.task_group);
mPb = findViewById(R.id.pb);
findViewById(R.id.stop).setOnClickListener(this);
findViewById(R.id.start).setOnClickListener(this);
findViewById(R.id.cancel).setOnClickListener(this);
mGroup.setText("任务组:" + mGroupHash);
mSub.setText("子任务:" + mChildName);
mPb.setProgress((int) (mChildEntity.getCurrentProgress() * 100 / mChildEntity.getFileSize()));
@@ -130,13 +135,20 @@ import java.util.List;
return R.layout.dialog_sub_task_handler;
}
@OnClick({ R.id.start, R.id.stop, R.id.cancel }) void onClick(View view) {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.start:
Aria.download(getContext()).loadGroup(mUrls).getSubTaskManager().startSubTask(mChildEntity.getUrl());
Aria.download(getContext())
.loadGroup(mUrls)
.getSubTaskManager()
.startSubTask(mChildEntity.getUrl());
break;
case R.id.stop:
Aria.download(getContext()).loadGroup(mUrls).getSubTaskManager().stopSubTask(mChildEntity.getUrl());
Aria.download(getContext())
.loadGroup(mUrls)
.getSubTaskManager()
.stopSubTask(mChildEntity.getUrl());
break;
//case R.id.cancel:
// Aria.download(this).load(mUrls).getSubTaskManager().cancelSubTask(mChildEntity.getUrl());

View File

@@ -19,7 +19,6 @@ import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
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;
@@ -40,13 +39,14 @@ import java.util.List;
*/
public class DownloadGroupActivity extends BaseActivity<ActivityDownloadGroupBinding> {
@Bind(R.id.child_list) SubStateLinearLayout mChildList;
SubStateLinearLayout mChildList;
List<String> mUrls;
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
Aria.download(this).register();
setTitle("任务组");
mChildList = getBinding().childList;
mUrls = getModule(GroupModule.class).getUrls();
DGTaskWrapper entity = Aria.download(this).getGroupTask(mUrls);
if (entity != null && entity.getEntity() != null) {

View File

@@ -18,7 +18,6 @@ package com.arialyy.simple.download.group;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import butterknife.Bind;
import com.arialyy.annotations.DownloadGroup;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadGroupEntity;
@@ -37,12 +36,13 @@ import com.arialyy.simple.widget.SubStateLinearLayout;
public class FTPDirDownloadActivity extends BaseActivity<ActivityDownloadGroupBinding> {
private static final String dir = "ftp://9.9.9.50:21/upload/测试";
@Bind(R.id.child_list) SubStateLinearLayout mChildList;
SubStateLinearLayout mChildList;
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
Aria.download(this).register();
setTitle("FTP文件夹下载");
mChildList = findViewById(R.id.child_list);
DGTaskWrapper entity = Aria.download(this).getFtpDirTask(dir);
if (entity != null && entity.getEntity() != null) {
DownloadGroupEntity groupEntity = entity.getEntity();

View File

@@ -23,7 +23,6 @@ import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import butterknife.Bind;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.download.DownloadGroupEntity;
@@ -78,7 +77,7 @@ public class DownloadAdapter extends AbsRVAdapter<AbsEntity, DownloadAdapter.Sim
mPositions.put(entity.getUrl(), mPositions.size());
}
@Override public int getItemViewType(int position) {
public int getItemViewType(int position) {
AbsEntity entity = mData.get(position);
if (entity instanceof DownloadEntity) return 1;
if (entity instanceof DownloadGroupEntity) return 2;
@@ -205,9 +204,9 @@ 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);
// cancel(entity);
stop(entity);
}
});
@@ -321,23 +320,30 @@ public class DownloadAdapter extends AbsRVAdapter<AbsEntity, DownloadAdapter.Sim
}
class SimpleHolder extends AbsHolder {
@Bind(R.id.progressBar) HorizontalProgressBarWithNumber progress;
@Bind(R.id.bt) Button bt;
@Bind(R.id.speed) TextView speed;
@Bind(R.id.fileSize) TextView fileSize;
@Bind(R.id.del) TextView cancel;
@Bind(R.id.name) TextView name;
HorizontalProgressBarWithNumber progress;
Button bt;
TextView speed;
TextView fileSize;
TextView cancel;
TextView name;
SimpleHolder(View itemView) {
super(itemView);
progress = itemView.findViewById(R.id.progressBar);
bt = itemView.findViewById(R.id.bt);
speed = itemView.findViewById(R.id.speed);
fileSize = itemView.findViewById(R.id.fileSize);
cancel = itemView.findViewById(R.id.del);
name = itemView.findViewById(R.id.name);
}
}
class GroupHolder extends SimpleHolder {
@Bind(R.id.child_list) SubStateLinearLayout childList;
SubStateLinearLayout childList;
GroupHolder(View itemView) {
super(itemView);
childList = itemView.findViewById(R.id.child_list);
}
}
}

View File

@@ -22,7 +22,6 @@ import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import butterknife.Bind;
import com.arialyy.simple.R;
import com.arialyy.simple.base.BaseDialog;
import com.arialyy.simple.databinding.DialogDownloadNumBinding;
@@ -34,8 +33,8 @@ import com.arialyy.simple.databinding.DialogDownloadNumBinding;
@SuppressLint("ValidFragment") public class DownloadNumDialog
extends BaseDialog<DialogDownloadNumBinding> implements RadioGroup.OnCheckedChangeListener {
public static final int RESULT_CODE = 1001;
@Bind(R.id.cancel) Button mCancel;
@Bind(R.id.rg) RadioGroup mRg;
Button mCancel;
RadioGroup mRg;
public DownloadNumDialog(Object obj) {
super(obj);
@@ -47,6 +46,9 @@ import com.arialyy.simple.databinding.DialogDownloadNumBinding;
@Override protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
mCancel = findViewById(R.id.cancel);
mRg = findViewById(R.id.rg);
mCancel.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
dismiss();

View File

@@ -21,7 +21,6 @@ import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import butterknife.Bind;
import com.arialyy.aria.core.Aria;
import com.arialyy.simple.R;
import com.arialyy.simple.base.adapter.AbsHolder;
@@ -112,13 +111,17 @@ final class FileListAdapter extends AbsRVAdapter<FileListEntity, FileListAdapter
}
class FileListHolder extends AbsHolder {
@Bind(R.id.name) TextView name;
@Bind(R.id.download_url) TextView url;
@Bind(R.id.download_path) TextView path;
@Bind(R.id.bt) Button bt;
TextView name;
TextView url;
TextView path;
Button bt;
FileListHolder(View itemView) {
super(itemView);
name = getView(R.id.name);
url = getView(R.id.download_url);
path = getView(R.id.download_path);
bt = getView(R.id.bt);
}
}
}

View File

@@ -22,7 +22,6 @@ import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import butterknife.Bind;
import com.arialyy.annotations.Download;
import com.arialyy.annotations.DownloadGroup;
import com.arialyy.aria.core.Aria;
@@ -40,7 +39,7 @@ import java.util.List;
* Created by AriaL on 2017/1/6.
*/
public class MultiDownloadActivity extends BaseActivity<ActivityMultiDownloadBinding> {
@Bind(R.id.list) RecyclerView mList;
RecyclerView mList;
private DownloadAdapter mAdapter;
private List<AbsEntity> mData = new ArrayList<>();
@@ -57,6 +56,7 @@ public class MultiDownloadActivity extends BaseActivity<ActivityMultiDownloadBin
mData.addAll(temps);
}
mAdapter = new DownloadAdapter(this, mData);
mList = getBinding().list;
mList.setLayoutManager(new LinearLayoutManager(this));
mList.setAdapter(mAdapter);
}

View File

@@ -23,7 +23,6 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import butterknife.Bind;
import com.arialyy.annotations.Download;
import com.arialyy.annotations.DownloadGroup;
import com.arialyy.aria.core.Aria;
@@ -43,8 +42,8 @@ import java.util.List;
* Created by Lyy on 2016/9/27.
*/
public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
@Bind(R.id.list) RecyclerView mList;
@Bind(R.id.toolbar) Toolbar mBar;
RecyclerView mList;
Toolbar mBar;
private FileListAdapter mAdapter;
List<FileListEntity> mData = new ArrayList<>();
@@ -59,6 +58,8 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
mData.addAll(getModule(DownloadModule.class).createGroupTestList());
mData.addAll(getModule(DownloadModule.class).createMultiTestList());
mAdapter = new FileListAdapter(this, mData);
mList = getBinding().list;
mBar = findViewById(R.id.toolbar);
mList.setLayoutManager(new LinearLayoutManager(this));
mList.setAdapter(mAdapter);
}
@@ -79,7 +80,7 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
}
}
@Download.onWait void taskWait(DownloadTask task){
@Download.onWait void taskWait(DownloadTask task) {
Log.d(TAG, "wait ==> " + task.getDownloadEntity().getFileName());
}
@@ -103,7 +104,7 @@ public class MultiTaskActivity extends BaseActivity<ActivityMultiBinding> {
mAdapter.updateBtState(task.getKey(), true);
}
@Download.onTaskComplete void taskComplete(DownloadTask task){
@Download.onTaskComplete void taskComplete(DownloadTask task) {
Log.d(TAG, FileUtil.getFileMD5(new File(task.getDownloadPath())));
}

View File

@@ -17,11 +17,9 @@
package com.arialyy.simple.upload;
import android.os.Bundle;
import butterknife.Bind;
import butterknife.OnClick;
import android.view.View;
import com.arialyy.annotations.Upload;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.common.RequestEnum;
import com.arialyy.aria.core.upload.UploadTask;
import com.arialyy.frame.util.FileUtil;
import com.arialyy.frame.util.show.L;
@@ -36,7 +34,7 @@ import java.io.File;
*/
public class HttpUploadActivity extends BaseActivity<ActivityUploadBinding> {
private static final String TAG = "HttpUploadActivity";
@Bind(R.id.pb) HorizontalProgressBarWithNumber mPb;
HorizontalProgressBarWithNumber mPb;
private static final String FILE_PATH = "/mnt/sdcard/test.apk";
@@ -48,9 +46,25 @@ public class HttpUploadActivity extends BaseActivity<ActivityUploadBinding> {
setTile("D_HTTP 上传");
super.init(savedInstanceState);
Aria.upload(this).register();
getBinding().upload.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
upload();
}
});
getBinding().stop.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
stop();
}
});
getBinding().remove.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
remove();
}
});
mPb = getBinding().pb;
}
@OnClick(R.id.upload) void upload() {
void upload() {
Aria.upload(HttpUploadActivity.this).load(FILE_PATH)
.setUploadUrl(
"http://lib-test.xzxyun.com:8042/Api/upload?data={\"type\":\"1\",\"fileType\":\".apk\"}")
@@ -60,11 +74,11 @@ public class HttpUploadActivity extends BaseActivity<ActivityUploadBinding> {
.start();
}
@OnClick(R.id.stop) void stop() {
void stop() {
Aria.upload(this).load(FILE_PATH).cancel();
}
@OnClick(R.id.remove) void remove() {
void remove() {
Aria.upload(this).load(FILE_PATH).cancel();
}