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 }
)