diff --git a/build/core/apicheck_msg_current.txt b/build/core/apicheck_msg_current.txt
index 6881b3f..b02dd0a 100644
--- a/build/core/apicheck_msg_current.txt
+++ b/build/core/apicheck_msg_current.txt
@@ -4,14 +4,14 @@
 
 STOP.
   Read this:
-  https://github.com/LineageOS/cm_platform_sdk/wiki/Creating-an-API-for-the-SDK#updating--verifying-the-api
+  https://github.com/LineageOS/android_lineage-sdk/wiki/Creating-an-API-for-the-SDK#updating--verifying-the-api
 
 To make these errors go away, you have two choices:
    1) You can add "@hide" javadoc comments to the methods, etc. listed in the
       errors above.
 
    2) You can update current.txt (locally) by executing the following command:
-         make update-cm-api
+         make update-lineage-api
 
       ^^^^^^^^^^^^^^^^^^
       CONGRATS YOU EARNED A STINKEYE FROM CID!
diff --git a/build/core/config.mk b/build/core/config.mk
index 19e2521..0b345a7 100644
--- a/build/core/config.mk
+++ b/build/core/config.mk
@@ -13,12 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-CM_SRC_API_DIR := $(TOPDIR)prebuilts/cmsdk/api
-INTERNAL_CM_PLATFORM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/cm_public_api.txt
-INTERNAL_CM_PLATFORM_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/cm_removed.txt
-FRAMEWORK_CM_PLATFORM_API_FILE := $(TOPDIR)vendor/cmsdk/api/cm_current.txt
-FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE := $(TOPDIR)vendor/cmsdk/api/cm_removed.txt
-FRAMEWORK_CM_API_NEEDS_UPDATE_TEXT := $(TOPDIR)vendor/lineage/build/core/apicheck_msg_current.txt
+LINEAGE_SRC_API_DIR := $(TOPDIR)prebuilts/lineage-sdk/api
+INTERNAL_LINEAGE_PLATFORM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/lineage_public_api.txt
+INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/lineage_removed.txt
+FRAMEWORK_LINEAGE_PLATFORM_API_FILE := $(TOPDIR)lineage-sdk/api/lineage_current.txt
+FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE := $(TOPDIR)lineage-sdk/api/lineage_removed.txt
+FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT := $(TOPDIR)vendor/lineage/build/core/apicheck_msg_current.txt
 
 BUILD_MAVEN_PREBUILT := $(TOP)/vendor/lineage/build/core/maven_artifact.mk
 PUBLISH_MAVEN_PREBUILT := $(TOP)/vendor/lineage/build/core/maven_artifact_publish.mk
diff --git a/build/tasks/apicheck.mk b/build/tasks/apicheck.mk
index e5977ac..6b2c85b 100644
--- a/build/tasks/apicheck.mk
+++ b/build/tasks/apicheck.mk
@@ -18,75 +18,75 @@
 #
 
 # skip api check for PDK buid
-ifeq (,$(filter true, $(WITHOUT_CHECK_API) $(TARGET_BUILD_PDK) $(TARGET_DISABLE_CMSDK)))
+ifeq (,$(filter true, $(WITHOUT_CHECK_API) $(TARGET_BUILD_PDK) $(TARGET_DISABLE_LINEAGE_SDK)))
 
-.PHONY: checkapi-cm
+.PHONY: checkapi-lineage
 
 # Run the checkapi rules by default.
-droidcore: checkapi-cm
+droidcore: checkapi-lineage
 
 # Validate against previous release platform sdk version api text within prebuilts
-cm_last_released_sdk_version := $(CM_PLATFORM_SDK_VERSION)
+lineage_last_released_sdk_version := $(LINEAGE_PLATFORM_SDK_VERSION)
 
-.PHONY: check-cm-public-api
-checkapi-cm : check-cm-public-api
+.PHONY: check-lineage-public-api
+checkapi-lineage : check-lineage-public-api
 
-.PHONY: update-cm-api
+.PHONY: update-lineage-api
 
