From 96a5aaf57b4432cb3d5cb4a2327ab548b262354b Mon Sep 17 00:00:00 2001 From: Vishnu Nair Date: Wed, 26 Jun 2024 17:17:51 -0700 Subject: Fix region sampling for secure layers We were swapping a couple of boolean params when requesting screenshots for region sampling, breaking region sampling for secure layers in the process. Fix this by passing flags instead of booleans in a long list of arguments and add a test to verify the code path. FLAG: EXEMPT bugfix Fixes: 348944802 Test: presubmit (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:871886eebe469fc21568ff363993bde9a6593837) Merged-In: I58f12e5cf81cb59115c1b9c500ac1e18a8ec72e5 Change-Id: I58f12e5cf81cb59115c1b9c500ac1e18a8ec72e5 --- services/surfaceflinger/LayerRenderArea.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'services/surfaceflinger/LayerRenderArea.cpp') diff --git a/services/surfaceflinger/LayerRenderArea.cpp b/services/surfaceflinger/LayerRenderArea.cpp index f323ce7284..bfe6d2a956 100644 --- a/services/surfaceflinger/LayerRenderArea.cpp +++ b/services/surfaceflinger/LayerRenderArea.cpp @@ -27,10 +27,9 @@ namespace android { LayerRenderArea::LayerRenderArea(sp layer, frontend::LayerSnapshot layerSnapshot, const Rect& crop, ui::Size reqSize, ui::Dataspace reqDataSpace, - bool allowSecureLayers, const ui::Transform& layerTransform, - const Rect& layerBufferSize, bool hintForSeamlessTransition) - : RenderArea(reqSize, CaptureFill::CLEAR, reqDataSpace, hintForSeamlessTransition, - allowSecureLayers), + const ui::Transform& layerTransform, const Rect& layerBufferSize, + ftl::Flags options) + : RenderArea(reqSize, CaptureFill::CLEAR, reqDataSpace, options), mLayer(std::move(layer)), mLayerSnapshot(std::move(layerSnapshot)), mLayerBufferSize(layerBufferSize), @@ -42,7 +41,7 @@ const ui::Transform& LayerRenderArea::getTransform() const { } bool LayerRenderArea::isSecure() const { - return mAllowSecureLayers; + return mOptions.test(Options::CAPTURE_SECURE_LAYERS); } sp LayerRenderArea::getDisplayDevice() const { -- cgit v1.2.3-59-g8ed1b