任务组子任务控制bug修复,apt注解修复

This commit is contained in:
AriaLyy
2017-09-12 22:52:53 +08:00
parent a6434dc2f1
commit 9c39a95d85
16 changed files with 123 additions and 99 deletions

View File

@@ -66,7 +66,7 @@ import javax.lang.model.element.TypeElement;
annotataions.add(DownloadGroup.onTaskStop.class.getCanonicalName());
//任务组子任务的注解
annotataions.add(DownloadGroup.onSubTaskPre.class.getCanonicalName());
annotataions.add(DownloadGroup.onSubTaskCancel.class.getCanonicalName());
//annotataions.add(DownloadGroup.onSubTaskCancel.class.getCanonicalName());
annotataions.add(DownloadGroup.onSubTaskComplete.class.getCanonicalName());
annotataions.add(DownloadGroup.onSubTaskFail.class.getCanonicalName());
annotataions.add(DownloadGroup.onSubTaskRunning.class.getCanonicalName());

View File

@@ -48,6 +48,7 @@ final class CountFiler {
*/
void createCountFile() throws IOException {
Set<String> keys = mPbUtil.getListenerClass().keySet();
if (keys.size() == 0) return;
TypeSpec.Builder builder = TypeSpec.classBuilder(ProxyConstance.PROXY_COUNTER_NAME)
.addModifiers(Modifier.PUBLIC, Modifier.FINAL);
@@ -76,6 +77,8 @@ final class CountFiler {
createMethod(ProxyConstance.COUNT_METHOD_UPLOAD, ProxyConstance.COUNT_UPLOAD));
builder.addMethod(createMethod(ProxyConstance.COUNT_METHOD_DOWNLOAD_GROUP,
ProxyConstance.COUNT_DOWNLOAD_GROUP));
builder.addMethod(createMethod(ProxyConstance.COUNT_METHOD_DOWNLOAD_GROUP_SUB,
ProxyConstance.COUNT_DOWNLOAD_GROUP_SUB));
JavaFile jf = JavaFile.builder(ProxyConstance.PROXY_COUNTER_PACKAGE, builder.build()).build();
createFile(jf);
@@ -113,6 +116,7 @@ final class CountFiler {
}
private void createFile(JavaFile jf) throws IOException {
//jf.writeTo(System.out);
if (ProxyConstance.DEBUG) {
// 如果需要在控制台打印生成的文件,则去掉下面的注释
jf.writeTo(System.out);

View File

@@ -95,8 +95,8 @@ class ElementHandler {
void handleDownloadGroupSub(RoundEnvironment roundEnv) {
mPbUtil.saveMethod(TaskEnum.DOWNLOAD_GROUP_SUB, roundEnv, DownloadGroup.onSubTaskPre.class,
ProxyConstance.TASK_PRE);
mPbUtil.saveMethod(TaskEnum.DOWNLOAD_GROUP_SUB, roundEnv, DownloadGroup.onSubTaskCancel.class,
ProxyConstance.TASK_CANCEL);
//mPbUtil.saveMethod(TaskEnum.DOWNLOAD_GROUP_SUB, roundEnv, DownloadGroup.onSubTaskCancel.class,
// ProxyConstance.TASK_CANCEL);
mPbUtil.saveMethod(TaskEnum.DOWNLOAD_GROUP_SUB, roundEnv, DownloadGroup.onSubTaskComplete.class,
ProxyConstance.TASK_COMPLETE);
mPbUtil.saveMethod(TaskEnum.DOWNLOAD_GROUP_SUB, roundEnv, DownloadGroup.onSubTaskFail.class,
@@ -146,5 +146,6 @@ class ElementHandler {
void clean() {
mPbUtil.getMethodParams().clear();
mPbUtil.getListenerClass().clear();
}
}

View File

@@ -78,21 +78,11 @@ final class EventProxyFiler {
* 创建任务事件代理文件
*/
void createEventProxyFile() throws IOException {
Map<String, ProxyClassParam> map = mPbUtil.getMethodParams();
Set<String> keys = mPbUtil.getMethodParams().keySet();
for (String key : keys) {
//if (key.equals(
// "com.arialyy.simple.download.SingleTaskActivity$$DownloadGroupListenerProxy")) {
//
// ProxyClassParam entity = mPbUtil.getMethodParams().get(key);
// JavaFile jf = JavaFile.builder(entity.packageName, createProxyClass(entity)).build();
// createFile(jf);
//}
ProxyClassParam entity = mPbUtil.getMethodParams().get(key);
JavaFile jf = JavaFile.builder(entity.packageName, createProxyClass(entity)).build();
createFile(jf);
}
}
@@ -149,9 +139,6 @@ final class EventProxyFiler {
builder.addParameter(subTaskParam);
}
//PrintLog.getInstance().info(builder.build().toString());
return builder.build();
}

View File

@@ -47,6 +47,7 @@ interface ProxyConstance {
String COUNT_METHOD_DOWNLOAD = "getDownloadCounter";
String COUNT_METHOD_DOWNLOAD_GROUP = "getDownloadGroupCounter";
String COUNT_METHOD_DOWNLOAD_GROUP_SUB = "getDownloadGroupSubCounter";
String COUNT_METHOD_UPLOAD = "getUploadCounter";
int PRE = 0X11;

View File

@@ -47,7 +47,7 @@ final class ValuesUtil {
values = method.getAnnotation(DownloadGroup.onSubTaskComplete.class).value();
break;
case ProxyConstance.TASK_CANCEL:
values = method.getAnnotation(DownloadGroup.onSubTaskCancel.class).value();
//values = method.getAnnotation(DownloadGroup.onSubTaskCancel.class).value();
break;
case ProxyConstance.TASK_FAIL:
values = method.getAnnotation(DownloadGroup.onSubTaskFail.class).value();