mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-29 05:10:20 +02:00
fix(YouTube - Swipe controls): Gestures are not disabled in the channel bar even though Disable watch panel gestures
is turned on (YouTube 19.16.39+)
This commit is contained in:
parent
dd3c889062
commit
4b0e9504c9
@ -3,6 +3,7 @@ package app.revanced.patches.youtube.swipe.controls
|
|||||||
import app.revanced.patches.youtube.utils.extension.Constants.EXTENSION_PATH
|
import app.revanced.patches.youtube.utils.extension.Constants.EXTENSION_PATH
|
||||||
import app.revanced.patches.youtube.utils.resourceid.autoNavScrollCancelPadding
|
import app.revanced.patches.youtube.utils.resourceid.autoNavScrollCancelPadding
|
||||||
import app.revanced.patches.youtube.utils.resourceid.fullScreenEngagementOverlay
|
import app.revanced.patches.youtube.utils.resourceid.fullScreenEngagementOverlay
|
||||||
|
import app.revanced.util.containsLiteralInstruction
|
||||||
import app.revanced.util.fingerprint.legacyFingerprint
|
import app.revanced.util.fingerprint.legacyFingerprint
|
||||||
import app.revanced.util.or
|
import app.revanced.util.or
|
||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
@ -39,7 +40,7 @@ internal val swipeToSwitchVideoFingerprint = legacyFingerprint(
|
|||||||
literals = listOf(SWIPE_TO_SWITCH_VIDEO_FEATURE_FLAG),
|
literals = listOf(SWIPE_TO_SWITCH_VIDEO_FEATURE_FLAG),
|
||||||
)
|
)
|
||||||
|
|
||||||
internal const val WATCH_PANEL_GESTURES_FEATURE_FLAG = 45372793L
|
internal const val WATCH_PANEL_GESTURES_PRIMARY_FEATURE_FLAG = 45372793L
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This fingerprint is compatible with YouTube v18.29.38 ~ v19.34.42
|
* This fingerprint is compatible with YouTube v18.29.38 ~ v19.34.42
|
||||||
@ -47,10 +48,28 @@ internal const val WATCH_PANEL_GESTURES_FEATURE_FLAG = 45372793L
|
|||||||
internal val watchPanelGesturesFingerprint = legacyFingerprint(
|
internal val watchPanelGesturesFingerprint = legacyFingerprint(
|
||||||
name = "watchPanelGesturesFingerprint",
|
name = "watchPanelGesturesFingerprint",
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literals = listOf(WATCH_PANEL_GESTURES_FEATURE_FLAG),
|
literals = listOf(WATCH_PANEL_GESTURES_PRIMARY_FEATURE_FLAG),
|
||||||
)
|
)
|
||||||
|
|
||||||
internal val watchPanelGesturesAlternativeFingerprint = legacyFingerprint(
|
internal val watchPanelGesturesAlternativeFingerprint = legacyFingerprint(
|
||||||
name = "watchPanelGesturesAlternativeFingerprint",
|
name = "watchPanelGesturesAlternativeFingerprint",
|
||||||
literals = listOf(autoNavScrollCancelPadding),
|
literals = listOf(autoNavScrollCancelPadding),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
internal const val WATCH_PANEL_GESTURES_SECONDARY_FEATURE_FLAG = 45619395L
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watch panel gestures in channel bar
|
||||||
|
* This fingerprint is compatible with YouTube v19.15.36 ~
|
||||||
|
*/
|
||||||
|
internal val watchPanelGesturesChannelBarFingerprint = legacyFingerprint(
|
||||||
|
name = "watchPanelGesturesChannelBarFingerprint",
|
||||||
|
returnType = "Z",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
|
parameters = listOf("Landroid/view/MotionEvent;"),
|
||||||
|
customFingerprint = { method, _ ->
|
||||||
|
method.definingClass.endsWith("/NextGenWatchLayout;") &&
|
||||||
|
method.name == "onInterceptTouchEvent" &&
|
||||||
|
method.containsLiteralInstruction(WATCH_PANEL_GESTURES_SECONDARY_FEATURE_FLAG)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ -16,6 +16,7 @@ import app.revanced.patches.youtube.utils.mainactivity.mainActivityResolvePatch
|
|||||||
import app.revanced.patches.youtube.utils.patch.PatchList.SWIPE_CONTROLS
|
import app.revanced.patches.youtube.utils.patch.PatchList.SWIPE_CONTROLS
|
||||||
import app.revanced.patches.youtube.utils.playertype.playerTypeHookPatch
|
import app.revanced.patches.youtube.utils.playertype.playerTypeHookPatch
|
||||||
import app.revanced.patches.youtube.utils.playservice.is_19_09_or_greater
|
import app.revanced.patches.youtube.utils.playservice.is_19_09_or_greater
|
||||||
|
import app.revanced.patches.youtube.utils.playservice.is_19_15_or_greater
|
||||||
import app.revanced.patches.youtube.utils.playservice.is_19_23_or_greater
|
import app.revanced.patches.youtube.utils.playservice.is_19_23_or_greater
|
||||||
import app.revanced.patches.youtube.utils.playservice.is_19_36_or_greater
|
import app.revanced.patches.youtube.utils.playservice.is_19_36_or_greater
|
||||||
import app.revanced.patches.youtube.utils.playservice.versionCheckPatch
|
import app.revanced.patches.youtube.utils.playservice.versionCheckPatch
|
||||||
@ -146,7 +147,7 @@ val swipeControlsPatch = bytecodePatch(
|
|||||||
|
|
||||||
if (!is_19_36_or_greater) {
|
if (!is_19_36_or_greater) {
|
||||||
watchPanelGesturesFingerprint.injectLiteralInstructionBooleanCall(
|
watchPanelGesturesFingerprint.injectLiteralInstructionBooleanCall(
|
||||||
WATCH_PANEL_GESTURES_FEATURE_FLAG,
|
WATCH_PANEL_GESTURES_PRIMARY_FEATURE_FLAG,
|
||||||
"$EXTENSION_SWIPE_CONTROLS_PATCH_CLASS_DESCRIPTOR->disableWatchPanelGestures()Z"
|
"$EXTENSION_SWIPE_CONTROLS_PATCH_CLASS_DESCRIPTOR->disableWatchPanelGestures()Z"
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@ -197,6 +198,13 @@ val swipeControlsPatch = bytecodePatch(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_19_15_or_greater) {
|
||||||
|
watchPanelGesturesChannelBarFingerprint.injectLiteralInstructionBooleanCall(
|
||||||
|
WATCH_PANEL_GESTURES_SECONDARY_FEATURE_FLAG,
|
||||||
|
"$EXTENSION_SWIPE_CONTROLS_PATCH_CLASS_DESCRIPTOR->disableWatchPanelGestures()Z"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region copy resources
|
// region copy resources
|
||||||
|
Loading…
x
Reference in New Issue
Block a user