-# INTERNAL_CM_PLATFORM_API_FILE is the one build by droiddoc.
-# Note that since INTERNAL_CM_PLATFORM_API_FILE  is the byproduct of api-stubs module,
-# (See vendor/cmsdk/Android.mk)
+# INTERNAL_LINEAGE_PLATFORM_API_FILE is the one build by droiddoc.
+# Note that since INTERNAL_LINEAGE_PLATFORM_API_FILE  is the byproduct of api-stubs module,
+# (See lineage-sdk/Android.mk)
 # we need to add api-stubs as additional dependency of the api check.
 
-$(INTERNAL_CM_PLATFORM_API_FILE): cm-api-stubs-docs
+$(INTERNAL_LINEAGE_PLATFORM_API_FILE): lineage-api-stubs-docs
 
 # Check that the API we're building hasn't broken the last-released
 # SDK version.
 $(eval $(call check-api, \
-    checkpublicapi-cm-last, \
-    $(CM_SRC_API_DIR)/$(cm_last_released_sdk_version).txt, \
-    $(INTERNAL_CM_PLATFORM_API_FILE), \
-    $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE), \
-    $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE), \
+    checkpublicapi-lineage-last, \
+    $(LINEAGE_SRC_API_DIR)/$(lineage_last_released_sdk_version).txt, \
+    $(INTERNAL_LINEAGE_PLATFORM_API_FILE), \
+    $(FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE), \
+    $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE), \
     -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \
     -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
     -error 16 -error 17 -error 18 , \
-    cat $(FRAMEWORK_CM_API_NEEDS_UPDATE_TEXT), \
-    check-cm-public-api, \
-    $(call doc-timestamp-for,cm-api-stubs) \
+    cat $(FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT), \
+    check-lineage-public-api, \
+    $(call doc-timestamp-for,lineage-api-stubs) \
     ))
 
 # Check that the API we're building hasn't changed from the not-yet-released
 # SDK version.
 $(eval $(call check-api, \
-    checkpublicapi-cm-current, \
-    $(FRAMEWORK_CM_PLATFORM_API_FILE), \
-    $(INTERNAL_CM_PLATFORM_API_FILE), \
-    $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE), \
-    $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE), \
+    checkpublicapi-lineage-current, \
+    $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE), \
+    $(INTERNAL_LINEAGE_PLATFORM_API_FILE), \
+    $(FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE), \
+    $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE), \
     -error 2 -error 3 -error 4 -error 5 -error 6 \
     -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 \
     -error 16 -error 17 -error 18 -error 19 -error 20 -error 21 -error 23 -error 24 \
     -error 25 -error 26 -error 27, \
-    cat $(FRAMEWORK_CM_API_NEEDS_UPDATE_TEXT), \
-    check-cm-public-api, \
-    $(call doc-timestamp-for,cm-api-stubs) \
+    cat $(FRAMEWORK_LINEAGE_API_NEEDS_UPDATE_TEXT), \
+    check-lineage-public-api, \
+    $(call doc-timestamp-for,lineage-api-stubs) \
     ))
 
-.PHONY: update-cm-public-api
-update-cm-public-api: $(INTERNAL_CM_PLATFORM_API_FILE) | $(ACP)
-	@echo "Copying cm_current.txt"
-	$(hide) $(ACP) $(INTERNAL_CM_PLATFORM_API_FILE) $(FRAMEWORK_CM_PLATFORM_API_FILE)
-	@echo "Copying cm_removed.txt"
-	$(hide) $(ACP) $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE) $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE)
+.PHONY: update-lineage-public-api
+update-lineage-public-api: $(INTERNAL_LINEAGE_PLATFORM_API_FILE) | $(ACP)
+	@echo "Copying lineage_current.txt"
+	$(hide) $(ACP) $(INTERNAL_LINEAGE_PLATFORM_API_FILE) $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE)
+	@echo "Copying lineage_removed.txt"
+	$(hide) $(ACP) $(INTERNAL_LINEAGE_PLATFORM_REMOVED_API_FILE) $(FRAMEWORK_LINEAGE_PLATFORM_REMOVED_API_FILE)
 
-update-cm-api : update-cm-public-api
+update-lineage-api : update-lineage-public-api
 
