From ccd3dd65026cfb28285fb6119ae632384754e749 Mon Sep 17 00:00:00 2001 From: Bernardo Rufino Date: Mon, 15 Feb 2021 18:47:42 +0000 Subject: Add InputDispatcher unit tests for untrusted touches [4/n] Tests for boundary values for maximum obscuring opacity. Bug: 158002302 Bug: 177840583 Test: atest InputDispatcherUntrustedTouchesTest Change-Id: Ia399d4cd4493cad3bbeaaf18255ed8a608bb4c2d --- .../inputflinger/tests/InputDispatcher_test.cpp | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/services/inputflinger/tests/InputDispatcher_test.cpp b/services/inputflinger/tests/InputDispatcher_test.cpp index dd044ca7a4..209639c880 100644 --- a/services/inputflinger/tests/InputDispatcher_test.cpp +++ b/services/inputflinger/tests/InputDispatcher_test.cpp @@ -4486,4 +4486,39 @@ TEST_F(InputDispatcherUntrustedTouchesTest, SelfWindowWithBlockUntrustedMode_All mTouchWindow->consumeAnyMotionDown(); } +TEST_F(InputDispatcherUntrustedTouchesTest, + OpacityThresholdIs0AndWindowAboveThreshold_BlocksTouch) { + mDispatcher->setMaximumObscuringOpacityForTouch(0.0f); + const sp& w = + getOccludingWindow(APP_B_UID, "B", TouchOcclusionMode::USE_OPACITY, 0.1f); + mDispatcher->setInputWindows({{ADISPLAY_ID_DEFAULT, {w, mTouchWindow}}}); + + touch(); + + mTouchWindow->assertNoEvents(); +} + +TEST_F(InputDispatcherUntrustedTouchesTest, OpacityThresholdIs0AndWindowAtThreshold_AllowsTouch) { + mDispatcher->setMaximumObscuringOpacityForTouch(0.0f); + const sp& w = + getOccludingWindow(APP_B_UID, "B", TouchOcclusionMode::USE_OPACITY, 0.0f); + mDispatcher->setInputWindows({{ADISPLAY_ID_DEFAULT, {w, mTouchWindow}}}); + + touch(); + + mTouchWindow->consumeAnyMotionDown(); +} + +TEST_F(InputDispatcherUntrustedTouchesTest, + OpacityThresholdIs1AndWindowBelowThreshold_AllowsTouch) { + mDispatcher->setMaximumObscuringOpacityForTouch(1.0f); + const sp& w = + getOccludingWindow(APP_B_UID, "B", TouchOcclusionMode::USE_OPACITY, 0.9f); + mDispatcher->setInputWindows({{ADISPLAY_ID_DEFAULT, {w, mTouchWindow}}}); + + touch(); + + mTouchWindow->consumeAnyMotionDown(); +} + } // namespace android::inputdispatcher -- cgit v1.2.3-59-g8ed1b