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
diff --git a/libs/ui/DisplayIdentification.cpp b/libs/ui/DisplayIdentification.cpp
index b7ef9b3..78e84fc 100644
--- a/libs/ui/DisplayIdentification.cpp
+++ b/libs/ui/DisplayIdentification.cpp
@@ -444,7 +444,7 @@
             (edid.hashedBlockZeroSerialNumberOpt.value_or(0) >> 11) ^
             (edid.hashedDescriptorBlockSerialNumberOpt.value_or(0) << 23);
 
-    return PhysicalDisplayId::fromEdidHash(id);
+    return PhysicalDisplayId::fromValue(id);
 }
 
 } // namespace android