summaryrefslogtreecommitdiff
path: root/tests/testables/src/android/testing/TestableInstrumentation.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testables/src/android/testing/TestableInstrumentation.java')
-rw-r--r--tests/testables/src/android/testing/TestableInstrumentation.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/tests/testables/src/android/testing/TestableInstrumentation.java b/tests/testables/src/android/testing/TestableInstrumentation.java
index 3207b486b329..c35dc68e071f 100644
--- a/tests/testables/src/android/testing/TestableInstrumentation.java
+++ b/tests/testables/src/android/testing/TestableInstrumentation.java
@@ -38,22 +38,26 @@ public class TestableInstrumentation extends AndroidJUnitRunner {
@Override
public void onCreate(Bundle arguments) {
- sManager = new MainLooperManager();
- Log.setWtfHandler((tag, what, system) -> {
- if (system) {
- Log.e(TAG, "WTF!!", what);
- } else {
- // These normally kill the app, but we don't want that in a test, instead we want
- // it to throw.
- throw new RuntimeException(what);
- }
- });
+ if (TestableLooper.HOLD_MAIN_THREAD) {
+ sManager = new MainLooperManager();
+ Log.setWtfHandler((tag, what, system) -> {
+ if (system) {
+ Log.e(TAG, "WTF!!", what);
+ } else {
+ // These normally kill the app, but we don't want that in a test, instead we want
+ // it to throw.
+ throw new RuntimeException(what);
+ }
+ });
+ }
super.onCreate(arguments);
}
@Override
public void finish(int resultCode, Bundle results) {
- sManager.destroy();
+ if (TestableLooper.HOLD_MAIN_THREAD) {
+ sManager.destroy();
+ }
super.finish(resultCode, results);
}