diff --git a/BoardConfig.mk b/BoardConfig.mk
index d930ee7..0e68cba 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -24,8 +24,6 @@
 ## APEX image
 DEXPREOPT_GENERATE_APEX_IMAGE := true
 
-TARGET_SPECIFIC_HEADER_PATH += $(DEVICE_PATH)/include
-
 ## Display
 TARGET_SCREEN_DENSITY := 420
 
diff --git a/include/samsung_fingerprint_inscreen.h b/include/samsung_fingerprint_inscreen.h
deleted file mode 100644
index 0f45ff1..0000000
--- a/include/samsung_fingerprint_inscreen.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2019 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.
- */
-
-#ifndef SAMSUNG_FINGERPRINT_INSCREEN_H
-#define SAMSUNG_FINGERPRINT_INSCREEN_H
-
-/**
- * Information on the position of the scanner
- * Note: X and Y are the left-upper corner of the
- * FOD view, not the center.
- */
-
-/*
- * WIDTH = 1440
- * X = (WIDTH / 2) - (FOD_SENSOR_SIZE / 2)
- */
-#define FOD_SENSOR_X        545
-
-/*
- * HEIGHT = 3040
- * Y = ???
- */
-#define FOD_SENSOR_Y        2500
-
-/* Sensor rectangle size  */
-#define FOD_SENSOR_SIZE     350
-
-#define FOD_ENABLE "fod_enable,1"
-#define FOD_DISABLE "fod_enable,0"
-
-#define FINGERPRINT_ACQUIRED_VENDOR 6
-#define VENDORCODE_FINGER_DOWN 9002
-#define VENDORCODE_FINGER_UP 9001
-
-#define TSP_CMD_PATH "/sys/class/sec/tsp/cmd"
-
-#endif  // SAMSUNG_FINGERPRINT_INSCREEN_H
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 2ea24b2..4361f0a 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -42,4 +42,11 @@
          @see https://www.w3.org/TR/SVG/paths.html#PathData
          -->
     <string translatable="false" name="config_mainBuiltInDisplayCutout">M 0,0 H -326 V 142 H 0 V 0 Z @right</string>
+
+    <!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
+    <integer-array name="config_udfps_sensor_props">
+        <item>720</item>
+        <item>2650</item>
+        <item>150</item>
+    </integer-array>
 </resources>
diff --git a/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-port/lineage_dimens.xml b/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-port/lineage_dimens.xml
deleted file mode 100644
index 694341b..0000000
--- a/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-port/lineage_dimens.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     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.
--->
-<resources>
-    <!-- The minimum bottom margin of the keyguard security container -->
-    <dimen name="kg_security_container_min_bottom_margin">560px</dimen>
-</resources>
diff --git a/overlay/packages/apps/Settings/res/values/dimens.xml b/overlay/packages/apps/Settings/res/values/dimens.xml
deleted file mode 100644
index 7a851ab..0000000
--- a/overlay/packages/apps/Settings/res/values/dimens.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source 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.
--->
-
-<resources>
-    <!-- Fingerprint -->
-    <item name="fingerprint_sensor_location_fraction_x" type="fraction">50.25%</item>
-    <item name="fingerprint_sensor_location_fraction_y" type="fraction">51.25%</item>
-</resources>
diff --git a/overlay/packages/apps/Settings/res/values/lineage_config.xml b/overlay/packages/apps/Settings/res/values/lineage_config.xml
deleted file mode 100644
index 1ce6be6..0000000
--- a/overlay/packages/apps/Settings/res/values/lineage_config.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source 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.
--->
-
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-
-    <!-- Defines the location of the fingerprint sensor on the device
-         0 = back
-         1 = front
-         2 = left side
-         3 = right side
-    -->
-    <integer name="config_fingerprintSensorLocation">1</integer>
-</resources>
