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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user