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

Commit fd27cd2c authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Reset display input properties when removed" into tm-dev am:...

Merge "Merge "Reset display input properties when removed" into tm-dev am: d0601bbc am: 768dd53e" into tm-d1-dev-plus-aosp
parents eecce258 b7c75616
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1712,6 +1712,13 @@ public class InputManagerService extends IInputManager.Stub
            mPointerIconDisplayContext = null;
        }

        synchronized (mAdditionalDisplayInputPropertiesLock) {
            setPointerIconVisible(AdditionalDisplayInputProperties.DEFAULT_POINTER_ICON_VISIBLE,
                    displayId);
            setPointerAcceleration(AdditionalDisplayInputProperties.DEFAULT_POINTER_ACCELERATION,
                    displayId);
        }

        mNative.displayRemoved(displayId);
    }

+24 −1
Original line number Diff line number Diff line
@@ -20,9 +20,11 @@ import android.content.Context
import android.content.ContextWrapper
import android.hardware.display.DisplayViewport
import android.hardware.input.InputManagerInternal
import android.os.IInputConstants
import android.os.test.TestLooper
import android.platform.test.annotations.Presubmit
import android.view.Display
import android.view.PointerIcon
import androidx.test.InstrumentationRegistry
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
@@ -31,6 +33,7 @@ import org.junit.Rule
import org.junit.Test
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.eq
import org.mockito.Mock
import org.mockito.Mockito.`when`
import org.mockito.Mockito.doAnswer
@@ -38,6 +41,7 @@ import org.mockito.Mockito.never
import org.mockito.Mockito.spy
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.junit.MockitoJUnit
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit
@@ -219,4 +223,23 @@ class InputManagerServiceTests {
            secondRequestLatch.await(100, TimeUnit.MILLISECONDS))
        verify(native, times(2)).setPointerDisplayId(anyInt())
    }

    @Test
    fun onDisplayRemoved_resetAllAdditionalInputProperties() {
        localService.setVirtualMousePointerDisplayId(10)
        localService.setPointerIconVisible(false, 10)
        verify(native).setPointerIconType(eq(PointerIcon.TYPE_NULL))
        localService.setPointerAcceleration(5f, 10)
        verify(native).setPointerAcceleration(eq(5f))

        service.onDisplayRemoved(10)
        verify(native).displayRemoved(eq(10))
        verify(native).setPointerIconType(eq(PointerIcon.TYPE_NOT_SPECIFIED))
        verify(native).setPointerAcceleration(
            eq(IInputConstants.DEFAULT_POINTER_ACCELERATION.toFloat()))

        localService.setVirtualMousePointerDisplayId(10)
        verify(native).setPointerDisplayId(eq(10))
        verifyNoMoreInteractions(native)
    }
}