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;
}
synchronized (mAdditionalDisplayInputPropertiesLock) {
setPointerIconVisible(AdditionalDisplayInputProperties.DEFAULT_POINTER_ICON_VISIBLE,
displayId);
setPointerAcceleration(AdditionalDisplayInputProperties.DEFAULT_POINTER_ACCELERATION,
displayId);
}
mNative.displayRemoved(displayId);
}

View File

@@ -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)
}
}