diff --git a/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt b/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt index 37b67f4c183c5..075cf0cc5a458 100644 --- a/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt +++ b/tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt @@ -113,13 +113,11 @@ class InputEventSenderAndReceiverTest { val sent = SpyInputEventSender.Timeline( inputEventId = 1, gpuCompletedTime = 3, presentTime = 2) mReceiver.reportTimeline(sent.inputEventId, sent.gpuCompletedTime, sent.presentTime) - val received = mSender.getTimeline() - assertEquals(null, received) + mSender.assertNoEvents() // Sender will no longer receive callbacks for this fd, even if receiver sends a valid // timeline later mReceiver.reportTimeline(2 /*inputEventId*/, 3 /*gpuCompletedTime*/, 4 /*presentTime*/) - val receivedSecondTimeline = mSender.getTimeline() - assertEquals(null, receivedSecondTimeline) + mSender.assertNoEvents() } /** diff --git a/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt b/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt index 1099878a19549..f311bc222d22f 100644 --- a/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt +++ b/tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt @@ -25,7 +25,6 @@ import android.view.WindowManagerPolicyConstants.PointerEventListener import com.android.server.UiThread import com.android.server.wm.PointerEventDispatcher import org.junit.Assert.assertEquals -import org.junit.Assert.assertNull import org.junit.After import org.junit.Before import org.junit.Test @@ -86,8 +85,7 @@ class PointerEventDispatcherTest { // Since the listener raises an exception during the event handling, the event should be // marked as 'not handled'. assertEquals(SpyInputEventSender.FinishedSignal(seq, handled = false), finishedSignal) - // Ensure that there aren't double finish calls. This would crash if there's a call - // to finish twice. - assertNull(mSender.getFinishedSignal()) + // Ensure that there aren't double finish calls. + mSender.assertNoEvents() } } diff --git a/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt b/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt index 2d9af9a65d339..5cbfce534b157 100644 --- a/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt +++ b/tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt @@ -27,10 +27,17 @@ import android.view.MotionEvent import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.TimeUnit +import org.junit.Assert.assertNull + private fun getEvent(queue: LinkedBlockingQueue): T? { return queue.poll(DEFAULT_DISPATCHING_TIMEOUT_MILLIS.toLong(), TimeUnit.MILLISECONDS) } +private fun assertNoEvents(queue: LinkedBlockingQueue) { + // Poll the queue with a shorter timeout, to make the check faster. + assertNull(queue.poll(100L, TimeUnit.MILLISECONDS)) +} + class SpyInputEventReceiver(channel: InputChannel, looper: Looper) : InputEventReceiver(channel, looper) { private val mInputEvents = LinkedBlockingQueue() @@ -72,4 +79,9 @@ class SpyInputEventSender(channel: InputChannel, looper: Looper) : fun getTimeline(): Timeline? { return getEvent(mTimelines) } + + fun assertNoEvents() { + assertNoEvents(mFinishedSignals) + assertNoEvents(mTimelines) + } }