Skip to content

Commit

Permalink
feat(YouTube - Hide Shorts components): Add patch option to hide Shor…
Browse files Browse the repository at this point in the history
…ts app shortcut (long press app icon)
  • Loading branch information
LisoUseInAIKyrios committed Sep 27, 2024
1 parent aa01578 commit 06523ab
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.annotation.CompatiblePackage
import app.revanced.patcher.patch.annotation.Patch
import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.booleanPatchOption
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.shared.misc.mapping.ResourceMappingPatch
import app.revanced.patches.youtube.layout.hide.shorts.fingerprints.*
Expand Down Expand Up @@ -76,6 +77,13 @@ object HideShortsComponentsPatch : BytecodePatch(
) {
private const val FILTER_CLASS_DESCRIPTOR = "Lapp/revanced/integrations/youtube/patches/components/ShortsFilter;"

internal val hideShortsLongPressMenuItem by booleanPatchOption(
key = "hideShortsAppShortcut",
default = false,
title = "hide Shorts app shortcut",
description = "Permanently hides the Shorts app shortcut (long pressing app icon)."
)

override fun execute(context: BytecodeContext) {
// region Hide the Shorts shelf.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ import app.revanced.patcher.patch.annotation.Patch
import app.revanced.patches.all.misc.resources.AddResourcesPatch
import app.revanced.patches.shared.misc.mapping.ResourceMappingPatch
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
import app.revanced.patches.youtube.layout.hide.shorts.HideShortsComponentsPatch.hideShortsLongPressMenuItem
import app.revanced.patches.youtube.misc.settings.SettingsPatch
import app.revanced.util.findElementByAttributeValueOrThrow
import org.w3c.dom.Element

@Patch(dependencies = [SettingsPatch::class, ResourceMappingPatch::class, AddResourcesPatch::class])
object HideShortsComponentsResourcePatch : ResourcePatch() {
Expand All @@ -16,6 +19,19 @@ object HideShortsComponentsResourcePatch : ResourcePatch() {
override fun execute(context: ResourceContext) {
AddResourcesPatch(this::class)

if (hideShortsLongPressMenuItem == true) {
context.xmlEditor["res/xml/main_shortcuts.xml"].use { editor ->
val shortcuts = editor.file.getElementsByTagName("shortcuts").item(0) as Element
val shortsItem =
shortcuts.getElementsByTagName("shortcut").findElementByAttributeValueOrThrow(
"android:shortcutId",
"shorts-shortcut"
)

shortsItem.parentNode.removeChild(shortsItem)
}
}

SettingsPatch.PreferenceScreen.SHORTS.addPreferences(
SwitchPreference("revanced_hide_shorts_home"),
SwitchPreference("revanced_hide_shorts_subscriptions"),
Expand Down

0 comments on commit 06523ab

Please sign in to comment.