diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java index 366a3d8909..13242f7340 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/helper/APTCodeModelHelper.java @@ -569,10 +569,6 @@ public void addSuppressWarnings(IJAnnotatable generatedElement, String annotatio generatedElement.annotate(SuppressWarnings.class).param("value", annotationValue); } - public JBlock blockNoBraces(JBlock block) { - return block.block().bracesRequired(false).indentRequired(false); - } - public void addTrimmedDocComment(JMethod method, String docComment) { if (docComment != null) { method.javadoc().append(docComment.replaceAll("\r", "").trim()); diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EActivityHolder.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EActivityHolder.java index ad2e0e03aa..9beb1071ca 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EActivityHolder.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EActivityHolder.java @@ -157,9 +157,9 @@ private void setOnStart() { JMethod method = generatedClass.method(JMod.PUBLIC, getCodeModel().VOID, "onStart"); method.annotate(Override.class); JBlock body = method.body(); - onStartBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onStartBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), method); - onStartAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onStartAfterSuperBlock = body.blockSimple(); } public JBlock getOnRestartAfterSuperBlock() { @@ -173,27 +173,27 @@ private void setOnRestart() { JMethod method = generatedClass.method(JMod.PUBLIC, getCodeModel().VOID, "onRestart"); method.annotate(Override.class); JBlock body = method.body(); - onRestartBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onRestartBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), method); - onRestartAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onRestartAfterSuperBlock = body.blockSimple(); } private void setOnResume() { JMethod method = generatedClass.method(JMod.PUBLIC, getCodeModel().VOID, "onResume"); method.annotate(Override.class); JBlock body = method.body(); - onResumeBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onResumeBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), method); - onResumeAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onResumeAfterSuperBlock = body.blockSimple(); } private void setOnPause() { JMethod method = generatedClass.method(JMod.PUBLIC, getCodeModel().VOID, "onPause"); method.annotate(Override.class); JBlock body = method.body(); - onPauseBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onPauseBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), method); - onPauseAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onPauseAfterSuperBlock = body.blockSimple(); } private void setOnNewIntent() { @@ -203,7 +203,7 @@ private void setOnNewIntent() { JBlock body = onNewIntentMethod.body(); body.invoke(_super(), onNewIntentMethod).arg(intent); body.invoke(getSetIntent()).arg(intent); - onNewIntentAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onNewIntentAfterSuperBlock = body.blockSimple(); } private void setSetIntent() { @@ -225,7 +225,7 @@ private void setOnStop() { onStopMethod = generatedClass.method(JMod.PUBLIC, getCodeModel().VOID, "onStop"); onStopMethod.annotate(Override.class); JBlock body = onStopMethod.body(); - onStopBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onStopBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), onStopMethod); } @@ -240,9 +240,9 @@ private void setOnDestroy() { onDestroyMethod = generatedClass.method(JMod.PUBLIC, getCodeModel().VOID, "onDestroy"); onDestroyMethod.annotate(Override.class); JBlock body = onDestroyMethod.body(); - onDestroyBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onDestroyBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), onDestroyMethod); - onDestroyAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onDestroyAfterSuperBlock = body.blockSimple(); } public JBlock getOnConfigurationChangedBeforeSuperBlock() { @@ -272,9 +272,9 @@ private void setOnConfigurationChanged() { AbstractJClass configurationClass = getClasses().CONFIGURATION; onConfigurationChangedNewConfigParam = method.param(configurationClass, "newConfig"); JBlock body = method.body(); - onConfigurationChangedBeforeSuperBlock = codeModelHelper.blockNoBraces(body); + onConfigurationChangedBeforeSuperBlock = body.blockSimple(); body.invoke(_super(), method).arg(onConfigurationChangedNewConfigParam); - onConfigurationChangedAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onConfigurationChangedAfterSuperBlock = body.blockSimple(); } public JMethod getOnContentChanged() { @@ -296,7 +296,7 @@ private void setOnContentChanged() { onContentChanged.annotate(Override.class); JBlock body = onContentChanged.body(); body.invoke(_super(), onContentChanged); - onContentChangedAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onContentChangedAfterSuperBlock = body.blockSimple(); } private void setOnCreateOptionsMenu() { @@ -305,7 +305,7 @@ private void setOnCreateOptionsMenu() { JBlock methodBody = method.body(); onCreateOptionsMenuMenuParam = method.param(getClasses().MENU, "menu"); onCreateOptionsMenuMenuInflaterVar = methodBody.decl(getClasses().MENU_INFLATER, "menuInflater", invoke("getMenuInflater")); - onCreateOptionsMenuMethodBody = codeModelHelper.blockNoBraces(methodBody); + onCreateOptionsMenuMethodBody = methodBody.blockSimple(); methodBody._return(_super().invoke(method).arg(onCreateOptionsMenuMenuParam)); } @@ -315,7 +315,7 @@ private void setOnOptionsItemSelected() { JBlock methodBody = method.body(); onOptionsItemSelectedItem = method.param(getClasses().MENU_ITEM, "item"); onOptionsItemSelectedItemId = methodBody.decl(getCodeModel().INT, "itemId_", onOptionsItemSelectedItem.invoke("getItemId")); - onOptionsItemSelectedMiddleBlock = codeModelHelper.blockNoBraces(methodBody); + onOptionsItemSelectedMiddleBlock = methodBody.blockSimple(); methodBody._return(invoke(_super(), method).arg(onOptionsItemSelectedItem)); } @@ -621,7 +621,7 @@ private void setOnRetainNonConfigurationInstance() throws JClassAlreadyExistsExc onRetainNonConfigurationInstance = methodBody.decl(ncHolderClass, "nonConfigurationInstanceState_", _new(ncHolderClass)); IJExpression superCall = _super().invoke(onRetainNonConfigurationInstanceMethod); methodBody.assign(onRetainNonConfigurationInstance.ref(ncHolder.getSuperNonConfigurationInstanceField()), superCall); - onRetainNonConfigurationInstanceBindBlock = codeModelHelper.blockNoBraces(methodBody); + onRetainNonConfigurationInstanceBindBlock = methodBody.blockSimple(); methodBody._return(onRetainNonConfigurationInstance); } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EComponentWithViewSupportHolder.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EComponentWithViewSupportHolder.java index 44940a503f..b7e669d89a 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EComponentWithViewSupportHolder.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EComponentWithViewSupportHolder.java @@ -95,7 +95,7 @@ protected void setOnViewChanged() { onViewChanged = getGeneratedClass().method(PUBLIC, getCodeModel().VOID, "onViewChanged"); onViewChanged.annotate(Override.class); onViewChangedBody = onViewChanged.body(); - onViewChangedBodyBeforeFindViews = codeModelHelper.blockNoBraces(onViewChangedBody); + onViewChangedBodyBeforeFindViews = onViewChangedBody.blockSimple(); onViewChangedHasViewsParam = onViewChanged.param(HasViews.class, "hasViews"); AbstractJClass notifierClass = getJClass(OnViewChangedNotifier.class); getInitBody().staticInvoke(notifierClass, "registerOnViewChangedListener").arg(_this()); @@ -147,7 +147,7 @@ public FoundViewHolder getFoundViewHolder(JFieldRef idRef, AbstractJClass viewCl protected FoundViewHolder createFoundViewAndIfNotNullBlock(JFieldRef idRef, AbstractJClass viewClass) { IJExpression findViewExpression = findViewById(idRef); - JBlock block = codeModelHelper.blockNoBraces(getOnViewChangedBody()); + JBlock block = getOnViewChangedBody().blockSimple(); if (viewClass == null) { viewClass = getClasses().VIEW; @@ -256,7 +256,7 @@ private TextWatcherHolder createTextWatcherHolder(JFieldRef idRef, TypeMirror vi viewClass = getJClass(viewParameterType.toString()); } - JBlock onViewChangedBody = codeModelHelper.blockNoBraces(getOnViewChangedBody()); + JBlock onViewChangedBody = getOnViewChangedBody().blockSimple(); JVar viewVariable = onViewChangedBody.decl(FINAL, viewClass, "view", cast(viewClass, findViewById(idRef))); onViewChangedBody._if(viewVariable.ne(JExpr._null()))._then() // .invoke(viewVariable, "addTextChangedListener").arg(_new(onTextChangeListenerClass)); diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EFragmentHolder.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EFragmentHolder.java index 8d0fe8490d..d6a606a2c9 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EFragmentHolder.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EFragmentHolder.java @@ -96,7 +96,7 @@ private void setOnCreate() { setFindViewById(); onCreateBody.invoke(getInit()).arg(onCreateSavedInstanceState); onCreateBody.invoke(_super(), onCreate).arg(onCreateSavedInstanceState); - onCreateAfterSuperBlock = codeModelHelper.blockNoBraces(onCreateBody); + onCreateAfterSuperBlock = onCreateBody.blockSimple(); viewNotifierHelper.resetPreviousNotifier(onCreateBody, previousNotifier); } @@ -163,7 +163,7 @@ private void setOnCreateOptionsMenu() { JBlock methodBody = method.body(); onCreateOptionsMenuMenuParam = method.param(getClasses().MENU, "menu"); onCreateOptionsMenuMenuInflaterVar = method.param(getClasses().MENU_INFLATER, "inflater"); - onCreateOptionsMenuMethodBody = codeModelHelper.blockNoBraces(methodBody); + onCreateOptionsMenuMethodBody = methodBody.blockSimple(); methodBody.invoke(_super(), method).arg(onCreateOptionsMenuMenuParam).arg(onCreateOptionsMenuMenuInflaterVar); getInitBody().invoke("setHasOptionsMenu").arg(JExpr.TRUE); @@ -175,7 +175,7 @@ private void setOnOptionsItemSelected() { JBlock methodBody = method.body(); onOptionsItemSelectedItem = method.param(getClasses().MENU_ITEM, "item"); onOptionsItemSelectedItemId = methodBody.decl(getCodeModel().INT, "itemId_", onOptionsItemSelectedItem.invoke("getItemId")); - onOptionsItemSelectedMiddleBlock = codeModelHelper.blockNoBraces(methodBody); + onOptionsItemSelectedMiddleBlock = methodBody.blockSimple(); methodBody._return(invoke(_super(), method).arg(onOptionsItemSelectedItem)); } @@ -225,7 +225,7 @@ private void setOnCreateView() { body.assign(contentView, _super().invoke(onCreateView).arg(inflater).arg(container).arg(savedInstanceState)); } - setContentViewBlock = codeModelHelper.blockNoBraces(body); + setContentViewBlock = body.blockSimple(); body._return(contentView); } @@ -236,7 +236,7 @@ private void setOnDestroyView() { JBlock body = onDestroyView.body(); body.invoke(_super(), onDestroyView); body.assign(contentView, _null()); - onDestroyViewAfterSuperBlock = codeModelHelper.blockNoBraces(body); + onDestroyViewAfterSuperBlock = body.blockSimple(); } private JBlock getOnDestroyViewAfterSuperBlock() { @@ -262,7 +262,7 @@ private void setOnStart() { onStart.annotate(Override.class); JBlock onStartBody = onStart.body(); onStartBody.invoke(_super(), onStart); - onStartAfterSuperBlock = codeModelHelper.blockNoBraces(onStartBody); + onStartAfterSuperBlock = onStartBody.blockSimple(); } private void setOnAttach() { @@ -271,7 +271,7 @@ private void setOnAttach() { JVar activityParam = onAttach.param(getClasses().ACTIVITY, "activity"); JBlock onAttachBody = onAttach.body(); onAttachBody.invoke(_super(), onAttach).arg(activityParam); - onAttachAfterSuperBlock = codeModelHelper.blockNoBraces(onAttachBody); + onAttachAfterSuperBlock = onAttachBody.blockSimple(); } private void setOnResume() { @@ -279,14 +279,14 @@ private void setOnResume() { onResume.annotate(Override.class); JBlock onResumeBody = onResume.body(); onResumeBody.invoke(_super(), onResume); - onResumeAfterSuperBlock = codeModelHelper.blockNoBraces(onResumeBody); + onResumeAfterSuperBlock = onResumeBody.blockSimple(); } private void setOnPause() { JMethod onPause = generatedClass.method(PUBLIC, getCodeModel().VOID, "onPause"); onPause.annotate(Override.class); JBlock onPauseBody = onPause.body(); - onPauseBeforeSuperBlock = codeModelHelper.blockNoBraces(onPauseBody); + onPauseBeforeSuperBlock = onPauseBody.blockSimple(); onPauseBody.invoke(_super(), onPause); } @@ -294,7 +294,7 @@ private void setOnDetach() { JMethod onDetach = generatedClass.method(PUBLIC, getCodeModel().VOID, "onDetach"); onDetach.annotate(Override.class); JBlock onDetachBody = onDetach.body(); - onDetachBeforeSuperBlock = codeModelHelper.blockNoBraces(onDetachBody); + onDetachBeforeSuperBlock = onDetachBody.blockSimple(); onDetachBody.invoke(_super(), onDetach); } @@ -302,7 +302,7 @@ private void setOnStop() { JMethod onStop = generatedClass.method(PUBLIC, getCodeModel().VOID, "onStop"); onStop.annotate(Override.class); JBlock onStopBody = onStop.body(); - onStopBeforeSuperBlock = codeModelHelper.blockNoBraces(onStopBody); + onStopBeforeSuperBlock = onStopBody.blockSimple(); onStopBody.invoke(_super(), onStop); } @@ -310,7 +310,7 @@ private void setOnDestroy() { JMethod onDestroy = generatedClass.method(PUBLIC, getCodeModel().VOID, "onDestroy"); onDestroy.annotate(Override.class); JBlock onDestroyBody = onDestroy.body(); - onDestroyBeforeSuperBlock = codeModelHelper.blockNoBraces(onDestroyBody); + onDestroyBeforeSuperBlock = onDestroyBody.blockSimple(); onDestroyBody.invoke(_super(), onDestroy); } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EServiceHolder.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EServiceHolder.java index 394081889a..dd97cf6f1b 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EServiceHolder.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EServiceHolder.java @@ -76,7 +76,7 @@ private void setOnDestroy() { JMethod onDestroy = generatedClass.method(PUBLIC, getCodeModel().VOID, "onDestroy"); onDestroy.annotate(Override.class); JBlock onDestroyBody = onDestroy.body(); - onDestroyBeforeSuperBlock = codeModelHelper.blockNoBraces(onDestroyBody); + onDestroyBeforeSuperBlock = onDestroyBody.blockSimple(); onDestroyBody.invoke(JExpr._super(), onDestroy); } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EViewGroupHolder.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EViewGroupHolder.java index fc6cebe0b0..9b305bb9d3 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EViewGroupHolder.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/EViewGroupHolder.java @@ -40,7 +40,7 @@ protected void setOnFinishInflate() { JBlock ifNotInflated = onFinishInflate.body()._if(getAlreadyInflated().not())._then(); ifNotInflated.assign(getAlreadyInflated(), JExpr.TRUE); - setContentViewBlock = codeModelHelper.blockNoBraces(ifNotInflated); + setContentViewBlock = ifNotInflated.blockSimple(); getInit(); viewNotifierHelper.invokeViewChanged(ifNotInflated); diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/GeneratedClassHolderDelegate.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/GeneratedClassHolderDelegate.java index b6bb68d929..da6149eaca 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/GeneratedClassHolderDelegate.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/holder/GeneratedClassHolderDelegate.java @@ -18,7 +18,6 @@ import javax.lang.model.element.TypeElement; import org.androidannotations.AndroidAnnotationsEnvironment; -import org.androidannotations.helper.APTCodeModelHelper; import org.androidannotations.internal.process.ProcessHolder.Classes; import com.helger.jcodemodel.AbstractJClass; @@ -29,11 +28,8 @@ public abstract class GeneratedClassHolderDelegate implements HasPreferences { - private APTCodeModelHelper codeModelHelper; - protected JBlock addPreferencesFromResourceBlock; private boolean usingSupportV7Preference = false; @@ -48,7 +45,6 @@ public class PreferencesDelegate extends GeneratedClassHolderDelegate parameters = executableElement.getParameters(); int requestCode = executableElement.getAnnotation(OnActivityResult.class).value(); - JBlock onResultBlock = codeModelHelper.blockNoBraces(holder.getOnActivityResultCaseBlock(requestCode)); + JBlock onResultBlock = holder.getOnActivityResultCaseBlock(requestCode).blockSimple(); IJExpression activityRef = holder.getGeneratedClass().staticRef("this"); JInvocation onResultInvocation = JExpr.invoke(activityRef, methodName); diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationArrayParamExtractor.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationArrayParamExtractor.java index f665eb35ec..639d4583fb 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationArrayParamExtractor.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationArrayParamExtractor.java @@ -23,8 +23,9 @@ import org.androidannotations.helper.APTCodeModelHelper; import com.helger.jcodemodel.AbstractJClass; -import com.helger.jcodemodel.IJExpression; import com.helger.jcodemodel.JAnnotationArrayMember; +import com.helger.jcodemodel.JEnumConstantRef; +import com.helger.jcodemodel.JExpr; public class AnnotationArrayParamExtractor extends SimpleAnnotationValueVisitor6 { @@ -98,8 +99,8 @@ public Void visitType(TypeMirror t, JAnnotationArrayMember p) { @Override public Void visitEnumConstant(VariableElement c, JAnnotationArrayMember p) { AbstractJClass annotationClass = helper.typeMirrorToJClass(c.asType()); - IJExpression expression = annotationClass.staticRef(c.getSimpleName().toString()); - p.param(expression); + JEnumConstantRef ref = JExpr.enumConstantRef(annotationClass, c.getSimpleName().toString()); + p.param(ref); return null; } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationParamExtractor.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationParamExtractor.java index d8f5af15fb..63ebc57f26 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationParamExtractor.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/AnnotationParamExtractor.java @@ -26,9 +26,10 @@ import org.androidannotations.helper.APTCodeModelHelper; import com.helger.jcodemodel.AbstractJClass; -import com.helger.jcodemodel.IJExpression; import com.helger.jcodemodel.JAnnotationArrayMember; import com.helger.jcodemodel.JAnnotationUse; +import com.helger.jcodemodel.JEnumConstantRef; +import com.helger.jcodemodel.JExpr; public class AnnotationParamExtractor extends SimpleAnnotationValueVisitor6 { @@ -108,8 +109,8 @@ public Void visitString(String s, String p) { @Override public Void visitEnumConstant(VariableElement c, String p) { AbstractJClass annotationClass = helper.typeMirrorToJClass(c.asType()); - IJExpression expression = annotationClass.staticRef(c.getSimpleName().toString()); - use.param(p, expression); + JEnumConstantRef ref = JExpr.enumConstantRef(annotationClass, c.getSimpleName().toString()); + use.param(p, ref); return null; } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/ViewNotifierHelper.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/ViewNotifierHelper.java index b9d90fa9da..21f673bfee 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/ViewNotifierHelper.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/helper/ViewNotifierHelper.java @@ -24,7 +24,6 @@ import org.androidannotations.api.view.HasViews; import org.androidannotations.api.view.OnViewChangedNotifier; -import org.androidannotations.helper.APTCodeModelHelper; import org.androidannotations.holder.EComponentHolder; import org.androidannotations.holder.EViewHolder; @@ -37,12 +36,9 @@ public class ViewNotifierHelper { private EComponentHolder holder; private JFieldVar notifier; - - private APTCodeModelHelper codeModelHelper; public ViewNotifierHelper(EComponentHolder holder) { this.holder = holder; - codeModelHelper = new APTCodeModelHelper(holder.getEnvironment()); } public void invokeViewChanged(JBlock block) { @@ -71,8 +67,8 @@ public void resetPreviousNotifier(JBlock block, JVar previousNotifier) { public void wrapInitWithNotifier() { JBlock initBlock = holder.getInit().body(); JVar previousNotifier = replacePreviousNotifier(initBlock); - ((EViewHolder) holder).setInitBody(codeModelHelper.blockNoBraces(holder.getInit().body())); - resetPreviousNotifier(codeModelHelper.blockNoBraces(initBlock), previousNotifier); + ((EViewHolder) holder).setInitBody(holder.getInit().body().blockSimple()); + resetPreviousNotifier(initBlock.blockSimple(), previousNotifier); } } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/rclass/RInnerClass.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/rclass/RInnerClass.java index 5ede85e54a..0c0bc62920 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/rclass/RInnerClass.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/internal/rclass/RInnerClass.java @@ -32,6 +32,8 @@ import org.androidannotations.rclass.IRInnerClass; import com.helger.jcodemodel.AbstractJClass; +import com.helger.jcodemodel.JClassAlreadyExistsException; +import com.helger.jcodemodel.JDirectClass; import com.helger.jcodemodel.JFieldRef; public class RInnerClass implements IRInnerClass { @@ -122,9 +124,30 @@ public static JFieldRef extractIdStaticRef(AndroidAnnotationsEnvironment environ int fieldSuffix = layoutFieldQualifiedName.lastIndexOf('.'); String fieldName = layoutFieldQualifiedName.substring(fieldSuffix + 1); String rInnerClassName = layoutFieldQualifiedName.substring(0, fieldSuffix); + int innerClassSuffix = rInnerClassName.lastIndexOf('.'); - AbstractJClass refClass = environment.getJClass(rInnerClassName); - return refClass.staticRef(fieldName); + String rClassQualifiedName = rInnerClassName.substring(0, innerClassSuffix); + String innerClassSimpleName = rInnerClassName.substring(innerClassSuffix + 1); + + JDirectClass rClass = (JDirectClass) environment.getJClass(rClassQualifiedName); + + AbstractJClass innerClass = null; + + for (JDirectClass clazz : rClass.classes()) { + if (clazz.name().equals(innerClassSimpleName)) { + innerClass = clazz; + break; + } + } + if (innerClass == null) { + try { + innerClass = rClass._class(innerClassSimpleName); + } catch (JClassAlreadyExistsException e) { + // never happens, since we already checked the inner class does not exist + } + } + + return innerClass.staticRef(fieldName); } else { return null; } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/generation/ContextCompatDrawableTest.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/generation/ContextCompatDrawableTest.java index 63b0b94616..a68c209c2e 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/generation/ContextCompatDrawableTest.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/generation/ContextCompatDrawableTest.java @@ -24,14 +24,14 @@ public class ContextCompatDrawableTest extends AAProcessorTestHelper { - private static final String DRAWABLE_SIGNATURE = ".*myDrawable = resources_\\.getDrawable\\(drawable\\.myDrawable\\);.*"; - private static final String DRAWABLE_VIA_SUPPORT_SIGNATURE = ".*myDrawable = ContextCompat\\.getDrawable\\(this, drawable\\.myDrawable\\);.*"; - private static final String DRAWABLE_VIA_CONTEXT_ON_LOLLIPOP = ".*myDrawable = this\\.getDrawable\\(drawable\\.myDrawable\\);.*"; + private static final String DRAWABLE_SIGNATURE = ".*myDrawable = resources_\\.getDrawable\\(R\\.drawable\\.myDrawable\\);.*"; + private static final String DRAWABLE_VIA_SUPPORT_SIGNATURE = ".*myDrawable = ContextCompat\\.getDrawable\\(this, R\\.drawable\\.myDrawable\\);.*"; + private static final String DRAWABLE_VIA_CONTEXT_ON_LOLLIPOP = ".*myDrawable = this\\.getDrawable\\(R\\.drawable\\.myDrawable\\);.*"; private static final String[] DRAWABLE_CONDITIONAL_WITHOUT_CONTEXT_COMPAT = new String[] { " if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {", - " myDrawable = this.getDrawable(drawable.myDrawable);", + " myDrawable = this.getDrawable(R.drawable.myDrawable);", " } else {", - " myDrawable = resources_.getDrawable(drawable.myDrawable);", + " myDrawable = resources_.getDrawable(R.drawable.myDrawable);", " }", }; diff --git a/AndroidAnnotations/pom.xml b/AndroidAnnotations/pom.xml index e688628ff0..d3277f4756 100644 --- a/AndroidAnnotations/pom.xml +++ b/AndroidAnnotations/pom.xml @@ -167,7 +167,7 @@ com.helger jcodemodel - 2.7.10 + 2.7.11 junit