kitakami-common: Kang IMS stack from Oneplus2

- Bring back VoLTE support using https://github.com/eErenYeager/ims_apk/
This commit is contained in:
Mukul 2020-04-08 21:28:57 +00:00 committed by TARKZiM
parent 6f3a75d1d9
commit fd4433cd68
11 changed files with 153 additions and 2 deletions

View File

@ -99,6 +99,16 @@ $(MODEM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(MODEM_SYMLINKS)
IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so
IMS_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR_APPS)/ims/lib/arm64/,$(notdir $(IMS_LIBS)))
$(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "IMS lib link: $@"
@mkdir -p $(dir $@)
@rm -rf $@
$(hide) ln -sf /system/vendor/lib64/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)
# Create links for audcal data files
$(shell mkdir -p $(TARGET_OUT)/etc/firmware/wcd9320; \
ln -sf /data/misc/audio/mbhc.bin \

View File

@ -196,7 +196,8 @@ TARGET_LD_SHIM_LIBS := \
/system/lib/libcammw.so|libsensor.so \
/system/vendor/lib/libizat_core.so|/system/vendor/lib/libshim_gps.so \
/system/vendor/lib64/libizat_core.so|/system/vendor/lib64/libshim_gps.so \
/system/bin/secd|/system/lib64/lib-preload64.so
/system/bin/secd|/system/lib64/lib-preload64.so \
/system/vendor/lib64/lib-imsvt.so|libshims_ims.so \
# SELinux
include device/qcom/sepolicy-legacy/sepolicy.mk

View File

@ -24,3 +24,15 @@ value: 2997
[AID_VENDOR_TA_QMI]
value: 2998
[system/vendor/bin/imsdatadaemon]
mode: 0755
user: AID_SYSTEM
group: AID_SYSTEM
caps: NET_BIND_SERVICE
[system/vendor/bin/ims_rtp_daemon]
mode: 0755
user: AID_SYSTEM
group: AID_RADIO
caps: NET_BIND_SERVICE

View File

@ -176,6 +176,10 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
android.hardware.health@1.0-impl
# IMS
PRODUCT_PACKAGES += \
libshims_ims
# Init
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/fstab.qcom:root/fstab.qcom \

View File

@ -45,3 +45,16 @@ LOCAL_MODULE_TAGS := optional
LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := libshim_mediabuffer.cpp
LOCAL_SHARED_LIBRARIES := libstagefright_foundation libui libgui
LOCAL_MODULE := libshims_ims
LOCAL_MODULE_TAGS := optional
LOCAL_MULTILIB := 64
LOCAL_VENDOR_MODULE := true
include $(BUILD_SHARED_LIBRARY)

View File

@ -0,0 +1,26 @@
/*
* Copyright (C) 2016 The CyanogenMod 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 <ui/GraphicBuffer.h>
#include <media/stagefright/MediaBuffer.h>
extern "C" {
int _ZNK7android11MediaBuffer8refcountEv(android::MediaBuffer *thisptr) {
return thisptr->refcount();
}
}

View File

@ -81,4 +81,15 @@
<item>0,1</item>
<item>7,1</item>
</string-array>
<!-- Flag specifying whether VoLTE, VT and WFC is available on device -->
<bool name="config_device_volte_available">true</bool>
<bool name="config_device_vt_available">true</bool>
<bool name="config_device_wfc_ims_available">true</bool>
<!-- Flag specifying whether VoLTE & VT should be available for carrier: independent of
carrier provisioning. If false: hard disabled. If true: then depends on carrier
provisioning, availability etc -->
<bool name="config_carrier_volte_available">true</bool>
<bool name="config_carrier_vt_available">true</bool>
</resources>

View File

@ -67,3 +67,36 @@ vendor/lib/libsmemlog.so
vendor/lib/libsubsystem_control.so
vendor/lib/libwqe.so|04e000f40eabee3fc333c5726d8f7720c7e1a144
vendor/lib/libxml.so
# Radio - IMS - MIUI Hydrogen 7.7.6 global dev
bin/ims_rtp_daemon:vendor/bin/ims_rtp_daemon|896a7d67d73f9c0ef0f48f86af0e055737c781df
bin/imscmservice:vendor/bin/imscmservice|c606b123bdd105866947a9ae19aab05349ad2dfd
bin/imsdatadaemon:vendor/bin/imsdatadaemon|2aa4067b74fe525411984f87666d81c5b6b575d3
bin/imsqmidaemon:vendor/bin/imsqmidaemon|88886668eda7b7303b4a7aefd5b8b3fbffd81b02
etc/permissions/imscm.xml|8b99ec26c783966bbea1fcb8e72c7c0206a4e802
framework/imscmlibrary.jar|0c24d6540c06efede52169c1445272f43748180f
framework/rcsimssettings.jar|566a0f637344ca3182aca33753e404977fc77ecc
-vendor/app/ims/ims.apk|0f9f714e31305dc293aa3e72ba19d24e8a6b11ae
-vendor/app/imssettings/imssettings.apk|cd206ecfdf8b9c738823104e13672707cb48ffd1
vendor/lib64/lib-dplmedia.so|45de23a1bf2c758e71556b88fa01e1f705775b96
vendor/lib64/lib-ims-rcscmjni.so|57a7cffdf589247b7fa38082418076e491b306ca
vendor/lib64/lib-imsSDP.so|addec91cf24280784f619433e325bcb84ac11d5d
vendor/lib64/lib-imscamera.so|ed32d843da1895fc83dfc1690d958591ab942b59
vendor/lib64/lib-imsdpl.so|4b60872a3fec6322eb8b59ad615f1500e595a3d3
vendor/lib64/lib-imsqimf.so|021edce0c81ba25d9b4510befd35768314858428
vendor/lib64/lib-imsrcs.so|31fc1549c4a489489e20efda496567ee51e72ca9
vendor/lib64/lib-imsrcscm.so|f783e1ea0dfa84392e92bd00d79b6be9fe4fdc1a
vendor/lib64/lib-imsrcscmclient.so|5a24f31ed2bd8ebcca68583b2750c3fe9fc8a0b0
vendor/lib64/lib-imsrcscmservice.so|3cbb7c5437eaea86fab6db8cddce05c3a0b15852
vendor/lib64/lib-imss.so|f3bc1038d5720da58d1d1eb8e1ed6cec4ad93db4
vendor/lib64/lib-imsvt.so|52d4ed0e15156e20adfb409eeb2a983108a1357b
vendor/lib64/lib-imsxml.so|babc9429f0291038b6161b212935e03363d5d921
vendor/lib64/lib-rcsimssjni.so|80faffa65b5060c208fd4bc0085eebf7615fbb3a
vendor/lib64/lib-rtpcommon.so|16d49c1c1475a4fe9b3d2f7632bc4f199a87c4ce
vendor/lib64/lib-rtpcore.so|7ebfa9d640984dbee4e5287a86883c991089497a
vendor/lib64/lib-rtpdaemoninterface.so|f1f72a6a131830d3c71405362e975f61bb53386f
vendor/lib64/lib-rtpsl.so|6a7f9f2fc38c210ffa9235bb0d61e18b6871a5dd
vendor/lib64/libimscamera_jni.so|53000f12da581742742fbf80a2d46616d4b4283e
vendor/lib64/libimsmedia_jni.so|35be419f4fabc1e2388c7cc01e95442f1f90e833
vendor/lib64/librcc.so|661771f4b6c5f26037cc0fb5de83a86c08023995
vendor/lib64/libvoice-svc.so|238f774a4d0748c40569f6c3c48a87578f79c265

View File

@ -469,6 +469,45 @@ on post-fs-data
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
service imsqmidaemon /system/vendor/bin/imsqmidaemon
class main
user system
socket ims_qmid stream 0660 system radio
group radio log diag
service imsdatadaemon /system/vendor/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
group system wifi radio inet log diag
disabled
on property:sys.ims.QMI_DAEMON_STATUS=1
start imsdatadaemon
service ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
class main
user system
socket ims_rtpd stream 0660 system radio
group radio diag inet log
disabled
on property:sys.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
service imscmservice /system/vendor/bin/imscmservice
class main
user system
group radio diag log
service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative
class late_start
group net_bt_admin inet radio wifi
disabled
on property:persist.ims.regmanager.mode=1
start ims_regmanager
service irsc_util /system/bin/irsc_util "/etc/sec_config"
class main
user root

1
sepolicy/ims.te Normal file
View File

@ -0,0 +1 @@
allow ims system_prop:property_service set;

View File

@ -118,3 +118,4 @@ ro.qc.sdk.sensors.gestures=true
# Wifi
wifi.interface=wlan0
wifi.direct.interface=p2p-dev-wlan0
persist.data.iwlan.enable=true