feat(YouTube/Player components): add Hide zoom overlay setting (#67)

* Update SharedResourceIdPatch.kt

* Add patches

* Add fingerprints

* Update strings.xml

* Update revanced_prefs.xml

* feat: apply code review suggestions

* feat: apply code review suggestions

---------

Co-authored-by: inotia00 <108592928+inotia00@users.noreply.github.com>
This commit is contained in:
Mizuki
2024-07-26 13:59:40 +07:00
committed by GitHub
parent efb4123831
commit 87d0eecb83
5 changed files with 38 additions and 3 deletions

View File

@ -28,6 +28,7 @@ import app.revanced.patches.youtube.player.components.fingerprints.QuickSeekOver
import app.revanced.patches.youtube.player.components.fingerprints.SeekEduContainerFingerprint
import app.revanced.patches.youtube.player.components.fingerprints.SuggestedActionsFingerprint
import app.revanced.patches.youtube.player.components.fingerprints.TouchAreaOnClickListenerFingerprint
import app.revanced.patches.youtube.player.components.fingerprints.VideoZoomSnapIndicatorFingerprint
import app.revanced.patches.youtube.player.components.fingerprints.WatermarkFingerprint
import app.revanced.patches.youtube.player.components.fingerprints.WatermarkParentFingerprint
import app.revanced.patches.youtube.player.speedoverlay.SpeedOverlayPatch
@ -90,6 +91,7 @@ object PlayerComponentsPatch : BaseBytecodePatch(
StartVideoInformerFingerprint,
SuggestedActionsFingerprint,
TouchAreaOnClickListenerFingerprint,
VideoZoomSnapIndicatorFingerprint,
WatermarkParentFingerprint,
YouTubeControlsOverlayFingerprint,
)
@ -394,6 +396,21 @@ object PlayerComponentsPatch : BaseBytecodePatch(
// endregion
// region patch for hide video zoom overlay
VideoZoomSnapIndicatorFingerprint.resultOrThrow().mutableMethod.apply {
addInstructionsWithLabels(
0, """
invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->hideZoomOverlay()Z
move-result v0
if-eqz v0, :shown
return-void
""", ExternalLabel("shown", getInstruction(0))
)
}
// endregion
LithoFilterPatch.addFilter(PLAYER_COMPONENTS_FILTER_CLASS_DESCRIPTOR)
/**

View File

@ -0,0 +1,12 @@
package app.revanced.patches.youtube.player.components.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.VideoZoomSnapIndicator
import app.revanced.util.fingerprint.LiteralValueFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal object VideoZoomSnapIndicatorFingerprint : LiteralValueFingerprint(
returnType = "V",
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
literalSupplier = { VideoZoomSnapIndicator }
)

View File

@ -110,6 +110,7 @@ object SharedResourceIdPatch : ResourcePatch() {
var VideoQualityBottomSheet = -1L
var VarispeedUnavailableTitle = -1L
var VideoQualityUnavailableAnnouncement = -1L
var VideoZoomSnapIndicator = -1L
var VoiceSearch = -1L
var YouTubeControlsOverlaySubtitleButton = -1L
var YtOutlinePictureInPictureWhite = -1L
@ -218,6 +219,7 @@ object SharedResourceIdPatch : ResourcePatch() {
VarispeedUnavailableTitle = getId(STRING, "varispeed_unavailable_title")
VideoQualityUnavailableAnnouncement =
getId(STRING, "video_quality_unavailable_announcement")
VideoZoomSnapIndicator = getId(ID, "video_zoom_snap_indicator")
VoiceSearch = getId(ID, "voice_search")
YouTubeControlsOverlaySubtitleButton =
getId(LAYOUT, "youtube_controls_overlay_subtitle_button")
@ -228,4 +230,4 @@ object SharedResourceIdPatch : ResourcePatch() {
YtWordMarkHeader = getId(ATTR, "ytWordmarkHeader")
}
}
}