下载任务组

This commit is contained in:
AriaLyy
2017-07-18 22:02:03 +08:00
parent 489f44c0f9
commit 5ebe94c905
6 changed files with 52 additions and 39 deletions

View File

@ -90,10 +90,10 @@ public class DownloadReceiver extends AbsReceiver {
String className = obj.getClass().getName();
Set<String> dCounter = ProxyHelper.getInstance().downloadCounter;
Set<String> dgCounter = ProxyHelper.getInstance().downloadGroupCounter;
if (dCounter.contains(className)) {
if (dCounter != null && dCounter.contains(className)) {
DownloadSchedulers.getInstance().register(obj);
}
if (dgCounter.contains(className)) {
if (dgCounter != null && dgCounter.contains(className)) {
DownloadGroupSchedulers.getInstance().register(obj);
}
return this;
@ -106,10 +106,10 @@ public class DownloadReceiver extends AbsReceiver {
String className = obj.getClass().getName();
Set<String> dCounter = ProxyHelper.getInstance().downloadCounter;
Set<String> dgCounter = ProxyHelper.getInstance().downloadGroupCounter;
if (dCounter.contains(className)) {
if (dCounter != null && dCounter.contains(className)) {
DownloadSchedulers.getInstance().unRegister(obj);
}
if (dgCounter.contains(className)) {
if (dgCounter != null && dgCounter.contains(className)) {
DownloadGroupSchedulers.getInstance().unRegister(obj);
}
}

View File

@ -51,9 +51,18 @@ public class ProxyHelper {
Method downloadGroup = clazz.getMethod("getDownloadGroupCounter");
Method upload = clazz.getMethod("getUploadCounter");
Object object = clazz.newInstance();
downloadCounter = unmodifiableSet((Set<String>) download.invoke(object));
downloadGroupCounter = unmodifiableSet((Set<String>) downloadGroup.invoke(object));
uploadCounter = unmodifiableSet((Set<String>) upload.invoke(object));
Object dc = download.invoke(object);
if (dc != null) {
downloadCounter = unmodifiableSet((Set<String>) dc);
}
Object dgc = downloadGroup.invoke(object);
if (dgc != null) {
downloadGroupCounter = unmodifiableSet((Set<String>) dgc);
}
Object uc = upload.invoke(object);
if (uc != null) {
uploadCounter = unmodifiableSet((Set<String>) uc);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {

View File

@ -123,8 +123,8 @@ public class UploadReceiver extends AbsReceiver<UploadEntity> {
*/
public UploadReceiver register() {
String className = obj.getClass().getName();
Set<String> dCounter = ProxyHelper.getInstance().uploadCounter;
if (dCounter.contains(className)) {
Set<String> cCounter = ProxyHelper.getInstance().uploadCounter;
if (cCounter != null && cCounter.contains(className)) {
UploadSchedulers.getInstance().register(obj);
}
return this;
@ -133,7 +133,7 @@ public class UploadReceiver extends AbsReceiver<UploadEntity> {
@Override public void unRegister() {
String className = obj.getClass().getName();
Set<String> dCounter = ProxyHelper.getInstance().uploadCounter;
if (dCounter.contains(className)) {
if (dCounter != null && dCounter.contains(className)) {
UploadSchedulers.getInstance().unRegister(obj);
}
}