Loading tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt +2 −4 Original line number Diff line number Diff line Loading @@ -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() } /** Loading tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt +2 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() } } tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt +12 −0 Original line number Diff line number Diff line Loading @@ -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 <T> getEvent(queue: LinkedBlockingQueue<T>): T? { return queue.poll(DEFAULT_DISPATCHING_TIMEOUT_MILLIS.toLong(), TimeUnit.MILLISECONDS) } private fun <T> assertNoEvents(queue: LinkedBlockingQueue<T>) { // 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<InputEvent>() Loading Loading @@ -72,4 +79,9 @@ class SpyInputEventSender(channel: InputChannel, looper: Looper) : fun getTimeline(): Timeline? { return getEvent(mTimelines) } fun assertNoEvents() { assertNoEvents(mFinishedSignals) assertNoEvents(mTimelines) } } Loading
tests/Input/src/com/android/test/input/InputEventSenderAndReceiverTest.kt +2 −4 Original line number Diff line number Diff line Loading @@ -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() } /** Loading
tests/Input/src/com/android/test/input/PointerEventDispatcherTest.kt +2 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() } }
tests/Input/src/com/android/test/input/SpyInputEventSenderAndReceiver.kt +12 −0 Original line number Diff line number Diff line Loading @@ -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 <T> getEvent(queue: LinkedBlockingQueue<T>): T? { return queue.poll(DEFAULT_DISPATCHING_TIMEOUT_MILLIS.toLong(), TimeUnit.MILLISECONDS) } private fun <T> assertNoEvents(queue: LinkedBlockingQueue<T>) { // 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<InputEvent>() Loading Loading @@ -72,4 +79,9 @@ class SpyInputEventSender(channel: InputChannel, looper: Looper) : fun getTimeline(): Timeline? { return getEvent(mTimelines) } fun assertNoEvents() { assertNoEvents(mFinishedSignals) assertNoEvents(mTimelines) } }