From 6163a38192bffd9a3deb94bf2296ec9791f8b588 Mon Sep 17 00:00:00 2001 From: Tad Date: Thu, 4 May 2017 21:42:25 -0400 Subject: [PATCH] Renable IMS remove and add patch to fix calling --- .../0001-Fix_Calling.patch | 36 ++++++++++++ Scripts/Generic_Deblob.sh | 55 +++++++++---------- Scripts/LAOS-14.1_Patches.sh | 3 + 3 files changed, 66 insertions(+), 28 deletions(-) create mode 100644 Patches/LineageOS-14.1/android_frameworks_opt_net_ims/0001-Fix_Calling.patch diff --git a/Patches/LineageOS-14.1/android_frameworks_opt_net_ims/0001-Fix_Calling.patch b/Patches/LineageOS-14.1/android_frameworks_opt_net_ims/0001-Fix_Calling.patch new file mode 100644 index 00000000..752305bc --- /dev/null +++ b/Patches/LineageOS-14.1/android_frameworks_opt_net_ims/0001-Fix_Calling.patch @@ -0,0 +1,36 @@ +From 6f3e436fcffc5abeff735899eb9ce26f4094e88b Mon Sep 17 00:00:00 2001 +From: Tad +Date: Thu, 4 May 2017 21:40:05 -0400 +Subject: [PATCH] Fix calling after VoLTE is removed from devices that had it + previously enabled + +Change-Id: Id5e3b8f7793d0783104b8b59581688c8ef821396 +--- + src/java/com/android/ims/ImsManager.java | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java +index 7bba3f4..f40c9cf 100644 +--- a/src/java/com/android/ims/ImsManager.java ++++ b/src/java/com/android/ims/ImsManager.java +@@ -218,16 +218,7 @@ public class ImsManager { + * Returns the user configuration of Enhanced 4G LTE Mode setting + */ + public static boolean isEnhanced4gLteModeSettingEnabledByUser(Context context) { +- // If user can't edit Enhanced 4G LTE Mode, it assumes Enhanced 4G LTE Mode is always true. +- // If user changes SIM from editable mode to uneditable mode, need to return true. +- if (!getBooleanCarrierConfig(context, +- CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL)) { +- return true; +- } +- int enabled = android.provider.Settings.Global.getInt( +- context.getContentResolver(), +- android.provider.Settings.Global.ENHANCED_4G_MODE_ENABLED, ImsConfig.FeatureValueConstants.ON); +- return (enabled == 1) ? true : false; ++ return false + } + + /** +-- +2.9.3 + diff --git a/Scripts/Generic_Deblob.sh b/Scripts/Generic_Deblob.sh index fa2beb1b..fcd66069 100755 --- a/Scripts/Generic_Deblob.sh +++ b/Scripts/Generic_Deblob.sh @@ -93,7 +93,7 @@ export base; #IMS (RCS/VoLTE/Wi-Fi Calling) #XXX: This is a *VERY* aggressive change and might be disabled in the future #XXX: Logcat is spammed with ~6 lines every 15 seconds by ims-common during calls - #blobs=$blobs"com.motorola.msimsettings.xml|com.verizon.hardware.telephony.ehrpd.jar|com.verizon.hardware.telephony.ehrpd.xml|com.verizon.hardware.telephony.lte.jar|com.verizon.hardware.telephony.lte.xml|com.verizon.ims.jar|com.verizon.ims.xml|ims.apk|imscmlibrary.jar|imscmservice|imscm.xml|imsdatadaemon|imsqmidaemon|ims_rtp_daemon|imssettings.apk|ims.xml|lib-dplmedia.so|libimscamera_jni.so|lib-imscamera.so|lib-imsdpl.so|libimsmedia_jni.so|lib-imsqimf.so|lib-imsrcscmclient.so|lib-ims-rcscmjni.so|lib-imsrcscmservice.so|lib-imsrcscm.so|lib-imsrcs.so|lib-imsSDP.so|lib-imss.so|lib-imsvt.so|lib-imsxml.so|libNimsWrap.so|librcc.so|lib-rcsimssjni.so|lib-rcsjni.so|lib-rtpcommon.so|lib-rtpcore.so|lib-rtpdaemoninterface.so|lib-rtpsl.so|libvcel.so|libvoice-svc.so|qti_permissions.xml|qti-vzw-ims-internal.jar|qti-vzw-ims-internal.xml|rcsimssettings.jar|rcsimssettings.xml|rcsservice.jar|rcsservice.xml|volte_modem[/]"; + blobs=$blobs"com.motorola.msimsettings.xml|com.verizon.hardware.telephony.ehrpd.jar|com.verizon.hardware.telephony.ehrpd.xml|com.verizon.hardware.telephony.lte.jar|com.verizon.hardware.telephony.lte.xml|com.verizon.ims.jar|com.verizon.ims.xml|ims.apk|imscmlibrary.jar|imscmservice|imscm.xml|imsdatadaemon|imsqmidaemon|ims_rtp_daemon|imssettings.apk|ims.xml|lib-dplmedia.so|libimscamera_jni.so|lib-imscamera.so|lib-imsdpl.so|libimsmedia_jni.so|lib-imsqimf.so|lib-imsrcscmclient.so|lib-ims-rcscmjni.so|lib-imsrcscmservice.so|lib-imsrcscm.so|lib-imsrcs.so|lib-imsSDP.so|lib-imss.so|lib-imsvt.so|lib-imsxml.so|libNimsWrap.so|librcc.so|lib-rcsimssjni.so|lib-rcsjni.so|lib-rtpcommon.so|lib-rtpcore.so|lib-rtpdaemoninterface.so|lib-rtpsl.so|libvcel.so|libvoice-svc.so|qti_permissions.xml|qti-vzw-ims-internal.jar|qti-vzw-ims-internal.xml|rcsimssettings.jar|rcsimssettings.xml|rcsservice.jar|rcsservice.xml|volte_modem[/]"; #IPACM (Loadbalances traffic between Cell/Wi-Fi) blobs=$blobs"|ipacm|ipacm-diag"; @@ -164,41 +164,41 @@ deblobDevice() { if ! grep -q "drm.service.enabled=false" system.prop; then echo "drm.service.enabled=false" >> system.prop; fi; #Disable DRM server #sed -i 's/ro.use_data_netmgrd=true/ro.use_data_netmgrd=false/' system.prop; #Disable NetMgr XXX: Not tested, most likely requires RIL modifications #Disable IMS - #sed -i 's/persist.data.iwlan.enable=true/persist.data.iwlan.enable=false/' system.prop; - #sed -i 's/persist.ims.volte=true/persist.ims.volte=false/' system.prop; - #sed -i 's/persist.ims.vt=true/persist.ims.vt=false/' system.prop; - #sed -i 's/persist.radio.calls.on.ims=true/persist.radio.calls.on.ims=false/' system.prop; - #sed -i 's/persist.radio.hw_mbn_update=./persist.radio.hw_mbn_update=0/' system.prop; - #sed -i 's/persist.radio.jbims=./persist.radio.jbims=0/' system.prop; - #sed -i 's/persist.radio.sw_mbn_update=./persist.radio.sw_mbn_update=0/' system.prop; - #sed -i 's/persist.radio.sw_mbn_volte=./persist.radio.sw_mbn_volte=0/' system.prop; - #sed -i 's/persist.radio.VT_ENABLE=./persist.radio.VT_ENABLE=0/' system.prop; - #sed -i 's/persist.radio.VT_HYBRID_ENABLE=./persist.radio.VT_HYBRID_ENABLE=0/' system.prop; - #sed -i 's/persist.rcs.supported=./persist.rcs.supported=0/' system.prop; - #sed -i 's/persist.volte_enabled_by_hw=./persist.volte_enabled_by_hw=0/' system.prop; + sed -i 's/persist.data.iwlan.enable=true/persist.data.iwlan.enable=false/' system.prop; + sed -i 's/persist.ims.volte=true/persist.ims.volte=false/' system.prop; + sed -i 's/persist.ims.vt=true/persist.ims.vt=false/' system.prop; + sed -i 's/persist.radio.calls.on.ims=true/persist.radio.calls.on.ims=false/' system.prop; + sed -i 's/persist.radio.hw_mbn_update=./persist.radio.hw_mbn_update=0/' system.prop; + sed -i 's/persist.radio.jbims=./persist.radio.jbims=0/' system.prop; + sed -i 's/persist.radio.sw_mbn_update=./persist.radio.sw_mbn_update=0/' system.prop; + sed -i 's/persist.radio.sw_mbn_volte=./persist.radio.sw_mbn_volte=0/' system.prop; + sed -i 's/persist.radio.VT_ENABLE=./persist.radio.VT_ENABLE=0/' system.prop; + sed -i 's/persist.radio.VT_HYBRID_ENABLE=./persist.radio.VT_HYBRID_ENABLE=0/' system.prop; + sed -i 's/persist.rcs.supported=./persist.rcs.supported=0/' system.prop; + sed -i 's/persist.volte_enabled_by_hw=./persist.volte_enabled_by_hw=0/' system.prop; fi; if [ -f overlay/frameworks/base/core/res/res/values/config.xml ]; then sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; #Disable UIBlur #Disable IMS - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; fi; if [ -f init/init_*.cpp ]; then #Disable IMS - #sed -i 's/property_set("persist.ims.volte", "true");/property_set("persist.ims.volte", "false");/' init/init_*.cpp; - #sed -i 's/property_set("persist.ims.vt", "true");/property_set("persist.ims.vt", "false");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.calls.on.ims", "true");/property_set("persist.radio.calls.on.ims", "false");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.jbims", ".");/property_set("persist.radio.jbims", "0");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.VT_ENABLE", ".");/property_set("persist.radio.VT_ENABLE", "0");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.VT_HYBRID_ENABLE", ".");/property_set("persist.radio.VT_HYBRID_ENABLE", "0");/' init/init_*.cpp; - #sed -i 's/property_set("persist.rcs.supported", ".");/property_set("persist.rcs.supported", "1");/' init/init_*.cpp; + sed -i 's/property_set("persist.ims.volte", "true");/property_set("persist.ims.volte", "false");/' init/init_*.cpp; + sed -i 's/property_set("persist.ims.vt", "true");/property_set("persist.ims.vt", "false");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.calls.on.ims", "true");/property_set("persist.radio.calls.on.ims", "false");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.jbims", ".");/property_set("persist.radio.jbims", "0");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.VT_ENABLE", ".");/property_set("persist.radio.VT_ENABLE", "0");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.VT_HYBRID_ENABLE", ".");/property_set("persist.radio.VT_HYBRID_ENABLE", "0");/' init/init_*.cpp; + sed -i 's/property_set("persist.rcs.supported", ".");/property_set("persist.rcs.supported", "1");/' init/init_*.cpp; fi; - #rm -f rootdir/etc/init.qti.ims.sh #Remove IMS startup script + rm -f rootdir/etc/init.qti.ims.sh #Remove IMS startup script #rm -rf telephony/ims; #Remove ims-common - #rm -rf IMSEnabler; #Remove IMS compatibility module + rm -rf IMSEnabler; #Remove IMS compatibility module rm -rf data-ipa-cfg-mgr; #Remove IPACM rm -rf libshimwvm; #Remove Google Widevine compatibility module if [ -f setup-makefiles.sh ]; then #FIXME: This breaks some devices using shared device trees (eg. osprey) when removing blobs that are listed in Android.mk of vendor repositories @@ -232,7 +232,6 @@ echo "vendor/lib/libcneapiclient.so" >> device/oneplus/bacon/proprietary-files-q find device -maxdepth 2 -mindepth 2 -type d -exec bash -c 'deblobDevice "$0"' {} \; #Deblob all device directories find vendor -name "*vendor*.mk" -type f -exec bash -c 'deblobVendor "$0"' {} \; #Deblob all makefiles deblobVendors; #Deblob entire vendor directory -#rm -rf vendor/codeaurora/telephony/ims; #Remove ims-common rm -rf frameworks/av/drm/mediadrm/plugins/clearkey; #Remove Clearkey # #END OF DEBLOBBING diff --git a/Scripts/LAOS-14.1_Patches.sh b/Scripts/LAOS-14.1_Patches.sh index 17fc78d8..b39c7b27 100755 --- a/Scripts/LAOS-14.1_Patches.sh +++ b/Scripts/LAOS-14.1_Patches.sh @@ -62,6 +62,9 @@ patch -p1 < $patches"android_system_core/0001-Hardening.patch" #Misc hardening T enter "external/sqlite" patch -p1 < $patches"android_external_sqlite/0001-Secure_Delete.patch" #Enable secure_delete by default TODO: Fix patch author +enter "frameworks/opt/net/ims" +patch -p1 < $patches"android_frameworks_opt_net_ims/0001-Fix_Calling.patch" #Fix calling after we remove IMS + enter "packages/apps/FakeStore" patch -p1 < $patches"android_packages_apps_FakeStore/0001-Fixes.patch" #Update output paths and build tools