From 7bb915536eabdbfe9297d5c45225ce7516262ba4 Mon Sep 17 00:00:00 2001 From: Tad Date: Thu, 1 Jun 2017 05:07:04 -0400 Subject: [PATCH] Add check to determine whether or not to switch to TimeKeep --- Scripts/Generic_Deblob.sh | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/Scripts/Generic_Deblob.sh b/Scripts/Generic_Deblob.sh index 192a7167..86f3331f 100755 --- a/Scripts/Generic_Deblob.sh +++ b/Scripts/Generic_Deblob.sh @@ -174,6 +174,7 @@ export base; deblobDevice() { devicePath=$1; cd $base$devicePath; + if grep -q "time_daemon" *proprietary*.txt; then replaceTime="true" fi; #Enable TimeKeep replacement if [ -f Android.mk ]; then sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(CMN_SYMLINKS)//' Android.mk; #Remove CMN firmware sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(DXHDCP2_SYMLINKS)//' Android.mk; #Remove Discretix firmware @@ -183,24 +184,30 @@ deblobDevice() { sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(WV_SYMLINKS)//' Android.mk; #Remove Google Widevine firmware fi; if [ -f BoardConfig.mk ]; then - sed -i 's/BOARD_USES_QC_TIME_SERVICES := true/BOARD_USES_QC_TIME_SERVICES := false/' BoardConfig.mk; #Switch to Sony TimeKeep - if ! grep -q "BOARD_USES_QC_TIME_SERVICES := false" BoardConfig.mk; then echo "BOARD_USES_QC_TIME_SERVICES := false" >> BoardConfig.mk; fi; #Switch to Sony TimeKeep + if [ -z "$replaceTime" ]; then + sed -i 's/BOARD_USES_QC_TIME_SERVICES := true/BOARD_USES_QC_TIME_SERVICES := false/' BoardConfig.mk; #Switch to Sony TimeKeep + if ! grep -q "BOARD_USES_QC_TIME_SERVICES := false" BoardConfig.mk; then echo "BOARD_USES_QC_TIME_SERVICES := false" >> BoardConfig.mk; fi; #Switch to Sony TimeKeep + fi; sed -i 's/BOARD_USES_QCNE := true/BOARD_USES_QCNE := false/' BoardConfig.mk; #Disable CNE sed -i 's/BOARD_USES_WIPOWER := true/BOARD_USES_WIPOWER := false/' BoardConfig.mk; #Disable WiPower fi; if [ -f device.mk ]; then awk -i inplace '!/'$makes'/' device.mk; #Remove all shim references from device makefile - #Switch to Sony TimeKeep - echo "PRODUCT_PACKAGES += \\" >> device.mk; - echo " timekeep \\" >> device.mk; - echo " TimeKeep" >> device.mk; + if [ -z "$replaceTime" ]; then + #Switch to Sony TimeKeep + echo "PRODUCT_PACKAGES += \\" >> device.mk; + echo " timekeep \\" >> device.mk; + echo " TimeKeep" >> device.mk; + fi; fi; if [ -f "${PWD##*/}".mk ] && [ "${PWD##*/}".mk != "sepolicy" ]; then awk -i inplace '!/'$makes'/' "${PWD##*/}".mk; #Remove all shim references from device makefile - #Switch to Sony TimeKeep - echo "PRODUCT_PACKAGES += \\" >> device.mk; - echo " timekeep \\" >> device.mk; - echo " TimeKeep" >> device.mk; + if [ -z "$replaceTime" ]; then + #Switch to Sony TimeKeep + echo "PRODUCT_PACKAGES += \\" >> device.mk; + echo " timekeep \\" >> device.mk; + echo " TimeKeep" >> device.mk; + fi; fi; if [ -f system.prop ]; then sed -i 's/drm.service.enabled=true/drm.service.enabled=false/' system.prop; @@ -246,11 +253,13 @@ deblobDevice() { sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; fi; if [ -d sepolicy ]; then - #Switch to Sony TimeKeep - echo "allow system_app time_data_file:dir { create_dir_perms search };" >> sepolicy/system_app.te; - echo "allow system_app time_data_file:file create_file_perms;" >> sepolicy/system_app.te; + if [ -z "$replaceTime" ]; then + #Switch to Sony TimeKeep + echo "allow system_app time_data_file:dir { create_dir_perms search };" >> sepolicy/system_app.te; + echo "allow system_app time_data_file:file create_file_perms;" >> sepolicy/system_app.te; + fi; fi; - sed -i 's|service time_daemon /system/bin/time_daemon|service timekeep /system/bin/timekeep restore\n oneshot|' init.*.rc rootdir/init.*.rc rootdir/etc/init.*.rc &> /dev/null || true; #Switch to Sony TimeKeep + if [ -z "$replaceTime" ]; then sed -i 's|service time_daemon /system/bin/time_daemon|service timekeep /system/bin/timekeep restore\n oneshot|' init.*.rc rootdir/init.*.rc rootdir/etc/init.*.rc &> /dev/null || true; fi; #Switch to Sony TimeKeep rm -f rootdir/etc/init.qti.ims.sh #Remove IMS startup script rm -rf IMSEnabler; #Remove IMS compatibility module rm -rf data-ipa-cfg-mgr; #Remove IPACM