revanced-patches icon indicating copy to clipboard operation
revanced-patches copied to clipboard

feat: (youtube/shorts): hide paid promotion button

Open n1cKz1 opened this issue 1 year ago • 2 comments

Application

YouTube

Issue

On some specific Shorts, an "includes paid promotion" button shows up the entire time. This can be a pretty annoying experience and make Shorts feel cluttered.

Patch

This patch would get rid of this button.

Motivation

Cleaner UI and no cluttery useless stuff that gets in the way.

Acknowledgements

  • [X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
  • [X] I have written a short but informative title.
  • [X] I filled out all of the requested information in this issue properly.

n1cKz1 avatar Jul 17 '23 17:07 n1cKz1

Please add a screenshot and video link.

oSumAtrIX avatar Mar 26 '24 01:03 oSumAtrIX

Doing a quick "paid promotion" search in Shorts category i found this one:

https://youtube.com/shorts/M0XiUPyaR_M

And the button I'm talking about is this:

Screenshot_2024-03-26-03-11-52-352-edit_app.revanced.android.youtube.jpg

n1cKz1 avatar Mar 26 '24 01:03 n1cKz1

04-15 14:46:50.092 20811 28461 D revanced: LithoFilterPatch: Searching ID: text_image_button_group_layout.eml|e00d753cb0f57d10 Path: text_image_button_group_layout.eml|e00d753cb0f57d10|text_image_button_group_layout.eml|e00d753cb0f57d10|CellType| BufferStrings: active_view_display_container.eml|ec32337b661d0139Γ¥Ö~s@~Γ¥Ö1713171857799806596Γ¥Ötext_image_button_group_layout.eml|e00d753cb0f57d10Γ¥Öeml.ads.text_adΓ¥Ö$6d910fb6-0000-235d-b9b1-582429a614c8Γ¥Öhttps://www.youtube.com/pagead/paralleladview?ai=CKI1Eke0cZrvQMsmPmsMPo7mMsAQAqJnEjrcQABAFIABg5QKCARpwYXJ0bmVyLW1vYmlsZS15b3V0dWJlLXNycKgDBKoEF0_QJ5gYAFftOD_aXg0PgsN_O4UwM8ejkAcEqAfnnbECqAfonbEC0ggtCIzBgEAQARheMgODwgE6DcDAgICggAKAwICAgCBI2aDSNVAUWKDRmcDuw4UDsAsBugtICAMQBRgMIAsoBTAFQANIAFhuYABoAHABiAEAmAEBogEkChYIASgB2rgEDjIMOgoKCCgwmBfZoNI1gAIBqAIEuAIB2AICgAIBihcYCAMYASABKAEwATgBQAFIAVABWAFgAnABoBcB&sigh=YpInCUqWfJg&cid=CAASFeRoCGtDT8dmuRIUj7DkOX-GIt5bFg&vt=0&ad_mt=[AD_MT]Γ¥Ö
04-15 14:46:50.092 20811 28460 D revanced: LithoFilterPatch: Searching ID: cell_divider.eml|66d727a1f6af279f Path: cell_divider.eml|66d727a1f6af279f|cell_divider.eml|66d727a1f6af279f|CellType| BufferStrings: divider.eml|1962a10e5c84fc18Γ¥Ö1713171857799806597Γ¥Öcell_divider.eml|66d727a1f6af279fΓ¥Ö
04-15 14:46:50.238 20811 20811 D revanced: LithoFilterPatch: Searching ID: null Path: reel_channel_bar.eml|c805df4c7866650b| BufferStrings: Key_ReelChannelBarInnerWithControllerΓ¥Öreel_channel_bar_inner.eml|9b74a66dffa09ec4Γ¥Ö
04-15 14:46:50.240 20811 20811 D revanced: LithoFilterPatch: Searching ID: shorts_video_title_item.eml|32b85118397608b8 Path: shorts_video_title_item.eml|32b85118397608b8|ContainerType| BufferStrings: shorts_video_title.eml|51eda4a6b9591883Γ¥Ö1713172609821431810Γ¥Öshorts_video_title_item.eml|32b85118397608b8Γ¥Ö
04-15 14:46:50.242 20811 20811 D revanced: LithoFilterPatch: Searching ID: reel_sound_metadata.eml|bb9ea48760404cc8 Path: reel_sound_metadata.eml|bb9ea48760404cc8|ContainerType| BufferStrings: FEsfv_audio_pivotΓ¥Öd8gVDCjYSJwoLNEdqNXpCaDNRMjgSCzRHajV6QmgzUTI4Ggs0R2o1ekJoM1EyOBoLNEdqNXpCaDNRMjgok47w7NGl8ISGAQ%3D%3DΓ¥ÖOriginal SoundΓ¥Öyt_outline_music_black_18Γ¥Ö1713172609821431813Γ¥Öreel_sound_metadata.eml|bb9ea48760404cc8Γ¥ÖOriginal SoundΓ¥ÖFEsfv_audio_pivotΓ¥Öd8gVDCjYSJwoLNEdqNXpCaDNRMjgSCzRHajV6QmgzUTI4Ggs0R2o1ekJoM1EyOBoLNEdqNXpCaDNRMjgok47w7NGl8ISGAQ%3D%3DΓ¥Ö
04-15 14:46:50.245 20811 20811 D revanced: LithoFilterPatch: Searching ID: shorts_action_bar.eml|87d1fb32edb3aa85 Path: shorts_action_bar.eml|87d1fb32edb3aa85|ContainerType| BufferStrings: shorts_video_action_button.eml|e611dc8f334aedd6Γ¥Ö-8%fΓ¥Öshorts_video_action_button.eml|e611dc8f334aedd6Γ¥Ö-8%fΓ¥Öshorts_video_action_button.eml|e611dc8f334aedd6Γ¥Ö-8%fΓ¥Öshorts_dislike_button.eml|44d1111bc40a15c3Γ¥Öshorts_like_button.eml|6d8588830eece7d5Γ¥Ö1713172609821431815Γ¥Öshorts_action_bar.eml|87d1fb32edb3aa85Γ¥Ö
04-15 14:46:50.248 20811 20811 D revanced: LithoFilterPatch: Searching ID: reel_pivot_button.eml|8e16cc14848ba6d9 Path: reel_pivot_button.eml|8e16cc14848ba6d9|ContainerType| BufferStrings: https://yt3.ggpht.com/hsSLm_efLNE3VM5A5eauGSri1QBCYAK93oQDnCQwlhblxz1w4aTrm9YYE4R7W_Prs9TBewrbaw=s176-c-k-c0x00ffffff-no-rjΓ¥Öhttps://yt3.ggpht.com/hsSLm_efLNE3VM5A5eauGSri1QBCYAK93oQDnCQwlhblxz1w4aTrm9YYE4R7W_Prs9TBewrbaw=s88-c-k-c0x00ffffff-no-rjΓ¥Öhttps://yt3.ggpht.com/hsSLm_efLNE3VM5A5eauGSri1QBCYAK93oQDnCQwlhblxz1w4aTrm9YYE4R7W_Prs9TBewrbaw=s48-c-k-c0x00ffffff-no-rjΓ¥Ö1713172609821431812Γ¥Öreel_pivot_button.eml|8e16cc14848ba6d9Γ¥Öid.reel_pivot_buttonΓ¥ÖSee more videos using this soundΓ¥ÖFEsfv_audio_pivotΓ¥Öd8gVDCjYSJwoLNEdqNXpCaDNRMjgSCzRHajV6QmgzUTI4Ggs0R2o1ekJoM1EyOBoLNEdqNXpCaDNRMjgok47w7NGl8ISGAQ%3D%3DΓ¥Ö

Could any of these lines be relevant for hiding the paid promotion banner in shorts? I took them after hiding most components with the provided settings. I thought it could be first one but trying it in the custom filter didn't hide any banner for me.

The 'Includes paid promotion' is not a litho component. It is part of the UI component with id metadata_badge.

It could be hidden, but there is nothing unique to identify it's a paid promotion label and it's possible that is used for some other labels as well.

LisoUseInAIKyrios avatar Apr 15 '24 09:04 LisoUseInAIKyrios

It could be hidden, but there is nothing unique to identify it's a paid promotion label and it's possible that is used for some other labels as well.

In that case could it be hidden only while in the Shorts player to avoid that? I don't think it's currently used for any other Shorts components

n1cKz1 avatar Apr 15 '24 09:04 n1cKz1

Probably. The paid promotion icon should be bundled with the app, so it could also check what icon resource is being used and selectively hide it that way.

LisoUseInAIKyrios avatar Apr 15 '24 10:04 LisoUseInAIKyrios

The icon name is "eBc.png" inside the res folder. On an unrelated note, the YouTube developers are just collecting icons at this point. So many unused ones

n1cKz1 avatar Apr 15 '24 11:04 n1cKz1

What's the decoded icon name? Look in the temp folder the cli patcher creates. It has all the resources with de-obfuscated names.

LisoUseInAIKyrios avatar Apr 15 '24 11:04 LisoUseInAIKyrios

image

De-obfuscated names of this icon. Only thing is I'm not sure if the grey version of the icon is used anywhere, but I highly doubt it

n1cKz1 avatar Apr 15 '24 11:04 n1cKz1

On my end it looked like a Litho component, because the layout was purely constructed out of view groups which is common for Litho components. To confirm that I still need to capture the Litho component name in the logs though

oSumAtrIX avatar Apr 15 '24 12:04 oSumAtrIX

With the new A/B changes to shorts, I was able to capture the litho component to hide the paid promotion label in shorts. Adding reel_player_disclosure.eml to custom filter hides it now. Relevant log line

04-18 15:53:54.810 12503 12503 D revanced: LithoFilterPatch: Searching ID: null Path: reel_metapanel.eml|e04fff1e35e55361|ContainerType|reel_player_disclosure.eml|bf5745f13ccf6a87|player_disclosure.eml|2f9b207b080faf32|ContainerType| BufferStrings: yt_outline_chevron_right_black_24Γ¥ÖIncludes paid promotionΓ¥Öyt_outline_money_hand_grey600_24Γ¥Ö(https://support.google.com/youtube?p=pppΓ¥Ö

reel_player_disclosure.eml to custom filter hides it now

Works for me too now, banner also looks noticeably different than it used to

n1cKz1 avatar Apr 18 '24 10:04 n1cKz1

Works for me too now, banner also looks noticeably different than it used to

Yes, which is why I decided to run another litho check. Lo and behold, there's a new litho component.

Fixed on dev

LisoUseInAIKyrios avatar Apr 18 '24 10:04 LisoUseInAIKyrios