diff --git a/OPLauncher.mk b/OPLauncher.mk
new file mode 100644
index 0000000..72c1f0c
--- /dev/null
+++ b/OPLauncher.mk
@@ -0,0 +1,9 @@
+include $(call first-makefiles-under,$(LOCAL_PATH))
+
+PRODUCT_COPY_FILES += \
+ vendor/oplauncher/etc/permissions/privapp-permissions-op-launcher.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-op-launcher.xml \
+ vendor/oplauncher/etc/sysconfig/op-launcher-hiddenapi-package-whitelist.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/op-launcher-hiddenapi-package-whitelist.xml
+
+PRODUCT_PACKAGES += \
+ OnePlusRecentsProvider \
+ OPLauncher
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..39bc8e3
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# OPLauncher Port for Android 11 Roms
+
+// Ported by @MrSluffy && inlined by @sherifrahim
diff --git a/etc/permissions/privapp-permissions-op-launcher.xml b/etc/permissions/privapp-permissions-op-launcher.xml
new file mode 100644
index 0000000..ae79311
--- /dev/null
+++ b/etc/permissions/privapp-permissions-op-launcher.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/etc/sysconfig/op-launcher-hiddenapi-package-whitelist.xml b/etc/sysconfig/op-launcher-hiddenapi-package-whitelist.xml
new file mode 100644
index 0000000..d5803bf
--- /dev/null
+++ b/etc/sysconfig/op-launcher-hiddenapi-package-whitelist.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/priv-app/OPLauncher/Android.mk b/priv-app/OPLauncher/Android.mk
new file mode 100644
index 0000000..102a325
--- /dev/null
+++ b/priv-app/OPLauncher/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := OPLauncher
+LOCAL_MODULE_STEM := OPLauncher.apk
+LOCAL_SRC_FILES := OPLauncher.apk
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT)/priv-app/OPLauncher
+LOCAL_OVERRIDES_PACKAGES := PixelLauncher TrebuchetQuickStep Launcher3 NexusLauncherPrebuilt NexusLauncherRelease ParanoidQuickStep Launcher3QuickStep
+
+include $(BUILD_PREBUILT)
diff --git a/priv-app/OPLauncher/OPLauncher.apk b/priv-app/OPLauncher/OPLauncher.apk
new file mode 100644
index 0000000..2cce72d
Binary files /dev/null and b/priv-app/OPLauncher/OPLauncher.apk differ
diff --git a/product/overlay/OnePlusRecentsProvider/Android.mk b/product/overlay/OnePlusRecentsProvider/Android.mk
new file mode 100644
index 0000000..5fe0e75
--- /dev/null
+++ b/product/overlay/OnePlusRecentsProvider/Android.mk
@@ -0,0 +1,11 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := OnePlusRecentsProvider
+LOCAL_MODULE_STEM := OnePlusRecentsProvider.apk
+LOCAL_SRC_FILES := OnePlusRecentsProvider.apk
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT)/product/overlay/OnePlusRecentsProvider
+LOCAL_OVERRIDES_PACKAGES := PixelLauncherOverlay
+include $(BUILD_PREBUILT)
\ No newline at end of file
diff --git a/product/overlay/OnePlusRecentsProvider/OnePlusRecentsProvider.apk b/product/overlay/OnePlusRecentsProvider/OnePlusRecentsProvider.apk
new file mode 100644
index 0000000..629cf8a
Binary files /dev/null and b/product/overlay/OnePlusRecentsProvider/OnePlusRecentsProvider.apk differ