-.PHONY: update-cm-prebuilts-latest-public-api
-current_sdk_release_text_file := $(CM_SRC_API_DIR)/$(cm_last_released_sdk_version).txt
+.PHONY: update-lineage-prebuilts-latest-public-api
+current_sdk_release_text_file := $(LINEAGE_SRC_API_DIR)/$(lineage_last_released_sdk_version).txt
 
-update-cm-prebuilts-latest-public-api: $(FRAMEWORK_CM_PLATFORM_API_FILE) | $(ACP)
-	@echo "Publishing cm_current.txt as latest API release"
-	$(hide) $(ACP) $(FRAMEWORK_CM_PLATFORM_API_FILE) $(current_sdk_release_text_file)
+update-lineage-prebuilts-latest-public-api: $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE) | $(ACP)
+	@echo "Publishing lineage_current.txt as latest API release"
+	$(hide) $(ACP) $(FRAMEWORK_LINEAGE_PLATFORM_API_FILE) $(current_sdk_release_text_file)
 
 endif
diff --git a/build/tasks/generate_lineage_sdk_coverage.mk b/build/tasks/generate_lineage_sdk_coverage.mk
index 38b70b1..c4f15c9 100644
--- a/build/tasks/generate_lineage_sdk_coverage.mk
+++ b/build/tasks/generate_lineage_sdk_coverage.mk
@@ -15,63 +15,63 @@
 # limitations under the License.
 #
 
-# Makefile for producing cmsdk coverage reports.
-# Run "make cmsdk-test-coverage" in the $ANDROID_BUILD_TOP directory.
+# Makefile for producing lineage sdk coverage reports.
+# Run "make lineage-sdk-test-coverage" in the $ANDROID_BUILD_TOP directory.
 
-cmsdk_api_coverage_exe := $(HOST_OUT_EXECUTABLES)/cmsdk-api-coverage
+lineage_sdk_api_coverage_exe := $(HOST_OUT_EXECUTABLES)/lineage-sdk-api-coverage
 dexdeps_exe := $(HOST_OUT_EXECUTABLES)/dexdeps
 
-coverage_out := $(HOST_OUT)/cmsdk-api-coverage
+coverage_out := $(HOST_OUT)/lineage-sdk-api-coverage
 
-api_text_description := vendor/cmsdk/api/cm_current.txt
+api_text_description := lineage-sdk/api/lineage_current.txt
 api_xml_description := $(coverage_out)/api.xml
 $(api_xml_description) : $(api_text_description) $(APICHECK)
 	$(hide) echo "Converting API file to XML: $@"
 	$(hide) mkdir -p $(dir $@)
 	$(hide) $(APICHECK_COMMAND) -convert2xml $< $@
 
-cmsdk-test-coverage-report := $(coverage_out)/cmsdk-test-coverage.html
+lineage-sdk-test-coverage-report := $(coverage_out)/lineage-sdk-test-coverage.html
 
-cmsdk_tests_apk := $(call intermediates-dir-for,APPS,CMPlatformTests)/package.apk
-cmsettingsprovider_tests_apk := $(call intermediates-dir-for,APPS,CMSettingsProviderTests)/package.apk
-cmsdk_api_coverage_dependencies := $(cmsdk_api_coverage_exe) $(dexdeps_exe) $(api_xml_description)
+lineage_sdk_tests_apk := $(call intermediates-dir-for,APPS,CMPlatformTests)/package.apk
+lineagesettingsprovider_tests_apk := $(call intermediates-dir-for,APPS,LineageSettingsProviderTests)/package.apk
+lineage_sdk_api_coverage_dependencies := $(lineage_sdk_api_coverage_exe) $(dexdeps_exe) $(api_xml_description)
 
