diff --git a/fastcharge/aidl/Android.bp b/fastcharge/aidl/Android.bp
new file mode 100644
index 0000000..7ca348a
--- /dev/null
+++ b/fastcharge/aidl/Android.bp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+aidl_interface {
+    name: "vendor.lineage.fastcharge",
+    vendor_available: true,
+    srcs: ["vendor/lineage/fastcharge/*.aidl"],
+    stability: "vintf",
+    owner: "lineage",
+
+    backend: {
+        cpp: {
+            enabled: false,
+        },
+        java: {
+            sdk_version: "module_current",
+        },
+    },
+    versions_with_info: [
+        {
+            version: "1",
+            imports: [],
+        },
+    ],
+    frozen: true,
+
+}
diff --git a/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/1/.hash b/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/1/.hash
new file mode 100644
index 0000000..eaa0b11
--- /dev/null
+++ b/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/1/.hash
@@ -0,0 +1 @@
+cc065229a6252753281d63cd8b5c63896ef3b879
diff --git a/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/1/vendor/lineage/fastcharge/IFastCharge.aidl b/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/1/vendor/lineage/fastcharge/IFastCharge.aidl
new file mode 100644
index 0000000..3a1c9a4
--- /dev/null
+++ b/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/1/vendor/lineage/fastcharge/IFastCharge.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.lineage.fastcharge;
+@VintfStability
+interface IFastCharge {
+  boolean isEnabled();
+  boolean setEnabled(boolean enable);
+}
diff --git a/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/current/vendor/lineage/fastcharge/IFastCharge.aidl b/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/current/vendor/lineage/fastcharge/IFastCharge.aidl
new file mode 100644
index 0000000..3a1c9a4
--- /dev/null
+++ b/fastcharge/aidl/aidl_api/vendor.lineage.fastcharge/current/vendor/lineage/fastcharge/IFastCharge.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.lineage.fastcharge;
+@VintfStability
+interface IFastCharge {
+  boolean isEnabled();
+  boolean setEnabled(boolean enable);
+}
diff --git a/fastcharge/aidl/vendor/lineage/fastcharge/IFastCharge.aidl b/fastcharge/aidl/vendor/lineage/fastcharge/IFastCharge.aidl
new file mode 100644
index 0000000..cc7f233
--- /dev/null
+++ b/fastcharge/aidl/vendor/lineage/fastcharge/IFastCharge.aidl
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package vendor.lineage.fastcharge;
+
+@VintfStability
+interface IFastCharge {
+    boolean isEnabled();
+    boolean setEnabled(boolean enable);
+}
diff --git a/powershare/aidl/Android.bp b/powershare/aidl/Android.bp
new file mode 100644
index 0000000..cab2900
--- /dev/null
+++ b/powershare/aidl/Android.bp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+aidl_interface {
+    name: "vendor.lineage.powershare",
+    vendor_available: true,
+    srcs: ["vendor/lineage/powershare/*.aidl"],
+    stability: "vintf",
+    owner: "lineage",
+
+    backend: {
+        cpp: {
+            enabled: false,
+        },
+        java: {
+            sdk_version: "module_current",
+        },
+    },
+    versions_with_info: [
+        {
+            version: "1",
+            imports: [],
+        },
+    ],
+    frozen: true,
+
+}
diff --git a/powershare/aidl/aidl_api/vendor.lineage.powershare/1/.hash b/powershare/aidl/aidl_api/vendor.lineage.powershare/1/.hash
new file mode 100644
index 0000000..dfd09e4
--- /dev/null
+++ b/powershare/aidl/aidl_api/vendor.lineage.powershare/1/.hash
@@ -0,0 +1 @@
+51334c5421d753046afd1489a3a08d0dee5dea9f
diff --git a/powershare/aidl/aidl_api/vendor.lineage.powershare/1/vendor/lineage/powershare/IPowerShare.aidl b/powershare/aidl/aidl_api/vendor.lineage.powershare/1/vendor/lineage/powershare/IPowerShare.aidl
new file mode 100644
index 0000000..ac7b1f3
--- /dev/null
+++ b/powershare/aidl/aidl_api/vendor.lineage.powershare/1/vendor/lineage/powershare/IPowerShare.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.lineage.powershare;
+@VintfStability
+interface IPowerShare {
+  boolean isEnabled();
+  boolean setEnabled(boolean enable);
+  int getMinBattery();
+  int setMinBattery(int minBattery);
+}
diff --git a/powershare/aidl/aidl_api/vendor.lineage.powershare/current/vendor/lineage/powershare/IPowerShare.aidl b/powershare/aidl/aidl_api/vendor.lineage.powershare/current/vendor/lineage/powershare/IPowerShare.aidl
new file mode 100644
index 0000000..ac7b1f3
--- /dev/null
+++ b/powershare/aidl/aidl_api/vendor.lineage.powershare/current/vendor/lineage/powershare/IPowerShare.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.lineage.powershare;
+@VintfStability
+interface IPowerShare {
+  boolean isEnabled();
+  boolean setEnabled(boolean enable);
+  int getMinBattery();
+  int setMinBattery(int minBattery);
+}
diff --git a/powershare/aidl/vendor/lineage/powershare/IPowerShare.aidl b/powershare/aidl/vendor/lineage/powershare/IPowerShare.aidl
new file mode 100644
index 0000000..7d45eac
--- /dev/null
+++ b/powershare/aidl/vendor/lineage/powershare/IPowerShare.aidl
@@ -0,0 +1,15 @@
+/*
+ * Copyright (C) 2024 The LineageOS Project
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package vendor.lineage.powershare;
+
+@VintfStability
+interface IPowerShare {
+    boolean isEnabled();
+    boolean setEnabled(boolean enable);
+    int getMinBattery();
+    int setMinBattery(int minBattery);
+}
