Skip to content

Commit 58614d2

Browse files
committed
Merge pull request androidannotations#848 from excilys/847_removeGeneratedApiClasses
Remove generated Api classes to resolve “Multiple dex files” error in Eclipse
2 parents 18b9ca1 + 94c8dda commit 58614d2

File tree

9 files changed

+15
-28
lines changed

9 files changed

+15
-28
lines changed

AndroidAnnotations/androidannotations-api/META-INF/MANIFEST.MF

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Export-Package: org.androidannotations.annotations,
77
org.androidannotations.annotations.res,
88
org.androidannotations.annotations.rest,
99
org.androidannotations.annotations.sharedpreferences,
10+
org.androidannotations.api,
1011
org.androidannotations.api.rest,
1112
org.androidannotations.api.sharedpreferences,
1213
org.androidannotations.api.view

AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/api/BackgroundExecutor.java renamed to AndroidAnnotations/androidannotations-api/src/main/java/org/androidannotations/api/BackgroundExecutor.java

File renamed without changes.

AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/api/SdkVersionHelper.java renamed to AndroidAnnotations/androidannotations-api/src/main/java/org/androidannotations/api/SdkVersionHelper.java

File renamed without changes.

AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/api/ViewServer.java renamed to AndroidAnnotations/androidannotations-api/src/main/java/org/androidannotations/api/ViewServer.java

File renamed without changes.

AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/handler/BackgroundHandler.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
import org.androidannotations.annotations.Background;
2626
import org.androidannotations.api.BackgroundExecutor;
27-
import org.androidannotations.api.BackgroundExecutor.Task;
2827
import org.androidannotations.helper.APTCodeModelHelper;
2928
import org.androidannotations.holder.EComponentHolder;
3029

