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

Commit 75fa35ed authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Add ktfmt to tests/Input

This will help input team ensure that their code is formatted without
doing it manually and dealing with it in code reviews.

Also, run the formatter on the existing files.

Bug: 245989146
Test: repo upload
Flag: TEST_ONLY
Change-Id: I38df2dfa1f76ffe702864c88083a3d579a873442
parent afeda299
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp
               tests/
               tools/
bpfmt = -d
ktfmt = --kotlinlang-style --include-dirs=services/permission,packages/SystemUI,libs/WindowManager/Shell/src/com/android/wm/shell/freeform,libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode,libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode,apct-tests
ktfmt = --kotlinlang-style --include-dirs=services/permission,packages/SystemUI,libs/WindowManager/Shell/src/com/android/wm/shell/freeform,libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode,libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode,apct-tests,tests/Input

[Hook Scripts]
checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT}
+57 −44
Original line number Diff line number Diff line
@@ -44,14 +44,12 @@ import org.mockito.junit.MockitoJUnitRunner
/**
 * Tests for [InputManager.InputDeviceBatteryListener].
 *
 * Build/Install/Run:
 * atest InputTests:InputDeviceBatteryListenerTest
 * Build/Install/Run: atest InputTests:InputDeviceBatteryListenerTest
 */
@Presubmit
@RunWith(MockitoJUnitRunner::class)
class InputDeviceBatteryListenerTest {
    @get:Rule
    val rule = MockitoJUnit.rule()!!
    @get:Rule val rule = MockitoJUnit.rule()!!

