Skip to content

Commit 857053e

Browse files
fix(YouTube - Disable double tap actions): Remove old incompatible targets
1 parent f9a0088 commit 857053e

File tree

5 files changed

+36
-23
lines changed

5 files changed

+36
-23
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import app.revanced.extension.youtube.settings.Settings;
44

55
@SuppressWarnings("unused")
6-
public final class DisableChapterSkipDoubleTapPatch {
6+
public final class DisableDoubleTapActionsPatch {
77

88
/**
99
* Injection point.

patches/api/patches.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,6 +1238,7 @@ public final class app/revanced/patches/youtube/interaction/dialog/RemoveViewerD
12381238

12391239
public final class app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatchKt {
12401240
public static final fun getDisableChapterSkipDoubleTapPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
1241+
public static final fun getDisableDoubleTapActionsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
12411242
}
12421243

12431244
public final class app/revanced/patches/youtube/interaction/downloads/DownloadsPatchKt {

patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatch.kt

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
package app.revanced.patches.youtube.interaction.doubletap
22

33
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
4+
import app.revanced.patcher.fingerprint
45
import app.revanced.patcher.patch.bytecodePatch
56
import app.revanced.patches.all.misc.resources.addResources
67
import app.revanced.patches.all.misc.resources.addResourcesPatch
78
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
89
import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch
910
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
1011
import app.revanced.patches.youtube.misc.settings.settingsPatch
12+
import com.android.tools.smali.dexlib2.AccessFlags
13+
import com.android.tools.smali.dexlib2.Opcode
1114

1215
private const val EXTENSION_CLASS_DESCRIPTOR =
13-
"Lapp/revanced/extension/youtube/patches/DisableChapterSkipDoubleTapPatch;"
16+
"Lapp/revanced/extension/youtube/patches/DisableDoubleTapActionsPatch;"
1417

1518
@Suppress("unused")
16-
val disableChapterSkipDoubleTapPatch = bytecodePatch(
19+
val disableDoubleTapActionsPatch = bytecodePatch(
1720
name = "Disable double tap actions",
1821
description = "Adds an option to disable player double tap gestures.",
1922
) {
@@ -25,22 +28,35 @@ val disableChapterSkipDoubleTapPatch = bytecodePatch(
2528

2629
compatibleWith(
2730
"com.google.android.youtube"(
28-
"19.34.42",
29-
"19.43.41",
30-
"19.47.53",
3131
"20.07.39",
3232
"20.12.46",
3333
"20.13.41",
3434
)
3535
)
3636

3737
execute {
38-
addResources("youtube", "interaction.doubletap.disableChapterSkipDoubleTapPatch")
38+
addResources("youtube", "interaction.doubletap.disableDoubleTapActionsPatch")
3939

4040
PreferenceScreen.PLAYER.addPreferences(
4141
SwitchPreference("revanced_disable_chapter_skip_double_tap"),
4242
)
4343

44+
val doubleTapInfoGetSeekSourceFingerprint = fingerprint {
45+
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
46+
parameters("Z")
47+
returns(seekTypeEnumFingerprint.originalClassDef.type)
48+
opcodes(
49+
Opcode.IF_EQZ,
50+
Opcode.SGET_OBJECT,
51+
Opcode.RETURN_OBJECT,
52+
Opcode.SGET_OBJECT,
53+
Opcode.RETURN_OBJECT,
54+
)
55+
custom { _, classDef ->
56+
classDef.fields.count() == 4
57+
}
58+
}
59+
4460
// Force isChapterSeek flag to false.
4561
doubleTapInfoGetSeekSourceFingerprint.method.addInstructions(
4662
0,
@@ -60,4 +76,9 @@ val disableChapterSkipDoubleTapPatch = bytecodePatch(
6076
"""
6177
)
6278
}
63-
}
79+
}
80+
81+
@Deprecated("Patch was renamed", ReplaceWith("disableDoubleTapActionsPatch"))
82+
val disableChapterSkipDoubleTapPatch = bytecodePatch {
83+
dependsOn(disableDoubleTapActionsPatch)
84+
}

patches/src/main/kotlin/app/revanced/patches/youtube/interaction/doubletap/Fingerprints.kt

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,13 @@ package app.revanced.patches.youtube.interaction.doubletap
22

33
import app.revanced.patcher.fingerprint
44
import com.android.tools.smali.dexlib2.AccessFlags
5-
import com.android.tools.smali.dexlib2.Opcode
65

7-
internal val doubleTapInfoGetSeekSourceFingerprint = fingerprint {
8-
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
9-
parameters("Z")
10-
returns("L") // Enum SeekSource, but name obfuscated.
11-
opcodes(
12-
Opcode.IF_EQZ,
13-
Opcode.SGET_OBJECT,
14-
Opcode.RETURN_OBJECT,
15-
Opcode.SGET_OBJECT,
16-
Opcode.RETURN_OBJECT,
6+
internal val seekTypeEnumFingerprint = fingerprint {
7+
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
8+
strings(
9+
"SEEK_SOURCE_SEEK_TO_NEXT_CHAPTER",
10+
"SEEK_SOURCE_SEEK_TO_PREVIOUS_CHAPTER"
1711
)
18-
custom { _, classDef ->
19-
classDef.fields.count() == 4
20-
}
2112
}
2213

2314
internal val doubleTapInfoCtorFingerprint = fingerprint {

patches/src/main/resources/addresources/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ This feature is only available for older devices"</string>
516516
<string name="revanced_remove_viewer_discretion_dialog_summary_off">Dialog will be shown</string>
517517
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">This does not bypass the age restriction. It just accepts it automatically.</string>
518518
</patch>
519-
<patch id="interaction.doubletap.disableChapterSkipDoubleTapPatch">
519+
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
520520
<string name="revanced_disable_chapter_skip_double_tap_title">Disable double tap chapter skip</string>
521521
<string name="revanced_disable_chapter_skip_double_tap_summary_on">Double tap can never trigger a skip to the next/previous chapter</string>
522522
<string name="revanced_disable_chapter_skip_double_tap_summary_off">Double tap can occasionally trigger a skip to the next/previous chapter</string>

0 commit comments

Comments
 (0)