diff options
author | 2025-01-29 17:31:34 -0500 | |
---|---|---|
committer | 2025-02-05 13:15:17 -0500 | |
commit | bddaa2414e35c6e455de0863a2e91ade3695bf59 (patch) | |
tree | 18bf3d98a123cb6cdbfce07700ae7ef4aeb33387 /libs/ui/DisplayIdentification.cpp | |
parent | 3001fd617e795e68f67faae4151cf55012d411af (diff) |
SF: Turn DisplayId::fromValue to an explicit wrapper
Currently, fromValue() would run a tryCast() check before returning
an object, otherwise returning a nullopt. This is now an issue because
tryCast() is reading the bits in the ID value, which is something we are
trying to eliminate.
Remove the tryCast() checks from fromValue(), thus relaxing it and
turning it into a simple wrapper. Since fromValue() can no longer fail,
make it always return the requested type. It is now up to SF to validate
given DisplayIds via its different APIs.
Flag: com.android.graphics.surfaceflinger.flags.stable_edid_ids
Bug: 393193354
Test: Display{Id | Identification}Test && libsurfaceflinger_unittest
Change-Id: I0858567a1769bd94609919bd64bc471f4310ae55
Diffstat (limited to 'libs/ui/DisplayIdentification.cpp')
-rw-r--r-- | libs/ui/DisplayIdentification.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ui/DisplayIdentification.cpp b/libs/ui/DisplayIdentification.cpp index b7ef9b3738..78e84fc4dc 100644 --- a/libs/ui/DisplayIdentification.cpp +++ b/libs/ui/DisplayIdentification.cpp @@ -444,7 +444,7 @@ PhysicalDisplayId generateEdidDisplayId(const Edid& edid) { (edid.hashedBlockZeroSerialNumberOpt.value_or(0) >> 11) ^ (edid.hashedDescriptorBlockSerialNumberOpt.value_or(0) << 23); - return PhysicalDisplayId::fromEdidHash(id); + return PhysicalDisplayId::fromValue(id); } } // namespace android |