From feb0e4bf2a1d1d72858475f30911476b250a4972 Mon Sep 17 00:00:00 2001 From: Andy CrossGate Yan Date: Mon, 13 Apr 2020 11:48:05 +0000 Subject: [PATCH] Major overhaul More automation, less manual steps Credits to @Magendanz for many of the ideas! --- README.md | 27 ++ buildbot_treble.sh | 107 ++++++ manifest.xml | 9 + ...0001-Disable-vendor-mismatch-warning.patch | 28 ++ ...0001-Header-hack-to-compile-for-8974.patch | 312 ++++++++++++++++++ ...ase-system-partition-size-for-arm_ab.patch | 24 ++ ...1-Keyguard-Show-shortcuts-by-default.patch | 30 ++ ...Invert-per-app-stretch-to-fullscreen.patch | 87 +++++ patches/0001-Remove-fsck-SELinux-labels.patch | 29 ++ ...rt-Enable-dyanmic-image-size-for-GSI.patch | 226 +++++++++++++ ...ong-Disable-generated_kernel_headers.patch | 42 +++ .../0001-core-Add-support-for-MicroG.patch | 106 ++++++ ...Invert-per-app-stretch-to-fullscreen.patch | 26 ++ patches/0001-treble-Add-overlay-lineage.patch | 117 +++++++ ...ecify-config_wallpaperCropperPackage.patch | 25 ++ ...og-privapp-permissions-whitelist-vio.patch | 30 ++ 16 files changed, 1225 insertions(+) create mode 100644 README.md create mode 100644 buildbot_treble.sh create mode 100644 manifest.xml create mode 100644 patches/0001-Disable-vendor-mismatch-warning.patch create mode 100644 patches/0001-Header-hack-to-compile-for-8974.patch create mode 100644 patches/0001-Increase-system-partition-size-for-arm_ab.patch create mode 100644 patches/0001-Keyguard-Show-shortcuts-by-default.patch create mode 100644 patches/0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch create mode 100644 patches/0001-Remove-fsck-SELinux-labels.patch create mode 100644 patches/0001-Revert-Enable-dyanmic-image-size-for-GSI.patch create mode 100644 patches/0001-build_soong-Disable-generated_kernel_headers.patch create mode 100644 patches/0001-core-Add-support-for-MicroG.patch create mode 100644 patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch create mode 100644 patches/0001-treble-Add-overlay-lineage.patch create mode 100644 patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch create mode 100644 patches/0001-vendor_lineage-Log-privapp-permissions-whitelist-vio.patch diff --git a/README.md b/README.md new file mode 100644 index 0000000..463aea6 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ + +## Building PHH-based LineageOS GSIs ## + +To get started with building LineageOS GSI, you'll need to get familiar with [Git and Repo](https://source.android.com/source/using-repo.html) as well as [How to build a GSI](https://github.com/phhusson/treble_experimentations/wiki/How-to-build-a-GSI%3F). + +First, open a new Terminal window, which defaults to your home directory. Clone the modified treble_experimentations repo there: + + git clone https://github.com/AndyCGYan/treble_experimentations + +Create a new working directory for your LineageOS build and navigate to it: + + mkdir lineage-16.x-build-gsi; cd lineage-16.x-build-gsi + +Initialize your LineageOS workspace: + + repo init -u https://github.com/LineageOS/android.git -b lineage-16.0 + +Clone the modified treble patches and this repo: + + git clone https://github.com/AndyCGYan/treble_patches -b lineage-16.0 + git clone https://github.com/AndyCGYan/treble_build_los -b lineage-16.0 + +Finally, start the build script: + + bash treble_build_los/buildbot_treble.sh + +Be sure to update the cloned repos from time to time! \ No newline at end of file diff --git a/buildbot_treble.sh b/buildbot_treble.sh new file mode 100644 index 0000000..3dc9a27 --- /dev/null +++ b/buildbot_treble.sh @@ -0,0 +1,107 @@ +#!/bin/bash +echo "" +echo "LineageOS 16.x Treble Buildbot" +echo "ATTENTION: this script syncs repo on each run" +echo "Executing in 5 seconds - CTRL-C to exit" +echo "" +sleep 5 + +START=`date +%s` +BUILD_DATE="$(date +%Y%m%d)" +BL=$PWD/treble_build_los + +echo "Preparing local manifest" +mkdir -p .repo/local_manifests +cp $BL/manifest.xml .repo/local_manifests/manifest.xml +echo "" + +echo "Syncing repos" +repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all) +echo "" + +echo "Setting up build environment" +source build/envsetup.sh &> /dev/null +echo "" + +echo "Applying PHH patches" +cd frameworks/base +git revert e0a5469cf5a2345fae7e81d16d717d285acd3a6e --no-edit # FODCircleView: defer removal to next re-layout +git revert 817541a8353014e40fa07a1ee27d9d2f35ea2c16 --no-edit # Initial support for in-display fingerprint sensors +cd ../.. +rm -f device/*/sepolicy/common/private/genfs_contexts +cd device/phh/treble +git clean -fdx +bash generate.sh lineage +cd ../../.. +bash ~/treble_experimentations/apply-patches.sh treble_patches +echo "" + +echo "Applying universal patches" +cd frameworks/base +git am $BL/patches/0001-Disable-vendor-mismatch-warning.patch +git am $BL/patches/0001-Keyguard-Show-shortcuts-by-default.patch +git am $BL/patches/0001-core-Add-support-for-MicroG.patch +cd ../.. +cd lineage-sdk +git am $BL/patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch +cd .. +cd packages/apps/LineageParts +git am $BL/patches/0001-LineageParts-Invert-per-app-stretch-to-fullscreen.patch +cd ../../.. +cd vendor/lineage +git am $BL/patches/0001-vendor_lineage-Log-privapp-permissions-whitelist-vio.patch +cd ../.. +echo "" + +echo "Applying GSI-specific patches" +cd build/make +git am $BL/patches/0001-Revert-Enable-dyanmic-image-size-for-GSI.patch +cd ../.. +cd device/phh/treble +git revert 82b15278bad816632dcaeaed623b569978e9840d --no-edit # Update lineage.mk for LineageOS 16.0 +git am $BL/patches/0001-Remove-fsck-SELinux-labels.patch +git am $BL/patches/0001-treble-Add-overlay-lineage.patch +git am $BL/patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch +git am $BL/patches/0001-Increase-system-partition-size-for-arm_ab.patch +cd ../../.. +cd external/tinycompress +git revert fbe2bd5c3d670234c3c92f875986acc148e6d792 --no-edit # tinycompress: Use generated kernel headers +cd ../.. +cd vendor/lineage +git am $BL/patches/0001-build_soong-Disable-generated_kernel_headers.patch +cd ../.. +cd vendor/qcom/opensource/cryptfs_hw +git revert 6a3fc11bcc95d1abebb60e5d714adf75ece83102 --no-edit # cryptfs_hw: Use generated kernel headers +git am $BL/patches/0001-Header-hack-to-compile-for-8974.patch +cd ../../../.. +echo "" + +echo "CHECK PATCH STATUS NOW!" +sleep 5 +echo "" + +export WITHOUT_CHECK_API=true +export WITH_SU=true +mkdir -p ~/build-output/ + +buildVariant() { + lunch ${1}-userdebug + make installclean + make -j$(nproc --all) systemimage + make vndk-test-sepolicy + mv $OUT/system.img ~/build-output/lineage-16.0-$BUILD_DATE-UNOFFICIAL-${1}.img +} + +buildVariant treble_arm_avN +buildVariant treble_arm_bvN +buildVariant treble_a64_avN +buildVariant treble_a64_bvN +buildVariant treble_arm64_avN +buildVariant treble_arm64_bvN +ls ~/build-output | grep 'lineage' + +END=`date +%s` +ELAPSEDM=$(($(($END-$START))/60)) +ELAPSEDS=$(($(($END-$START))-$ELAPSEDM*60)) +echo "Buildbot completed in $ELAPSEDM minutes and $ELAPSEDS seconds" +echo "" diff --git a/manifest.xml b/manifest.xml new file mode 100644 index 0000000..969f681 --- /dev/null +++ b/manifest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/patches/0001-Disable-vendor-mismatch-warning.patch b/patches/0001-Disable-vendor-mismatch-warning.patch new file mode 100644 index 0000000..3f21e41 --- /dev/null +++ b/patches/0001-Disable-vendor-mismatch-warning.patch @@ -0,0 +1,28 @@ +From 7cb0be20c75a47e2f8b5849bc3d8485222bcafbe Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Thu, 5 Apr 2018 10:01:19 +0800 +Subject: [PATCH] Disable vendor mismatch warning + +Change-Id: Ieb8fe91e2f02462f074312ed0f4885d183e9780b +--- + services/core/java/com/android/server/am/ActivityManagerService.java | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java +index 7274c80..0d1a92f 100644 +--- a/services/core/java/com/android/server/am/ActivityManagerService.java ++++ b/services/core/java/com/android/server/am/ActivityManagerService.java +@@ -14356,8 +14356,8 @@ public class ActivityManagerService extends IActivityManager.Stub + } + + if (!Build.isBuildConsistent()) { +- Slog.e(TAG, "Build fingerprint is not consistent, warning user"); +- mUiHandler.obtainMessage(SHOW_FINGERPRINT_ERROR_UI_MSG).sendToTarget(); ++ Slog.e(TAG, "Build fingerprint is not consistent"); ++ // Do not emit warning about vendor mismatch + } + + long ident = Binder.clearCallingIdentity(); +-- +2.7.4 + diff --git a/patches/0001-Header-hack-to-compile-for-8974.patch b/patches/0001-Header-hack-to-compile-for-8974.patch new file mode 100644 index 0000000..c3d6533 --- /dev/null +++ b/patches/0001-Header-hack-to-compile-for-8974.patch @@ -0,0 +1,312 @@ +From 648f554499f29980f450a231a94945d245c7ae5c Mon Sep 17 00:00:00 2001 +From: Michael Bestas +Date: Sat, 1 Sep 2018 14:56:27 +0300 +Subject: [PATCH] Header hack to compile for 8974 + +Change-Id: Ib8d70bb2499a147506d896ebd54e5aa45fe76f2e +--- + Android.bp | 3 +- + cryptfs_hw.c | 2 +- + qseecom.h | 263 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 265 insertions(+), 3 deletions(-) + create mode 100644 qseecom.h + +diff --git a/Android.bp b/Android.bp +index abbe407..d40e884 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -10,8 +10,7 @@ commonSharedLibraries = [ + + cc_library_shared { + name: "libcryptfs_hw", +- header_libs: ["qseecom-kernel-headers", +- "libhardware_headers"], ++ header_libs: ["libhardware_headers"], + cflags: ["-DCONFIG_HW_DISK_ENCRYPTION"], + srcs: sourceFiles, + shared_libs: commonSharedLibraries, +diff --git a/cryptfs_hw.c b/cryptfs_hw.c +index 482e28b..fbde52f 100644 +--- a/cryptfs_hw.c ++++ b/cryptfs_hw.c +@@ -37,7 +37,7 @@ + #include + #include + #include +-#include ++#include "qseecom.h" + #include + #include + #include "cutils/log.h" +diff --git a/qseecom.h b/qseecom.h +new file mode 100644 +index 0000000..b63b36e +--- /dev/null ++++ b/qseecom.h +@@ -0,0 +1,263 @@ ++#ifndef __QSEECOM_H_ ++#define __QSEECOM_H_ ++ ++#include ++#include ++ ++#define MAX_ION_FD 4 ++#define MAX_APP_NAME_SIZE 32 ++#define QSEECOM_HASH_SIZE 32 ++/* ++ * struct qseecom_register_listener_req - ++ * for register listener ioctl request ++ * @listener_id - service id (shared between userspace and QSE) ++ * @ifd_data_fd - ion handle ++ * @virt_sb_base - shared buffer base in user space ++ * @sb_size - shared buffer size ++ */ ++struct qseecom_register_listener_req { ++ uint32_t listener_id; /* in */ ++ int32_t ifd_data_fd; /* in */ ++ uint32_t virt_sb_base; /* in */ ++ uint32_t sb_size; /* in */ ++}; ++ ++/* ++ * struct qseecom_send_cmd_req - for send command ioctl request ++ * @cmd_req_len - command buffer length ++ * @cmd_req_buf - command buffer ++ * @resp_len - response buffer length ++ * @resp_buf - response buffer ++ */ ++struct qseecom_send_cmd_req { ++ void *cmd_req_buf; /* in */ ++ unsigned int cmd_req_len; /* in */ ++ void *resp_buf; /* in/out */ ++ unsigned int resp_len; /* in/out */ ++}; ++ ++/* ++ * struct qseecom_ion_fd_info - ion fd handle data information ++ * @fd - ion handle to some memory allocated in user space ++ * @cmd_buf_offset - command buffer offset ++ */ ++struct qseecom_ion_fd_info { ++ int32_t fd; ++ uint32_t cmd_buf_offset; ++}; ++/* ++ * struct qseecom_send_modfd_cmd_req - for send command ioctl request ++ * @cmd_req_len - command buffer length ++ * @cmd_req_buf - command buffer ++ * @resp_len - response buffer length ++ * @resp_buf - response buffer ++ * @ifd_data_fd - ion handle to memory allocated in user space ++ * @cmd_buf_offset - command buffer offset ++ */ ++struct qseecom_send_modfd_cmd_req { ++ void *cmd_req_buf; /* in */ ++ unsigned int cmd_req_len; /* in */ ++ void *resp_buf; /* in/out */ ++ unsigned int resp_len; /* in/out */ ++ struct qseecom_ion_fd_info ifd_data[MAX_ION_FD]; ++}; ++ ++/* ++ * struct qseecom_listener_send_resp_req - signal to continue the send_cmd req. ++ * Used as a trigger from HLOS service to notify QSEECOM that it's done with its ++ * operation and provide the response for QSEECOM can continue the incomplete ++ * command execution ++ * @resp_len - Length of the response ++ * @resp_buf - Response buffer where the response of the cmd should go. ++ */ ++struct qseecom_send_resp_req { ++ void *resp_buf; /* in */ ++ unsigned int resp_len; /* in */ ++}; ++ ++/* ++ * struct qseecom_load_img_data - for sending image length information and ++ * ion file descriptor to the qseecom driver. ion file descriptor is used ++ * for retrieving the ion file handle and in turn the physical address of ++ * the image location. ++ * @mdt_len - Length of the .mdt file in bytes. ++ * @img_len - Length of the .mdt + .b00 +..+.bxx images files in bytes ++ * @ion_fd - Ion file descriptor used when allocating memory. ++ * @img_name - Name of the image. ++*/ ++struct qseecom_load_img_req { ++ uint32_t mdt_len; /* in */ ++ uint32_t img_len; /* in */ ++ int32_t ifd_data_fd; /* in */ ++ char img_name[MAX_APP_NAME_SIZE]; /* in */ ++ int app_id; /* out*/ ++}; ++ ++struct qseecom_set_sb_mem_param_req { ++ int32_t ifd_data_fd; /* in */ ++ uint32_t virt_sb_base; /* in */ ++ uint32_t sb_len; /* in */ ++}; ++ ++/* ++ * struct qseecom_qseos_version_req - get qseos version ++ * @qseos_version - version number ++ */ ++struct qseecom_qseos_version_req { ++ unsigned int qseos_version; /* in */ ++}; ++ ++/* ++ * struct qseecom_qseos_app_load_query - verify if app is loaded in qsee ++ * @app_name[MAX_APP_NAME_SIZE]- name of the app. ++ * @app_id - app id. ++ */ ++struct qseecom_qseos_app_load_query { ++ char app_name[MAX_APP_NAME_SIZE]; /* in */ ++ int app_id; /* out */ ++}; ++ ++struct qseecom_send_svc_cmd_req { ++ uint32_t cmd_id; ++ void *cmd_req_buf; /* in */ ++ unsigned int cmd_req_len; /* in */ ++ void *resp_buf; /* in/out */ ++ unsigned int resp_len; /* in/out */ ++}; ++ ++enum qseecom_key_management_usage_type { ++ QSEOS_KM_USAGE_DISK_ENCRYPTION = 0x01, ++ QSEOS_KM_USAGE_FILE_ENCRYPTION = 0x02, ++ QSEOS_KM_USAGE_MAX ++}; ++ ++struct qseecom_create_key_req { ++ unsigned char hash32[QSEECOM_HASH_SIZE]; ++ enum qseecom_key_management_usage_type usage; ++}; ++ ++struct qseecom_wipe_key_req { ++ enum qseecom_key_management_usage_type usage; ++ int wipe_key_flag;/* 1->remove key from storage(alone with clear key) */ ++ /* 0->do not remove from storage (clear key) */ ++}; ++ ++struct qseecom_update_key_userinfo_req { ++ unsigned char current_hash32[QSEECOM_HASH_SIZE]; ++ unsigned char new_hash32[QSEECOM_HASH_SIZE]; ++ enum qseecom_key_management_usage_type usage; ++}; ++ ++#define SHA256_DIGEST_LENGTH (256/8) ++/* ++ * struct qseecom_save_partition_hash_req ++ * @partition_id - partition id. ++ * @hash[SHA256_DIGEST_LENGTH] - sha256 digest. ++ */ ++struct qseecom_save_partition_hash_req { ++ int partition_id; /* in */ ++ char digest[SHA256_DIGEST_LENGTH]; /* in */ ++}; ++ ++/* ++ * struct qseecom_is_es_activated_req ++ * @is_activated - 1=true , 0=false ++ */ ++struct qseecom_is_es_activated_req { ++ int is_activated; /* out */ ++}; ++ ++ ++enum qseecom_bandwidth_request_mode { ++ INACTIVE = 0, ++ LOW, ++ MEDIUM, ++ HIGH, ++}; ++ ++/* ++ * struct qseecom_send_modfd_resp - for send command ioctl request ++ * @req_len - command buffer length ++ * @req_buf - command buffer ++ * @ifd_data_fd - ion handle to memory allocated in user space ++ * @cmd_buf_offset - command buffer offset ++ */ ++struct qseecom_send_modfd_listener_resp { ++ void *resp_buf_ptr; /* in */ ++ unsigned int resp_len; /* in */ ++ struct qseecom_ion_fd_info ifd_data[MAX_ION_FD]; /* in */ ++}; ++ ++#define QSEECOM_IOC_MAGIC 0x97 ++ ++ ++#define QSEECOM_IOCTL_REGISTER_LISTENER_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 1, struct qseecom_register_listener_req) ++ ++#define QSEECOM_IOCTL_UNREGISTER_LISTENER_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 2) ++ ++#define QSEECOM_IOCTL_SEND_CMD_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 3, struct qseecom_send_cmd_req) ++ ++#define QSEECOM_IOCTL_SEND_MODFD_CMD_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 4, struct qseecom_send_modfd_cmd_req) ++ ++#define QSEECOM_IOCTL_RECEIVE_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 5) ++ ++#define QSEECOM_IOCTL_SEND_RESP_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 6) ++ ++#define QSEECOM_IOCTL_LOAD_APP_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 7, struct qseecom_load_img_req) ++ ++#define QSEECOM_IOCTL_SET_MEM_PARAM_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 8, struct qseecom_set_sb_mem_param_req) ++ ++#define QSEECOM_IOCTL_UNLOAD_APP_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 9) ++ ++#define QSEECOM_IOCTL_GET_QSEOS_VERSION_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 10, struct qseecom_qseos_version_req) ++ ++#define QSEECOM_IOCTL_PERF_ENABLE_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 11) ++ ++#define QSEECOM_IOCTL_PERF_DISABLE_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 12) ++ ++#define QSEECOM_IOCTL_LOAD_EXTERNAL_ELF_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 13, struct qseecom_load_img_req) ++ ++#define QSEECOM_IOCTL_UNLOAD_EXTERNAL_ELF_REQ \ ++ _IO(QSEECOM_IOC_MAGIC, 14) ++ ++#define QSEECOM_IOCTL_APP_LOADED_QUERY_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 15, struct qseecom_qseos_app_load_query) ++ ++#define QSEECOM_IOCTL_SEND_CMD_SERVICE_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 16, struct qseecom_send_svc_cmd_req) ++ ++#define QSEECOM_IOCTL_CREATE_KEY_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 17, struct qseecom_create_key_req) ++ ++#define QSEECOM_IOCTL_WIPE_KEY_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 18, struct qseecom_wipe_key_req) ++ ++#define QSEECOM_IOCTL_SAVE_PARTITION_HASH_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 19, struct qseecom_save_partition_hash_req) ++ ++#define QSEECOM_IOCTL_IS_ES_ACTIVATED_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 20, struct qseecom_is_es_activated_req) ++ ++#define QSEECOM_IOCTL_SEND_MODFD_RESP \ ++ _IOWR(QSEECOM_IOC_MAGIC, 21, struct qseecom_send_modfd_listener_resp) ++ ++#define QSEECOM_IOCTL_SET_BUS_SCALING_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 23, int) ++ ++#define QSEECOM_IOCTL_UPDATE_KEY_USER_INFO_REQ \ ++ _IOWR(QSEECOM_IOC_MAGIC, 24, struct qseecom_update_key_userinfo_req) ++ ++#endif /* __QSEECOM_H_ */ +-- +2.7.4 + diff --git a/patches/0001-Increase-system-partition-size-for-arm_ab.patch b/patches/0001-Increase-system-partition-size-for-arm_ab.patch new file mode 100644 index 0000000..8094981 --- /dev/null +++ b/patches/0001-Increase-system-partition-size-for-arm_ab.patch @@ -0,0 +1,24 @@ +From 037c36f36b8f71bd2001c30285bcfcd6523973b0 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Wed, 4 Sep 2019 01:37:30 +0000 +Subject: [PATCH] Increase system partition size for arm_ab + +Change-Id: I3ac099dd64624ec27c5fb64ce3fa3a9e500402e5 +--- + phhgsi_arm_ab/BoardConfig.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/phhgsi_arm_ab/BoardConfig.mk b/phhgsi_arm_ab/BoardConfig.mk +index 18aaace..5726959 100644 +--- a/phhgsi_arm_ab/BoardConfig.mk ++++ b/phhgsi_arm_ab/BoardConfig.mk +@@ -2,5 +2,5 @@ include build/make/target/board/generic_arm_ab/BoardConfig.mk + include device/phh/treble/board-base.mk + + ifeq ($(BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE),) +-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1313583104 + endif +-- +2.17.1 + diff --git a/patches/0001-Keyguard-Show-shortcuts-by-default.patch b/patches/0001-Keyguard-Show-shortcuts-by-default.patch new file mode 100644 index 0000000..f117988 --- /dev/null +++ b/patches/0001-Keyguard-Show-shortcuts-by-default.patch @@ -0,0 +1,30 @@ +From 5629fd17b7498c753bc7194fdb6e05000a72a5a7 Mon Sep 17 00:00:00 2001 +From: AndyCGYan +Date: Thu, 27 Dec 2018 16:38:19 +0800 +Subject: [PATCH] Keyguard: Show shortcuts by default + +Change-Id: I5655e0be26cec61214735719dffcda810286cd41 +--- + packages/SystemUI/res/values/config.xml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml +index ce7f929..a61bce3 100644 +--- a/packages/SystemUI/res/values/config.xml ++++ b/packages/SystemUI/res/values/config.xml +@@ -74,10 +74,10 @@ + 20 + + +- false ++ true + + +- false ++ true + + +- Full screen apps +- Force legacy apps to use full screen aspect ratio ++ Disable stretch-to-fullscreen ++ Prevent selected apps from utilizing stretch-to-fullscreen + + + Charging sounds +diff --git a/res/xml/long_screen_prefs.xml b/res/xml/long_screen_prefs.xml +index ec947fa..20da90a 100644 +--- a/res/xml/long_screen_prefs.xml ++++ b/res/xml/long_screen_prefs.xml +@@ -18,6 +18,6 @@ + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:lineage="http://schemas.android.com/apk/res/org.lineageos.lineageparts" + android:key="long_screen_settings" +- android:title="@string/long_screen_settings_title"> ++ android:title="@string/inverse_long_screen_settings_title"> + + +diff --git a/res/xml/parts_catalog.xml b/res/xml/parts_catalog.xml +index 2ad4fdb..4bc2c5a 100644 +--- a/res/xml/parts_catalog.xml ++++ b/res/xml/parts_catalog.xml +@@ -102,8 +102,8 @@ + lineage:xmlRes="@xml/expanded_desktop_prefs" /> + + + +diff --git a/src/org/lineageos/lineageparts/applications/LongScreenSettings.java b/src/org/lineageos/lineageparts/applications/LongScreenSettings.java +index 782e33e..3aa6320 100644 +--- a/src/org/lineageos/lineageparts/applications/LongScreenSettings.java ++++ b/src/org/lineageos/lineageparts/applications/LongScreenSettings.java +@@ -245,7 +245,7 @@ public class LongScreenSettings extends SettingsPreferenceFragment + mApplicationsState.ensureIcon(entry); + holder.icon.setImageDrawable(entry.icon); + holder.state.setTag(entry); +- holder.state.setChecked(mLongScreen.shouldForceLongScreen(entry.info.packageName)); ++ holder.state.setChecked(!(mLongScreen.shouldForceLongScreen(entry.info.packageName))); + return holder.rootView; + } + +-- +2.7.4 + diff --git a/patches/0001-Remove-fsck-SELinux-labels.patch b/patches/0001-Remove-fsck-SELinux-labels.patch new file mode 100644 index 0000000..f19fbcc --- /dev/null +++ b/patches/0001-Remove-fsck-SELinux-labels.patch @@ -0,0 +1,29 @@ +From d922de7e988db91e16f0d9c15b5589026e7bc11c Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Wed, 23 Oct 2019 09:38:16 +0000 +Subject: [PATCH] Remove fsck SELinux labels + +These are covered by LOS sepolicy + +Change-Id: I7c63c9aed39afc07b8c80918053154113f848cd9 +--- + sepolicy/file_contexts | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts +index 1160738..a29bd32 100644 +--- a/sepolicy/file_contexts ++++ b/sepolicy/file_contexts +@@ -4,8 +4,5 @@ + /system/bin/rw-system.sh u:object_r:phhsu_exec:s0 + /system/bin/phh-on-boot.sh u:object_r:phhsu_exec:s0 + +-/system/bin/fsck\.exfat u:object_r:fsck_exec:s0 +-/system/bin/fsck\.ntfs u:object_r:fsck_exec:s0 +- + /sec_storage(/.*)? u:object_r:teecd_data_file:s0 + /dev/dsm u:object_r:dmd_device:s0 + +-- +2.17.1 + diff --git a/patches/0001-Revert-Enable-dyanmic-image-size-for-GSI.patch b/patches/0001-Revert-Enable-dyanmic-image-size-for-GSI.patch new file mode 100644 index 0000000..027af7d --- /dev/null +++ b/patches/0001-Revert-Enable-dyanmic-image-size-for-GSI.patch @@ -0,0 +1,226 @@ +From fb17ff0c8ac4a23c36cdde42797795f36a20bc58 Mon Sep 17 00:00:00 2001 +From: AndyCGYan +Date: Mon, 15 Jul 2019 10:39:08 +0000 +Subject: [PATCH] Revert "Enable dyanmic image size for GSI" + +This reverts commit b9acd8b4f49d710b4dae2c73ac8e919589f76d44. +--- + target/board/BoardConfigGsiCommon.mk | 3 --- + target/board/generic/BoardConfig.mk | 2 ++ + target/board/generic_arm64/BoardConfig.mk | 2 ++ + target/board/generic_arm_a/BoardConfig.mk | 3 +++ + target/board/generic_arm_ab/BoardConfig.mk | 3 +++ + target/board/generic_x86/BoardConfig.mk | 1 + + target/board/generic_x86_64/BoardConfig.mk | 1 + + target/board/treble_common.mk | 3 --- + target/board/treble_common_32.mk | 4 ++++ + target/board/treble_common_64.mk | 3 +++ + target/product/aosp_arm.mk | 3 --- + target/product/aosp_arm64.mk | 3 --- + target/product/aosp_x86.mk | 3 --- + target/product/aosp_x86_64.mk | 3 --- + target/product/treble_common.mk | 3 --- + 15 files changed, 19 insertions(+), 21 deletions(-) + +diff --git a/target/board/BoardConfigGsiCommon.mk b/target/board/BoardConfigGsiCommon.mk +index bbc9a3639..97420e14b 100644 +--- a/target/board/BoardConfigGsiCommon.mk ++++ b/target/board/BoardConfigGsiCommon.mk +@@ -10,9 +10,6 @@ TARGET_USERIMAGES_USE_EXT4 := true + # we explicit specify this need below (even though it's the current default). + TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false + +-# Enable dyanmic system image size and reserved 64MB in it. +-BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 +- + # Android Verified Boot (AVB): + # 1) Sets BOARD_AVB_ENABLE to sign the GSI image. + # 2) Sets AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED (--flag 2) in +diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk +index 738c03731..19d1b03c7 100644 +--- a/target/board/generic/BoardConfig.mk ++++ b/target/board/generic/BoardConfig.mk +@@ -48,6 +48,8 @@ TARGET_CPU_ABI2 := armeabi + include build/make/target/board/BoardConfigEmuCommon.mk + include build/make/target/board/BoardConfigGsiCommon.mk + ++# Partition size is default 1.5GB (1536MB) for 64 bits projects ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 + BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 + + # Wifi. +diff --git a/target/board/generic_arm64/BoardConfig.mk b/target/board/generic_arm64/BoardConfig.mk +index 13d5bd64a..d99e86f7c 100644 +--- a/target/board/generic_arm64/BoardConfig.mk ++++ b/target/board/generic_arm64/BoardConfig.mk +@@ -55,6 +55,8 @@ endif + include build/make/target/board/BoardConfigEmuCommon.mk + include build/make/target/board/BoardConfigGsiCommon.mk + ++# Partition size is default 1.5GB (1536MB) for 64 bits projects ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 + BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 + + # Emulator system image is going to be used as GSI and some vendor still hasn't +diff --git a/target/board/generic_arm_a/BoardConfig.mk b/target/board/generic_arm_a/BoardConfig.mk +index 57a5196a9..f0e1a3949 100644 +--- a/target/board/generic_arm_a/BoardConfig.mk ++++ b/target/board/generic_arm_a/BoardConfig.mk +@@ -16,6 +16,9 @@ + + include build/make/target/board/treble_common_32.mk + ++# Overwrite the setting in treble_common_32.mk for non-A/B arm GSI ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 943718400 # 900MB ++ + TARGET_ARCH := arm + TARGET_ARCH_VARIANT := armv7-a-neon + TARGET_CPU_ABI := armeabi-v7a +diff --git a/target/board/generic_arm_ab/BoardConfig.mk b/target/board/generic_arm_ab/BoardConfig.mk +index 3d1484290..c1df8f1c2 100644 +--- a/target/board/generic_arm_ab/BoardConfig.mk ++++ b/target/board/generic_arm_ab/BoardConfig.mk +@@ -16,6 +16,9 @@ + + include build/make/target/board/treble_common_32.mk + ++# Overwrite the setting in treble_common_32.mk for non-A/B arm GSI ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 943718400 # 900MB ++ + TARGET_ARCH := arm + TARGET_ARCH_VARIANT := armv7-a-neon + TARGET_CPU_ABI := armeabi-v7a +diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk +index 650073e68..ae2e6414d 100644 +--- a/target/board/generic_x86/BoardConfig.mk ++++ b/target/board/generic_x86/BoardConfig.mk +@@ -23,6 +23,7 @@ TARGET_PRELINK_MODULE := false + include build/make/target/board/BoardConfigEmuCommon.mk + include build/make/target/board/BoardConfigGsiCommon.mk + ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2684354560 + # Resize to 4G to accomodate ASAN and CTS + BOARD_USERDATAIMAGE_PARTITION_SIZE := 4294967296 + +diff --git a/target/board/generic_x86_64/BoardConfig.mk b/target/board/generic_x86_64/BoardConfig.mk +index 142663044..7fc822d60 100755 +--- a/target/board/generic_x86_64/BoardConfig.mk ++++ b/target/board/generic_x86_64/BoardConfig.mk +@@ -27,6 +27,7 @@ TARGET_PRELINK_MODULE := false + include build/make/target/board/BoardConfigEmuCommon.mk + include build/make/target/board/BoardConfigGsiCommon.mk + ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2684354560 # 2.5 GB + BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 + + BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/x86 +diff --git a/target/board/treble_common.mk b/target/board/treble_common.mk +index b5c01a5a9..a6aba4a05 100644 +--- a/target/board/treble_common.mk ++++ b/target/board/treble_common.mk +@@ -35,9 +35,6 @@ TARGET_USERIMAGES_USE_EXT4 := true + TARGET_USERIMAGES_USE_F2FS := true + TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false + +-# Enable dyanmic system image size and reserved 64MB in it. +-BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864 +- + # Generic AOSP image always requires separate vendor.img + TARGET_COPY_OUT_VENDOR := vendor + +diff --git a/target/board/treble_common_32.mk b/target/board/treble_common_32.mk +index e8bad087b..d637b3d8c 100644 +--- a/target/board/treble_common_32.mk ++++ b/target/board/treble_common_32.mk +@@ -18,3 +18,7 @@ include build/make/target/board/treble_common.mk + + # Legacy GSI keeps 32 bits binder for 32 bits CPU Arch + TARGET_USES_64_BIT_BINDER := false ++ ++# Partition size defaults to 1 GB (1024 MB) for 32-bit products. It can ++# be overwritten in specific BoardConfig.mk, if so desired. ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 +diff --git a/target/board/treble_common_64.mk b/target/board/treble_common_64.mk +index 8980dfde1..0a6eb172d 100644 +--- a/target/board/treble_common_64.mk ++++ b/target/board/treble_common_64.mk +@@ -18,3 +18,6 @@ include build/make/target/board/treble_common.mk + + # Enable 64-bits binder + TARGET_USES_64_BIT_BINDER := true ++ ++# Partition size is default 1.5GB (1536MB) for 64 bits projects ++BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736 +diff --git a/target/product/aosp_arm.mk b/target/product/aosp_arm.mk +index f0752a8e2..bc62e60b0 100644 +--- a/target/product/aosp_arm.mk ++++ b/target/product/aosp_arm.mk +@@ -25,9 +25,6 @@ + + include $(SRC_TARGET_DIR)/product/full.mk + +-# Enable dynamic partition size +-PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +- + # Enable A/B update + AB_OTA_UPDATER := true + AB_OTA_PARTITIONS := system +diff --git a/target/product/aosp_arm64.mk b/target/product/aosp_arm64.mk +index ab231110c..9c1a16416 100644 +--- a/target/product/aosp_arm64.mk ++++ b/target/product/aosp_arm64.mk +@@ -41,9 +41,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) + $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) + $(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk) + +-# Enable dynamic partition size +-PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +- + # Enable A/B update + AB_OTA_UPDATER := true + AB_OTA_PARTITIONS := system +diff --git a/target/product/aosp_x86.mk b/target/product/aosp_x86.mk +index 9d1b14bc9..8ca88dce0 100644 +--- a/target/product/aosp_x86.mk ++++ b/target/product/aosp_x86.mk +@@ -25,9 +25,6 @@ + + include $(SRC_TARGET_DIR)/product/full_x86.mk + +-# Enable dynamic partition size +-PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +- + # Enable A/B update + AB_OTA_UPDATER := true + AB_OTA_PARTITIONS := system +diff --git a/target/product/aosp_x86_64.mk b/target/product/aosp_x86_64.mk +index b38c4173e..0948149b8 100644 +--- a/target/product/aosp_x86_64.mk ++++ b/target/product/aosp_x86_64.mk +@@ -41,9 +41,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) + $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) + $(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86_64/device.mk) + +-# Enable dynamic partition size +-PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +- + # Enable A/B update + AB_OTA_UPDATER := true + AB_OTA_PARTITIONS := system +diff --git a/target/product/treble_common.mk b/target/product/treble_common.mk +index e76e89646..aa2aa7f72 100644 +--- a/target/product/treble_common.mk ++++ b/target/product/treble_common.mk +@@ -23,9 +23,6 @@ + $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) + $(call inherit-product, $(SRC_TARGET_DIR)/product/telephony.mk) + +-# Enable dynamic partition size +-PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +- + # Split selinux policy + PRODUCT_FULL_TREBLE_OVERRIDE := true + +-- +2.17.1 + diff --git a/patches/0001-build_soong-Disable-generated_kernel_headers.patch b/patches/0001-build_soong-Disable-generated_kernel_headers.patch new file mode 100644 index 0000000..ab97b58 --- /dev/null +++ b/patches/0001-build_soong-Disable-generated_kernel_headers.patch @@ -0,0 +1,42 @@ +From 2fa3046c27e558919397c0a2c60598a1296331c5 Mon Sep 17 00:00:00 2001 +From: AndyCGYan +Date: Sun, 3 Mar 2019 14:07:33 +0800 +Subject: [PATCH] build_soong: Disable generated_kernel_headers + +Change-Id: I630857cec208f1830e776bf5031d7bb9bc4435d0 +--- + build/soong/Android.bp | 21 --------------------- + 1 file changed, 21 deletions(-) + +diff --git a/build/soong/Android.bp b/build/soong/Android.bp +index 382b68e..f9108a8 100644 +--- a/build/soong/Android.bp ++++ b/build/soong/Android.bp +@@ -23,24 +23,3 @@ bootstrap_go_package { + ], + pluginFor: ["soong_build"], + } +- +-lineage_generator { +- name: "generated_kernel_includes", +- +- // The headers make command +- cmd: "make $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install", +- +- // Directories that can be imported by a cc_* module generated_headers property +- export_include_dirs: ["usr/include", "usr/techpack/audio/include"], +- +- // Sources for dependency tracking +- dep_root: "$(TARGET_KERNEL_SOURCE)", +- dep_files: [ "Makefile", "include/**/*", "arch/$(KERNEL_ARCH)/include/**/*", "techpack/audio/include/**/*"], +-} +- +-cc_library_headers { +- name: "generated_kernel_headers", +- generated_headers: ["generated_kernel_includes"], +- export_generated_headers: ["generated_kernel_includes"], +- vendor_available: true, +-} +-- +2.7.4 + diff --git a/patches/0001-core-Add-support-for-MicroG.patch b/patches/0001-core-Add-support-for-MicroG.patch new file mode 100644 index 0000000..7369e49 --- /dev/null +++ b/patches/0001-core-Add-support-for-MicroG.patch @@ -0,0 +1,106 @@ +From 51c79844320ca6dcb8d9c145709f0dc394f3146a Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Fri, 17 May 2019 03:36:35 +0000 +Subject: [PATCH] core: Add support for MicroG + +-fake signatures, enabled per app by dynamic permission + +Change-Id: I0e5a0aca9fccbd4372de8ce3af76c53cc7c35f28 +--- + core/res/AndroidManifest.xml | 7 ++++++ + core/res/res/values/config.xml | 2 ++ + core/res/res/values/strings.xml | 5 ++++ + .../server/pm/PackageManagerService.java | 23 +++++++++++++++++-- + 4 files changed, 35 insertions(+), 2 deletions(-) + +diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml +index 34d26f0da90..08f95ec1fdf 100644 +--- a/core/res/AndroidManifest.xml ++++ b/core/res/AndroidManifest.xml +@@ -2357,6 +2357,13 @@ + android:description="@string/permdesc_getPackageSize" + android:protectionLevel="normal" /> + ++ ++ ++ + +diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml +index f7b06f98512..703a63ff5f1 100644 +--- a/core/res/res/values/config.xml ++++ b/core/res/res/values/config.xml +@@ -1716,6 +1716,8 @@ + + + com.android.location.fused ++ ++ com.google.android.gms + + + +diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml +index f6600462ea7..bd96a09684f 100644 +--- a/core/res/res/values/strings.xml ++++ b/core/res/res/values/strings.xml +@@ -785,6 +785,11 @@ + + + ++ ++ Spoof package signature ++ ++ Allows the app to pretend to be a different app. Malicious applications might be able to use this to access private application data. Legitimate uses include an emulator pretending to be what it emulates. Grant this permission with caution only! ++ + + disable or modify status bar + +diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java +index 9b50a1545a5..f12509e36e7 100644 +--- a/services/core/java/com/android/server/pm/PackageManagerService.java ++++ b/services/core/java/com/android/server/pm/PackageManagerService.java +@@ -4001,8 +4001,9 @@ public class PackageManagerService extends IPackageManager.Stub + final Set permissions = ArrayUtils.isEmpty(p.requestedPermissions) + ? Collections.emptySet() : permissionsState.getPermissions(userId); + +- PackageInfo packageInfo = PackageParser.generatePackageInfo(p, gids, flags, +- ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId); ++ PackageInfo packageInfo = mayFakeSignature(p, PackageParser.generatePackageInfo(p, gids, flags, ++ ps.firstInstallTime, ps.lastUpdateTime, permissions, state, userId), ++ permissions); + + if (packageInfo == null) { + return null; +@@ -4038,6 +4039,24 @@ public class PackageManagerService extends IPackageManager.Stub + } + } + ++ private PackageInfo mayFakeSignature(PackageParser.Package p, PackageInfo pi, ++ Set permissions) { ++ try { ++ if (permissions.contains("android.permission.FAKE_PACKAGE_SIGNATURE") ++ && p.applicationInfo.targetSdkVersion > Build.VERSION_CODES.LOLLIPOP_MR1 ++ && p.mAppMetaData != null) { ++ String sig = p.mAppMetaData.getString("fake-signature"); ++ if (sig != null) { ++ pi.signatures = new Signature[] {new Signature(sig)}; ++ } ++ } ++ } catch (Throwable t) { ++ // We should never die because of any failures, this is system code! ++ Log.w("PackageManagerService.FAKE_PACKAGE_SIGNATURE", t); ++ } ++ return pi; ++ } ++ + @Override + public void checkPackageStartable(String packageName, int userId) { + final int callingUid = Binder.getCallingUid(); +-- +2.17.1 + diff --git a/patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch b/patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch new file mode 100644 index 0000000..d9229cc --- /dev/null +++ b/patches/0001-sdk-Invert-per-app-stretch-to-fullscreen.patch @@ -0,0 +1,26 @@ +From 95ef97f5aa82c15e47f9313eca4899d89dba5dd0 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Wed, 4 Jul 2018 17:59:14 +0800 +Subject: [PATCH] sdk: Invert per-app stretch-to-fullscreen implementation + +Change-Id: Idf7dab4e1e0c79953fa672f33ec65fecffb37c83 +--- + sdk/src/java/org/lineageos/internal/applications/LongScreen.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sdk/src/java/org/lineageos/internal/applications/LongScreen.java b/sdk/src/java/org/lineageos/internal/applications/LongScreen.java +index 7fe0d68..26ea349 100644 +--- a/sdk/src/java/org/lineageos/internal/applications/LongScreen.java ++++ b/sdk/src/java/org/lineageos/internal/applications/LongScreen.java +@@ -57,7 +57,7 @@ public class LongScreen { + } + + public boolean shouldForceLongScreen(String packageName) { +- return isSupported() && mApps.contains(packageName); ++ return isSupported() && !(mApps.contains(packageName)); + } + + public Set getApps() { +-- +2.7.4 + diff --git a/patches/0001-treble-Add-overlay-lineage.patch b/patches/0001-treble-Add-overlay-lineage.patch new file mode 100644 index 0000000..38b9f74 --- /dev/null +++ b/patches/0001-treble-Add-overlay-lineage.patch @@ -0,0 +1,117 @@ +From b35194fdd618f1ae2682c6d285d92a4ae7d421cc Mon Sep 17 00:00:00 2001 +From: AndyCGYan +Date: Mon, 15 Jul 2019 10:43:52 +0000 +Subject: [PATCH] treble: Add overlay-lineage + +Change-Id: I9d313b1488d98acc7cf37d23820946ee99745426 +--- + base.mk | 4 +- + .../lineage/res/res/values/config.xml | 81 +++++++++++++++++++ + 2 files changed, 84 insertions(+), 1 deletion(-) + create mode 100644 overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml + +diff --git a/base.mk b/base.mk +index 8636247..f18e1c7 100644 +--- a/base.mk ++++ b/base.mk +@@ -11,7 +11,9 @@ PRODUCT_COPY_FILES += \ + device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml + + BOARD_PLAT_PRIVATE_SEPOLICY_DIR += device/phh/treble/sepolicy +-DEVICE_PACKAGE_OVERLAYS += device/phh/treble/overlay ++DEVICE_PACKAGE_OVERLAYS += \ ++ device/phh/treble/overlay \ ++ device/phh/treble/overlay-lineage + + $(call inherit-product, vendor/hardware_overlay/overlay.mk) + $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +diff --git a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml +new file mode 100644 +index 0000000..8df673a +--- /dev/null ++++ b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml +@@ -0,0 +1,81 @@ ++ ++ ++ ++ ++ true ++ ++ ++ 255 ++ ++ ++ 127 ++ ++ ++ 127 ++ +-- +2.17.1 + diff --git a/patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch b/patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch new file mode 100644 index 0000000..e2be227 --- /dev/null +++ b/patches/0001-treble-Don-t-specify-config_wallpaperCropperPackage.patch @@ -0,0 +1,25 @@ +From 5180f2417b628e6f1611ce24fd54f711fbdbb991 Mon Sep 17 00:00:00 2001 +From: Andy CrossGate Yan +Date: Tue, 10 Sep 2019 02:42:36 +0000 +Subject: [PATCH] treble: Don't specify config_wallpaperCropperPackage + +Change-Id: I72b59def304779e4bd9a399c01cf1180d15bf444 +--- + overlay/frameworks/base/core/res/res/values/config.xml | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml +index 0cdc065..627c91e 100644 +--- a/overlay/frameworks/base/core/res/res/values/config.xml ++++ b/overlay/frameworks/base/core/res/res/values/config.xml +@@ -22,7 +22,6 @@ + "M50 0C77.6 0 100 22.4 100 50C100 77.6 77.6 100 50 100C22.4 100 0 77.6 0 50C0 22.4 22.4 0 50 0Z" + true + +- com.android.wallpaperpicker + true +