This commit is contained in:
@@ -26,8 +26,8 @@ dependencies {
|
|||||||
testCompile 'junit:junit:4.12'
|
testCompile 'junit:junit:4.12'
|
||||||
compile 'com.android.support:appcompat-v7:23.1.1'
|
compile 'com.android.support:appcompat-v7:23.1.1'
|
||||||
compile project(':AriaAnnotations')
|
compile project(':AriaAnnotations')
|
||||||
compile 'com.arialyy.aria:aria-ftp-plug:1.0.4'
|
// compile 'com.arialyy.aria:aria-ftp-plug:1.0.4'
|
||||||
|
|
||||||
// compile project(':AriaFtpPlug')
|
compile project(':AriaFtpPlug')
|
||||||
}
|
}
|
||||||
apply from: 'bintray-release.gradle'
|
apply from: 'bintray-release.gradle'
|
||||||
|
|||||||
@@ -130,6 +130,14 @@ public abstract class BaseListener<ENTITY extends AbsEntity, TASK_ENTITY extends
|
|||||||
: mEntity.getCurrentProgress() * 100 / mEntity.getFileSize()));
|
: mEntity.getCurrentProgress() * 100 / mEntity.getFileSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void handleComplete(){
|
||||||
|
mEntity.setComplete(true);
|
||||||
|
mEntity.setCompleteTime(System.currentTimeMillis());
|
||||||
|
mEntity.setCurrentProgress(mEntity.getFileSize());
|
||||||
|
mEntity.setPercent(100);
|
||||||
|
handleSpeed(0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将任务状态发送给下载器
|
* 将任务状态发送给下载器
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ package com.arialyy.aria.core.common.ftp;
|
|||||||
|
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import aria.apache.commons.net.ftp.FTP;
|
import aria.apache.commons.net.ftp.FTP;
|
||||||
import aria.apache.commons.net.ftp.FTPClient;
|
import aria.apache.commons.net.ftp.FTPClient;
|
||||||
import aria.apache.commons.net.ftp.FTPFile;
|
import aria.apache.commons.net.ftp.FTPFile;
|
||||||
@@ -119,6 +120,9 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
|
|||||||
client.disconnect();
|
client.disconnect();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 检查ftp文件是否被打开
|
||||||
|
|
||||||
//为了防止编码错乱,需要使用原始字符串
|
//为了防止编码错乱,需要使用原始字符串
|
||||||
mSize = getFileSize(files, client, setRemotePath());
|
mSize = getFileSize(files, client, setRemotePath());
|
||||||
int reply = client.getReplyCode();
|
int reply = client.getReplyCode();
|
||||||
@@ -339,6 +343,7 @@ public abstract class AbsFtpInfoThread<ENTITY extends AbsEntity, TASK_ENTITY ext
|
|||||||
for (FTPFile file : files) {
|
for (FTPFile file : files) {
|
||||||
if (file.isFile()) {
|
if (file.isFile()) {
|
||||||
size += file.getSize();
|
size += file.getSize();
|
||||||
|
ALog.d(TAG, "isValid = " + file.isValid());
|
||||||
handleFile(path + file.getName(), file);
|
handleFile(path + file.getName(), file);
|
||||||
} else {
|
} else {
|
||||||
String remotePath =
|
String remotePath =
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public class BaseDListener extends BaseListener<DownloadEntity, DownloadTaskEnti
|
|||||||
protected void saveData(int state, long location) {
|
protected void saveData(int state, long location) {
|
||||||
mTaskEntity.setState(state);
|
mTaskEntity.setState(state);
|
||||||
mEntity.setState(state);
|
mEntity.setState(state);
|
||||||
mEntity.setComplete(state == IEntity.STATE_COMPLETE);
|
|
||||||
if (state == IEntity.STATE_CANCEL) {
|
if (state == IEntity.STATE_CANCEL) {
|
||||||
if (mEntity instanceof DownloadEntity) {
|
if (mEntity instanceof DownloadEntity) {
|
||||||
CommonUtil.delTaskRecord(mEntity.getDownloadPath(), 1, mTaskEntity.isRemoveFile());
|
CommonUtil.delTaskRecord(mEntity.getDownloadPath(), 1, mTaskEntity.isRemoveFile());
|
||||||
@@ -62,9 +62,8 @@ public class BaseDListener extends BaseListener<DownloadEntity, DownloadTaskEnti
|
|||||||
return;
|
return;
|
||||||
} else if (state == IEntity.STATE_STOP) {
|
} else if (state == IEntity.STATE_STOP) {
|
||||||
mEntity.setStopTime(System.currentTimeMillis());
|
mEntity.setStopTime(System.currentTimeMillis());
|
||||||
} else if (mEntity.isComplete()) {
|
} else if (state == IEntity.STATE_COMPLETE) {
|
||||||
mEntity.setCompleteTime(System.currentTimeMillis());
|
handleComplete();
|
||||||
mEntity.setCurrentProgress(mEntity.getFileSize());
|
|
||||||
}
|
}
|
||||||
if (location > 0) {
|
if (location > 0) {
|
||||||
mEntity.setCurrentProgress(location);
|
mEntity.setCurrentProgress(location);
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ import com.arialyy.aria.util.CommonUtil;
|
|||||||
import com.arialyy.aria.util.ErrorHelp;
|
import com.arialyy.aria.util.ErrorHelp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Aria.Lao on 2017/7/20.
|
* Created by Aria.Lao on 2017/7/20. 任务组下载事件
|
||||||
* 任务组下载事件
|
|
||||||
*/
|
*/
|
||||||
class DownloadGroupListener
|
class DownloadGroupListener
|
||||||
extends BaseListener<DownloadGroupEntity, DownloadGroupTaskEntity, DownloadGroupTask>
|
extends BaseListener<DownloadGroupEntity, DownloadGroupTaskEntity, DownloadGroupTask>
|
||||||
@@ -124,7 +123,6 @@ class DownloadGroupListener
|
|||||||
@Override protected void saveData(int state, long location) {
|
@Override protected void saveData(int state, long location) {
|
||||||
mTaskEntity.setState(state);
|
mTaskEntity.setState(state);
|
||||||
mEntity.setState(state);
|
mEntity.setState(state);
|
||||||
mEntity.setComplete(state == IEntity.STATE_COMPLETE);
|
|
||||||
if (state == IEntity.STATE_CANCEL) {
|
if (state == IEntity.STATE_CANCEL) {
|
||||||
if (mEntity instanceof DownloadGroupEntity) {
|
if (mEntity instanceof DownloadGroupEntity) {
|
||||||
CommonUtil.delGroupTaskRecord(mTaskEntity.isRemoveFile(), mEntity);
|
CommonUtil.delGroupTaskRecord(mTaskEntity.isRemoveFile(), mEntity);
|
||||||
@@ -132,9 +130,8 @@ class DownloadGroupListener
|
|||||||
return;
|
return;
|
||||||
} else if (state == IEntity.STATE_STOP) {
|
} else if (state == IEntity.STATE_STOP) {
|
||||||
mEntity.setStopTime(System.currentTimeMillis());
|
mEntity.setStopTime(System.currentTimeMillis());
|
||||||
} else if (mEntity.isComplete()) {
|
} else if (state == IEntity.STATE_COMPLETE) {
|
||||||
mEntity.setCompleteTime(System.currentTimeMillis());
|
handleComplete();
|
||||||
mEntity.setCurrentProgress(mEntity.getFileSize());
|
|
||||||
}
|
}
|
||||||
if (location > 0) {
|
if (location > 0) {
|
||||||
mEntity.setCurrentProgress(location);
|
mEntity.setCurrentProgress(location);
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public abstract class AbsEntity extends DbEntity implements IEntity, Parcelable,
|
|||||||
/**
|
/**
|
||||||
* 进度百分比
|
* 进度百分比
|
||||||
*/
|
*/
|
||||||
@Ignore private int percent;
|
private int percent;
|
||||||
|
|
||||||
private boolean isComplete = false;
|
private boolean isComplete = false;
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ class BaseUListener extends BaseListener<UploadEntity, UploadTaskEntity, UploadT
|
|||||||
protected void saveData(int state, long location) {
|
protected void saveData(int state, long location) {
|
||||||
mTaskEntity.setState(state);
|
mTaskEntity.setState(state);
|
||||||
mEntity.setState(state);
|
mEntity.setState(state);
|
||||||
mEntity.setComplete(state == IEntity.STATE_COMPLETE);
|
|
||||||
if (state == IEntity.STATE_CANCEL) {
|
if (state == IEntity.STATE_CANCEL) {
|
||||||
if (mEntity instanceof UploadEntity) {
|
if (mEntity instanceof UploadEntity) {
|
||||||
CommonUtil.delTaskRecord(mEntity.getFilePath(), 2, mTaskEntity.isRemoveFile());
|
CommonUtil.delTaskRecord(mEntity.getFilePath(), 2, mTaskEntity.isRemoveFile());
|
||||||
@@ -47,9 +46,8 @@ class BaseUListener extends BaseListener<UploadEntity, UploadTaskEntity, UploadT
|
|||||||
return;
|
return;
|
||||||
} else if (state == IEntity.STATE_STOP) {
|
} else if (state == IEntity.STATE_STOP) {
|
||||||
mEntity.setStopTime(System.currentTimeMillis());
|
mEntity.setStopTime(System.currentTimeMillis());
|
||||||
} else if (mEntity.isComplete()) {
|
} else if (state == IEntity.STATE_COMPLETE) {
|
||||||
mEntity.setCompleteTime(System.currentTimeMillis());
|
handleComplete();
|
||||||
mEntity.setCurrentProgress(mEntity.getFileSize());
|
|
||||||
} else if (location > 0) {
|
} else if (location > 0) {
|
||||||
mEntity.setCurrentProgress(location);
|
mEntity.setCurrentProgress(location);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,11 +32,10 @@ import java.io.IOException;
|
|||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Aria.Lao on 2017/7/28.
|
* Created by Aria.Lao on 2017/7/28. FTP 单线程上传任务,需要FTP 服务器给用户打开append和write的权限
|
||||||
* FTP 单线程上传任务,需要FTP 服务器给用户打开append和write的权限
|
|
||||||
*/
|
*/
|
||||||
class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
|
class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
|
||||||
private final String TAG = "FtpUploadThreadTask";
|
private final String TAG = "FtpThreadTask";
|
||||||
private String dir, remotePath;
|
private String dir, remotePath;
|
||||||
|
|
||||||
FtpThreadTask(StateConstance constance, IEventListener listener,
|
FtpThreadTask(StateConstance constance, IEventListener listener,
|
||||||
@@ -85,8 +84,8 @@ class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
|
|||||||
//file.skipBytes((int) mConfig.START_LOCATION);
|
//file.skipBytes((int) mConfig.START_LOCATION);
|
||||||
file.seek(mConfig.START_LOCATION);
|
file.seek(mConfig.START_LOCATION);
|
||||||
}
|
}
|
||||||
upload(client, file);
|
boolean complete = upload(client, file);
|
||||||
if (isBreak()) {
|
if (!complete || isBreak()) {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
ALog.i(TAG,
|
ALog.i(TAG,
|
||||||
@@ -131,7 +130,13 @@ class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
|
|||||||
SERVER_CHARSET);
|
SERVER_CHARSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void upload(final FTPClient client, final BufferedRandomAccessFile bis)
|
/**
|
||||||
|
* 上传
|
||||||
|
*
|
||||||
|
* @return {@code true}上传成功、{@code false} 上传失败
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
private boolean upload(final FTPClient client, final BufferedRandomAccessFile bis)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -156,12 +161,18 @@ class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
String msg = String.format("文件上传错误,错误码为:%s, msg:%s, filePath: %s", client.getReplyCode(),
|
||||||
|
client.getReplyString(), mEntity.getFilePath());
|
||||||
|
if (client.isConnected()) {
|
||||||
|
client.disconnect();
|
||||||
|
}
|
||||||
if (e.getMessage().contains("AriaIOException caught while copying")) {
|
if (e.getMessage().contains("AriaIOException caught while copying")) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} else {
|
} else {
|
||||||
fail(mChildCurrentLocation,
|
fail(mChildCurrentLocation,
|
||||||
new AriaIOException(TAG, String.format("上传失败,filePath: %s", mEntity.getFilePath()), e));
|
new AriaIOException(TAG, msg, e));
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int reply = client.getReplyCode();
|
int reply = client.getReplyCode();
|
||||||
@@ -175,6 +186,8 @@ class FtpThreadTask extends AbsFtpThreadTask<UploadEntity, UploadTaskEntity> {
|
|||||||
if (client.isConnected()) {
|
if (client.isConnected()) {
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class DBConfig {
|
|||||||
/*adb pull /mnt/sdcard/Android/data/com.arialyy.simple/files/DB/AriaLyyDb d:/db*/
|
/*adb pull /mnt/sdcard/Android/data/com.arialyy.simple/files/DB/AriaLyyDb d:/db*/
|
||||||
static Map<String, Class> mapping = new HashMap<>();
|
static Map<String, Class> mapping = new HashMap<>();
|
||||||
static String DB_NAME;
|
static String DB_NAME;
|
||||||
static int VERSION = 41;
|
static int VERSION = 42;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否将数据库保存在Sd卡,{@code true} 是
|
* 是否将数据库保存在Sd卡,{@code true} 是
|
||||||
|
|||||||
13
DEV_LOG.md
13
DEV_LOG.md
@@ -2,6 +2,19 @@
|
|||||||
+ v_3.5.3
|
+ v_3.5.3
|
||||||
- 修复ftps不能加载默认证书的bug https://github.com/AriaLyy/Aria/issues/334
|
- 修复ftps不能加载默认证书的bug https://github.com/AriaLyy/Aria/issues/334
|
||||||
- 优化注解性能,移除不必要的判断代码
|
- 优化注解性能,移除不必要的判断代码
|
||||||
|
- 增加广播支持,详情见:http://aria.laoyuyu.me/aria_doc/api/use_broadcast.html
|
||||||
|
- 增加get参数支持
|
||||||
|
```java
|
||||||
|
Aria.download(SingleTaskActivity.this)
|
||||||
|
.load(DOWNLOAD_URL) // url 必须是主体url,也就是?前面的内容
|
||||||
|
.setFilePath(path, true)
|
||||||
|
.asGet()
|
||||||
|
.setParams(params) // 设置参数
|
||||||
|
.start();
|
||||||
|
```
|
||||||
|
- fix bug https://github.com/AriaLyy/Aria/issues/335
|
||||||
|
- 新增进度百分比保存 https://github.com/AriaLyy/Aria/issues/336
|
||||||
|
- fix bug https://github.com/AriaLyy/Aria/issues/335
|
||||||
+ v_3.5.2
|
+ v_3.5.2
|
||||||
- 添加Serializable接口支持 https://github.com/AriaLyy/Aria/issues/320
|
- 添加Serializable接口支持 https://github.com/AriaLyy/Aria/issues/320
|
||||||
- 失败回调增加错误原因 https://github.com/AriaLyy/Aria/issues/310
|
- 失败回调增加错误原因 https://github.com/AriaLyy/Aria/issues/310
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<!--android:name=".download.group.DownloadGroupActivity"-->
|
<!--android:name=".download.group.DownloadGroupActivity"-->
|
||||||
<!--android:name=".MainActivity"-->
|
<!--android:name=".MainActivity"-->
|
||||||
<activity
|
<activity
|
||||||
android:name=".download.SingleTaskActivity"
|
android:name=".upload.FtpUploadActivity"
|
||||||
android:label="@string/app_name">
|
android:label="@string/app_name">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
<activity android:name=".download.FtpDownloadActivity"/>
|
<activity android:name=".download.FtpDownloadActivity"/>
|
||||||
<activity android:name=".download.group.FTPDirDownloadActivity"/>
|
<activity android:name=".download.group.FTPDirDownloadActivity"/>
|
||||||
<activity android:name=".upload.HttpUploadActivity"/>
|
<activity android:name=".upload.HttpUploadActivity"/>
|
||||||
<activity android:name=".upload.FtpUploadActivity"/>
|
<!--<activity android:name=".upload.FtpUploadActivity"/>-->
|
||||||
|
|
||||||
<service android:name=".download.service_download.DownloadService"/>
|
<service android:name=".download.service_download.DownloadService"/>
|
||||||
</application>
|
</application>
|
||||||
|
|||||||
@@ -66,7 +66,8 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
|
|||||||
//"http://apk500.bce.baidu-mgame.com/game/67000/67734/20170622040827_oem_5502845.apk?r=1";
|
//"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.50:5000/download1";
|
//"http://9.9.9.50:5000/download1";
|
||||||
"http://9.9.9.50:5000/download/CentOS-7-x86_64-Minimal-1804.iso";
|
//"http://9.9.9.50:5000/download/CentOS-7-x86_64-Minimal-1804.iso";
|
||||||
|
"http://cdn-s1.touchfound.com/theme/1543979562763_6907.zip";
|
||||||
//"https://firmwareapi.azurewebsites.net/firmware-overview?name=A19_Filament_W_IMG0038_00102411-encrypted.ota";
|
//"https://firmwareapi.azurewebsites.net/firmware-overview?name=A19_Filament_W_IMG0038_00102411-encrypted.ota";
|
||||||
@Bind(R.id.start) Button mStart;
|
@Bind(R.id.start) Button mStart;
|
||||||
@Bind(R.id.stop) Button mStop;
|
@Bind(R.id.stop) Button mStop;
|
||||||
@@ -312,8 +313,8 @@ public class SingleTaskActivity extends BaseActivity<ActivitySingleBinding> {
|
|||||||
.useServerFileName(true)
|
.useServerFileName(true)
|
||||||
.setFilePath(path, true)
|
.setFilePath(path, true)
|
||||||
//.asGet()
|
//.asGet()
|
||||||
.asPost()
|
//.asPost()
|
||||||
.setParams(params)
|
//.setParams(params)
|
||||||
//.setExtendField("{\n"
|
//.setExtendField("{\n"
|
||||||
// + "\"id\":\"你的样子\"\n< > "
|
// + "\"id\":\"你的样子\"\n< > "
|
||||||
// + "}")
|
// + "}")
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.arialyy.annotations.Upload;
|
|||||||
import com.arialyy.aria.core.Aria;
|
import com.arialyy.aria.core.Aria;
|
||||||
import com.arialyy.aria.core.upload.UploadEntity;
|
import com.arialyy.aria.core.upload.UploadEntity;
|
||||||
import com.arialyy.aria.core.upload.UploadTask;
|
import com.arialyy.aria.core.upload.UploadTask;
|
||||||
|
import com.arialyy.aria.util.ALog;
|
||||||
import com.arialyy.aria.util.CommonUtil;
|
import com.arialyy.aria.util.CommonUtil;
|
||||||
import com.arialyy.frame.util.FileUtil;
|
import com.arialyy.frame.util.FileUtil;
|
||||||
import com.arialyy.frame.util.show.T;
|
import com.arialyy.frame.util.show.T;
|
||||||
@@ -35,14 +36,15 @@ import java.io.File;
|
|||||||
* Ftp 文件上传demo
|
* Ftp 文件上传demo
|
||||||
*/
|
*/
|
||||||
public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
|
public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
|
||||||
private final String FILE_PATH = "/mnt/sdcard/sql.rar";
|
private final String FILE_PATH = "/mnt/sdcard/AriaPrj.rar";
|
||||||
private final String URL = "ftp://192.168.1.7:21/aa//你好";
|
private final String URL = "ftp://9.9.9.50:21/aa/你好";
|
||||||
|
|
||||||
@Override protected void init(Bundle savedInstanceState) {
|
@Override protected void init(Bundle savedInstanceState) {
|
||||||
setTile("D_FTP 文件上传");
|
setTile("D_FTP 文件上传");
|
||||||
super.init(savedInstanceState);
|
super.init(savedInstanceState);
|
||||||
Aria.upload(this).register();
|
Aria.upload(this).register();
|
||||||
UploadEntity entity = Aria.upload(this).getUploadEntity(FILE_PATH);
|
UploadEntity entity = Aria.upload(this).getUploadEntity(FILE_PATH);
|
||||||
|
ALog.d(TAG, "pare = >" + entity.getPercent());
|
||||||
if (entity != null) {
|
if (entity != null) {
|
||||||
getBinding().setFileSize(CommonUtil.formatFileSize(entity.getFileSize()));
|
getBinding().setFileSize(CommonUtil.formatFileSize(entity.getFileSize()));
|
||||||
getBinding().setProgress(entity.isComplete() ? 100
|
getBinding().setProgress(entity.isComplete() ? 100
|
||||||
@@ -96,6 +98,10 @@ public class FtpUploadActivity extends BaseActivity<ActivityFtpUploadBinding> {
|
|||||||
Log.d(TAG, "删除任务");
|
Log.d(TAG, "删除任务");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Upload.onTaskFail public void taskFail(UploadTask task) {
|
||||||
|
Log.d(TAG, "上传失败");
|
||||||
|
}
|
||||||
|
|
||||||
@Upload.onTaskRunning public void taskRunning(UploadTask task) {
|
@Upload.onTaskRunning public void taskRunning(UploadTask task) {
|
||||||
Log.d(TAG, "PP = " + task.getPercent());
|
Log.d(TAG, "PP = " + task.getPercent());
|
||||||
getBinding().setProgress(task.getPercent());
|
getBinding().setProgress(task.getPercent());
|
||||||
|
|||||||
Reference in New Issue
Block a user