diff --git a/blob-patches/WfdCommon.patch b/blob-patches/WfdCommon.patch new file mode 100644 index 0000000..527a408 --- /dev/null +++ b/blob-patches/WfdCommon.patch @@ -0,0 +1,35 @@ +--- a/smali/com/qualcomm/wfd/ExtendedRemoteDisplay.smali ++++ b/smali/com/qualcomm/wfd/ExtendedRemoteDisplay.smali +@@ -1561,6 +1561,32 @@ + throw v3 + .end method + ++.method public static blacklist listen(Ljava/lang/String;Landroid/media/RemoteDisplay$Listener;Landroid/os/Handler;Landroid/content/Context;)Lcom/qualcomm/wfd/ExtendedRemoteDisplay; ++ .locals 2 ++ .param p0, "iface" # Ljava/lang/String; ++ .param p1, "listener" # Landroid/media/RemoteDisplay$Listener; ++ .param p2, "handler" # Landroid/os/Handler; ++ .param p3, "context" # Landroid/content/Context; ++ ++ move-object v0, p0 ++ ++ move-object v1, p1 ++ ++ move-object p0, p2 ++ ++ move-object p1, p3 ++ ++ const/4 p2, 0x0 ++ ++ const-string p3, "" ++ ++ invoke-static/range {v0 .. v5}, Lcom/qualcomm/wfd/ExtendedRemoteDisplay;->listen(Ljava/lang/String;Landroid/media/RemoteDisplay$Listener;Landroid/os/Handler;Landroid/content/Context;ILjava/lang/String;)Lcom/qualcomm/wfd/ExtendedRemoteDisplay; ++ ++ move-result-object v0 ++ ++ return-object v0 ++.end method ++ + .method public static blacklist listen(Ljava/lang/String;Landroid/media/RemoteDisplay$Listener;Landroid/os/Handler;Landroid/content/Context;ILjava/lang/String;)Lcom/qualcomm/wfd/ExtendedRemoteDisplay; + .locals 8 + .param p0, "iface" # Ljava/lang/String; diff --git a/extract-files.py b/extract-files.py index 37ba57b..11c5d82 100755 --- a/extract-files.py +++ b/extract-files.py @@ -44,10 +44,12 @@ lib_fixups: lib_fixups_user_type = { } blob_fixups: blob_fixups_user_type = { + 'system/framework/WfdCommon.jar': blob_fixup() + .apktool_patch('blob-patches/WfdCommon.patch'), 'system_ext/etc/permissions/moto-telephony.xml': blob_fixup() .regex_replace('/system/', '/system_ext/'), - 'system_ext/lib64/libwfdnative.so': blob_fixup() - .add_needed('libinput_shim.so'), + 'system_ext/lib64/libwfdservice.so': blob_fixup() + .replace_needed('android.media.audio.common.types-V4-cpp.so', 'android.media.audio.common.types-V5-cpp.so'), 'system_ext/priv-app/ims/ims.apk': blob_fixup() .apktool_patch('ims-patches'), ( diff --git a/proprietary-files.txt b/proprietary-files.txt index 77aa557..7a0d964 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -839,6 +839,35 @@ vendor/lib64/libwvhidl.so # WiFi vendor/bin/cnss-daemon +# WiFi Display (system) - from marvel_g A171WEH.20 +system/framework/WfdCommon.jar;BOOT_JAR|27251f8421652af8abffb1f3fd9449fe0ec64ee5|6d1f1d953c48a414e978263256e2ed3aec1580b7 +system_ext/bin/wfdservice64:system_ext/bin/wfdservice|6b738758fe3d21d6d53d3fb522e1321b54592fa9 +system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c +system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml|6669d5ee462c981663b8ac573d84d334e4eed96c +system_ext/etc/seccomp_policy/wfdservice64.policy|1e331272649395423b11c575892e0bdc9433b820 +system_ext/lib64/libmmrtpdecoder.so|51c486b525879c1239062f0fa6b591c3e0abaaa0 +system_ext/lib64/libmmrtpencoder.so|946d85b6b852ee95e17b40b00c4c85ebfa72c85c +system_ext/lib64/libwfdavenhancements.so|e5a06c6ea07c0cd4ebb73b030b87bf5e51a553e3 +system_ext/lib64/libwfdclient.so|ae443c8657e680558cce30039409cee1e6ab5505 +system_ext/lib64/libwfdcommonutils.so|27c411978b486ccc075862fa2eff450990b9d47a +system_ext/lib64/libwfdconfigutils.so|d05d03298caf2e233c69689cf1fed0dd19a02be1 +system_ext/lib64/libwfddisplayconfig.so|2717202736b678390be7518ce6f69a63079e4217 +system_ext/lib64/libwfdmminterface.so|b560306dbc7b2bffb734c8eb6439dd3721f75c12 +system_ext/lib64/libwfdmmsink.so|a250fd4085ec04345db8067f11962f57c3b166f0 +system_ext/lib64/libwfdmmsrc_system.so|69e08746a9557ee5fba3e02a8170032db0fa0105 +system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|923acb22f26dc3aab5115cf685a161611e43c018 +system_ext/lib64/libwfdrtsp.so|14eec96c4fa615096c473d5a269ba315a53cfd00 +system_ext/lib64/libwfdservice.so|429839b831a8b16fb858179241dc6183c50bdf13|54624fd8c8ef2932e71c4b3ce176fb712e884f5a +system_ext/lib64/libwfdsinksm.so|e714120166d6480ada0b629ddd73c499c73c55a2 +system_ext/lib64/libwfduibcinterface.so|62a596c93efa57bdc79b078d74a3ccf4d19d1f58 +system_ext/lib64/libwfduibcsink.so|a6fc5d0245e23648812a535f7338d562c9317f09 +system_ext/lib64/libwfduibcsinkinterface.so|2db07ec7a9a6206d2782439e247b35fbe62a550f +system_ext/lib64/libwfduibcsrc.so|ac3e0988fb5c36c6c4561f04e0e5d53d7de2ad76 +system_ext/lib64/libwfduibcsrcinterface.so|d19e9b5c35f61cc696a9c999dce6eb11d781bd8c +system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so|7b3051498476202797fce711a6dcc42ae6a7b8ea +system_ext/lib64/vendor.qti.hardware.wifidisplaysession_aidl-V2-ndk.so|b2f864d6ae621758bef6f4081af353e2e11e04d8 +system_ext/priv-app/WfdService/WfdService.apk|7d7e4ce1ec07338f1d2abf39035a8f44714a4a40 + # WiFi Display (vendor) vendor/bin/wfdhdcphalservice vendor/bin/wfdvndservice