diff --git a/build/envsetup.sh b/build/envsetup.sh index f1fafc58..73db9558 100644 --- a/build/envsetup.sh +++ b/build/envsetup.sh @@ -837,7 +837,7 @@ function dopush() CHKPERM="/data/local/tmp/chkfileperm.sh" ( cat <<'EOF' -#!/system/xbin/sh +#!/system/bin/sh FILE=$@ if [ -e $FILE ]; then ls -l $FILE | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}' | cut -d ' ' -f1 @@ -883,7 +883,7 @@ EOF fi adb shell restorecon "$TARGET" ;; - /system/priv-app/SystemUI/SystemUI.apk|/system/framework/*) + */SystemUI.apk|*/framework/*) # Only need to stop services once if ! $stop_n_start; then adb shell stop diff --git a/build/soong/Android.bp b/build/soong/Android.bp index ba9a6965..480aab23 100644 --- a/build/soong/Android.bp +++ b/build/soong/Android.bp @@ -174,6 +174,23 @@ ignores_ftp_pptp_conntrack_failure_defaults { }, } +soong_config_module_type { + name: "needs_camera_boottime", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + bool_variables: ["needs_camera_boottime"], + properties: ["cppflags"], +} + +needs_camera_boottime { + name: "needs_camera_boottime_defaults", + soong_config_variables: { + needs_camera_boottime: { + cppflags: ["-DTARGET_CAMERA_BOOTTIME_TIMESTAMP"], + }, + }, +} + soong_config_module_type { name: "needs_netd_direct_connect_rule", module_type: "cc_defaults", diff --git a/build/target/product/AndroidProducts.mk b/build/target/product/AndroidProducts.mk index 636738a2..a53a22d2 100644 --- a/build/target/product/AndroidProducts.mk +++ b/build/target/product/AndroidProducts.mk @@ -26,7 +26,9 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/lineage_tv_arm.mk \ $(LOCAL_DIR)/lineage_tv_arm64.mk \ $(LOCAL_DIR)/lineage_tv_x86.mk \ - $(LOCAL_DIR)/lineage_tv_x86_64.mk + $(LOCAL_DIR)/lineage_tv_x86_64.mk \ + $(LOCAL_DIR)/lineage_car_arm64.mk \ + $(LOCAL_DIR)/lineage_car_x86_64.mk COMMON_LUNCH_CHOICES := \ lineage_arm-userdebug \ @@ -40,4 +42,6 @@ COMMON_LUNCH_CHOICES := \ lineage_tv_arm-userdebug \ lineage_tv_arm64-userdebug \ lineage_tv_x86-userdebug \ - lineage_tv_x86_64-userdebug + lineage_tv_x86_64-userdebug \ + lineage_car_arm64-userdebug \ + lineage_car_x86_64-userdebug diff --git a/build/target/product/lineage_car_arm64.mk b/build/target/product/lineage_car_arm64.mk new file mode 100644 index 00000000..aa386c7c --- /dev/null +++ b/build/target/product/lineage_car_arm64.mk @@ -0,0 +1,21 @@ +# Copyright (C) 2018-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. + +include vendor/lineage/build/target/product/lineage_generic_car_target.mk + +$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk) + +TARGET_NO_KERNEL_OVERRIDE := true + +PRODUCT_NAME := lineage_car_arm64 diff --git a/build/target/product/lineage_car_x86_64.mk b/build/target/product/lineage_car_x86_64.mk new file mode 100644 index 00000000..821a9204 --- /dev/null +++ b/build/target/product/lineage_car_x86_64.mk @@ -0,0 +1,19 @@ +# Copyright (C) 2018-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. + +include vendor/lineage/build/target/product/lineage_generic_car_target.mk + +$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk) + +PRODUCT_NAME := lineage_car_x86_64 diff --git a/build/target/product/lineage_generic_car_target.mk b/build/target/product/lineage_generic_car_target.mk new file mode 100644 index 00000000..60bb2da7 --- /dev/null +++ b/build/target/product/lineage_generic_car_target.mk @@ -0,0 +1,22 @@ +# Copyright (C) 2019-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. + +$(call inherit-product, vendor/lineage/config/common_car.mk) +$(call inherit-product, device/generic/car/emulator/aosp_car_emulator.mk) + +EMULATOR_VENDOR_NO_SENSORS := true +EMULATOR_VENDOR_NO_SOUND := true + +# Allow building otatools +TARGET_FORCE_OTA_PACKAGE := true diff --git a/build/tasks/bacon.mk b/build/tasks/bacon.mk index 2932f79d..9ec77503 100644 --- a/build/tasks/bacon.mk +++ b/build/tasks/bacon.mk @@ -18,12 +18,12 @@ LINEAGE_TARGET_PACKAGE := $(PRODUCT_OUT)/$(LINEAGE_VERSION).zip -MD5 := prebuilts/build-tools/path/$(HOST_PREBUILT_TAG)/md5sum +SHA256 := prebuilts/build-tools/path/$(HOST_PREBUILT_TAG)/sha256sum .PHONY: bacon bacon: $(INTERNAL_OTA_PACKAGE_TARGET) $(hide) ln -f $(INTERNAL_OTA_PACKAGE_TARGET) $(LINEAGE_TARGET_PACKAGE) - $(hide) $(MD5) $(LINEAGE_TARGET_PACKAGE) | sed "s|$(PRODUCT_OUT)/||" > $(LINEAGE_TARGET_PACKAGE).md5sum + $(hide) $(SHA256) $(LINEAGE_TARGET_PACKAGE) | sed "s|$(PRODUCT_OUT)/||" > $(LINEAGE_TARGET_PACKAGE).sha256sum @echo "Package Complete: $(LINEAGE_TARGET_PACKAGE)" >&2 @echo "Build is getting done..." >&2 $(hide) bash vendor/lineage/build/tools/cipher.sh diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index 4cd44408..45ec5e98 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -1,5 +1,5 @@ # Copyright (C) 2012 The CyanogenMod Project -# (C) 2017-2020 The LineageOS Project +# (C) 2017-2021 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. @@ -55,12 +55,17 @@ # aarch64-linux-gnu- for arm64 # x86_64-linux-gnu- for x86 # +# KERNEL_LTO = Optional, force LTO to none / thin / full +# # NEED_KERNEL_MODULE_ROOT = Optional, if true, install kernel # modules in root instead of vendor # NEED_KERNEL_MODULE_SYSTEM = Optional, if true, install kernel # modules in system instead of vendor # NEED_KERNEL_MODULE_VENDOR_OVERLAY = Optional, if true, install kernel # modules in vendor_overlay instead of vendor +# +# TARGET_FORCE_PREBUILT_KERNEL = Optional, use TARGET_PREBUILT_KERNEL even if +# kernel sources are present ifneq ($(TARGET_NO_KERNEL),true) ifneq ($(TARGET_NO_KERNEL_OVERRIDE),true) @@ -69,16 +74,20 @@ ifneq ($(TARGET_NO_KERNEL_OVERRIDE),true) KERNEL_SRC := $(TARGET_KERNEL_SOURCE) # kernel configuration - mandatory KERNEL_DEFCONFIG := $(TARGET_KERNEL_CONFIG) +RECOVERY_DEFCONFIG := $(TARGET_KERNEL_RECOVERY_CONFIG) VARIANT_DEFCONFIG := $(TARGET_KERNEL_VARIANT_CONFIG) SELINUX_DEFCONFIG := $(TARGET_KERNEL_SELINUX_CONFIG) ## Internal variables DTC := $(HOST_OUT_EXECUTABLES)/dtc KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ +RECOVERY_KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/RECOVERY_KERNEL_OBJ DTBO_OUT := $(TARGET_OUT_INTERMEDIATES)/DTBO_OBJ DTB_OUT := $(TARGET_OUT_INTERMEDIATES)/DTB_OBJ KERNEL_CONFIG := $(KERNEL_OUT)/.config KERNEL_RELEASE := $(KERNEL_OUT)/include/config/kernel.release +RECOVERY_KERNEL_CONFIG := $(RECOVERY_KERNEL_OUT)/.config +RECOVERY_KERNEL_RELEASE := $(RECOVERY_KERNEL_OUT)/include/config/kernel.release ifeq ($(KERNEL_ARCH),x86_64) KERNEL_DEFCONFIG_ARCH := x86 @@ -87,6 +96,7 @@ KERNEL_DEFCONFIG_ARCH := $(KERNEL_ARCH) endif KERNEL_DEFCONFIG_DIR := $(KERNEL_SRC)/arch/$(KERNEL_DEFCONFIG_ARCH)/configs KERNEL_DEFCONFIG_SRC := $(KERNEL_DEFCONFIG_DIR)/$(KERNEL_DEFCONFIG) +RECOVERY_KERNEL_DEFCONFIG_SRC := $(KERNEL_DEFCONFIG_DIR)/$(RECOVERY_DEFCONFIG) ifneq ($(TARGET_KERNEL_ADDITIONAL_CONFIG),) KERNEL_ADDITIONAL_CONFIG := $(TARGET_KERNEL_ADDITIONAL_CONFIG) @@ -106,6 +116,8 @@ ifeq ($(TARGET_PREBUILT_KERNEL),) endif TARGET_PREBUILT_INT_KERNEL := $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/$(BOARD_KERNEL_IMAGE_NAME) +TARGET_PREBUILT_INT_RECOVERY_KERNEL := $(RECOVERY_KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/$(BOARD_KERNEL_IMAGE_NAME) + ifeq "$(wildcard $(KERNEL_SRC) )" "" ifneq ($(TARGET_PREBUILT_KERNEL),) HAS_PREBUILT_KERNEL := true @@ -154,16 +166,22 @@ else $(error "NO KERNEL CONFIG") else ifneq ($(TARGET_FORCE_PREBUILT_KERNEL),) - $(warning **********************************************************) - $(warning * Kernel source found and configuration was defined *) - $(warning * but prebuilt kernel is being enforced. *) - $(warning * While there may be a good reason for this, *) - $(warning * THIS IS NOT ADVISED. *) - $(warning * Please configure your device to build the kernel *) - $(warning * from source by unsetting TARGET_FORCE_PREBUILT_KERNEL *) - $(warning **********************************************************) - FULL_KERNEL_BUILD := false - KERNEL_BIN := $(TARGET_PREBUILT_KERNEL) + ifneq ($(filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL,$(LINEAGE_BUILDTYPE)),) + $(error "PREBUILT KERNEL IS NOT ALLOWED ON OFFICIAL BUILDS!") + else + $(warning **********************************************************) + $(warning * Kernel source found and configuration was defined, *) + $(warning * but prebuilt kernel is being forced. *) + $(warning * While this is likely intentional, *) + $(warning * it is NOT SUPPORTED WHATSOEVER. *) + $(warning * Generated kernel headers may not align with *) + $(warning * the ABI of kernel you're including. *) + $(warning * Please unset TARGET_FORCE_PREBUILT_KERNEL *) + $(warning * to build the kernel from source. *) + $(warning **********************************************************) + FULL_KERNEL_BUILD := false + KERNEL_BIN := $(TARGET_PREBUILT_KERNEL) + endif else FULL_KERNEL_BUILD := true KERNEL_BIN := $(TARGET_PREBUILT_INT_KERNEL) @@ -171,33 +189,45 @@ else endif endif -ifeq ($(FULL_KERNEL_BUILD),true) - -ifeq ($(NEED_KERNEL_MODULE_ROOT),true) -KERNEL_MODULES_OUT := $(TARGET_ROOT_OUT) -KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_recovery) -KERNEL_MODULE_MOUNTPOINT := -else ifeq ($(NEED_KERNEL_MODULE_SYSTEM),true) -KERNEL_MODULES_OUT := $(TARGET_OUT) -KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_system) -KERNEL_MODULE_MOUNTPOINT := system -$(INSTALLED_SYSTEMIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) -else ifeq ($(NEED_KERNEL_MODULE_VENDOR_OVERLAY),true) -KERNEL_MODULES_OUT := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION) -KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_product) -KERNEL_MODULE_MOUNTPOINT := vendor -$(INSTALLED_PRODUCTIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) +ifneq ($(TARGET_KERNEL_RECOVERY_CONFIG),) + ifeq "$(wildcard $(KERNEL_SRC) )" "" + ifeq ($(TARGET_PREBUILT_RECOVERY_KERNEL),) + $(warning ***************************************************************) + $(warning * *) + $(warning * No recovery kernel source found, and no fallback prebuilt *) + $(warning * defined. Please make sure your device is properly *) + $(warning * configured to download the kernel repository to $(KERNEL_SRC)) + $(warning * or remove TARGET_KERNEL_RECOVERY_CONFIG from BoardConfig.mk *) + $(warning * *) + $(warning * Or, define the TARGET_PREBUILT_RECOVERY_KERNEL *) + $(warning * variable with the path to the prebuilt recovery kernel image*) + $(warning * in your BoardConfig.mk file *) + $(warning * *) + $(warning ***************************************************************) + $(error "NO RECOVERY KERNEL SOURCE") + endif + endif + ifneq ($(BOARD_USES_RECOVERY_AS_BOOT),) + $(warning ********************************************************) + $(warning * TARGET_KERNEL_RECOVERY_CONFIG set but device uses *) + $(warning * RECOVERY_AS_BOOT, which uses boot kernel as recovery *) + $(warning * kernel, as such it's not possible to use different *) + $(warning * configs *) + $(warning ********************************************************) + $(error "INVALID CONFIGURATION") + else + FULL_RECOVERY_KERNEL_BUILD := true + RECOVERY_KERNEL_COPY := true + RECOVERY_BIN := $(TARGET_PREBUILT_INT_RECOVERY_KERNEL) + endif else -KERNEL_MODULES_OUT := $(TARGET_OUT_VENDOR) -KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_vendor) -KERNEL_MODULE_MOUNTPOINT := vendor -$(INSTALLED_VENDORIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) + ifneq ($(TARGET_PREBUILT_RECOVERY_KERNEL),) + RECOVERY_BIN := $(TARGET_PREBUILT_RECOVERY_KERNEL) + RECOVERY_KERNEL_COPY := true + endif endif -MODULES_INTERMEDIATES := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,kernel_modules) - -KERNEL_VENDOR_RAMDISK_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_vendor_ramdisk) -$(INTERNAL_VENDOR_RAMDISK_TARGET): $(TARGET_PREBUILT_INT_KERNEL) +ifeq ($(or $(FULL_RECOVERY_KERNEL_BUILD), $(FULL_KERNEL_BUILD)),true) # Add host bin out dir to path PATH_OVERRIDE := PATH=$(KERNEL_BUILD_OUT_PREFIX)$(HOST_OUT_EXECUTABLES):$$PATH ifeq ($(TARGET_KERNEL_CLANG_COMPILE),true) @@ -242,12 +272,62 @@ define internal-make-kernel-target $(PATH_OVERRIDE) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_BUILD_OUT_PREFIX)$(1) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNEL_CLANG_TRIPLE) $(KERNEL_CC) $(KERNEL_LD) $(2) endef +# Generate kernel .config from a given defconfig +# $(1): Output path (The value passed to O=) +# $(2): The defconfig to process (just the filename, no need for full path to file) +define make-kernel-config + $(call internal-make-kernel-target,$(1),VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(2)) + $(hide) if [ "$(KERNEL_LTO)" = "none" ]; then \ + $(KERNEL_SRC)/scripts/config --file $(1)/.config \ + -d LTO_CLANG \ + -e LTO_NONE \ + -d LTO_CLANG_THIN \ + -d LTO_CLANG_FULL \ + -d THINLTO; \ + $(call make-kernel-target,olddefconfig); \ + elif [ "$(KERNEL_LTO)" = "thin" ]; then \ + $(KERNEL_SRC)/scripts/config --file $(1)/.config \ + -e LTO_CLANG \ + -d LTO_NONE \ + -e LTO_CLANG_THIN \ + -d LTO_CLANG_FULL \ + -e THINLTO; \ + $(call make-kernel-target,olddefconfig); \ + elif [ "$(KERNEL_LTO)" = "full" ]; then \ + $(KERNEL_SRC)/scripts/config --file $(1)/.config \ + -e LTO_CLANG \ + -d LTO_NONE \ + -d LTO_CLANG_THIN \ + -e LTO_CLANG_FULL \ + -d THINLTO; \ + $(call make-kernel-target,olddefconfig); \ + fi + $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \ + echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \ + echo $(KERNEL_CONFIG_OVERRIDE) >> $(1)/.config; \ + $(call make-kernel-target,oldconfig); \ + fi + # Create defconfig build artifact + $(call internal-make-kernel-target,$(1),savedefconfig) + $(hide) if [ ! -z "$(KERNEL_ADDITIONAL_CONFIG)" ]; then \ + echo "Using additional config '$(KERNEL_ADDITIONAL_CONFIG)'"; \ + $(KERNEL_SRC)/scripts/kconfig/merge_config.sh -m -O $(1) $(1)/.config $(KERNEL_SRC)/arch/$(KERNEL_ARCH)/configs/$(KERNEL_ADDITIONAL_CONFIG); \ + $(call make-kernel-target,KCONFIG_ALLCONFIG=$(KERNEL_BUILD_OUT_PREFIX)$(1)/.config alldefconfig); \ + fi +endef + # Make a kernel target # $(1): The kernel target to build (eg. defconfig, modules, modules_install) define make-kernel-target $(call internal-make-kernel-target,$(KERNEL_OUT),$(1)) endef +# Make a recovery kernel target +# $(1): The kernel target to build (eg. defconfig, modules, modules_install) +define make-recovery-kernel-target +$(call internal-make-kernel-target,$(RECOVERY_KERNEL_OUT),$(1)) +endef + # Make a DTBO target # $(1): The DTBO target to build (eg. dtbo.img, defconfig) define make-dtbo-target @@ -282,6 +362,35 @@ define build-image-kernel-modules-lineage done endef +endif # FULL_RECOVERY_KERNEL_BUILD or FULL_KERNEL_BUILD + +ifeq ($(FULL_KERNEL_BUILD),true) + +ifeq ($(NEED_KERNEL_MODULE_ROOT),true) +KERNEL_MODULES_OUT := $(TARGET_ROOT_OUT) +KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_recovery) +KERNEL_MODULE_MOUNTPOINT := +else ifeq ($(NEED_KERNEL_MODULE_SYSTEM),true) +KERNEL_MODULES_OUT := $(TARGET_OUT) +KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_system) +KERNEL_MODULE_MOUNTPOINT := system +$(INSTALLED_SYSTEMIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) +else ifeq ($(NEED_KERNEL_MODULE_VENDOR_OVERLAY),true) +KERNEL_MODULES_OUT := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION) +KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_product) +KERNEL_MODULE_MOUNTPOINT := vendor +$(INSTALLED_PRODUCTIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) +else +KERNEL_MODULES_OUT := $(TARGET_OUT_VENDOR) +KERNEL_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_vendor) +KERNEL_MODULE_MOUNTPOINT := vendor +$(INSTALLED_VENDORIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) +endif +MODULES_INTERMEDIATES := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,kernel_modules) + +KERNEL_VENDOR_RAMDISK_DEPMOD_STAGING_DIR := $(KERNEL_BUILD_OUT_PREFIX)$(call intermediates-dir-for,PACKAGING,depmod_vendor_ramdisk) +$(INTERNAL_VENDOR_RAMDISK_TARGET): $(TARGET_PREBUILT_INT_KERNEL) + $(KERNEL_OUT): mkdir -p $(KERNEL_OUT) @@ -290,19 +399,7 @@ $(KERNEL_ADDITIONAL_CONFIG_OUT): $(KERNEL_OUT) $(KERNEL_CONFIG): $(KERNEL_DEFCONFIG_SRC) $(KERNEL_ADDITIONAL_CONFIG_OUT) @echo "Building Kernel Config" - $(call make-kernel-target,VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG)) - $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \ - echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \ - echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ - $(call make-kernel-target,oldconfig); \ - fi - # Create defconfig build artifact - $(call make-kernel-target,savedefconfig) - $(hide) if [ ! -z "$(KERNEL_ADDITIONAL_CONFIG)" ]; then \ - echo "Using additional config '$(KERNEL_ADDITIONAL_CONFIG)'"; \ - $(KERNEL_SRC)/scripts/kconfig/merge_config.sh -m -O $(KERNEL_OUT) $(KERNEL_OUT)/.config $(KERNEL_SRC)/arch/$(KERNEL_ARCH)/configs/$(KERNEL_ADDITIONAL_CONFIG); \ - $(call make-kernel-target,KCONFIG_ALLCONFIG=$(KERNEL_BUILD_OUT_PREFIX)$(KERNEL_OUT)/.config alldefconfig); \ - fi + $(call make-kernel-config,$(KERNEL_OUT),$(KERNEL_DEFCONFIG)) $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_CONFIG) $(DEPMOD) $(DTC) @echo "Building Kernel Image ($(BOARD_KERNEL_IMAGE_NAME))" @@ -387,6 +484,22 @@ endif # BOARD_INCLUDE_DTB_IN_BOOTIMG endif # FULL_KERNEL_BUILD +ifeq ($(FULL_RECOVERY_KERNEL_BUILD),true) + +$(RECOVERY_KERNEL_OUT): + mkdir -p $(RECOVERY_KERNEL_OUT) + +$(RECOVERY_KERNEL_CONFIG): $(RECOVERY_KERNEL_DEFCONFIG_SRC) + @echo "Building Recovery Kernel Config" + $(call make-kernel-config,$(RECOVERY_KERNEL_OUT),$(RECOVERY_DEFCONFIG)) + +$(TARGET_PREBUILT_INT_RECOVERY_KERNEL): $(RECOVERY_KERNEL_CONFIG) $(DEPMOD) $(DTC) + @echo "Building Recovery Kernel Image ($(BOARD_KERNEL_IMAGE_NAME))" + $(call make-recovery-kernel-target,$(BOARD_KERNEL_IMAGE_NAME)) + + +endif + ## Install it ifeq ($(NEEDS_KERNEL_COPY),true) @@ -398,6 +511,18 @@ $(file) : $(KERNEL_BIN) | $(ACP) ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET) endif +ifeq ($(RECOVERY_KERNEL_COPY),true) +file := $(INSTALLED_RECOVERY_KERNEL_TARGET) +ALL_PREBUILT += $(file) +$(file) : $(RECOVERY_BIN) | $(ACP) + $(transform-prebuilt-to-target) + +ALL_PREBUILT += $(INSTALLED_RECOVERY_KERNEL_TARGET) +endif + +.PHONY: recovery-kernel +recovery-kernel: $(INSTALLED_RECOVERY_KERNEL_TARGET) + .PHONY: kernel kernel: $(INSTALLED_KERNEL_TARGET) diff --git a/build/tools/roomservice.py b/build/tools/roomservice.py index 55ee658f..83471c30 100755 --- a/build/tools/roomservice.py +++ b/build/tools/roomservice.py @@ -1,8 +1,6 @@ #!/usr/bin/env python # Copyright (C) 2012-2013, The CyanogenMod Project -# Copyright (C) 2012-2015, SlimRoms Project -# Copyright (C) 2016-2017, AOSiP -# Copyright (C) 2020, CipherOS Project +# (C) 2017-2018,2020-2021, 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. @@ -19,6 +17,7 @@ from __future__ import print_function import base64 +import glob import json import netrc import os @@ -56,6 +55,24 @@ if not os.path.exists(local_manifests): os.makedirs(local_manifests) +if len(sys.argv) > 2: + depsonly = sys.argv[2] +else: + depsonly = None + +if not depsonly: + githubreq = urllib.request.Request("https://api.github.com/search/repositories?q=%s+user:LineageOS+in:name+fork:true" % device) + add_auth(githubreq) + try: + result = json.loads(urllib.request.urlopen(githubreq).read().decode()) + except urllib.error.URLError: + print("Failed to search GitHub") + sys.exit(1) + except ValueError: + print("Failed to parse return data from GitHub") + sys.exit(1) + for res in result.get('items', []): + repositories.append(res) def debug(*args, **kwargs): if DEBUG: @@ -116,6 +133,23 @@ def load_manifest(manifest): man = ElementTree.Element("manifest") return man +def get_default_revision(): + m = ElementTree.parse(get_manifest_path()) + d = m.findall('default')[0] + r = d.get('revision') + return r.replace('refs/heads/', '').replace('refs/tags/', '') + +def get_from_manifest(devicename): + for path in glob.glob(".repo/local_manifests/*.xml"): + try: + lm = ElementTree.parse(path) + lm = lm.getroot() + except: + lm = ElementTree.Element("manifest") + + for localpath in lm.findall("project"): + if re.search("android_device_.*_%s$" % device, localpath.get("name")): + return localpath.get("path") def get_default(manifest=None): m = manifest or load_manifest(get_manifest_path()) @@ -160,6 +194,39 @@ def get_from_manifest(device_name): return lp return None +def is_in_manifest(projectpath): + for path in glob.glob(".repo/local_manifests/*.xml"): + try: + lm = ElementTree.parse(path) + lm = lm.getroot() + except: + lm = ElementTree.Element("manifest") + + for localpath in lm.findall("project"): + if localpath.get("path") == projectpath: + return True + + # Search in main manifest, too + try: + lm = ElementTree.parse(get_manifest_path()) + lm = lm.getroot() + except: + lm = ElementTree.Element("manifest") + + for localpath in lm.findall("project"): + if localpath.get("path") == projectpath: + return True + + # ... and don't forget the lineage snippet + try: + lm = ElementTree.parse(".repo/manifests/snippets/lineage.xml") + lm = lm.getroot() + except: + lm = ElementTree.Element("manifest") + + for localpath in lm.findall("project"): + if localpath.get("path") == projectpath: + return True def is_in_manifest(project_path): for man in (custom_local_manifest, get_manifest_path()): diff --git a/charger/Android.mk b/charger/Android.mk new file mode 100644 index 00000000..2fce7c43 --- /dev/null +++ b/charger/Android.mk @@ -0,0 +1,58 @@ +# +# Copyright (C) 2021 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. +# + +LOCAL_PATH := $(call my-dir) + +# Set lineage_charger_density to the density bucket of the device. +lineage_charger_density := mdpi +ifneq (,$(TARGET_SCREEN_DENSITY)) +lineage_charger_density := $(strip \ + $(or $(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 560))),1),xxxhdpi),\ + $(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 400))),1),xxhdpi),\ + $(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 280))),1),xhdpi),\ + $(if $(filter $(shell echo $$(($(TARGET_SCREEN_DENSITY) >= 200))),1),hdpi,mdpi))) +else ifneq (,$(filter mdpi hdpi xhdpi xxhdpi xxxhdpi,$(PRODUCT_AAPT_PREF_CONFIG))) +# If PRODUCT_AAPT_PREF_CONFIG includes a dpi bucket, then use that value. +lineage_charger_density := $(PRODUCT_AAPT_PREF_CONFIG) +endif + +include $(CLEAR_VARS) +LOCAL_MODULE := lineage_charger_battery_scale +LOCAL_MODULE_STEM := battery_scale.png +LOCAL_SRC_FILES := $(lineage_charger_density)/battery_scale.png +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_ETC)/res/images/charger +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := lineage_charger_battery_fail +LOCAL_MODULE_STEM := battery_fail.png +LOCAL_SRC_FILES := $(lineage_charger_density)/battery_fail.png +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_ETC)/res/images/charger +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := lineage_charger_animation +LOCAL_MODULE_STEM := animation.txt +LOCAL_SRC_FILES := animation.txt +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_ETC)/res/values/charger +LOCAL_REQUIRED_MODULES := lineage_charger_battery_scale lineage_charger_battery_fail +include $(BUILD_PREBUILT) diff --git a/charger/animation.txt b/charger/animation.txt new file mode 100644 index 00000000..f7951f9a --- /dev/null +++ b/charger/animation.txt @@ -0,0 +1,26 @@ +# animation: num_cycles, first_frame_repeats, animation_file +animation: 7 1 charger/battery_scale + +# frame: disp_time min_level max_level +frame: 500 0 4 +frame: 500 0 9 +frame: 500 5 14 +frame: 500 10 19 +frame: 500 15 24 +frame: 500 20 29 +frame: 500 25 34 +frame: 500 30 39 +frame: 500 35 44 +frame: 500 40 49 +frame: 500 45 54 +frame: 500 50 59 +frame: 500 55 64 +frame: 500 60 69 +frame: 500 65 74 +frame: 500 70 79 +frame: 500 75 84 +frame: 500 80 89 +frame: 500 85 94 +frame: 500 90 99 +frame: 500 95 99 +frame: 1000 100 100 \ No newline at end of file diff --git a/charger/hdpi/battery_fail.png b/charger/hdpi/battery_fail.png new file mode 100644 index 00000000..572d8eff Binary files /dev/null and b/charger/hdpi/battery_fail.png differ diff --git a/charger/hdpi/battery_scale.png b/charger/hdpi/battery_scale.png new file mode 100644 index 00000000..92cd5b6e Binary files /dev/null and b/charger/hdpi/battery_scale.png differ diff --git a/charger/images/battery_fail.svg b/charger/images/battery_fail.svg new file mode 100644 index 00000000..f80b074f --- /dev/null +++ b/charger/images/battery_fail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/charger/mdpi/battery_fail.png b/charger/mdpi/battery_fail.png new file mode 100644 index 00000000..2b5d91cb Binary files /dev/null and b/charger/mdpi/battery_fail.png differ diff --git a/charger/mdpi/battery_scale.png b/charger/mdpi/battery_scale.png new file mode 100644 index 00000000..5683aa41 Binary files /dev/null and b/charger/mdpi/battery_scale.png differ diff --git a/charger/regenerate.sh b/charger/regenerate.sh new file mode 100755 index 00000000..ac8bfaee --- /dev/null +++ b/charger/regenerate.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +if [ -z "$(which convert)" ] || [ -z "$(which pngcrush)" ]; then + echo "Please install imagemagick and pngcrush" + exit 1 +fi + +for DENSITY in mdpi:160 hdpi:240 xhdpi:320 xxhdpi:480 xxxhdpi:640; do + DPI=$(echo $DENSITY | cut -f1 -d ':') + WIDTH=$(echo $DENSITY | cut -f2 -d ':') + + rm -rf $DPI + mkdir $DPI + + for SVG in svg/*.svg; do + PNG="$DPI/$(basename $SVG | cut -f1 -d '.').png" + convert -density $WIDTH -resize ${WIDTH}x${WIDTH} $SVG png24:$PNG + done + + SCALEFILE="$DPI/battery_scale.png" + SCALEFILES="$(ls $DPI/battery_scale_*.png)" + FRAMES="$(ls -l $SCALEFILES | wc -l)" + SCALEHEIGHT=$(($WIDTH * $FRAMES)) + + convert -size ${WIDTH}x${SCALEHEIGHT} canvas:black $SCALEFILES -fx "u[j%$FRAMES+1].p{i,int(j/$FRAMES)}" png24:$SCALEFILE.tmp + pngcrush -text b "Frames" "$FRAMES" $SCALEFILE.tmp $SCALEFILE + rm $SCALEFILES $SCALEFILE.tmp +done diff --git a/charger/svg/battery_fail.svg b/charger/svg/battery_fail.svg new file mode 100644 index 00000000..f80b074f --- /dev/null +++ b/charger/svg/battery_fail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/charger/svg/battery_scale_00.svg b/charger/svg/battery_scale_00.svg new file mode 100644 index 00000000..4bf3798c --- /dev/null +++ b/charger/svg/battery_scale_00.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/charger/svg/battery_scale_01.svg b/charger/svg/battery_scale_01.svg new file mode 100644 index 00000000..c5fbec4f --- /dev/null +++ b/charger/svg/battery_scale_01.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_02.svg b/charger/svg/battery_scale_02.svg new file mode 100644 index 00000000..b533904b --- /dev/null +++ b/charger/svg/battery_scale_02.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_03.svg b/charger/svg/battery_scale_03.svg new file mode 100644 index 00000000..c147769e --- /dev/null +++ b/charger/svg/battery_scale_03.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_04.svg b/charger/svg/battery_scale_04.svg new file mode 100644 index 00000000..1bb0a693 --- /dev/null +++ b/charger/svg/battery_scale_04.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_05.svg b/charger/svg/battery_scale_05.svg new file mode 100644 index 00000000..929ed577 --- /dev/null +++ b/charger/svg/battery_scale_05.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_06.svg b/charger/svg/battery_scale_06.svg new file mode 100644 index 00000000..d13aea2d --- /dev/null +++ b/charger/svg/battery_scale_06.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_07.svg b/charger/svg/battery_scale_07.svg new file mode 100644 index 00000000..6860f5d2 --- /dev/null +++ b/charger/svg/battery_scale_07.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_08.svg b/charger/svg/battery_scale_08.svg new file mode 100644 index 00000000..346360fc --- /dev/null +++ b/charger/svg/battery_scale_08.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_09.svg b/charger/svg/battery_scale_09.svg new file mode 100644 index 00000000..645ebb15 --- /dev/null +++ b/charger/svg/battery_scale_09.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_10.svg b/charger/svg/battery_scale_10.svg new file mode 100644 index 00000000..9a27608a --- /dev/null +++ b/charger/svg/battery_scale_10.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_11.svg b/charger/svg/battery_scale_11.svg new file mode 100644 index 00000000..ccf1485a --- /dev/null +++ b/charger/svg/battery_scale_11.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_12.svg b/charger/svg/battery_scale_12.svg new file mode 100644 index 00000000..5946ab3f --- /dev/null +++ b/charger/svg/battery_scale_12.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_13.svg b/charger/svg/battery_scale_13.svg new file mode 100644 index 00000000..fa64d390 --- /dev/null +++ b/charger/svg/battery_scale_13.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_14.svg b/charger/svg/battery_scale_14.svg new file mode 100644 index 00000000..1ae78346 --- /dev/null +++ b/charger/svg/battery_scale_14.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_15.svg b/charger/svg/battery_scale_15.svg new file mode 100644 index 00000000..2ad0cda4 --- /dev/null +++ b/charger/svg/battery_scale_15.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_16.svg b/charger/svg/battery_scale_16.svg new file mode 100644 index 00000000..38130aa5 --- /dev/null +++ b/charger/svg/battery_scale_16.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_17.svg b/charger/svg/battery_scale_17.svg new file mode 100644 index 00000000..c09c488f --- /dev/null +++ b/charger/svg/battery_scale_17.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_18.svg b/charger/svg/battery_scale_18.svg new file mode 100644 index 00000000..09507d59 --- /dev/null +++ b/charger/svg/battery_scale_18.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_19.svg b/charger/svg/battery_scale_19.svg new file mode 100644 index 00000000..fd66a719 --- /dev/null +++ b/charger/svg/battery_scale_19.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_20.svg b/charger/svg/battery_scale_20.svg new file mode 100644 index 00000000..5fda9a14 --- /dev/null +++ b/charger/svg/battery_scale_20.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/svg/battery_scale_21.svg b/charger/svg/battery_scale_21.svg new file mode 100644 index 00000000..b540507b --- /dev/null +++ b/charger/svg/battery_scale_21.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/charger/xhdpi/battery_fail.png b/charger/xhdpi/battery_fail.png new file mode 100644 index 00000000..94c87791 Binary files /dev/null and b/charger/xhdpi/battery_fail.png differ diff --git a/charger/xhdpi/battery_scale.png b/charger/xhdpi/battery_scale.png new file mode 100644 index 00000000..6eded503 Binary files /dev/null and b/charger/xhdpi/battery_scale.png differ diff --git a/charger/xxhdpi/battery_fail.png b/charger/xxhdpi/battery_fail.png new file mode 100644 index 00000000..4fd90b6c Binary files /dev/null and b/charger/xxhdpi/battery_fail.png differ diff --git a/charger/xxhdpi/battery_scale.png b/charger/xxhdpi/battery_scale.png new file mode 100644 index 00000000..ab82b38c Binary files /dev/null and b/charger/xxhdpi/battery_scale.png differ diff --git a/charger/xxxhdpi/battery_fail.png b/charger/xxxhdpi/battery_fail.png new file mode 100644 index 00000000..f637dce7 Binary files /dev/null and b/charger/xxxhdpi/battery_fail.png differ diff --git a/charger/xxxhdpi/battery_scale.png b/charger/xxxhdpi/battery_scale.png new file mode 100644 index 00000000..52819b0b Binary files /dev/null and b/charger/xxxhdpi/battery_scale.png differ diff --git a/config/BoardConfigKernel.mk b/config/BoardConfigKernel.mk index 5f7a16c2..e26127a2 100644 --- a/config/BoardConfigKernel.mk +++ b/config/BoardConfigKernel.mk @@ -95,6 +95,7 @@ endif # Needed for CONFIG_COMPAT_VDSO, safe to set for all arm64 builds ifeq ($(KERNEL_ARCH),arm64) KERNEL_CROSS_COMPILE += CROSS_COMPILE_ARM32="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)" + KERNEL_CROSS_COMPILE += CROSS_COMPILE_COMPAT="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)" endif # Clear this first to prevent accidental poisoning from env diff --git a/config/BoardConfigQcom.mk b/config/BoardConfigQcom.mk index 621d1600..70c947db 100644 --- a/config/BoardConfigQcom.mk +++ b/config/BoardConfigQcom.mk @@ -11,7 +11,7 @@ LAHAINA := lahaina #SM8350 B_FAMILY := msm8226 msm8610 msm8974 B64_FAMILY := msm8992 msm8994 BR_FAMILY := msm8909 msm8916 -UM_3_18_FAMILY := msm8937 msm8953 msm8996 +UM_3_18_FAMILY := msm8937 msm8996 UM_4_4_FAMILY := msm8998 sdm660 UM_4_9_FAMILY := sdm845 sdm710 UM_4_14_FAMILY := $(MSMNILE) $(MSMSTEPPE) $(TRINKET) $(ATOLL) @@ -20,8 +20,32 @@ UM_5_4_FAMILY := $(LAHAINA) UM_PLATFORMS := $(UM_3_18_FAMILY) $(UM_4_4_FAMILY) $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY) QSSI_SUPPORTED_PLATFORMS := $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY) +ifeq (,$(TARGET_ENFORCE_QSSI)) +UM_3_18_FAMILY += msm8953 +else +QSSI_SUPPORTED_PLATFORMS += msm8953 +endif + BOARD_USES_ADRENO := true +# Add qtidisplay to soong config namespaces +SOONG_CONFIG_NAMESPACES += qtidisplay + +# Add supported variables to qtidisplay config +SOONG_CONFIG_qtidisplay += \ + drmpp \ + headless \ + llvmsa \ + gralloc4 \ + default + +# Set default values for qtidisplay config +SOONG_CONFIG_qtidisplay_drmpp ?= false +SOONG_CONFIG_qtidisplay_headless ?= false +SOONG_CONFIG_qtidisplay_llvmsa ?= false +SOONG_CONFIG_qtidisplay_gralloc4 ?= false +SOONG_CONFIG_qtidisplay_default ?= true + # UM platforms no longer need this set on O+ ifneq ($(filter $(B_FAMILY) $(B64_FAMILY) $(BR_FAMILY),$(TARGET_BOARD_PLATFORM)),) TARGET_USES_QCOM_BSP := true @@ -51,16 +75,29 @@ endif # Enable DRM PP driver on UM platforms that support it ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),) + SOONG_CONFIG_qtidisplay_drmpp := true TARGET_USES_DRM_PP := true endif -# Mark GRALLOC_USAGE_HW_2D, GRALLOC_USAGE_EXTERNAL_DISP and GRALLOC_USAGE_PRIVATE_WFD as valid gralloc bits +# Enable Gralloc4 on UM platforms that support it +ifneq ($(filter $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),) + SOONG_CONFIG_qtidisplay_gralloc4 := true +endif + TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS ?= 0 -TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 10) + +# Mark GRALLOC_USAGE_HW_2D as valid gralloc bit on legacy platforms that support it +ifneq ($(filter msm8960 msm8952 $(B_FAMILY) $(B64_FAMILY) $(BR_FAMILY),$(TARGET_BOARD_PLATFORM)),) + TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 10) +endif + +# Mark GRALLOC_USAGE_EXTERNAL_DISP as valid gralloc bit TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 13) + +# Mark GRALLOC_USAGE_PRIVATE_WFD as valid gralloc bit TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 21) -# Mark GRALLOC_USAGE_PRIVATE_HEIF_VIDEO as valid gralloc bits on UM platforms that support it +# Mark GRALLOC_USAGE_PRIVATE_HEIF_VIDEO as valid gralloc bit on UM platforms that support it ifneq ($(filter $(UM_4_9_FAMILY) $(UM_4_14_FAMILY) $(UM_4_19_FAMILY) $(UM_5_4_FAMILY),$(TARGET_BOARD_PLATFORM)),) TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS += | (1 << 27) endif diff --git a/config/BoardConfigSoong.mk b/config/BoardConfigSoong.mk index e675ede1..4b98006e 100644 --- a/config/BoardConfigSoong.mk +++ b/config/BoardConfigSoong.mk @@ -34,6 +34,7 @@ SOONG_CONFIG_lineageGlobalVars += \ has_legacy_camera_hal1 \ has_memfd_backport \ ignores_ftp_pptp_conntrack_failure \ + needs_camera_boottime \ needs_netd_direct_connect_rule \ target_init_vendor_lib \ target_inputdispatcher_skip_event_key \ @@ -44,7 +45,7 @@ SOONG_CONFIG_lineageGlobalVars += \ SOONG_CONFIG_NAMESPACES += lineageNvidiaVars SOONG_CONFIG_lineageNvidiaVars += \ - uses_nv_enhancements + uses_nvidia_enhancements SOONG_CONFIG_NAMESPACES += lineageQcomVars SOONG_CONFIG_lineageQcomVars += \ @@ -68,8 +69,9 @@ SOONG_CONFIG_lineageGlobalVars_disable_postrender_cleanup := $(TARGET_DISABLE_PO SOONG_CONFIG_lineageGlobalVars_has_legacy_camera_hal1 := $(TARGET_HAS_LEGACY_CAMERA_HAL1) SOONG_CONFIG_lineageGlobalVars_has_memfd_backport := $(TARGET_HAS_MEMFD_BACKPORT) SOONG_CONFIG_lineageGlobalVars_ignores_ftp_pptp_conntrack_failure := $(TARGET_IGNORES_FTP_PPTP_CONNTRACK_FAILURE) +SOONG_CONFIG_lineageGlobalVars_needs_camera_boottime := $(TARGET_CAMERA_BOOTTIME_TIMESTAMP) SOONG_CONFIG_lineageGlobalVars_needs_netd_direct_connect_rule := $(TARGET_NEEDS_NETD_DIRECT_CONNECT_RULE) -SOONG_CONFIG_lineageNvidiaVars_uses_nv_enhancements := $(NV_ANDROID_FRAMEWORK_ENHANCEMENTS) +SOONG_CONFIG_lineageNvidiaVars_uses_nvidia_enhancements := $(NV_ANDROID_FRAMEWORK_ENHANCEMENTS) SOONG_CONFIG_lineageQcomVars_legacy_hw_disk_encryption := $(TARGET_LEGACY_HW_DISK_ENCRYPTION) SOONG_CONFIG_lineageQcomVars_should_wait_for_qsee := $(TARGET_KEYMASTER_WAIT_FOR_QSEE) SOONG_CONFIG_lineageQcomVars_supports_extended_compress_format := $(AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT) diff --git a/config/common.mk b/config/common.mk index f65e61d2..95be9137 100644 --- a/config/common.mk +++ b/config/common.mk @@ -118,10 +118,6 @@ TARGET_SCREEN_HEIGHT ?= 1920 PRODUCT_PACKAGES += \ bootanimation.zip -# AOSP packages -PRODUCT_PACKAGES += \ - Terminal - # Lineage packages PRODUCT_PACKAGES += \ LineageParts \ @@ -140,9 +136,7 @@ PRODUCT_PACKAGES += \ # Extra tools in Lineage PRODUCT_PACKAGES += \ 7z \ - awk \ bash \ - bzip2 \ curl \ getcap \ htop \ @@ -153,7 +147,6 @@ PRODUCT_PACKAGES += \ setcap \ unrar \ vim \ - wget \ zip # System fonts @@ -163,10 +156,8 @@ PRODUCT_PACKAGES += \ # Filesystems tools PRODUCT_PACKAGES += \ - fsck.exfat \ fsck.ntfs \ mke2fs \ - mkfs.exfat \ mkfs.ntfs \ mount.ntfs @@ -207,7 +198,11 @@ PRODUCT_DEXPREOPT_SPEED_APPS += \ SystemUI PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay -DEVICE_PACKAGE_OVERLAYS += vendor/lineage/overlay/common +PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/common + +# Translations +PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/crowdin/overlay +PRODUCT_PACKAGE_OVERLAYS += vendor/crowdin/overlay PRODUCT_VERSION_MAJOR = 1.7 PRODUCT_VERSION_MINOR = ASTRA @@ -222,6 +217,8 @@ ifeq ($(CIPHER_OFFICIAL), true) CipherShades endif +CIPHER_GAPPS ?= true + # Gapps ifeq ($(CIPHER_GAPPS), true) $(call inherit-product, vendor/gapps/common/common-vendor.mk) diff --git a/config/common_car.mk b/config/common_car.mk new file mode 100644 index 00000000..05c1f5b6 --- /dev/null +++ b/config/common_car.mk @@ -0,0 +1,8 @@ +# Inherit common Lineage stuff +$(call inherit-product, vendor/lineage/config/common.mk) + +# Inherit Lineage car device tree +$(call inherit-product, device/lineage/car/lineage_car.mk) + +# Inherit the main AOSP car makefile that turns this into an Automotive build +$(call inherit-product, packages/services/Car/car_product/build/car.mk) diff --git a/config/common_full_phone.mk b/config/common_full_phone.mk index 224e454e..6ee8da09 100644 --- a/config/common_full_phone.mk +++ b/config/common_full_phone.mk @@ -7,5 +7,6 @@ PRODUCT_PACKAGES += \ # Include Lineage LatinIME dictionaries PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries +PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/dictionaries $(call inherit-product, vendor/lineage/config/telephony.mk) diff --git a/config/common_full_tablet_wifionly.mk b/config/common_full_tablet_wifionly.mk index f75d42a4..53ef8dd9 100644 --- a/config/common_full_tablet_wifionly.mk +++ b/config/common_full_tablet_wifionly.mk @@ -7,3 +7,4 @@ PRODUCT_PACKAGES += \ # Include Lineage LatinIME dictionaries PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/dictionaries +PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += vendor/lineage/overlay/dictionaries diff --git a/config/common_mobile.mk b/config/common_mobile.mk index 37a20e85..3f1a89cf 100644 --- a/config/common_mobile.mk +++ b/config/common_mobile.mk @@ -27,6 +27,11 @@ PRODUCT_PACKAGES += \ AudioFX endif +ifneq ($(TARGET_EXCLUDES_AUDIOFX),true) +PRODUCT_PACKAGES += \ + AudioFX +endif + ifeq ($(PRODUCT_TYPE), go) PRODUCT_PACKAGES += \ TrebuchetQuickStepGo @@ -59,6 +64,11 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ charger_res_images +ifneq ($(WITH_LINEAGE_CHARGER),false) +PRODUCT_PACKAGES += \ + lineage_charger_animation +endif + # Customizations PRODUCT_PACKAGES += \ IconShapeSquareOverlay \ diff --git a/config/common_tv.mk b/config/common_tv.mk index db18f231..69e906d2 100644 --- a/config/common_tv.mk +++ b/config/common_tv.mk @@ -12,4 +12,4 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ LineageCustomizer -DEVICE_PACKAGE_OVERLAYS += vendor/lineage/overlay/tv +PRODUCT_PACKAGE_OVERLAYS += vendor/lineage/overlay/tv diff --git a/overlay/common/external/setupdesign/main/res/values/colors.xml b/overlay/common/external/setupdesign/main/res/values/colors.xml new file mode 100644 index 00000000..5e0863eb --- /dev/null +++ b/overlay/common/external/setupdesign/main/res/values/colors.xml @@ -0,0 +1,21 @@ + + + + + @*android:color/accent_device_default_dark + @*android:color/accent_device_default_light + diff --git a/overlay/common/frameworks/base/core/res/res/drawable-television/default_wallpaper.png b/overlay/common/frameworks/base/core/res/res/drawable-television/default_wallpaper.png new file mode 100644 index 00000000..21b7d763 Binary files /dev/null and b/overlay/common/frameworks/base/core/res/res/drawable-television/default_wallpaper.png differ diff --git a/overlay/common/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml b/overlay/common/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml deleted file mode 100644 index 4eb38e41..00000000 --- a/overlay/common/frameworks/base/core/res/res/values-mcc440-mnc20/config.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - Nexus5 - http://www.google.com/oha/rdf/ua-profile-kila.xml - diff --git a/overlay/common/frameworks/base/core/res/res/values/config.xml b/overlay/common/frameworks/base/core/res/res/values/config.xml index e4243e07..30edbe73 100644 --- a/overlay/common/frameworks/base/core/res/res/values/config.xml +++ b/overlay/common/frameworks/base/core/res/res/values/config.xml @@ -50,6 +50,8 @@ com.android.vending/com.google.android.finsky.systemupdate.SystemUpdateSettingsContentProvider com.android.vending/com.google.android.finsky.systemupdateactivity.SettingsSecurityEntryPoint com.android.vending/com.google.android.finsky.systemupdateactivity.SystemUpdateActivity + com.google.android.gms/com.google.android.gms.update.phone.PopupDialog + com.google.android.gms/com.google.android.gms.update.OtaSuggestionSummaryProvider com.google.android.gms/com.google.android.gms.update.SystemUpdateActivity com.google.android.gms/com.google.android.gms.update.SystemUpdateGcmTaskService com.google.android.gms/com.google.android.gms.update.SystemUpdateService @@ -104,6 +106,11 @@ --> com.google.android.apps.wellbeing + + com.google.android.gms/.kids.account.receiver.ProfileOwnerReceiver + diff --git a/overlay/common/packages/apps/Dialer/java/com/android/voicemail/impl/res/xml/vvm_config.xml b/overlay/common/packages/apps/Dialer/java/com/android/voicemail/impl/res/xml/vvm_config.xml index 93db9e96..dd7f1571 100644 --- a/overlay/common/packages/apps/Dialer/java/com/android/voicemail/impl/res/xml/vvm_config.xml +++ b/overlay/common/packages/apps/Dialer/java/com/android/voicemail/impl/res/xml/vvm_config.xml @@ -20,6 +20,17 @@ + + + + + + + vvm_carrier_flag_el_telecom + + 8860 + vvm_type_omtp_1_3 + @@ -33,7 +44,7 @@ - + vvm_carrier_freedom_ca @@ -41,6 +52,7 @@ vvm_type_omtp vvm_freedom_ca_allows_transcription + mms @@ -74,7 +86,7 @@ - vvm_type_disable + vvm_type_disabled vvm_carrier_flag_27099 @@ -102,6 +114,7 @@ vvm_o2_uk_allows_transcription + enable_reduce_vvm_server_load_o2uk @@ -114,7 +127,7 @@ - vvm_type_disable + vvm_type_disabled vvm_carrier_flag_swisscom_ch @@ -234,7 +247,7 @@ - vvm_type_disable + vvm_type_disabled @@ -267,7 +280,7 @@ - vvm_type_disable + vvm_type_disabled vvm_carrier_flag_302220 @@ -277,7 +290,7 @@ 7723 vvm_type_omtp - + mms @@ -411,6 +424,6 @@ - vvm_type_disable + vvm_type_disabled diff --git a/overlay/tv/frameworks/base/core/res/res/values/config.xml b/overlay/tv/frameworks/base/core/res/res/values/config.xml new file mode 100644 index 00000000..02ac8a34 --- /dev/null +++ b/overlay/tv/frameworks/base/core/res/res/values/config.xml @@ -0,0 +1,27 @@ + + + + + 2 + diff --git a/prebuilt/common/Android.bp b/prebuilt/common/Android.bp index cb5c511f..086b28dd 100644 --- a/prebuilt/common/Android.bp +++ b/prebuilt/common/Android.bp @@ -1,5 +1,6 @@ prebuilt_etc_xml { name: "sensitive_pn.xml", + product_specific: true, src: "etc/sensitive_pn.xml", schema: ":spn-schema", } diff --git a/prebuilt/common/Android.mk b/prebuilt/common/Android.mk index 640c2be6..8c60140c 100644 --- a/prebuilt/common/Android.mk +++ b/prebuilt/common/Android.mk @@ -1,14 +1,5 @@ LOCAL_PATH := $(call my-dir) -# a wrapper for curl which provides wget syntax, for compatibility -include $(CLEAR_VARS) -LOCAL_MODULE := wget -LOCAL_SRC_FILES := bin/wget -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := EXECUTABLES -LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) -include $(BUILD_PREBUILT) - ################################ # Copies the APN list file into $(TARGET_COPY_OUT_PRODUCT)/etc for the product as apns-conf.xml. # In the case where $(CUSTOM_APNS_FILE) is defined, the content of $(CUSTOM_APNS_FILE) diff --git a/prebuilt/common/bin/backuptool.sh b/prebuilt/common/bin/backuptool.sh index 8e9e7322..c814c876 100755 --- a/prebuilt/common/bin/backuptool.sh +++ b/prebuilt/common/bin/backuptool.sh @@ -104,7 +104,7 @@ unmount_system() { } get_block_for_mount_point() { - grep -v "^#" /etc/recovery.fstab | grep " $1 " | tail -n1 | tr -s ' ' | cut -d' ' -f1 + grep -v "^#" /etc/recovery.fstab | grep "[[:blank:]]$1[[:blank:]]" | tail -n1 | tr -s [:blank:] ' ' | cut -d' ' -f1 } find_block() { @@ -171,6 +171,7 @@ case "$1" in mkdir -p $C preserve_addon_d run_stages pre-backup backup post-backup + umount_extra $all_V3_partitions fi unmount_system ;; diff --git a/prebuilt/common/bin/backuptool_ab.sh b/prebuilt/common/bin/backuptool_ab.sh index fd0cdd2d..0a519352 100755 --- a/prebuilt/common/bin/backuptool_ab.sh +++ b/prebuilt/common/bin/backuptool_ab.sh @@ -95,7 +95,7 @@ fi ### Mount helpers ### ##################### get_block_for_mount_point() { - grep -v "^#" /vendor/etc/fstab.$(getprop ro.boot.hardware) | grep " $1 " | tail -n1 | tr -s ' ' | cut -d' ' -f1 + grep -v "^#" /vendor/etc/fstab.$(getprop ro.boot.hardware) | grep "[[:blank:]]$1[[:blank:]]" | tail -n1 | tr -s [:blank:] ' ' | cut -d' ' -f1 } find_block() { @@ -177,6 +177,7 @@ case "$1" in mkdir -p $C preserve_addon_d run_stages pre-backup backup post-backup + umount_extra $all_V3_partitions else cleanup fi diff --git a/prebuilt/common/bin/wget b/prebuilt/common/bin/wget deleted file mode 100755 index 1d04de54..00000000 --- a/prebuilt/common/bin/wget +++ /dev/null @@ -1,184 +0,0 @@ -#!/system/bin/sh -# wget-curl, a curl wrapper acting as a wget drop-in replacement - version git-HEAD -# Usage: wget [wget args] [i need to fill this in later] -# Download all URLs given using curl, but using wget's options. -# -# -# End of help. -# Copyright (c) 2015 Kylie McClain -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -# PERFORMANCE OF THIS SOFTWARE. -# -# End of copyright. -# - -set -o pipefail -shopt -u shift_verbose >/dev/null 2>&1 - -help() { - sed -n '/^#/!d;s/^# //;s/^#//;3,${p;}' "$0" | \ - while IFS= read help_line;do - if [[ "$help_line" == "End of help." ]];then - exit 0 - else - printf "%s\n" "$help_line" - fi - done - exit 0 -} - -version() { - sed 's/^# //;s/, .* - version / /;2q;$!d' "$0" - copyright - exit 0 -} - -copyright() { - sed -n '/^#/!d;s/^# //;s/^#//;/End of help./,${p;}' "$0" | \ - while IFS= read copyright_line;do - if [[ "$copyright_line" == "End of help." ]];then - true - elif [[ "$copyright_line" == "End of copyright." ]];then - break - else - printf '%s\n' "$copyright_line" - fi - done -} - -stderr() { - printf "$@" >&2 -} - -error() { - stderr "$0: $1\n" - exit "$2" -} - -invalid_arg() { - error "invalid option -- '$1'" 2 -} - -append_opt() { - for opt in $@;do - CURL_OPTS="${CURL_OPTS} ${opt}" - done -} - -curl() { - eval "command curl $@ ${CURL_RAW}" -} - -append_raw_arg() { - CURL_RAW="$CURL_RAW $@" -} - -has_opt() { # exit 0 if CURL_OPTS has arg, non-zero if doesn't - if [[ "$CURL_OPTS" == *" $1"* ]];then - return 0 - else - return 1 - fi -} - -reexec_without() { # download afterwards without $1 in OPTS - reexec_args_without="$reexec_args_without $@" - reexec=1 -} - -reexec_only() { - for arg in $@;do - CURL_OPTS_REEXEC_ONLY="${CURL_OPTS_REEXEC_ONLY} $arg" - done -} - -print_url() { - has_opt -s || printf "%s\n" "$1" -} - -# 46ABDFHIKLNOPQRSTUVXabcdhiklm nH nc nd np nv opqrtvwx -while getopts ':46ABDFHIKLNO:PQRST:U:VXa:bcdhiklmopqrtvwx' argument "$@";do - case "$argument" in - # a lot of these are noop right now because they are wget mirror args - # which curl doesn't really do, and i am not sure if i should implement them - 4) append_opt -4 ;; - 6) append_opt -6 ;; - A) true ;; # probably can't implement this easily... - B) true ;; - D) true ;; - E) true ;; - F) true ;; # curl doesn't care what the input is - H) true ;; - I) true ;; - K) true ;; - L) true ;; - N) true ;; - O) append_opt "-o $OPTARG" ;; - P) true ;; - Q) true ;; - R) true ;; - S) append_opt -I;reexec_without -I -s ;; - T) append_opt "-m $OPTARG" ;; - U) append_opt "--user-agent \"$OPTARG\"" ;; - V) version; curl --version; exit 0 ;; - X) true ;; - a) append_raw_arg "2>&1 | tee -a $OPTARG" ;; - b) - wget_log="wget-log" - i=1 - while [[ -f "${wget_log}" ]];do - # if that exists, increment until we find something that doesn't - i=$(($i+1)) - wget_log="wget-log.${i}" - done - append_raw_arg ">\"$wget_log\" 2>&1 &" - printf "Continuing in background, pid %s.\nOutput will be written to '$wget_log'.\n" "$$" - ;; - c) append_opt "-C -" ;; - d) append_opt "-v" ;; - e) true ;; - h) help ;; - i) - [[ ! -f "$OPTARG" ]] && error "$OPTARG does not exist" 3 - for url in $(<"$OPTARG");do - URLS=( ${URLS[@]} "$url" ) - done - ;; - q) append_opt "-s" ;; - esac - shift $(($OPTIND-1)) -done - -# set wget default equivilants -append_opt -L # follow redirects -append_opt -# # progress bar - -if [[ -z "${URLS[@]}" ]];then - URLS=( ${@} ) -fi - -for url in ${URLS[@]};do - url_file=${url##*/} - if [[ "$url" == "$url_file" ]];then - # has no remote file name and -o is not in CURL_OPTS... assume index.html - has_opt -o || append_opt "-o index.html" - fi - - eval "print_url '$url';curl ${CURL_OPTS} -- $url" - if [[ "$reexec" ]];then - for reexec_arg in ${reexec_args_without};do - CURL_OPTS_REEXEC=$(echo "${CURL_OPTS_REEXEC:-$CURL_OPTS}" | sed "s# $reexec_arg##") - done - eval "print_url '$url';curl ${CURL_OPTS_REEXEC} ${CURL_OPTS_REEXEC_ONLY} -- $url" - fi -done diff --git a/prebuilt/common/bootanimation/LICENSE b/prebuilt/common/bootanimation/LICENSE index e6e904ce..974d1f94 100644 --- a/prebuilt/common/bootanimation/LICENSE +++ b/prebuilt/common/bootanimation/LICENSE @@ -1,9 +1,9 @@ MIT License -Copyright (c) 2020-2021 CipherOS Project -Copyright (c) 2021 Anurag Reddy +Copyright (c) 2020-2023 CipherOS Project +Copyright (c) kerichdev -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Bootanimation must NOT be used without prior permission of Authors. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. diff --git a/prebuilt/common/bootanimation/bootanimation-1080.zip b/prebuilt/common/bootanimation/bootanimation-1080.zip index 6a783010..bbc95509 100644 Binary files a/prebuilt/common/bootanimation/bootanimation-1080.zip and b/prebuilt/common/bootanimation/bootanimation-1080.zip differ diff --git a/prebuilt/common/bootanimation/bootanimation-1440.zip b/prebuilt/common/bootanimation/bootanimation-1440.zip index 2d7a01d6..bbc95509 100644 Binary files a/prebuilt/common/bootanimation/bootanimation-1440.zip and b/prebuilt/common/bootanimation/bootanimation-1440.zip differ diff --git a/prebuilt/common/bootanimation/bootanimation-720.zip b/prebuilt/common/bootanimation/bootanimation-720.zip index f266b979..bbc95509 100644 Binary files a/prebuilt/common/bootanimation/bootanimation-720.zip and b/prebuilt/common/bootanimation/bootanimation-720.zip differ diff --git a/prebuilt/common/etc/apns-conf.xml b/prebuilt/common/etc/apns-conf.xml index d6e27179..904c00e8 100644 --- a/prebuilt/common/etc/apns-conf.xml +++ b/prebuilt/common/etc/apns-conf.xml @@ -2,6 +2,7 @@ + @@ -50,7 +52,7 @@ - + @@ -69,18 +71,18 @@ - - + + - + - - + + @@ -123,15 +125,15 @@ - - - - - - - + + + + + + + - + @@ -148,7 +150,7 @@ - + @@ -160,20 +162,20 @@ - - - - - - - - - - + + + + + + + + + + - - - + + + @@ -240,7 +242,7 @@ - + @@ -329,7 +331,7 @@ - + @@ -407,8 +409,8 @@ - - + + @@ -556,7 +558,7 @@ - + @@ -605,16 +607,15 @@ - - + - + - + @@ -630,18 +631,18 @@ - + - + - + - + @@ -655,7 +656,7 @@ - + @@ -678,7 +679,7 @@ - + @@ -724,7 +725,7 @@ - + @@ -744,14 +745,12 @@ - - - - + + - + @@ -802,8 +801,8 @@ - - + + @@ -1130,8 +1129,8 @@ - - + + @@ -1191,9 +1190,9 @@ - + - + @@ -1201,9 +1200,9 @@ - + - + @@ -3079,62 +3078,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3142,15 +3137,8 @@ - - - - - - - - - + + @@ -3218,6 +3206,7 @@ + @@ -3225,7 +3214,7 @@ - + @@ -3332,19 +3321,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/prebuilt/common/etc/init/lineage-radio.rc b/prebuilt/common/etc/init/lineage-radio.rc deleted file mode 100644 index 22f1e64d..00000000 --- a/prebuilt/common/etc/init/lineage-radio.rc +++ /dev/null @@ -1,12 +0,0 @@ -# Disable ril services if noril prop is set -on property:ro.radio.noril=1 - stop ims_rtp_daemon - stop imsdatadaemon - stop imsqmidaemon - stop imsrcsservice - stop ril-daemon - stop qmuxd - stop netmgrd - -on property:persist.radio.noril=1 - setprop ro.radio.noril 1 diff --git a/product/nvidia.mk b/product/nvidia.mk new file mode 100644 index 00000000..5ae815d0 --- /dev/null +++ b/product/nvidia.mk @@ -0,0 +1,18 @@ +# 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. + +# Baseline Nvidia framework enhancements +# Includes support for: +# 1) NvCPL / Application Profiles +NV_ANDROID_FRAMEWORK_ENHANCEMENTS := true diff --git a/tools/custom_apns.py b/tools/custom_apns.py index b58ece1b..0de116ee 100644 --- a/tools/custom_apns.py +++ b/tools/custom_apns.py @@ -34,7 +34,7 @@ def main(argv): for line in f: xmltree = parseString(line) carrier = xmltree.getElementsByTagName('apn')[0].getAttribute('carrier') - custom_apn_names.append(carrier) + custom_apn_names.append('"' + carrier + '"') with open(original_file, 'r') as input_file: with open(output_file_path, 'w') as output_file: