diff --git a/common.mk b/common.mk
index c8c3c45..a08cb6b 100644
--- a/common.mk
+++ b/common.mk
@@ -25,6 +25,13 @@ DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay \
$(LOCAL_PATH)/overlay-lineage
+PRODUCT_PACKAGES += \
+ OnePlusIconShapeCircleOverlay \
+ OnePlusIconShapeRoundedRectOverlay \
+ OnePlusIconShapeSquareOverlay \
+ OnePlusIconShapeSquircleOverlay \
+ OnePlusIconShapeTeardropOverlay
+
# Properties
-include $(LOCAL_PATH)/system_prop.mk
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeCircleOverlay/Android.mk b/overlay/packages/apps/overlays/OnePlusIconShapeCircleOverlay/Android.mk
new file mode 100644
index 0000000..0b906b3
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeCircleOverlay/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+
+LOCAL_CERTIFICATE := platform
+
+LOCAL_PACKAGE_NAME := OnePlusIconShapeCircleOverlay
+LOCAL_SDK_VERSION := current
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/overlay/oneplus_shape_circle
+
+include $(BUILD_PACKAGE)
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeCircleOverlay/AndroidManifest.xml b/overlay/packages/apps/overlays/OnePlusIconShapeCircleOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..15c57e8
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeCircleOverlay/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeRoundedRectOverlay/Android.mk b/overlay/packages/apps/overlays/OnePlusIconShapeRoundedRectOverlay/Android.mk
new file mode 100644
index 0000000..fecc886
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeRoundedRectOverlay/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+
+LOCAL_CERTIFICATE := platform
+
+LOCAL_PACKAGE_NAME := OnePlusIconShapeRoundedRectOverlay
+LOCAL_SDK_VERSION := current
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/overlay/oneplus_shape_roundedrect
+
+include $(BUILD_PACKAGE)
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeRoundedRectOverlay/AndroidManifest.xml b/overlay/packages/apps/overlays/OnePlusIconShapeRoundedRectOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..c021b9e
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeRoundedRectOverlay/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeSquareOverlay/Android.mk b/overlay/packages/apps/overlays/OnePlusIconShapeSquareOverlay/Android.mk
new file mode 100644
index 0000000..b8c54a5
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeSquareOverlay/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+
+LOCAL_CERTIFICATE := platform
+
+LOCAL_PACKAGE_NAME := OnePlusIconShapeSquareOverlay
+LOCAL_SDK_VERSION := current
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/overlay/oneplus_shape_square
+
+include $(BUILD_PACKAGE)
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeSquareOverlay/AndroidManifest.xml b/overlay/packages/apps/overlays/OnePlusIconShapeSquareOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..22ca271
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeSquareOverlay/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeSquircleOverlay/Android.mk b/overlay/packages/apps/overlays/OnePlusIconShapeSquircleOverlay/Android.mk
new file mode 100644
index 0000000..beb8eee
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeSquircleOverlay/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+
+LOCAL_CERTIFICATE := platform
+
+LOCAL_PACKAGE_NAME := OnePlusIconShapeSquircleOverlay
+LOCAL_SDK_VERSION := current
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/overlay/oneplus_shape_squircle
+
+include $(BUILD_PACKAGE)
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeSquircleOverlay/AndroidManifest.xml b/overlay/packages/apps/overlays/OnePlusIconShapeSquircleOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..da4b3b4
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeSquircleOverlay/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeTeardropOverlay/Android.mk b/overlay/packages/apps/overlays/OnePlusIconShapeTeardropOverlay/Android.mk
new file mode 100644
index 0000000..f5a91b0
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeTeardropOverlay/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_IS_RUNTIME_RESOURCE_OVERLAY := true
+
+LOCAL_CERTIFICATE := platform
+
+LOCAL_PACKAGE_NAME := OnePlusIconShapeTeardropOverlay
+LOCAL_SDK_VERSION := current
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/overlay/oneplus_shape_teardrop
+
+include $(BUILD_PACKAGE)
diff --git a/overlay/packages/apps/overlays/OnePlusIconShapeTeardropOverlay/AndroidManifest.xml b/overlay/packages/apps/overlays/OnePlusIconShapeTeardropOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..ebe3b5f
--- /dev/null
+++ b/overlay/packages/apps/overlays/OnePlusIconShapeTeardropOverlay/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
diff --git a/sepolicy/private/file_contexts b/sepolicy/private/file_contexts
index 66557c5..b7225ad 100644
--- a/sepolicy/private/file_contexts
+++ b/sepolicy/private/file_contexts
@@ -19,5 +19,6 @@
/system/bin/tri-state-key_daemon u:object_r:tri-state-key_daemon_exec:s0
# Vendor overlay
-/(product|system/product)/vendor_overlay/[0-9]+/etc(/.*)? u:object_r:vendor_configs_file:s0
-/(product|system/product)/vendor_overlay/[0-9]+/lib(64)?/hw u:object_r:vendor_hal_file:s0
+/(product|system/product)/vendor_overlay/[0-9]+/etc(/.*)? u:object_r:vendor_configs_file:s0
+/(product|system/product)/vendor_overlay/[0-9]+/lib(64)?/hw u:object_r:vendor_hal_file:s0
+/(product|system/product)/vendor_overlay/[0-9]+/overlay(/.*)? u:object_r:vendor_overlay_file:s0