From 50caf4cc475d75018263b7308cc8c8850d3fc46f Mon Sep 17 00:00:00 2001 From: Nazar Bilinskyi Date: Fri, 6 Feb 2026 14:00:47 +0200 Subject: [PATCH] Oplus/OPPO Udfps Fix --- .../surfaceflinger/CompositionEngine/src/OutputLayer.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp index 2a6bf48760..af71888b22 100644 --- a/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp +++ b/services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp @@ -43,6 +43,7 @@ static bool sCheckedProps = false; static bool sAsusFod = false; +static bool sOplusFod = false; using aidl::android::hardware::graphics::composer3::Composition; using aidl::android::hardware::graphics::composer3::Luts; @@ -559,6 +560,7 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer, if(!sCheckedProps) { sCheckedProps = true; sAsusFod = property_get_bool("persist.sys.phh.fod.asus", false); + sOplusFod = property_get_bool("persist.vendor.fingerprint.optical.support", false); } if (strstr(getLayerFE().getDebugName(), "UdfpsControllerOverlay#") != nullptr) { @@ -574,6 +576,9 @@ void OutputLayer::writeOutputDependentGeometryStateToHWC(HWC2::Layer* hwcLayer, ALOGE("Failed setting Asus layer class"); } } + if (sOplusFod) { + z = 0x41000033; + } } ALOGV("Writing display frame [%d, %d, %d, %d]", displayFrame.left, displayFrame.top,