Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff95c612 authored by Wenhui Yang's avatar Wenhui Yang
Browse files

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
parent 7051e5bc
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -262,7 +262,10 @@ void updateVisibility(LayerSnapshot& snapshot, bool visible) {
    snapshot.isVisible = visible;

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