From 36e0f128929ca2cdcd51dcb1d0c1fc6557414875 Mon Sep 17 00:00:00 2001 From: Seigo Nonaka Date: Fri, 16 Sep 2016 11:08:00 +0900 Subject: [PATCH] Fix test failure due to out of UI thread runnning. After Ie8c42d60a0bff7636795a958a475058798061fe5, ActivityTestRule is no longer a subclass of UiThreadTestRule, and looks like the new UiThreadTest annotation is not working for Parameterized test. As a temporary fix, use runOnUiThread instead of @UiThreadTest. Change-Id: I69d035864259c1f0765d52ebc53634d3ef8ef84a --- .../widget/EditTextLongTextPerfTest.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/apct-tests/perftests/core/src/android/widget/EditTextLongTextPerfTest.java b/apct-tests/perftests/core/src/android/widget/EditTextLongTextPerfTest.java index 13a5e8373e343..ce0c35747b3fd 100644 --- a/apct-tests/perftests/core/src/android/widget/EditTextLongTextPerfTest.java +++ b/apct-tests/perftests/core/src/android/widget/EditTextLongTextPerfTest.java @@ -41,7 +41,6 @@ import android.perftests.utils.PerfStatusReporter; import android.perftests.utils.StubActivity; import android.support.test.filters.LargeTest; import android.support.test.runner.AndroidJUnit4; -import android.support.test.annotation.UiThreadTest; import android.support.test.rule.ActivityTestRule; import android.support.test.InstrumentationRegistry; @@ -106,20 +105,21 @@ public class EditTextLongTextPerfTest { } @Test - @UiThreadTest - public void testEditText() { - BenchmarkState state = mPerfStatusReporter.getBenchmarkState(); - final EditText editText = setupEditText(); - final KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER); - final int steps = 100; - while (state.keepRunning()) { - for (int i = 0; i < steps; i++) { - int offset = (editText.getText().length() * i) / steps; - editText.setSelection(offset); - editText.bringPointIntoView(offset); - editText.onKeyDown(keyEvent.getKeyCode(), keyEvent); - editText.updateDisplayListIfDirty(); + public void testEditText() throws Throwable { + mActivityRule.runOnUiThread(() -> { + BenchmarkState state = mPerfStatusReporter.getBenchmarkState(); + final EditText editText = setupEditText(); + final KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER); + final int steps = 100; + while (state.keepRunning()) { + for (int i = 0; i < steps; i++) { + int offset = (editText.getText().length() * i) / steps; + editText.setSelection(offset); + editText.bringPointIntoView(offset); + editText.onKeyDown(keyEvent.getKeyCode(), keyEvent); + editText.updateDisplayListIfDirty(); + } } - } + }); } }