diff --git a/BoardConfig.mk b/BoardConfig.mk index 3c63fff..706775a 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -85,6 +85,9 @@ TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs BOARD_HAVE_QCOM_FM := true TARGET_QCOM_NO_FM_FIRMWARE := true +# FOD +TARGET_SURFACEFLINGER_FOD_LIB := //$(DEVICE_PATH):libfod_extension.davinci + # HIDL DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/configs/hidl/manifest.xml DEVICE_MATRIX_FILE := $(DEVICE_PATH)/configs/hidl/compatibility_matrix.xml diff --git a/fod/Android.bp b/fod/Android.bp index 8113acc..3847756 100644 --- a/fod/Android.bp +++ b/fod/Android.bp @@ -37,3 +37,11 @@ cc_binary { "vendor.xiaomi.hardware.fingerprintextension@1.0", ], } + +cc_library_static { + name: "libfod_extension.davinci", + srcs: ["FodExtension.cpp"], + include_dirs: [ + "frameworks/native/services/surfaceflinger/CompositionEngine/include" + ], +} diff --git a/fod/FodExtension.cpp b/fod/FodExtension.cpp new file mode 100644 index 0000000..cc5d64d --- /dev/null +++ b/fod/FodExtension.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +uint32_t getFodZOrder(uint32_t z, bool touched) { + if (touched) { + z |= 0x20000000u; + } + + return z; +} + +uint64_t getFodUsageBits(uint64_t usageBits, bool touched) { + (void) touched; + return usageBits; +}