Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22d86f51 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make PointerEventDispatcherTest faster" into main

parents 4cf9726a 5468a014
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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()
    }

    /**
+2 −4
Original line number Diff line number Diff line
@@ -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()
    }
}
+12 −0
Original line number Diff line number Diff line
@@ -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>()
@@ -72,4 +79,9 @@ class SpyInputEventSender(channel: InputChannel, looper: Looper) :
    fun getTimeline(): Timeline? {
        return getEvent(mTimelines)
    }

    fun assertNoEvents() {
        assertNoEvents(mFinishedSignals)
        assertNoEvents(mTimelines)
    }
}