From 4cb345a969cc82f48029ca2b2601766d73935096 Mon Sep 17 00:00:00 2001 From: Thomas Bruyelle Date: Sat, 27 Jul 2013 13:16:08 +0200 Subject: [PATCH 1/2] Remove try/catch block on @Backgournd/@UIThread methods Because the exception is now propagated, there is no need of catching it. --- .../androidannotations/helper/APTCodeModelHelper.java | 10 ++-------- .../processing/BackgroundProcessor.java | 3 +-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java index e4ae3aa779..6543976f74 100644 --- a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java +++ b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java @@ -228,7 +228,7 @@ public String getIdStringFromIdFieldRef(JFieldRef idRef) { throw new IllegalStateException("Unable to extract target name from JFieldRef"); } - public JTryBlock surroundWithTryCatch(EBeanHolder holder, JBlock block, JBlock content, String exceptionMessage, boolean propagate) { + public JTryBlock surroundWithTryCatch(EBeanHolder holder, JBlock block, JBlock content, String exceptionMessage) { Classes classes = holder.classes(); JTryBlock tryBlock = block._try(); tryBlock.body().add(content); @@ -239,16 +239,12 @@ public JTryBlock surroundWithTryCatch(EBeanHolder holder, JBlock block, JBlock c errorInvoke.arg(exceptionMessage); errorInvoke.arg(exceptionParam); catchBlock.body().add(errorInvoke); - if (propagate) { - catchBlock.body()._throw(exceptionParam); - } return tryBlock; } public JDefinedClass createDelegatingAnonymousRunnableClass(EBeanHolder holder, JMethod delegatedMethod) { JCodeModel codeModel = holder.codeModel(); - Classes classes = holder.classes(); JDefinedClass anonymousRunnableClass; JBlock previousMethodBody = removeBody(delegatedMethod); @@ -258,9 +254,7 @@ public JDefinedClass createDelegatingAnonymousRunnableClass(EBeanHolder holder, JMethod runMethod = anonymousRunnableClass.method(JMod.PUBLIC, codeModel.VOID, "run"); runMethod.annotate(Override.class); - JBlock runMethodBody = runMethod.body(); - - surroundWithTryCatch(holder, runMethodBody, previousMethodBody, "A runtime exception was thrown while executing code in a runnable", true); + runMethod.body().add( previousMethodBody ); return anonymousRunnableClass; } diff --git a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/processing/BackgroundProcessor.java b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/processing/BackgroundProcessor.java index 53f746fcdb..7330452537 100644 --- a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/processing/BackgroundProcessor.java +++ b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/processing/BackgroundProcessor.java @@ -60,8 +60,7 @@ public void process(Element element, JCodeModel codeModel, EBeanHolder holder) t JMethod executeMethod = anonymousTaskClass.method(JMod.PUBLIC, codeModel.VOID, "execute"); executeMethod.annotate(Override.class); - JBlock runMethodBody = executeMethod.body(); - helper.surroundWithTryCatch(holder, runMethodBody, previousMethodBody, "A runtime exception was thrown while executing code in a background task", true); + executeMethod.body().add( previousMethodBody ); Background annotation = element.getAnnotation(Background.class); String id = annotation.id(); From 4a6a77beb8cb43dd02adf10f9bb27afce3a1a71e Mon Sep 17 00:00:00 2001 From: Thomas Bruyelle Date: Sun, 28 Jul 2013 18:56:02 +0200 Subject: [PATCH 2/2] Remove unused method --- .../helper/APTCodeModelHelper.java | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java index 6543976f74..802fe608e4 100644 --- a/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java +++ b/AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java @@ -37,10 +37,8 @@ import javax.lang.model.type.WildcardType; import org.androidannotations.processing.EBeanHolder; -import org.androidannotations.processing.EBeansHolder.Classes; import com.sun.codemodel.JBlock; -import com.sun.codemodel.JCatchBlock; import com.sun.codemodel.JClass; import com.sun.codemodel.JClassAlreadyExistsException; import com.sun.codemodel.JCodeModel; @@ -54,7 +52,6 @@ import com.sun.codemodel.JMethod; import com.sun.codemodel.JMod; import com.sun.codemodel.JStatement; -import com.sun.codemodel.JTryBlock; import com.sun.codemodel.JType; import com.sun.codemodel.JVar; @@ -228,20 +225,6 @@ public String getIdStringFromIdFieldRef(JFieldRef idRef) { throw new IllegalStateException("Unable to extract target name from JFieldRef"); } - public JTryBlock surroundWithTryCatch(EBeanHolder holder, JBlock block, JBlock content, String exceptionMessage) { - Classes classes = holder.classes(); - JTryBlock tryBlock = block._try(); - tryBlock.body().add(content); - JCatchBlock catchBlock = tryBlock._catch(classes.RUNTIME_EXCEPTION); - JVar exceptionParam = catchBlock.param("e"); - JInvocation errorInvoke = classes.LOG.staticInvoke("e"); - errorInvoke.arg(holder.generatedClass.name()); - errorInvoke.arg(exceptionMessage); - errorInvoke.arg(exceptionParam); - catchBlock.body().add(errorInvoke); - return tryBlock; - } - public JDefinedClass createDelegatingAnonymousRunnableClass(EBeanHolder holder, JMethod delegatedMethod) { JCodeModel codeModel = holder.codeModel();