diff options
author | Keun young Park <keunyoung@google.com> | 2012-07-20 12:19:01 -0700 |
---|---|---|
committer | Keun young Park <keunyoung@google.com> | 2012-07-20 12:19:01 -0700 |
commit | c89984a02f8879016444dbd831090be88bc8264f (patch) | |
tree | 496f1973d86865ba12274e1b198c8a362d7ca412 | |
parent | 8a23898bbcdecc4b03739c8da44f1c928e0c98c4 (diff) | |
download | cts-c89984a02f8879016444dbd831090be88bc8264f.tar.gz |
trial to fix long click tests
- TouchUtils.longClickView can fail if there are many events in view side.
In that case, down event can be delivered with delay while up event
is delivered after 1.5 x long press interval.
Then the event will not be recognized as long press but short event.
- fundamental solution can be to send up event after detecting long press
but adding waitForIdleSync may solve the issue by making sure that
there is no pending events
Bug: 6420509
Bug: 6316645
Change-Id: Ic14fcb317a1753417aaa8dab20ab4478c21f9453
-rw-r--r-- | tests/tests/view/src/android/view/cts/View_UsingViewsTest.java | 12 | ||||
-rw-r--r-- | tests/tests/widget/src/android/widget/cts/AbsListViewTest.java | 1 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java b/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java index adfec694213..74f3c13337c 100644 --- a/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java +++ b/tests/tests/view/src/android/view/cts/View_UsingViewsTest.java @@ -21,6 +21,7 @@ import com.android.cts.stub.R; import android.app.Activity; import android.app.Instrumentation; +import android.cts.util.PollingCheck; import android.graphics.Bitmap; import android.graphics.Color; import android.test.ActivityInstrumentationTestCase2; @@ -35,6 +36,7 @@ import android.widget.EditText; import android.widget.RelativeLayout; import android.widget.TextView; + public class View_UsingViewsTest extends ActivityInstrumentationTestCase2<UsingViewsStubActivity> { /** * country of Argentina @@ -347,15 +349,21 @@ public class View_UsingViewsTest extends ActivityInstrumentationTestCase2<UsingV mEditText.setLongClickable(true); assertTrue(mEditText.isLongClickable()); - MockOnLongClickListener onLongClickListener = new MockOnLongClickListener(); + final MockOnLongClickListener onLongClickListener = new MockOnLongClickListener(); mEditText.setOnLongClickListener(onLongClickListener); // long click the edit text assertFalse(onLongClickListener.isOnLongClickCalled()); assertNull(onLongClickListener.getView()); + mInstrumentation.waitForIdleSync(); TouchUtils.longClickView(this, mEditText); - assertTrue(onLongClickListener.isOnLongClickCalled()); + new PollingCheck() { + @Override + protected boolean check() { + return onLongClickListener.isOnLongClickCalled(); + } + }.run(); assertSame(mEditText, onLongClickListener.getView()); // click the Cancel button diff --git a/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java b/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java index 6846d38a9c4..72150f261cd 100644 --- a/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java +++ b/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java @@ -534,6 +534,7 @@ public class AbsListViewTest extends ActivityInstrumentationTestCase2<ListViewSt assertEquals(0, listener.getPosition()); assertEquals(0, listener.getID()); + mInstrumentation.waitForIdleSync(); TouchUtils.longClickView(this, v); new PollingCheck() { |