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