diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/MiniplayerPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/MiniplayerPatch.kt
index fa41caa83..309a3172e 100644
--- a/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/MiniplayerPatch.kt
+++ b/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/MiniplayerPatch.kt
@@ -178,6 +178,22 @@ object MiniplayerPatch : BaseBytecodePatch(
// endregion
+ // region Enable double tap action.
+
+ if (SettingsPatch.upward1925) {
+ MiniplayerModernConstructorFingerprint.literalInstructionBooleanHook(
+ 45628823,
+ "$INTEGRATIONS_CLASS_DESCRIPTOR->enableMiniplayerDoubleTapAction()Z"
+ )
+ MiniplayerModernConstructorFingerprint.literalInstructionBooleanHook(
+ 45630429,
+ "$INTEGRATIONS_CLASS_DESCRIPTOR->getModernMiniplayerOverride(Z)Z"
+ )
+ settingArray += "SETTINGS: MINIPLAYER_DOUBLE_TAP_ACTION"
+ }
+
+ // endregion
+
val miniplayerModernViewParentClassDef = MiniplayerModernViewParentFingerprint.resultOrThrow().classDef
// region Fix 19.16 using mixed up drawables for tablet modern.
diff --git a/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/fingerprints/MiniplayerModernConstructorFingerprint.kt b/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/fingerprints/MiniplayerModernConstructorFingerprint.kt
index 560567ed7..47b8480c3 100644
--- a/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/fingerprints/MiniplayerModernConstructorFingerprint.kt
+++ b/src/main/kotlin/app/revanced/patches/youtube/general/miniplayer/fingerprints/MiniplayerModernConstructorFingerprint.kt
@@ -20,7 +20,12 @@ internal object MiniplayerModernConstructorFingerprint : MethodFingerprint(
if (MethodUtil.isConstructor(it)) constructorMethodCount += 1
}
- constructorMethodCount > 0
+ if (!SettingsPatch.upward1925)
+ return@custom true
+
+ // Double tap action (Used in YouTube 19.25.39+).
+ methodDef.containsWideLiteralInstructionIndex(45628823)
+ && methodDef.containsWideLiteralInstructionIndex(45630429)
}
) {
private var constructorMethodCount = 0
diff --git a/src/main/resources/youtube/settings/host/values/strings.xml b/src/main/resources/youtube/settings/host/values/strings.xml
index 5189077dd..c35ac0423 100644
--- a/src/main/resources/youtube/settings/host/values/strings.xml
+++ b/src/main/resources/youtube/settings/host/values/strings.xml
@@ -387,15 +387,15 @@ Some components may not be hidden."
Modern 1
Modern 2
Modern 3
- Enable drag and drop
- Drag and drop is enabled.
- Drag and drop is disabled.
- Double-tap action
+ Enable double-tap action
"Double-tap action is enabled.
• Modern 1: Double-tap to change the minimized video to a larger size.
• Modern 2, 3: Double-tap to close the minimized video."
Double-tap action is disabled.
+ Enable drag and drop
+ Drag and drop is enabled.
+ Drag and drop is disabled.
Hide expand and close buttons
Buttons are hidden.\n(swipe miniplayer to expand or close)
Expand and close buttons are shown.
diff --git a/src/main/resources/youtube/settings/xml/revanced_prefs.xml b/src/main/resources/youtube/settings/xml/revanced_prefs.xml
index 75f916c90..eebb71fc2 100644
--- a/src/main/resources/youtube/settings/xml/revanced_prefs.xml
+++ b/src/main/resources/youtube/settings/xml/revanced_prefs.xml
@@ -130,6 +130,9 @@
SETTINGS: MINIPLAYER_TYPE_MODERN -->
+
+