mirror of
https://github.com/revanced/revanced-patches.git
synced 2025-06-12 05:07:45 +02:00
feat(YouTube): Add Disable haptic feedback
patch (#5033)
This commit is contained in:
@ -1399,6 +1399,10 @@ public final class app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatchKt {
|
||||
public static final fun getGmsCoreSupportPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/misc/hapticfeedback/DisableHapticFeedbackPatchKt {
|
||||
public static final fun getDisableHapticFeedbackPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||
}
|
||||
|
||||
public final class app/revanced/patches/youtube/misc/imageurlhook/CronetImageUrlHookKt {
|
||||
public static final fun addImageUrlErrorCallbackHook (Ljava/lang/String;)V
|
||||
public static final fun addImageUrlHook (Ljava/lang/String;Z)V
|
||||
|
@ -0,0 +1,74 @@
|
||||
package app.revanced.patches.youtube.misc.hapticfeedback
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
|
||||
private const val EXTENSION_CLASS_DESCRIPTOR =
|
||||
"Lapp/revanced/extension/youtube/patches/DisableHapticFeedbackPatch;"
|
||||
|
||||
@Suppress("unused")
|
||||
val disableHapticFeedbackPatch = bytecodePatch(
|
||||
name = "Disable haptic feedback",
|
||||
description = "Adds an option to disable haptic feedback in the player for various actions.",
|
||||
) {
|
||||
dependsOn(
|
||||
settingsPatch,
|
||||
addResourcesPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
"20.12.46",
|
||||
)
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "misc.hapticfeedback.disableHapticFeedbackPatch")
|
||||
|
||||
PreferenceScreen.PLAYER.addPreferences(
|
||||
PreferenceScreenPreference(
|
||||
"revanced_disable_haptic_feedback",
|
||||
preferences = setOf(
|
||||
SwitchPreference("revanced_disable_haptic_feedback_chapters"),
|
||||
SwitchPreference("revanced_disable_haptic_feedback_precise_seeking"),
|
||||
SwitchPreference("revanced_disable_haptic_feedback_seek_undo"),
|
||||
SwitchPreference("revanced_disable_haptic_feedback_zoom"),
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
arrayOf(
|
||||
markerHapticsFingerprint to "disableChapterVibrate",
|
||||
scrubbingHapticsFingerprint to "disablePreciseSeekingVibrate",
|
||||
seekUndoHapticsFingerprint to "disableSeekUndoVibrate",
|
||||
zoomHapticsFingerprint to "disableZoomVibrate"
|
||||
).forEach { (fingerprint, methodName) ->
|
||||
fingerprint.method.apply {
|
||||
addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->$methodName()Z
|
||||
move-result v0
|
||||
if-eqz v0, :vibrate
|
||||
return-void
|
||||
""",
|
||||
ExternalLabel("vibrate", getInstruction(0))
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package app.revanced.patches.youtube.misc.hapticfeedback
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
|
||||
internal val markerHapticsFingerprint = fingerprint {
|
||||
returns("V")
|
||||
strings("Failed to execute markers haptics vibrate.")
|
||||
}
|
||||
|
||||
internal val scrubbingHapticsFingerprint = fingerprint {
|
||||
returns("V")
|
||||
strings("Failed to haptics vibrate for fine scrubbing.")
|
||||
}
|
||||
|
||||
internal val seekUndoHapticsFingerprint = fingerprint {
|
||||
returns("V")
|
||||
strings("Failed to execute seek undo haptics vibrate.")
|
||||
}
|
||||
|
||||
internal val zoomHapticsFingerprint = fingerprint {
|
||||
returns("V")
|
||||
strings("Failed to haptics vibrate for video zoom")
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
package app.revanced.patches.youtube.misc.zoomhaptics
|
||||
|
||||
import app.revanced.patcher.fingerprint
|
||||
|
||||
internal val zoomHapticsFingerprint = fingerprint {
|
||||
strings("Failed to haptics vibrate for video zoom")
|
||||
}
|
@ -1,54 +1,11 @@
|
||||
package app.revanced.patches.youtube.misc.zoomhaptics
|
||||
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.patch.bytecodePatch
|
||||
import app.revanced.patcher.util.smali.ExternalLabel
|
||||
import app.revanced.patches.all.misc.resources.addResources
|
||||
import app.revanced.patches.all.misc.resources.addResourcesPatch
|
||||
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
|
||||
import app.revanced.patches.youtube.misc.settings.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.settingsPatch
|
||||
import app.revanced.patches.youtube.misc.hapticfeedback.disableHapticFeedbackPatch
|
||||
|
||||
@Deprecated("Superseded by disableHapticFeedbackPatch", ReplaceWith("disableHapticFeedbackPatch"))
|
||||
val zoomHapticsPatch = bytecodePatch(
|
||||
name = "Disable zoom haptics",
|
||||
description = "Adds an option to disable haptics when zooming.",
|
||||
) {
|
||||
dependsOn(
|
||||
settingsPatch,
|
||||
addResourcesPatch,
|
||||
)
|
||||
|
||||
compatibleWith(
|
||||
"com.google.android.youtube"(
|
||||
"19.16.39",
|
||||
"19.25.37",
|
||||
"19.34.42",
|
||||
"19.43.41",
|
||||
"19.47.53",
|
||||
"20.07.39",
|
||||
"20.12.46",
|
||||
)
|
||||
)
|
||||
|
||||
execute {
|
||||
addResources("youtube", "misc.zoomhaptics.zoomHapticsPatch")
|
||||
|
||||
PreferenceScreen.MISC.addPreferences(
|
||||
SwitchPreference("revanced_disable_zoom_haptics"),
|
||||
)
|
||||
|
||||
zoomHapticsFingerprint.method.apply {
|
||||
addInstructionsWithLabels(
|
||||
0,
|
||||
"""
|
||||
invoke-static { }, Lapp/revanced/extension/youtube/patches/ZoomHapticsPatch;->shouldVibrate()Z
|
||||
move-result v0
|
||||
if-nez v0, :vibrate
|
||||
return-void
|
||||
""",
|
||||
ExternalLabel("vibrate", getInstruction(0)),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
dependsOn(disableHapticFeedbackPatch)
|
||||
}
|
@ -1390,6 +1390,22 @@ Enabling this can unlock higher video qualities"</string>
|
||||
<string name="microg_settings_title">GmsCore Settings</string>
|
||||
<string name="microg_settings_summary">Settings for GmsCore</string>
|
||||
</patch>
|
||||
<patch id="misc.hapticfeedback.disableHapticFeedbackPatch">
|
||||
<string name="revanced_disable_haptic_feedback_title">Haptic feedback</string>
|
||||
<string name="revanced_disable_haptic_feedback_summary">Change haptic feedback</string>
|
||||
<string name="revanced_disable_haptic_feedback_chapters_title">Disable chapters haptics</string>
|
||||
<string name="revanced_disable_haptic_feedback_chapters_summary_on">Chapters haptics is disabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_chapters_summary_off">Chapters haptics is enabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_title">Disable precise seeking haptics</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_on">Precise seeking haptics is disabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_precise_seeking_summary_off">Precise seeking haptics is enabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_seek_undo_title">Disable seek undo haptics</string>
|
||||
<string name="revanced_disable_haptic_feedback_seek_undo_summary_on">Seek undo haptics is disabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_seek_undo_summary_off">Seek undo haptics is enabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_zoom_title">Disable zoom haptics</string>
|
||||
<string name="revanced_disable_haptic_feedback_zoom_summary_on">Zoom haptics is disabled</string>
|
||||
<string name="revanced_disable_haptic_feedback_zoom_summary_off">Zoom haptics is enabled</string>
|
||||
</patch>
|
||||
<patch id="misc.gms.accountCredentialsInvalidTextPatch">
|
||||
<string name="microg_offline_account_login_error">If you recently changed your account login details, then uninstall and reinstall MicroG.</string>
|
||||
</patch>
|
||||
@ -1408,11 +1424,6 @@ Enabling this can unlock higher video qualities"</string>
|
||||
<string name="revanced_remove_tracking_query_parameter_summary_on">Tracking query parameter is removed from links</string>
|
||||
<string name="revanced_remove_tracking_query_parameter_summary_off">Tracking query parameter is not removed from links</string>
|
||||
</patch>
|
||||
<patch id="misc.zoomhaptics.zoomHapticsPatch">
|
||||
<string name="revanced_disable_zoom_haptics_title">Disable zoom haptics</string>
|
||||
<string name="revanced_disable_zoom_haptics_summary_on">Haptics are disabled</string>
|
||||
<string name="revanced_disable_zoom_haptics_summary_off">Haptics are enabled</string>
|
||||
</patch>
|
||||
<patch id="video.audio.forceOriginalAudioPatch">
|
||||
<string name="revanced_force_original_audio_title">Force original audio language</string>
|
||||
<string name="revanced_force_original_audio_summary_on">Using original audio language</string>
|
||||
|
Reference in New Issue
Block a user