-$(cmsdk-test-coverage-report): PRIVATE_TEST_CASES := $(cmsdk_tests_apk) $(cmsettingsprovider_tests_apk)
-$(cmsdk-test-coverage-report): PRIVATE_CMSDK_API_COVERAGE_EXE := $(cmsdk_api_coverage_exe)
-$(cmsdk-test-coverage-report): PRIVATE_DEXDEPS_EXE := $(dexdeps_exe)
-$(cmsdk-test-coverage-report): PRIVATE_API_XML_DESC := $(api_xml_description)
-$(cmsdk-test-coverage-report): $(cmsdk_tests_apk) $(cmsettingsprovider_tests_apk) $(cmsdk_api_coverage_dependencies) | $(ACP)
-	$(call generate-cm-coverage-report,"CMSDK API Coverage Report",\
+$(lineage-sdk-test-coverage-report): PRIVATE_TEST_CASES := $(lineage_sdk_tests_apk) $(lineagesettingsprovider_tests_apk)
+$(lineage-sdk-test-coverage-report): PRIVATE_LINEAGE_SDK_API_COVERAGE_EXE := $(lineage_sdk_api_coverage_exe)
+$(lineage-sdk-test-coverage-report): PRIVATE_DEXDEPS_EXE := $(dexdeps_exe)
+$(lineage-sdk-test-coverage-report): PRIVATE_API_XML_DESC := $(api_xml_description)
+$(lineage-sdk-test-coverage-report): $(lineage_sdk_tests_apk) $(lineagesettingsprovider_tests_apk) $(lineage_sdk_api_coverage_dependencies) | $(ACP)
+	$(call generate-lineage-coverage-report,"LINEAGE-SDK API Coverage Report",\
 			$(PRIVATE_TEST_CASES),html)
 
-.PHONY: cmsdk-test-coverage
-cmsdk-test-coverage : $(cmsdk-test-coverage-report)
+.PHONY: lineage-sdk-test-coverage
+lineage-sdk-test-coverage : $(lineage-sdk-test-coverage-report)
 
-# Put the test coverage report in the dist dir if "cmsdk" is among the build goals.
-ifneq ($(filter cmsdk, $(MAKECMDGOALS)),)
-  $(call dist-for-goals, cmsdk, $(cmsdk-test-coverage-report):cmsdk-test-coverage-report.html)
+# Put the test coverage report in the dist dir if "lineage-sdk" is among the build goals.
+ifneq ($(filter lineage-sdk, $(MAKECMDGOALS)),)
+  $(call dist-for-goals, lineage-sdk, $(lineage-sdk-test-coverage-report):lineage-sdk-test-coverage-report.html)
 endif
 
 # Arguments;
 #  1 - Name of the report printed out on the screen
 #  2 - List of apk files that will be scanned to generate the report
 #  3 - Format of the report
-define generate-cm-coverage-report
+define generate-lineage-coverage-report
 	$(hide) mkdir -p $(dir $@)
-	$(hide) $(PRIVATE_CMSDK_API_COVERAGE_EXE) -d $(PRIVATE_DEXDEPS_EXE) -a $(PRIVATE_API_XML_DESC) -f $(3) -o $@ $(2) -cm
+	$(hide) $(PRIVATE_LINEAGE_SDK_API_COVERAGE_EXE) -d $(PRIVATE_DEXDEPS_EXE) -a $(PRIVATE_API_XML_DESC) -f $(3) -o $@ $(2) -cm
 	@ echo $(1): file://$@
 endef
 
 # Reset temp vars
-cmsdk_api_coverage_dependencies :=
-cmsdk-combined-coverage-report :=
-cmsdk-combined-xml-coverage-report :=
-cmsdk-verifier-coverage-report :=
-cmsdk-test-coverage-report :=
+lineage_sdk_api_coverage_dependencies :=
+lineage-sdk-combined-coverage-report :=
+lineage-sdk-combined-xml-coverage-report :=
+lineage-sdk-verifier-coverage-report :=
+lineage-sdk-test-coverage-report :=
 api_xml_description :=
 api_text_description :=
 coverage_out :=
 dexdeps_exe :=
-cmsdk_api_coverage_exe :=
-cmsdk_verifier_apk :=
-android_cmsdk_zip :=
+lineage_sdk_api_coverage_exe :=
+lineage_sdk_verifier_apk :=
+android_lineage_sdk_zip :=
diff --git a/config/common.mk b/config/common.mk
index a2fc614..b514c49 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -83,14 +83,14 @@
 
 # This is Lineage!
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/com.cyanogenmod.android.xml:system/etc/permissions/com.cyanogenmod.android.xml
+    vendor/lineage/config/permissions/org.lineageos.android.xml:system/etc/permissions/org.lineageos.android.xml
 
 # Include Lineage audio files
 include vendor/lineage/config/lineage_audio.mk
 
-ifneq ($(TARGET_DISABLE_CMSDK), true)
-# CMSDK
-include vendor/lineage/config/cmsdk_common.mk
+ifneq ($(TARGET_DISABLE_LINEAGE_SDK), true)
+# Lineage SDK
+include vendor/lineage/config/lineage_sdk_common.mk
 endif
 
 # TWRP
@@ -106,7 +106,7 @@
 PRODUCT_PACKAGES += \
     BluetoothExt \
     CMAudioService \
-    CMParts \
+    LineageParts \
     Development \
     Profiles \
     WeatherManagerService
@@ -126,7 +126,7 @@
 # Custom Lineage packages
 PRODUCT_PACKAGES += \
     AudioFX \
-    CMSettingsProvider \
+    LineageSettingsProvider \
     LineageSetupWizard \
     Eleven \
     ExactCalculator \
diff --git a/config/lineage_sdk_common.mk b/config/lineage_sdk_common.mk
index f1fb666..8e06d9e 100644
--- a/config/lineage_sdk_common.mk
+++ b/config/lineage_sdk_common.mk
@@ -1,50 +1,50 @@
-# Permissions for cmsdk services
+# Permissions for lineage sdk services
 PRODUCT_COPY_FILES += \
-    vendor/lineage/config/permissions/org.cyanogenmod.audio.xml:system/etc/permissions/org.cyanogenmod.audio.xml \
-    vendor/lineage/config/permissions/org.cyanogenmod.livedisplay.xml:system/etc/permissions/org.cyanogenmod.livedisplay.xml \
-    vendor/lineage/config/permissions/org.cyanogenmod.performance.xml:system/etc/permissions/org.cyanogenmod.performance.xml \
-    vendor/lineage/config/permissions/org.cyanogenmod.profiles.xml:system/etc/permissions/org.cyanogenmod.profiles.xml \
-    vendor/lineage/config/permissions/org.cyanogenmod.statusbar.xml:system/etc/permissions/org.cyanogenmod.statusbar.xml \
-    vendor/lineage/config/permissions/org.cyanogenmod.telephony.xml:system/etc/permissions/org.cyanogenmod.telephony.xml \
-    vendor/lineage/config/permissions/org.cyanogenmod.weather.xml:system/etc/permissions/org.cyanogenmod.weather.xml
+    vendor/lineage/config/permissions/org.lineageos.audio.xml:system/etc/permissions/org.lineageos.audio.xml \
+    vendor/lineage/config/permissions/org.lineageos.livedisplay.xml:system/etc/permissions/org.lineageos.livedisplay.xml \
+    vendor/lineage/config/permissions/org.lineageos.performance.xml:system/etc/permissions/org.lineageos.performance.xml \
+    vendor/lineage/config/permissions/org.lineageos.profiles.xml:system/etc/permissions/org.lineageos.profiles.xml \
+    vendor/lineage/config/permissions/org.lineageos.statusbar.xml:system/etc/permissions/org.lineageos.statusbar.xml \
+    vendor/lineage/config/permissions/org.lineageos.telephony.xml:system/etc/permissions/org.lineageos.telephony.xml \
+    vendor/lineage/config/permissions/org.lineageos.weather.xml:system/etc/permissions/org.lineageos.weather.xml
 
 # CM Platform Library
 PRODUCT_PACKAGES += \
-    org.cyanogenmod.platform-res \
-    org.cyanogenmod.platform \
-    org.cyanogenmod.platform.xml
+    org.lineageos.platform-res \
+    org.lineageos.platform \
+    org.lineageos.platform.xml
 
 # CM Hardware Abstraction Framework
 PRODUCT_PACKAGES += \
-    org.cyanogenmod.hardware \
-    org.cyanogenmod.hardware.xml
+    org.lineageos.hardware \
+    org.lineageos.hardware.xml
 
 # JNI Libraries
 PRODUCT_PACKAGES += \
-    libcmsdk_platform_jni
+    liblineage-sdk_platform_jni
 
-ifndef CM_PLATFORM_SDK_VERSION
+ifndef LINEAGE_PLATFORM_SDK_VERSION
   # This is the canonical definition of the SDK version, which defines
   # the set of APIs and functionality available in the platform.  It
   # is a single integer that increases monotonically as updates to
   # the SDK are released.  It should only be incremented when the APIs for
   # the new release are frozen (so that developers don't write apps against
   # intermediate builds).
-  CM_PLATFORM_SDK_VERSION := 7
+  LINEAGE_PLATFORM_SDK_VERSION := 7
 endif
 
-ifndef CM_PLATFORM_REV
+ifndef LINEAGE_PLATFORM_REV
   # For internal SDK revisions that are hotfixed/patched
-  # Reset after each CM_PLATFORM_SDK_VERSION release
+  # Reset after each LINEAGE_PLATFORM_SDK_VERSION release
   # If you are doing a release and this is NOT 0, you are almost certainly doing it wrong
-  CM_PLATFORM_REV := 0
+  LINEAGE_PLATFORM_REV := 0
 endif
 
 # CyanogenMod Platform SDK Version
 PRODUCT_PROPERTY_OVERRIDES += \
-  ro.cm.build.version.plat.sdk=$(CM_PLATFORM_SDK_VERSION)
+  ro.lineage.build.version.plat.sdk=$(LINEAGE_PLATFORM_SDK_VERSION)
 
 # CyanogenMod Platform Internal
 PRODUCT_PROPERTY_OVERRIDES += \
-  ro.cm.build.version.plat.rev=$(CM_PLATFORM_REV)
+  ro.lineage.build.version.plat.rev=$(LINEAGE_PLATFORM_REV)
 
diff --git a/config/permissions/org.lineageos.android.xml b/config/permissions/org.lineageos.android.xml
index f5126c4..970658d 100644
--- a/config/permissions/org.lineageos.android.xml
+++ b/config/permissions/org.lineageos.android.xml
@@ -14,8 +14,8 @@
      limitations under the License.
 -->
 
-<!-- This feature shows that this is CyanogenMod -->
+<!-- This feature shows that this is LineageOS -->
 <permissions>
-    <feature name="com.cyanogenmod.android" />
+    <feature name="org.lineageos.android" />
 </permissions>
 
diff --git a/config/permissions/org.lineageos.audio.xml b/config/permissions/org.lineageos.audio.xml
index 1a5d122..f5f5f4d 100644
--- a/config/permissions/org.lineageos.audio.xml
+++ b/config/permissions/org.lineageos.audio.xml
@@ -16,8 +16,8 @@
 
 <permissions>
     <!-- The feature listed here coincides with the PerformanceManagerService declared as
-        part of the external cm service init in SystemServer. If this xml isn't present
+        part of the external lineage service init in SystemServer. If this xml isn't present
         on the device, the service will not be published as a binder service!
     -->
-    <feature name="org.cyanogenmod.audio" />
+    <feature name="org.lineageos.audio" />
 </permissions>
diff --git a/config/permissions/org.lineageos.livedisplay.xml b/config/permissions/org.lineageos.livedisplay.xml
index bfae5d3..22adee5 100644
--- a/config/permissions/org.lineageos.livedisplay.xml
+++ b/config/permissions/org.lineageos.livedisplay.xml
@@ -16,8 +16,8 @@
 
 <permissions>
     <!-- The feature listed here coincides with the PerformanceManagerService declared as
-        part of the external cm service init in SystemServer. If this xml isn't present
+        part of the external lineage service init in SystemServer. If this xml isn't present
         on the device, the service will not be published as a binder service!
     -->
-    <feature name="org.cyanogenmod.livedisplay" />
+    <feature name="org.lineageos.livedisplay" />
 </permissions>
diff --git a/config/permissions/org.lineageos.performance.xml b/config/permissions/org.lineageos.performance.xml
index 464de6e..9468b6d 100644
--- a/config/permissions/org.lineageos.performance.xml
+++ b/config/permissions/org.lineageos.performance.xml
@@ -16,8 +16,8 @@
 
 <permissions>
     <!-- The feature listed here coincides with the PerformanceManagerService declared as
-        part of the external cm service init in SystemServer. If this xml isn't present
+        part of the external lineage service init in SystemServer. If this xml isn't present
         on the device, the service will not be published as a binder service!
     -->
-    <feature name="org.cyanogenmod.performance" />
+    <feature name="org.lineageos.performance" />
 </permissions>
diff --git a/config/permissions/org.lineageos.profiles.xml b/config/permissions/org.lineageos.profiles.xml
index 6a45526..2e55912 100644
--- a/config/permissions/org.lineageos.profiles.xml
+++ b/config/permissions/org.lineageos.profiles.xml
@@ -16,8 +16,8 @@
 
 <permissions>
     <!-- The feature listed here coincides with the ProfileManagerService declared as
-         part of the external cm service init in SystemServer. If this xml isn't present
+         part of the external lineage service init in SystemServer. If this xml isn't present
          on the device, the service will not be published as a binder service!
      -->
-    <feature name="org.cyanogenmod.profiles" />
+    <feature name="org.lineageos.profiles" />
 </permissions>
diff --git a/config/permissions/org.lineageos.statusbar.xml b/config/permissions/org.lineageos.statusbar.xml
index 562bf9e..2792db8 100644
--- a/config/permissions/org.lineageos.statusbar.xml
+++ b/config/permissions/org.lineageos.statusbar.xml
@@ -15,9 +15,9 @@
 -->
 
 <permissions>
-    <!-- The feature listed here coincides with the CMStatusBarManagerService declared as
-         part of the external cm service init in SystemServer. If this xml isn't present
+    <!-- The feature listed here coincides with the LineageStatusBarManagerService declared as
+         part of the external lineage service init in SystemServer. If this xml isn't present
          on the device, the service will not be published as a binder service!
      -->
-    <feature name="org.cyanogenmod.statusbar" />
+    <feature name="org.lineageos.statusbar" />
 </permissions>
diff --git a/config/permissions/org.lineageos.telephony.xml b/config/permissions/org.lineageos.telephony.xml
index 3e89e8a..5a741a1 100644
--- a/config/permissions/org.lineageos.telephony.xml
+++ b/config/permissions/org.lineageos.telephony.xml
@@ -15,9 +15,9 @@
 -->
 
 <permissions>
-    <!-- The feature listed here coincides with the CMTelephonyManagerService declared as
-         part of the external cm service init in SystemServer. If this xml isn't present
+    <!-- The feature listed here coincides with the LineageTelephonyManagerService declared as
+         part of the external lineage service init in SystemServer. If this xml isn't present
          on the device, the service will not be published as a binder service!
      -->
-    <feature name="org.cyanogenmod.telephony" />
+    <feature name="org.lineageos.telephony" />
 </permissions>
diff --git a/config/permissions/org.lineageos.weather.xml b/config/permissions/org.lineageos.weather.xml
index 69cd0b7..d8d012a 100644
--- a/config/permissions/org.lineageos.weather.xml
+++ b/config/permissions/org.lineageos.weather.xml
@@ -15,5 +15,5 @@
 -->
 
 <permissions>
-    <feature name="org.cyanogenmod.weather" />
+    <feature name="org.lineageos.weather" />
 </permissions>
diff --git a/overlay/common/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml b/overlay/common/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml
index 1b13100..56031b7 100644
--- a/overlay/common/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml
+++ b/overlay/common/lineage-sdk/packages/LineageSettingsProvider/res/values/defaults.xml
@@ -17,6 +17,6 @@
 <resources>
     <!-- Defaults for Secure -->
 
-    <!-- Default for CMSettings.Secure.STATS_COLLECTION -->
+    <!-- Default for LineageSettings.Secure.STATS_COLLECTION -->
     <bool name="def_stats_collection">true</bool>
 </resources>
