mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-06-12 05:07:41 +02:00
feat(YouTube/Seekbar components): add Disable seekbar chapters
setting
This commit is contained in:
@ -14,6 +14,7 @@ import app.revanced.patches.youtube.player.seekbar.fingerprints.SeekbarTappingFi
|
||||
import app.revanced.patches.youtube.player.seekbar.fingerprints.ShortsSeekbarColorFingerprint
|
||||
import app.revanced.patches.youtube.player.seekbar.fingerprints.ThumbnailPreviewConfigFingerprint
|
||||
import app.revanced.patches.youtube.player.seekbar.fingerprints.TimeCounterFingerprint
|
||||
import app.revanced.patches.youtube.player.seekbar.fingerprints.TimelineMarkerArrayFingerprint
|
||||
import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE
|
||||
import app.revanced.patches.youtube.utils.fingerprints.PlayerButtonsResourcesFingerprint
|
||||
import app.revanced.patches.youtube.utils.fingerprints.PlayerButtonsVisibilityFingerprint
|
||||
@ -67,8 +68,9 @@ object SeekbarComponentsPatch : BaseBytecodePatch(
|
||||
SeekbarFingerprint,
|
||||
SeekbarTappingFingerprint,
|
||||
ShortsSeekbarColorFingerprint,
|
||||
TimelineMarkerArrayFingerprint,
|
||||
ThumbnailPreviewConfigFingerprint,
|
||||
TotalTimeFingerprint
|
||||
TotalTimeFingerprint,
|
||||
)
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
@ -211,6 +213,21 @@ object SeekbarComponentsPatch : BaseBytecodePatch(
|
||||
|
||||
// region patch for hide chapter
|
||||
|
||||
TimelineMarkerArrayFingerprint.resultOrThrow().let {
|
||||
it.mutableMethod.apply {
|
||||
addInstructionsWithLabels(
|
||||
0, """
|
||||
invoke-static {}, $PLAYER_CLASS_DESCRIPTOR->disableSeekbarChapters()Z
|
||||
move-result v0
|
||||
if-eqz v0, :show
|
||||
const/4 v0, 0x0
|
||||
new-array v0, v0, [Lcom/google/android/libraries/youtube/player/features/overlay/timebar/TimelineMarker;
|
||||
return-object v0
|
||||
""", ExternalLabel("show", getInstruction(0))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
PlayerButtonsVisibilityFingerprint.resolve(
|
||||
context,
|
||||
PlayerButtonsResourcesFingerprint.resultOrThrow().mutableClass
|
||||
@ -223,7 +240,7 @@ object SeekbarComponentsPatch : BaseBytecodePatch(
|
||||
|
||||
addInstructionsWithLabels(
|
||||
viewIndex, """
|
||||
invoke-static {v$viewRegister}, $PLAYER_CLASS_DESCRIPTOR->hideSeekbarChapters(Landroid/view/View;)Z
|
||||
invoke-static {v$viewRegister}, $PLAYER_CLASS_DESCRIPTOR->hideSeekbarChapterLabel(Landroid/view/View;)Z
|
||||
move-result v$freeRegister
|
||||
if-eqz v$freeRegister, :ignore
|
||||
return-void
|
||||
|
@ -0,0 +1,10 @@
|
||||
package app.revanced.patches.youtube.player.seekbar.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
|
||||
internal object TimelineMarkerArrayFingerprint : MethodFingerprint(
|
||||
returnType = "[Lcom/google/android/libraries/youtube/player/features/overlay/timebar/TimelineMarker;",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
)
|
Reference in New Issue
Block a user