From fc0b9110901cd9814a83c574fdaf5c4428838424 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 7 Aug 2017 15:27:49 -0700 Subject: libsurfaceflinger: fix screenshot permission check Fix the logic for layers we check isSecure or isVisible for. It was regressed by my previous change to support WINDOW_TYPE_DONT_SCREENSHOT. Bug: 63311708 Bug: 62656774 Test: CTS Change-Id: I7768cb590014cc610ec564847958bbd98742c277 --- services/surfaceflinger/SurfaceFlinger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 0f6c581e14..a57e8cf3e4 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -4392,7 +4392,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(const sp& bool secureLayerIsVisible = false; for (const auto& layer : mDrawingState.layersSortedByZ) { const Layer::State& state(layer->getDrawingState()); - if (layer->belongsToDisplay(hw->getLayerStack(), false) || + if (!layer->belongsToDisplay(hw->getLayerStack(), false) || (state.z < minLayerZ || state.z > maxLayerZ)) { continue; } -- cgit v1.2.3-59-g8ed1b