Skip to content

Commit ff95c61

Browse files
author
Wenhui Yang
committed
Update visibleForInput to make gesture monitor visible in input list
Fix the error introduced by unifying the concept of visibility, some layers (e.g. gesture monitor) is invisbile in the composition list, but need to be visible in input list. Fixes: 305254099 Flag: com.android.graphics.surfaceflinger.flags.skip_invisible_windows_in_input Test: libgui_test.InputSurfacesTest.input_ignores_color_layer_alpha libgui_test.InputSurfacesTest.input_respects_container_layer_visiblity android.view.surfacecontrol.cts.SurfaceControlInputReceiverTests.testRemoteSurfaceControlReceivesInput Change-Id: I403e69e62169699829185992c3c4c87275159111
1 parent 7051e5b commit ff95c61

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

services/surfaceflinger/FrontEnd/LayerSnapshotBuilder.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,10 @@ void updateVisibility(LayerSnapshot& snapshot, bool visible) {
262262
snapshot.isVisible = visible;
263263

264264
if (FlagManager::getInstance().skip_invisible_windows_in_input()) {
265-
snapshot.inputInfo.setInputConfig(gui::WindowInfo::InputConfig::NOT_VISIBLE, !visible);
265+
const bool visibleForInput =
266+
snapshot.isVisible || (snapshot.hasInputInfo() && !snapshot.isHiddenByPolicy());
267+
snapshot.inputInfo.setInputConfig(gui::WindowInfo::InputConfig::NOT_VISIBLE,
268+
!visibleForInput);
266269
} else {
267270
// TODO(b/238781169) we are ignoring this compat for now, since we will have
268271
// to remove any optimization based on visibility.

0 commit comments

Comments
 (0)