diff options
| author | 2022-04-20 10:50:16 -0700 | |
|---|---|---|
| committer | 2022-05-06 14:47:52 +0000 | |
| commit | 2d47a57d34856483c065838e84d0e8424a4b2ad7 (patch) | |
| tree | 186ae252da26a35fd91a47bfc33610b2ba0847aa | |
| parent | 4b337846127a51a942bfb7fabc83c0b3db188eeb (diff) | |
Reset display input properties when removed
Bug: 227352703
Test: atest CtsHardwareTestCases:android.hardware.input.cts.tests.VirtualMouseTest --iterations 10
and adb shell dumpsys input | grep mAdditionalDisplayInputProperties
returns nothing
Merged-In: I4b8ca7f52079260eb9bf4cc8c69d88713087d6ac
Merged-In: I96ae978f467a450bca142de0b98b2643f155f15e
Change-Id: I4b8ca7f52079260eb9bf4cc8c69d88713087d6ac
| -rw-r--r-- | services/core/java/com/android/server/input/InputManagerService.java | 7 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt | 25 |
2 files changed, 31 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java index 5ae3f337d0a5..e4e9d1d49a6e 100644 --- a/services/core/java/com/android/server/input/InputManagerService.java +++ b/services/core/java/com/android/server/input/InputManagerService.java @@ -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); } diff --git a/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt b/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt index cb97c9bf91a3..e78f0c77d6b3 100644 --- a/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt +++ b/services/tests/servicestests/src/com/android/server/input/InputManagerServiceTests.kt @@ -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()) } -}
\ No newline at end of file + + @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) + } +} |