diff options
| author | 2024-06-26 17:17:51 -0700 | |
|---|---|---|
| committer | 2024-06-28 23:12:10 +0000 | |
| commit | 96a5aaf57b4432cb3d5cb4a2327ab548b262354b (patch) | |
| tree | ebc222a5f27ca3dd861eb763d0750a24516dcc31 /services/surfaceflinger/RegionSamplingThread.cpp | |
| parent | fbdbde9a77001535e3d0a3045ff7940ffa8d1bf9 (diff) | |
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
Diffstat (limited to 'services/surfaceflinger/RegionSamplingThread.cpp')
| -rw-r--r-- | services/surfaceflinger/RegionSamplingThread.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp index 5add290e96..e579eb08a6 100644 --- a/services/surfaceflinger/RegionSamplingThread.cpp +++ b/services/surfaceflinger/RegionSamplingThread.cpp @@ -277,7 +277,6 @@ void RegionSamplingThread::captureSample() { } const Rect sampledBounds = sampleRegion.bounds(); - constexpr bool kHintForSeamlessTransition = false; std::unordered_set<sp<IRegionSamplingListener>, SpHash<IRegionSamplingListener>> listeners; @@ -350,9 +349,8 @@ void RegionSamplingThread::captureSample() { SurfaceFlinger::RenderAreaBuilderVariant renderAreaBuilder(std::in_place_type<DisplayRenderAreaBuilder>, sampledBounds, - sampledBounds.getSize(), ui::Dataspace::V0_SRGB, - kHintForSeamlessTransition, true /* captureSecureLayers */, - displayWeak); + sampledBounds.getSize(), ui::Dataspace::V0_SRGB, displayWeak, + RenderArea::Options::CAPTURE_SECURE_LAYERS); FenceResult fenceResult; if (FlagManager::getInstance().single_hop_screenshot() && |