summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RegionSamplingThread.cpp
diff options
context:
space:
mode:
author Huihong Luo <huisinro@google.com> 2021-07-02 00:22:38 -0700
committer Huihong Luo <huisinro@google.com> 2021-07-02 15:05:36 -0700
commita8f66857922d6af72782ebb863f79e077473e64f (patch)
tree4033d55f49ffff94d09bc40221eb0d892bce2f5a /services/surfaceflinger/RegionSamplingThread.cpp
parent9345fd4c678edc21f21ff9d245776580b3d40b72 (diff)
Fix color sampling for landscape
Region sampling listener accepts coordinates already in the correct orientation, no additional transforms are needed. Bug: 178777512 Test: download Google I/O 2019 app, check system gesture navigation bar color Change-Id: I73f78a2a8390beb29b7ab33b2bed2b0326d367b1
Diffstat (limited to 'services/surfaceflinger/RegionSamplingThread.cpp')
-rw-r--r--services/surfaceflinger/RegionSamplingThread.cpp27
1 files changed, 3 insertions, 24 deletions
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp
index 653aca6cde..aa2fec56ad 100644
--- a/services/surfaceflinger/RegionSamplingThread.cpp
+++ b/services/surfaceflinger/RegionSamplingThread.cpp
@@ -287,33 +287,12 @@ void RegionSamplingThread::captureSample() {
descriptors.emplace_back(descriptor);
}
- auto dx = 0;
- auto dy = 0;
- switch (orientation) {
- case ui::Transform::ROT_90:
- dx = displaySize.getWidth();
- break;
- case ui::Transform::ROT_180:
- dx = displaySize.getWidth();
- dy = displaySize.getHeight();
- break;
- case ui::Transform::ROT_270:
- dy = displaySize.getHeight();
- break;
- default:
- break;
- }
-
- ui::Transform t(orientation);
- auto screencapRegion = t.transform(sampleRegion);
- screencapRegion = screencapRegion.translate(dx, dy);
-
const Rect sampledBounds = sampleRegion.bounds();
+ constexpr bool kUseIdentityTransform = false;
SurfaceFlinger::RenderAreaFuture renderAreaFuture = ftl::defer([=] {
- return DisplayRenderArea::create(displayWeak, screencapRegion.bounds(),
- sampledBounds.getSize(), ui::Dataspace::V0_SRGB,
- orientation);
+ return DisplayRenderArea::create(displayWeak, sampledBounds, sampledBounds.getSize(),
+ ui::Dataspace::V0_SRGB, kUseIdentityTransform);
});
std::unordered_set<sp<IRegionSamplingListener>, SpHash<IRegionSamplingListener>> listeners;