Skip to content

Commit c8b8725

Browse files
committed
Merge pull request androidannotations#1195 from WonderCsabo/1123_disableThreadControlOption
@SupposeUiThread and @SupposeBackround can be turned of in options
2 parents bc91f76 + fd38af9 commit c8b8725

2 files changed

Lines changed: 37 additions & 24 deletions

File tree

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/handler/AnnotationHandlers.java‎

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
*/
1616
package org.androidannotations.handler;
1717

18+
import java.util.ArrayList;
19+
import java.util.Collections;
20+
import java.util.HashSet;
21+
import java.util.List;
22+
import java.util.Set;
23+
24+
import javax.annotation.processing.ProcessingEnvironment;
25+
1826
import org.androidannotations.handler.rest.DeleteHandler;
1927
import org.androidannotations.handler.rest.GetHandler;
2028
import org.androidannotations.handler.rest.HeadHandler;
@@ -32,13 +40,6 @@
3240
import org.androidannotations.process.ProcessHolder;
3341
import org.androidannotations.rclass.IRClass;
3442

35-
import javax.annotation.processing.ProcessingEnvironment;
36-
import java.util.ArrayList;
37-
import java.util.Collections;
38-
import java.util.HashSet;
39-
import java.util.List;
40-
import java.util.Set;
41-
4243
public class AnnotationHandlers {
4344

4445
private List<AnnotationHandler<? extends GeneratedClassHolder>> annotationHandlers = new ArrayList<AnnotationHandler<? extends GeneratedClassHolder>>();
@@ -147,8 +148,10 @@ public AnnotationHandlers(ProcessingEnvironment processingEnvironment) {
147148
* SupposeUiThreadHandler and SupposeBackgroundHandler must be after all
148149
* handlers that modifies generated method body
149150
*/
150-
add(new SupposeUiThreadHandler(processingEnvironment));
151-
add(new SupposeBackgroundHandler(processingEnvironment));
151+
if (optionsHelper.shouldEnsureThreadControl()) {
152+
add(new SupposeUiThreadHandler(processingEnvironment));
153+
add(new SupposeBackgroundHandler(processingEnvironment));
154+
}
152155
}
153156

154157
public void add(AnnotationHandler<? extends GeneratedClassHolder> annotationHandler) {

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/OptionsHelper.java‎

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,29 @@
2626
public class OptionsHelper {
2727

2828
enum Option {
29-
TRACE("trace"), //
30-
ANDROID_MANIFEST_FILE("androidManifestFile"), //
31-
RESOURCE_PACKAGE_NAME("resourcePackageName"), //
32-
LOG_FILE("logFile"), //
33-
LOG_LEVEL("logLevel"), //
34-
LOG_APPENDER_CONSOLE("logAppenderConsole");
29+
TRACE("trace", "false"), //
30+
THREAD_CONTROL("threadControl", "true"), //
31+
ANDROID_MANIFEST_FILE("androidManifestFile", null), //
32+
RESOURCE_PACKAGE_NAME("resourcePackageName", null), //
33+
LOG_FILE("logFile", null), //
34+
LOG_LEVEL("logLevel", "DEBUG"), //
35+
LOG_APPENDER_CONSOLE("logAppenderConsole", "false");
3536

3637
private String key;
38+
private String defaultValue;
3739

38-
private Option(String key) {
40+
private Option(String key, String defaultValue) {
3941
this.key = key;
42+
this.defaultValue = defaultValue;
4043
}
4144

4245
public String getKey() {
4346
return key;
4447
}
48+
49+
public String getDefaultValue() {
50+
return defaultValue;
51+
}
4552
}
4653

4754
private final Map<String, String> options;
@@ -62,6 +69,10 @@ public boolean shouldLogTrace() {
6269
return getBoolean(Option.TRACE);
6370
}
6471

72+
public boolean shouldEnsureThreadControl() {
73+
return getBoolean(Option.THREAD_CONTROL);
74+
}
75+
6576
public String getAndroidManifestFile() {
6677
return getString(Option.ANDROID_MANIFEST_FILE);
6778
}
@@ -78,7 +89,7 @@ public Level getLogLevel() {
7889
try {
7990
return Level.parse(getString(Option.LOG_LEVEL));
8091
} catch (Exception e) {
81-
return Level.DEBUG;
92+
return Level.parse(Option.LOG_LEVEL.getDefaultValue());
8293
}
8394
}
8495

@@ -87,17 +98,16 @@ public boolean shouldUseConsoleAppender() {
8798
}
8899

89100
private String getString(Option option) {
90-
return options.get(option.getKey());
91-
}
92-
93-
private boolean getBoolean(Option option) {
94101
String key = option.getKey();
95102
if (options.containsKey(key)) {
96-
String trace = options.get(key);
97-
return !"false".equals(trace);
103+
return options.get(key);
98104
} else {
99-
return false;
105+
return option.getDefaultValue();
100106
}
101107
}
102108

109+
private boolean getBoolean(Option option) {
110+
return Boolean.valueOf(getString(option));
111+
}
112+
103113
}

0 commit comments

Comments
 (0)