diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt index 6d93672b7..3af42d294 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt @@ -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 diff --git a/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/fingerprints/TimelineMarkerArrayFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/fingerprints/TimelineMarkerArrayFingerprint.kt new file mode 100644 index 000000000..9429def30 --- /dev/null +++ b/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/fingerprints/TimelineMarkerArrayFingerprint.kt @@ -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, +) \ No newline at end of file diff --git a/src/main/resources/youtube/settings/host/values/strings.xml b/src/main/resources/youtube/settings/host/values/strings.xml index b9fe1b778..709c7bf0d 100644 --- a/src/main/resources/youtube/settings/host/values/strings.xml +++ b/src/main/resources/youtube/settings/host/values/strings.xml @@ -1076,9 +1076,12 @@ Tap and hold to undo." Hide seekbar in video thumbnails Thumbnail seekbar is hidden. Thumbnail seekbar is shown. - Hide seekbar chapters - Chapters are hidden in the seekbar. - Chapters are shown in the seekbar. + Disable seekbar chapters + Chapters are disabled in the seekbar. + Chapters are enabled in the seekbar. + Hide seekbar chapter labels + Chapter labels next to the timestamp are hidden. + Chapter labels next to the timestamp are hidden. Hide timestamp Timestamp is hidden. Timestamp is shown. diff --git a/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/src/main/resources/youtube/settings/xml/revanced_prefs.xml index 472cfd40d..64b699779 100644 --- a/src/main/resources/youtube/settings/xml/revanced_prefs.xml +++ b/src/main/resources/youtube/settings/xml/revanced_prefs.xml @@ -445,7 +445,8 @@ - + + SETTINGS: SEEKBAR_COMPONENTS -->