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

This commit is contained in:
TreeHugger Robot
2022-05-06 18:19:38 +00:00
committed by Android (Google) Code Review
2 changed files with 31 additions and 1 deletions

View File

@@ -1712,6 +1712,13 @@ public class InputManagerService extends IInputManager.Stub
mPointerIconDisplayContext = null; mPointerIconDisplayContext = null;
} }
synchronized (mAdditionalDisplayInputPropertiesLock) {
setPointerIconVisible(AdditionalDisplayInputProperties.DEFAULT_POINTER_ICON_VISIBLE,
displayId);
setPointerAcceleration(AdditionalDisplayInputProperties.DEFAULT_POINTER_ACCELERATION,
displayId);
}
mNative.displayRemoved(displayId); mNative.displayRemoved(displayId);
} }

View File

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