summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/Layer.cpp
diff options
context:
space:
mode:
author Linnan Li <lilinnan@xiaomi.corp-partner.google.com> 2024-05-05 19:18:02 +0800
committer Siarhei Vishniakou <svv@google.com> 2024-05-09 11:00:42 -0700
commit13bf76a87d9113d60f39e645c5453bf18d0a158d (patch)
treead1bacb67e07c0040a8a983280ff8e74dd19da2c /services/surfaceflinger/Layer.cpp
parent5c636e3b4543a48cf64427cbf915af17cc7ded30 (diff)
Use a strongly typed LogicalDisplayId for displayId(2/n)
Currently, we use int32_t for displayId, which is not a safe type, and it may also lead to misdefinition of types. Here, we introduce LogicalDisplayId as a strong type for displayId and move all contents of constants.h into LogicalDisplayId.h. Bug: 339106983 Test: atest inputflinger_tests Test: atest InputTests Test: m checkinput Test: m libsurfaceflinger_unittest Test: presubmit Change-Id: If44e56f69553d095af5adb59b595e4a852ab32ce Signed-off-by: Linnan Li <lilinnan@xiaomi.corp-partner.google.com>
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
-rw-r--r--services/surfaceflinger/Layer.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 0137a7bc50..363b35c4f3 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -90,6 +90,10 @@ constexpr int kDumpTableRowLength = 159;
const ui::Transform kIdentityTransform;
+ui::LogicalDisplayId toLogicalDisplayId(const ui::LayerStack& layerStack) {
+ return ui::LogicalDisplayId{static_cast<int32_t>(layerStack.id)};
+}
+
bool assignTransform(ui::Transform* dst, ui::Transform& from) {
if (*dst == from) {
return false;
@@ -2465,7 +2469,7 @@ WindowInfo Layer::fillInputInfo(const InputDisplayArgs& displayArgs) {
mDrawingState.inputInfo.ownerUid = gui::Uid{mOwnerUid};
mDrawingState.inputInfo.ownerPid = gui::Pid{mOwnerPid};
mDrawingState.inputInfo.inputConfig |= WindowInfo::InputConfig::NO_INPUT_CHANNEL;
- mDrawingState.inputInfo.displayId = getLayerStack().id;
+ mDrawingState.inputInfo.displayId = toLogicalDisplayId(getLayerStack());
}
const ui::Transform& displayTransform =
@@ -2473,7 +2477,7 @@ WindowInfo Layer::fillInputInfo(const InputDisplayArgs& displayArgs) {
WindowInfo info = mDrawingState.inputInfo;
info.id = sequence;
- info.displayId = getLayerStack().id;
+ info.displayId = toLogicalDisplayId(getLayerStack());
fillInputFrameInfo(info, displayTransform);