修复类型转换错误

This commit is contained in:
陈斐
2020-07-07 17:10:58 +08:00
parent 1241bc5991
commit b5cbbd9d3d
2 changed files with 12 additions and 13 deletions

View File

@@ -117,26 +117,26 @@ public class ProxyHelper {
}
private Set<Integer> checkProxyTypeByInterface(Class clazz) {
if (clazz.isAssignableFrom(BaseListenerInterface.class)) {
if (!BaseListenerInterface.class.isAssignableFrom(clazz)) {
return null;
}
Set<Integer> result = new HashSet<>();
if (clazz.isAssignableFrom(DownloadGroupTaskListener.class)) {
if (DownloadGroupTaskListener.class.isAssignableFrom(clazz)) {
result.add(PROXY_TYPE_DOWNLOAD_GROUP);
}
if (clazz.isAssignableFrom(DownloadTaskListener.class)) {
if (DownloadTaskListener.class.isAssignableFrom(clazz)) {
result.add(PROXY_TYPE_DOWNLOAD);
}
if (clazz.isAssignableFrom(UploadTaskListener.class)) {
if (UploadTaskListener.class.isAssignableFrom(clazz)) {
result.add(PROXY_TYPE_UPLOAD);
}
if (clazz.isAssignableFrom(M3U8PeerTaskListenerInterface.class)) {
if (M3U8PeerTaskListenerInterface.class.isAssignableFrom(clazz)) {
result.add(PROXY_TYPE_M3U8_PEER);
}
if (clazz.isAssignableFrom(SubTaskListenerInterface.class)) {
if (SubTaskListenerInterface.class.isAssignableFrom(clazz)) {
result.add(PROXY_TYPE_DOWNLOAD_GROUP_SUB);
}
return result;

View File

@@ -18,7 +18,6 @@ package com.arialyy.aria.core.scheduler;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import com.arialyy.annotations.TaskEnum;
import com.arialyy.aria.core.AriaConfig;
import com.arialyy.aria.core.common.AbsEntity;
@@ -107,8 +106,8 @@ public class TaskSchedulers<TASK extends ITask> implements ISchedulers {
}
if (!hasProxyListener(listeners, taskEnum)) {
if (obj instanceof BaseListenerInterface){
listeners.put(taskEnum, (ISchedulerListener) obj);
if (obj instanceof BaseListenerInterface) {
listeners.put(taskEnum, obj);
return;
}
String proxyClassName = targetName + taskEnum.proxySuffix;
@@ -409,14 +408,14 @@ public class TaskSchedulers<TASK extends ITask> implements ISchedulers {
if (listeners == null || listeners.isEmpty()) {
continue;
}
NormalTaskListener<TASK> listener = null;
NormalTaskListenerInterface<TASK> listener = null;
if (mObservers.get(key) != null) {
if (task instanceof DownloadTask) {
listener = (NormalTaskListener<TASK>) listeners.get(TaskEnum.DOWNLOAD);
listener = (NormalTaskListenerInterface<TASK>) listeners.get(TaskEnum.DOWNLOAD);
} 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) {
listener = (NormalTaskListener<TASK>) listeners.get(TaskEnum.UPLOAD);
listener = (NormalTaskListenerInterface<TASK>) listeners.get(TaskEnum.UPLOAD);
}
}
if (listener != null) {