修复类型转换错误
This commit is contained in:
@@ -117,26 +117,26 @@ public class ProxyHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Set<Integer> checkProxyTypeByInterface(Class clazz) {
|
private Set<Integer> checkProxyTypeByInterface(Class clazz) {
|
||||||
if (clazz.isAssignableFrom(BaseListenerInterface.class)) {
|
if (!BaseListenerInterface.class.isAssignableFrom(clazz)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Set<Integer> result = new HashSet<>();
|
Set<Integer> result = new HashSet<>();
|
||||||
if (clazz.isAssignableFrom(DownloadGroupTaskListener.class)) {
|
if (DownloadGroupTaskListener.class.isAssignableFrom(clazz)) {
|
||||||
result.add(PROXY_TYPE_DOWNLOAD_GROUP);
|
result.add(PROXY_TYPE_DOWNLOAD_GROUP);
|
||||||
}
|
}
|
||||||
if (clazz.isAssignableFrom(DownloadTaskListener.class)) {
|
if (DownloadTaskListener.class.isAssignableFrom(clazz)) {
|
||||||
result.add(PROXY_TYPE_DOWNLOAD);
|
result.add(PROXY_TYPE_DOWNLOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clazz.isAssignableFrom(UploadTaskListener.class)) {
|
if (UploadTaskListener.class.isAssignableFrom(clazz)) {
|
||||||
result.add(PROXY_TYPE_UPLOAD);
|
result.add(PROXY_TYPE_UPLOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clazz.isAssignableFrom(M3U8PeerTaskListenerInterface.class)) {
|
if (M3U8PeerTaskListenerInterface.class.isAssignableFrom(clazz)) {
|
||||||
result.add(PROXY_TYPE_M3U8_PEER);
|
result.add(PROXY_TYPE_M3U8_PEER);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clazz.isAssignableFrom(SubTaskListenerInterface.class)) {
|
if (SubTaskListenerInterface.class.isAssignableFrom(clazz)) {
|
||||||
result.add(PROXY_TYPE_DOWNLOAD_GROUP_SUB);
|
result.add(PROXY_TYPE_DOWNLOAD_GROUP_SUB);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package com.arialyy.aria.core.scheduler;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.util.Log;
|
|
||||||
import com.arialyy.annotations.TaskEnum;
|
import com.arialyy.annotations.TaskEnum;
|
||||||
import com.arialyy.aria.core.AriaConfig;
|
import com.arialyy.aria.core.AriaConfig;
|
||||||
import com.arialyy.aria.core.common.AbsEntity;
|
import com.arialyy.aria.core.common.AbsEntity;
|
||||||
@@ -107,8 +106,8 @@ public class TaskSchedulers<TASK extends ITask> implements ISchedulers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!hasProxyListener(listeners, taskEnum)) {
|
if (!hasProxyListener(listeners, taskEnum)) {
|
||||||
if (obj instanceof BaseListenerInterface){
|
if (obj instanceof BaseListenerInterface) {
|
||||||
listeners.put(taskEnum, (ISchedulerListener) obj);
|
listeners.put(taskEnum, obj);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String proxyClassName = targetName + taskEnum.proxySuffix;
|
String proxyClassName = targetName + taskEnum.proxySuffix;
|
||||||
@@ -409,14 +408,14 @@ public class TaskSchedulers<TASK extends ITask> implements ISchedulers {
|
|||||||
if (listeners == null || listeners.isEmpty()) {
|
if (listeners == null || listeners.isEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
NormalTaskListener<TASK> listener = null;
|
NormalTaskListenerInterface<TASK> listener = null;
|
||||||
if (mObservers.get(key) != null) {
|
if (mObservers.get(key) != null) {
|
||||||
if (task instanceof DownloadTask) {
|
if (task instanceof DownloadTask) {
|
||||||
listener = (NormalTaskListener<TASK>) listeners.get(TaskEnum.DOWNLOAD);
|
listener = (NormalTaskListenerInterface<TASK>) listeners.get(TaskEnum.DOWNLOAD);
|
||||||
} else if (task instanceof DownloadGroupTask) {
|
} else if (task instanceof DownloadGroupTask) {
|
||||||
listener = (NormalTaskListener<TASK>) listeners.get(TaskEnum.DOWNLOAD_GROUP);
|
listener = (NormalTaskListenerInterface<TASK>) listeners.get(TaskEnum.DOWNLOAD_GROUP);
|
||||||
} else if (task instanceof UploadTask) {
|
} else if (task instanceof UploadTask) {
|
||||||
listener = (NormalTaskListener<TASK>) listeners.get(TaskEnum.UPLOAD);
|
listener = (NormalTaskListenerInterface<TASK>) listeners.get(TaskEnum.UPLOAD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (listener != null) {
|
if (listener != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user