    private lateinit var testLooper: TestLooper
    private var registeredListener: IInputDeviceBatteryListener? = null
@@ -60,8 +58,7 @@ class InputDeviceBatteryListenerTest {
    private lateinit var context: Context
    private lateinit var inputManager: InputManager

    @get:Rule
    val inputManagerRule = MockInputManagerRule()
    @get:Rule val inputManagerRule = MockInputManagerRule()

    @Before
    fun setUp() {
@@ -71,15 +68,16 @@ class InputDeviceBatteryListenerTest {
        registeredListener = null
        monitoredDevices.clear()
        inputManager = InputManager(context)
        `when`(context.getSystemService(Mockito.eq(Context.INPUT_SERVICE)))
                .thenReturn(inputManager)
        `when`(context.getSystemService(Mockito.eq(Context.INPUT_SERVICE))).thenReturn(inputManager)

        // Handle battery listener registration.
        doAnswer {
                val deviceId = it.getArgument(0) as Int
                val listener = it.getArgument(1) as IInputDeviceBatteryListener
            if (registeredListener != null &&
                    registeredListener!!.asBinder() != listener.asBinder()) {
                if (
                    registeredListener != null &&
                        registeredListener!!.asBinder() != listener.asBinder()
                ) {
                    // There can only be one registered battery listener per process.
                    fail("Trying to register a new listener when one already exists")
                }
@@ -89,14 +87,18 @@ class InputDeviceBatteryListenerTest {
                monitoredDevices.add(deviceId)
                registeredListener = listener
                null
        }.`when`(inputManagerRule.mock).registerBatteryListener(anyInt(), any())
            }
            .`when`(inputManagerRule.mock)
            .registerBatteryListener(anyInt(), any())

        // Handle battery listener being unregistered.
        doAnswer {
                val deviceId = it.getArgument(0) as Int
                val listener = it.getArgument(1) as IInputDeviceBatteryListener
            if (registeredListener == null ||
                    registeredListener!!.asBinder() != listener.asBinder()) {
                if (
                    registeredListener == null ||
                        registeredListener!!.asBinder() != listener.asBinder()
                ) {
                    fail("Trying to unregister a listener that is not registered")
                }
                if (!monitoredDevices.remove(deviceId)) {
@@ -105,7 +107,9 @@ class InputDeviceBatteryListenerTest {
                if (monitoredDevices.isEmpty()) {
                    registeredListener = null
                }
        }.`when`(inputManagerRule.mock).unregisterBatteryListener(anyInt(), any())
            }
            .`when`(inputManagerRule.mock)
            .unregisterBatteryListener(anyInt(), any())
    }

    private fun notifyBatteryStateChanged(
@@ -113,15 +117,17 @@ class InputDeviceBatteryListenerTest {
        isPresent: Boolean = true,
        status: Int = BatteryState.STATUS_FULL,
        capacity: Float = 1.0f,
        eventTime: Long = 12345L
        eventTime: Long = 12345L,
    ) {
        registeredListener!!.onBatteryStateChanged(IInputDeviceBatteryState().apply {
        registeredListener!!.onBatteryStateChanged(
            IInputDeviceBatteryState().apply {
                this.deviceId = deviceId
                this.updateTime = eventTime
                this.isPresent = isPresent
                this.status = status
                this.capacity = capacity
        })
            }
        )
    }

    @Test
@@ -130,7 +136,9 @@ class InputDeviceBatteryListenerTest {

        // Add a battery listener to monitor battery changes.
        inputManager.addInputDeviceBatteryListener(1 /*deviceId*/, executor) {
                deviceId: Int, eventTime: Long, batteryState: BatteryState ->
            deviceId: Int,
            eventTime: Long,
            batteryState: BatteryState ->
            callbackCount++
            assertEquals(1, deviceId)
            assertEquals(true, batteryState.isPresent)
@@ -149,8 +157,13 @@ class InputDeviceBatteryListenerTest {
        assertEquals(0, callbackCount)

        // Notifying battery change for the registered device will notify the listener.
        notifyBatteryStateChanged(1 /*deviceId*/, true /*isPresent*/,
            BatteryState.STATUS_DISCHARGING, 0.5f /*capacity*/, 8675309L /*eventTime*/)
        notifyBatteryStateChanged(
            1 /*deviceId*/,
            true /*isPresent*/,
            BatteryState.STATUS_DISCHARGING,
            0.5f /*capacity*/,
            8675309L, /*eventTime*/
        )
        testLooper.dispatchNext()
        assertEquals(1, callbackCount)
    }
+6 −9
Original line number Diff line number Diff line
@@ -38,8 +38,7 @@ import org.mockito.junit.MockitoJUnitRunner
/**
 * Tests for [InputManager].
 *
 * Build/Install/Run:
 * atest InputTests:InputManagerTest
 * Build/Install/Run: atest InputTests:InputManagerTest
 */
@Presubmit
@RunWith(MockitoJUnitRunner::class)
@@ -51,8 +50,7 @@ class InputManagerTest {
        const val THIRD_DEVICE_ID = 99
    }

    @get:Rule
    val inputManagerRule = MockInputManagerRule()
    @get:Rule val inputManagerRule = MockInputManagerRule()

    private lateinit var devicesChangedListener: IInputDevicesChangedListener
    private val deviceGenerationMap = mutableMapOf<Int /*deviceId*/, Int /*generation*/>()
@@ -64,9 +62,7 @@ class InputManagerTest {
        context = Mockito.spy(ContextWrapper(ApplicationProvider.getApplicationContext()))
        inputManager = InputManager(context)
        `when`(context.getSystemService(eq(Context.INPUT_SERVICE))).thenReturn(inputManager)
        `when`(inputManagerRule.mock.inputDeviceIds).then {
            deviceGenerationMap.keys.toIntArray()
        }
        `when`(inputManagerRule.mock.inputDeviceIds).then { deviceGenerationMap.keys.toIntArray() }
    }

    private fun notifyDeviceChanged(
@@ -74,7 +70,8 @@ class InputManagerTest {
        associatedDisplayId: Int,
        usiVersion: HostUsiVersion?,
    ) {
        val generation = deviceGenerationMap[deviceId]?.plus(1)
        val generation =
            deviceGenerationMap[deviceId]?.plus(1)
                ?: throw IllegalArgumentException("Device $deviceId was never added!")
        deviceGenerationMap[deviceId] = generation

+68 −58
Original line number Diff line number Diff line
@@ -23,6 +23,11 @@ import android.platform.test.flag.junit.SetFlagsRule
import android.view.KeyEvent
import androidx.test.core.app.ApplicationProvider
import com.android.test.input.MockInputManagerRule
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
import kotlin.test.assertNull
import kotlin.test.fail
import org.junit.Assert.assertThrows
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -31,17 +36,11 @@ import org.mockito.Mockito
import org.mockito.Mockito.doAnswer
import org.mockito.Mockito.`when`
import org.mockito.junit.MockitoJUnitRunner
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
import kotlin.test.assertNull
import kotlin.test.fail
import org.junit.Assert.assertThrows

/**
 * Tests for [InputManager.KeyGestureEventHandler].
 *
 * Build/Install/Run:
 * atest InputTests:KeyGestureEventHandlerTest
 * Build/Install/Run: atest InputTests:KeyGestureEventHandlerTest
 */
@Presubmit
@RunWith(MockitoJUnitRunner::class)
@@ -49,13 +48,15 @@ class KeyGestureEventHandlerTest {

    companion object {
        const val DEVICE_ID = 1
        val HOME_GESTURE_EVENT = KeyGestureEvent.Builder()
        val HOME_GESTURE_EVENT =
            KeyGestureEvent.Builder()
                .setDeviceId(DEVICE_ID)
                .setKeycodes(intArrayOf(KeyEvent.KEYCODE_H))
                .setModifierState(KeyEvent.META_META_ON or KeyEvent.META_META_LEFT_ON)
                .setKeyGestureType(KeyGestureEvent.KEY_GESTURE_TYPE_HOME)
                .build()
        val BACK_GESTURE_EVENT = KeyGestureEvent.Builder()
        val BACK_GESTURE_EVENT =
            KeyGestureEvent.Builder()
                .setDeviceId(DEVICE_ID)
                .setKeycodes(intArrayOf(KeyEvent.KEYCODE_DEL))
                .setModifierState(KeyEvent.META_META_ON or KeyEvent.META_META_LEFT_ON)
@@ -63,10 +64,8 @@ class KeyGestureEventHandlerTest {
                .build()
    }

    @get:Rule
    val rule = SetFlagsRule()
    @get:Rule
    val inputManagerRule = MockInputManagerRule()
    @get:Rule val rule = SetFlagsRule()
    @get:Rule val inputManagerRule = MockInputManagerRule()

    private var registeredListener: IKeyGestureHandler? = null
    private lateinit var context: Context
@@ -76,31 +75,38 @@ class KeyGestureEventHandlerTest {
    fun setUp() {
        context = Mockito.spy(ContextWrapper(ApplicationProvider.getApplicationContext()))
        inputManager = InputManager(context)
        `when`(context.getSystemService(Mockito.eq(Context.INPUT_SERVICE)))
                .thenReturn(inputManager)
        `when`(context.getSystemService(Mockito.eq(Context.INPUT_SERVICE))).thenReturn(inputManager)

        // Handle key gesture handler registration.
        doAnswer {
                val listener = it.getArgument(1) as IKeyGestureHandler
            if (registeredListener != null &&
                    registeredListener!!.asBinder() != listener.asBinder()) {
                if (
                    registeredListener != null &&
                        registeredListener!!.asBinder() != listener.asBinder()
                ) {
                    // There can only be one registered key gesture handler per process.
                    fail("Trying to register a new listener when one already exists")
                }
                registeredListener = listener
                null
        }.`when`(inputManagerRule.mock).registerKeyGestureHandler(Mockito.any(), Mockito.any())
            }
            .`when`(inputManagerRule.mock)
            .registerKeyGestureHandler(Mockito.any(), Mockito.any())

        // Handle key gesture handler being unregistered.
        doAnswer {
                val listener = it.getArgument(0) as IKeyGestureHandler
            if (registeredListener == null ||
                    registeredListener!!.asBinder() != listener.asBinder()) {
                if (
                    registeredListener == null ||
                        registeredListener!!.asBinder() != listener.asBinder()
                ) {
                    fail("Trying to unregister a listener that is not registered")
                }
                registeredListener = null
                null
        }.`when`(inputManagerRule.mock).unregisterKeyGestureHandler(Mockito.any())
            }
            .`when`(inputManagerRule.mock)
            .unregisterKeyGestureHandler(Mockito.any())
    }

    private fun handleKeyGestureEvent(event: KeyGestureEvent) {
@@ -143,7 +149,7 @@ class KeyGestureEventHandlerTest {
        // Adding the handler should register the callback with InputManagerService.
        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME),
            callback1
            callback1,
        )
        assertNotNull(registeredListener)

@@ -151,7 +157,7 @@ class KeyGestureEventHandlerTest {
        val currListener = registeredListener
        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_BACK),
            callback2
            callback2,
        )
        assertEquals(currListener, registeredListener)
    }
@@ -164,11 +170,11 @@ class KeyGestureEventHandlerTest {

        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME),
            callback1
            callback1,
        )
        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_BACK),
            callback2
            callback2,
        )

        // Only removing all handlers should remove the internal callback
@@ -184,12 +190,14 @@ class KeyGestureEventHandlerTest {
        var callbackCount1 = 0
        var callbackCount2 = 0
        // Handler 1 captures all home gestures
        val callback1 = InputManager.KeyGestureEventHandler { event, _ ->
        val callback1 =
            InputManager.KeyGestureEventHandler { event, _ ->
                callbackCount1++
                assertEquals(KeyGestureEvent.KEY_GESTURE_TYPE_HOME, event.keyGestureType)
            }
        // Handler 2 captures all back gestures
        val callback2 = InputManager.KeyGestureEventHandler { event, _ ->
        val callback2 =
            InputManager.KeyGestureEventHandler { event, _ ->
                callbackCount2++
                assertEquals(KeyGestureEvent.KEY_GESTURE_TYPE_BACK, event.keyGestureType)
            }
@@ -197,11 +205,11 @@ class KeyGestureEventHandlerTest {
        // Add both key gesture event handlers
        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME),
            callback1
            callback1,
        )
        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_BACK),
            callback2
            callback2,
        )

        // Request handling for home key gesture event, should notify only callback1
@@ -228,12 +236,13 @@ class KeyGestureEventHandlerTest {

        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME),
            handler
            handler,
        )

        assertThrows(IllegalArgumentException::class.java) {
            inputManager.registerKeyGestureEventHandler(
                listOf(KeyGestureEvent.KEY_GESTURE_TYPE_BACK), handler
                listOf(KeyGestureEvent.KEY_GESTURE_TYPE_BACK),
                handler,
            )
        }
    }
@@ -245,12 +254,13 @@ class KeyGestureEventHandlerTest {

        inputManager.registerKeyGestureEventHandler(
            listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME),
            handler1
            handler1,
        )

        assertThrows(IllegalArgumentException::class.java) {
            inputManager.registerKeyGestureEventHandler(
                listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME), handler2
                listOf(KeyGestureEvent.KEY_GESTURE_TYPE_HOME),
                handler2,
            )
        }
    }
+35 −31
Original line number Diff line number Diff line
@@ -43,8 +43,7 @@ import org.mockito.junit.MockitoJUnitRunner
/**
 * Tests for [InputManager.KeyGestureEventListener].
 *
 * Build/Install/Run:
 * atest InputTests:KeyGestureEventListenerTest
 * Build/Install/Run: atest InputTests:KeyGestureEventListenerTest
 */
@Presubmit
@RunWith(MockitoJUnitRunner::class)
@@ -52,7 +51,8 @@ class KeyGestureEventListenerTest {

    companion object {
        const val DEVICE_ID = 1
        val HOME_GESTURE_EVENT = KeyGestureEvent.Builder()
        val HOME_GESTURE_EVENT =
            KeyGestureEvent.Builder()
                .setDeviceId(DEVICE_ID)
                .setKeycodes(intArrayOf(KeyEvent.KEYCODE_H))
                .setModifierState(KeyEvent.META_META_ON or KeyEvent.META_META_LEFT_ON)
@@ -60,10 +60,8 @@ class KeyGestureEventListenerTest {
                .build()
    }

    @get:Rule
    val rule = SetFlagsRule()
    @get:Rule
    val inputManagerRule = MockInputManagerRule()
    @get:Rule val rule = SetFlagsRule()
    @get:Rule val inputManagerRule = MockInputManagerRule()

    private val testLooper = TestLooper()
    private val executor = HandlerExecutor(Handler(testLooper.looper))
@@ -75,31 +73,38 @@ class KeyGestureEventListenerTest {
    fun setUp() {
        context = Mockito.spy(ContextWrapper(ApplicationProvider.getApplicationContext()))
        inputManager = InputManager(context)
        `when`(context.getSystemService(Mockito.eq(Context.INPUT_SERVICE)))
                .thenReturn(inputManager)
        `when`(context.getSystemService(Mockito.eq(Context.INPUT_SERVICE))).thenReturn(inputManager)

        // Handle key gesture event listener registration.
        doAnswer {
                val listener = it.getArgument(0) as IKeyGestureEventListener
            if (registeredListener != null &&
                    registeredListener!!.asBinder() != listener.asBinder()) {
                if (
                    registeredListener != null &&
                        registeredListener!!.asBinder() != listener.asBinder()
                ) {
                    // There can only be one registered key gesture event listener per process.
                    fail("Trying to register a new listener when one already exists")
                }
                registeredListener = listener
                null
        }.`when`(inputManagerRule.mock).registerKeyGestureEventListener(any())
            }
            .`when`(inputManagerRule.mock)
            .registerKeyGestureEventListener(any())

        // Handle key gesture event listener being unregistered.
        doAnswer {
                val listener = it.getArgument(0) as IKeyGestureEventListener
            if (registeredListener == null ||
                    registeredListener!!.asBinder() != listener.asBinder()) {
                if (
                    registeredListener == null ||
                        registeredListener!!.asBinder() != listener.asBinder()
                ) {
                    fail("Trying to unregister a listener that is not registered")
                }
                registeredListener = null
                null
        }.`when`(inputManagerRule.mock).unregisterKeyGestureEventListener(any())
            }
            .`when`(inputManagerRule.mock)
            .unregisterKeyGestureEventListener(any())
    }

    private fun notifyKeyGestureEvent(event: KeyGestureEvent) {
@@ -119,8 +124,7 @@ class KeyGestureEventListenerTest {
        var callbackCount = 0

        // Add a key gesture event listener
        inputManager.registerKeyGestureEventListener(executor) {
            event: KeyGestureEvent ->
        inputManager.registerKeyGestureEventListener(executor) { event: KeyGestureEvent ->
            assertEquals(HOME_GESTURE_EVENT, event)
            callbackCount++
        }
Loading