@@ -51,13 +50,11 @@ public BackgroundHandler(ProcessingEnvironment processingEnvironment) {
5150
public void process(Element element, EComponentHolder holder) throws Exception {
5251
ExecutableElement executableElement = (ExecutableElement) element;
5352

54-
generateApiClass(element, BackgroundExecutor.class);
55-
5653
JMethod delegatingMethod = codeModelHelper.overrideAnnotatedMethod(executableElement, holder);
5754

5855
JBlock previousMethodBody = codeModelHelper.removeBody(delegatingMethod);
5956

60-
JDefinedClass anonymousTaskClass = codeModel().anonymousClass(Task.class);
57+
JDefinedClass anonymousTaskClass = codeModel().anonymousClass(BackgroundExecutor.Task.class);
6158

6259
JMethod executeMethod = anonymousTaskClass.method(JMod.PUBLIC, codeModel().VOID, "execute");
6360
executeMethod.annotate(Override.class);
@@ -67,10 +64,10 @@ public void process(Element element, EComponentHolder holder) throws Exception {
6764
tryBlock.body().add(previousMethodBody);
6865
JCatchBlock catchBlock = tryBlock._catch(holder.classes().THROWABLE);
6966
JVar caughtException = catchBlock.param("e");
70-
JStatement uncaughtExceptionCall = holder.classes().THREAD
71-
.staticInvoke("getDefaultUncaughtExceptionHandler")
72-
.invoke("uncaughtException")
73-
.arg(holder.classes().THREAD.staticInvoke("currentThread"))
67+
JStatement uncaughtExceptionCall = holder.classes().THREAD //
68+
.staticInvoke("getDefaultUncaughtExceptionHandler") //
69+
.invoke("uncaughtException") //
70+
.arg(holder.classes().THREAD.staticInvoke("currentThread")) //
7471
.arg(caughtException);
7572
catchBlock.body().add(uncaughtExceptionCall);
7673

AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/handler/HierarchyViewerSupportHandler.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import javax.lang.model.element.Element;
2222

2323
import org.androidannotations.annotations.HierarchyViewerSupport;
24-
import org.androidannotations.api.ViewServer;
2524
import org.androidannotations.holder.EActivityHolder;
2625
import org.androidannotations.model.AnnotationElements;
2726
import org.androidannotations.process.IsValid;
@@ -45,8 +44,6 @@ public void validate(Element element, AnnotationElements validatedElements, IsVa
4544

4645
@Override
4746
public void process(Element element, EActivityHolder holder) throws Exception {
48-
generateApiClass(element, ViewServer.class);
49-
5047
JInvocation viewServerInvocation = classes().VIEW_SERVER.staticInvoke("get").arg(_this());
5148

5249
holder.getOnViewChangedBody().invoke(viewServerInvocation, "addWindow").arg(_this());

AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/holder/EActivityHolder.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
public class EActivityHolder extends EComponentWithViewSupportHolder implements HasIntentBuilder, HasExtras, HasInstanceState, HasOptionsMenu, HasOnActivityResult {
6363

6464
private GreenDroidHelper greenDroidHelper;
65-
private ActivityIntentBuilder intentBuilder;
65+
private ActivityIntentBuilder intentBuilder;
6666
private JMethod onCreate;
6767
private JMethod setIntent;
6868
private JMethod setContentViewLayout;
@@ -95,8 +95,8 @@ public EActivityHolder(ProcessHolder processHolder, TypeElement annotatedElement
9595
instanceStateHolder = new InstanceStateHolder(this);
9696
onActivityResultHolder = new OnActivityResultHolder(this);
9797
setSetContentView();
98-
intentBuilder = new ActivityIntentBuilder(this, androidManifest);
99-
intentBuilder.build();
98+
intentBuilder = new ActivityIntentBuilder(this, androidManifest);
99+
intentBuilder.build();
100100
handleBackPressed();
101101
}
102102

@@ -196,7 +196,7 @@ protected void setOnStop() {
196196
method.annotate(Override.class);
197197
JBlock body = method.body();
198198
body.invoke(_super(), method);
199-
getRoboGuiceHolder().onStop = method;
199+
getRoboGuiceHolder().onStop = method;
200200
}
201201

202202
protected void setOnDestroy() {
@@ -361,8 +361,6 @@ private void handleBackPressed() {
361361
Element declaredOnBackPressedMethod = getOnBackPressedMethod(annotatedElement);
362362
if (declaredOnBackPressedMethod != null) {
363363

364-
processHolder.generateApiClass(declaredOnBackPressedMethod, SdkVersionHelper.class);
365-
366364
JMethod onKeyDownMethod = generatedClass.method(PUBLIC, codeModel().BOOLEAN, "onKeyDown");
367365
onKeyDownMethod.annotate(Override.class);
368366
JVar keyCodeParam = onKeyDownMethod.param(codeModel().INT, "keyCode");
@@ -418,12 +416,12 @@ private boolean isCustomOnBackPressedMethod(ExecutableElement method) {
418416
;
419417
}
420418

421-
@Override
422-
public IntentBuilder getIntentBuilder() {
423-
return intentBuilder;
424-
}
419+
@Override
420+
public IntentBuilder getIntentBuilder() {
421+
return intentBuilder;
422+
}
425423

426-
@Override
424+
@Override
427425
public void setIntentBuilderClass(JDefinedClass intentBuilderClass) {
428426
this.intentBuilderClass = intentBuilderClass;
429427
}

AndroidAnnotations/androidannotations/src/test/java/org/androidannotations/generation/OnBackPressedApiDependenciesTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.IOException;
1919

2020
import org.androidannotations.AndroidAnnotationProcessor;
21-
import org.androidannotations.api.SdkVersionHelper;
2221
import org.androidannotations.utils.AAProcessorTestHelper;
2322
import org.junit.Before;
2423
import org.junit.Test;
@@ -35,14 +34,12 @@ public void setup() {
3534
@Test
3635
public void activity_with_on_back_pressed_generate_api_dependency() throws IOException {
3736
CompileResult result = compileFiles(ActivityWithOnBackPressedMethod.class);
38-
assertClassSourcesGeneratedToOutput(SdkVersionHelper.class);
3937
assertCompilationSuccessful(result);
4038
}
4139

4240
@Test
4341
public void activity_without_on_back_pressed_do_not_generate_api_dependency() throws IOException {
4442
CompileResult result = compileFiles(ActivityWithBackgroundMethod.class);
45-
assertClassSourcesNotGeneratedToOutput(SdkVersionHelper.class);
4643
assertCompilationSuccessful(result);
4744
}
4845

AndroidAnnotations/androidannotations/src/test/java/org/androidannotations/generation/OnBackgroundApiDependenciesTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.IOException;
1919

2020
import org.androidannotations.AndroidAnnotationProcessor;
21-
import org.androidannotations.api.BackgroundExecutor;
2221
import org.androidannotations.utils.AAProcessorTestHelper;
2322
import org.junit.Before;
2423
import org.junit.Test;
@@ -35,14 +34,12 @@ public void setup() {
3534
@Test
3635
public void activity_with_background_annotated_method_generate_api_dependency() throws IOException {
3736
CompileResult result = compileFiles(ActivityWithBackgroundMethod.class);
38-
assertClassSourcesGeneratedToOutput(BackgroundExecutor.class);
3937
assertCompilationSuccessful(result);
4038
}
4139

4240
@Test
4341
public void activity_without_background_annotated_method_generate_api_dependency() throws IOException {
4442
CompileResult result = compileFiles(ActivityWithOnBackPressedMethod.class);
45-
assertClassSourcesNotGeneratedToOutput(BackgroundExecutor.class);
4643
assertCompilationSuccessful(result);
4744
}
4845

0 commit comments

Comments
 (0)