feat: Use an extension property to create new exception when failing to resolve a fingerprint
This commit adds the extension property to the public API
This commit is contained in:
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.ad.getpremium.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
@@ -62,7 +62,7 @@ class HideGetPremiumPatch : BytecodePatch(listOf(GetPremiumViewFingerprint)) {
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw GetPremiumViewFingerprint.toErrorResult()
|
||||
} ?: throw GetPremiumViewFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.interaction.seekbar.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -43,7 +43,7 @@ class EnableSeekbarTappingPatch : BytecodePatch(
|
||||
}
|
||||
}
|
||||
|
||||
seekbarTappingMethods ?: throw OnTouchEventHandlerFingerprint.toErrorResult()
|
||||
seekbarTappingMethods ?: throw OnTouchEventHandlerFingerprint.exception
|
||||
|
||||
SeekbarTappingFingerprint.result?.let {
|
||||
val insertIndex = it.scanResult.patternScanResult!!.endIndex - 1
|
||||
@@ -72,6 +72,6 @@ class EnableSeekbarTappingPatch : BytecodePatch(
|
||||
ExternalLabel("disabled", getInstruction(insertIndex))
|
||||
)
|
||||
}
|
||||
} ?: throw SeekbarTappingFingerprint.toErrorResult()
|
||||
} ?: throw SeekbarTappingFingerprint.exception
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package app.revanced.patches.youtube.layout.buttons.autoplay.patch
|
||||
|
||||
import app.revanced.extensions.findIndexForIdResource
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -68,6 +68,6 @@ class HideAutoplayButtonPatch : BytecodePatch(
|
||||
""",
|
||||
ExternalLabel("hidden", jumpInstruction)
|
||||
)
|
||||
} ?: throw LayoutConstructorFingerprint.toErrorResult()
|
||||
} ?: throw LayoutConstructorFingerprint.exception
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.buttons.navigation.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -101,7 +101,7 @@ class NavigationButtonsPatch : BytecodePatch(listOf(AddCreateButtonViewFingerpri
|
||||
initializeButtonsResult.mutableClass
|
||||
)
|
||||
)
|
||||
throw it.toErrorResult()
|
||||
throw it.exception
|
||||
}
|
||||
.map { it.result!!.scanResult.patternScanResult!! }
|
||||
|
||||
@@ -150,7 +150,7 @@ class NavigationButtonsPatch : BytecodePatch(listOf(AddCreateButtonViewFingerpri
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw AddCreateButtonViewFingerprint.toErrorResult()
|
||||
} ?: throw AddCreateButtonViewFingerprint.exception
|
||||
|
||||
/*
|
||||
* Resolve fingerprints
|
||||
@@ -158,7 +158,7 @@ class NavigationButtonsPatch : BytecodePatch(listOf(AddCreateButtonViewFingerpri
|
||||
|
||||
InitializeButtonsFingerprint.result!!.let {
|
||||
if (!PivotBarCreateButtonViewFingerprint.resolve(context, it.mutableMethod, it.mutableClass))
|
||||
throw PivotBarCreateButtonViewFingerprint.toErrorResult()
|
||||
throw PivotBarCreateButtonViewFingerprint.exception
|
||||
}
|
||||
|
||||
PivotBarCreateButtonViewFingerprint.result!!.apply {
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.buttons.navigation.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
|
||||
@@ -28,8 +28,8 @@ class ResolvePivotBarFingerprintsPatch : BytecodePatch(
|
||||
context,
|
||||
it.classDef
|
||||
)
|
||||
) throw InitializeButtonsFingerprint.toErrorResult()
|
||||
} ?: throw PivotBarConstructorFingerprint.toErrorResult()
|
||||
) throw InitializeButtonsFingerprint.exception
|
||||
} ?: throw PivotBarConstructorFingerprint.exception
|
||||
}
|
||||
|
||||
internal companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.buttons.player.hide.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -67,6 +67,6 @@ class HidePlayerButtonsPatch : BytecodePatch(
|
||||
move-result v$hasPreviousParameterRegister
|
||||
"""
|
||||
)
|
||||
} ?: throw PlayerControlsVisibilityModelFingerprint.toErrorResult()
|
||||
} ?: throw PlayerControlsVisibilityModelFingerprint.exception
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.albumcards.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -41,6 +41,6 @@ class AlbumCardsPatch : BytecodePatch(
|
||||
"hideAlbumCard(Landroid/view/View;)V"
|
||||
)
|
||||
}
|
||||
} ?: throw AlbumCardsFingerprint.toErrorResult()
|
||||
} ?: throw AlbumCardsFingerprint.exception
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.breakingnews.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -42,7 +42,7 @@ class BreakingNewsPatch : BytecodePatch(
|
||||
)
|
||||
}
|
||||
|
||||
} ?: throw BreakingNewsFingerprint.toErrorResult()
|
||||
} ?: throw BreakingNewsFingerprint.exception
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.crowdfundingbox.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -33,7 +33,7 @@ class CrowdfundingBoxPatch : BytecodePatch(
|
||||
|
||||
addInstruction(insertIndex, "invoke-static {v$objectRegister}, $INTEGRATIONS_METHOD_DESCRIPTOR")
|
||||
}
|
||||
} ?: throw CrowdfundingBoxFingerprint.toErrorResult()
|
||||
} ?: throw CrowdfundingBoxFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.endscreencards.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -32,7 +32,7 @@ class HideEndscreenCardsPatch : BytecodePatch(
|
||||
) {
|
||||
override fun execute(context: BytecodeContext) {
|
||||
fun MethodFingerprint.injectHideCall() {
|
||||
val layoutResult = result ?: throw toErrorResult()
|
||||
val layoutResult = result ?: throw exception
|
||||
layoutResult.mutableMethod.apply {
|
||||
val insertIndex = layoutResult.scanResult.patternScanResult!!.endIndex + 1
|
||||
val viewRegister = getInstruction<Instruction21c>(insertIndex - 1).registerA
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.filterbar.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -76,6 +76,6 @@ class HideFilterBarPatch : BytecodePatch(
|
||||
|
||||
addInstructions(insertIndex, instructions(register))
|
||||
}
|
||||
} ?: throw toErrorResult()
|
||||
} ?: throw exception
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.floatingmicrophone.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -35,7 +35,7 @@ class HideFloatingMicrophoneButtonPatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw ShowFloatingMicrophoneButtonFingerprint.toErrorResult()
|
||||
} ?: throw ShowFloatingMicrophoneButtonFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.general.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -272,7 +272,7 @@ class HideLayoutComponentsPatch : BytecodePatch(
|
||||
addInstruction(0, "move-object/from16 v$freeRegister, p3")
|
||||
}
|
||||
|
||||
} ?: throw ConvertElementToFlatBufferFingerprint.toErrorResult()
|
||||
} ?: throw ConvertElementToFlatBufferFingerprint.exception
|
||||
|
||||
// endregion
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.loadmorebutton.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -33,7 +33,7 @@ class HideLoadMoreButtonPatch : BytecodePatch(listOf(HideLoadMoreButtonFingerpri
|
||||
"$INTEGRATIONS_CLASS_DESCRIPTOR->hideLoadMoreButton(Landroid/view/View;)V"
|
||||
)
|
||||
}
|
||||
} ?: throw HideLoadMoreButtonFingerprint.toErrorResult()
|
||||
} ?: throw HideLoadMoreButtonFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.personalinformation.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -41,6 +41,6 @@ class HideEmailAddressPatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw AccountSwitcherAccessibilityLabelFingerprint.toErrorResult()
|
||||
} ?: throw AccountSwitcherAccessibilityLabelFingerprint.exception
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package app.revanced.patches.youtube.layout.hide.player.overlay.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.indexOfFirstConstantInstructionValue
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -35,7 +35,7 @@ class HidePlayerOverlayPatch : BytecodePatch(listOf(CreatePlayerOverviewFingerpr
|
||||
"$INTEGRATIONS_CLASS_DESCRIPTOR->hidePlayerOverlay(Landroid/widget/ImageView;)V"
|
||||
)
|
||||
}
|
||||
} ?: throw CreatePlayerOverviewFingerprint.toErrorResult()
|
||||
} ?: throw CreatePlayerOverviewFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+8
-8
@@ -2,7 +2,7 @@ package app.revanced.patches.youtube.layout.hide.shorts.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.findIndexForIdResource
|
||||
import app.revanced.extensions.injectHideViewCall
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -61,7 +61,7 @@ class HideShortsComponentsPatch : BytecodePatch(
|
||||
"hideShortsShelf"
|
||||
)
|
||||
}
|
||||
} ?: throw ReelConstructorFingerprint.toErrorResult()
|
||||
} ?: throw ReelConstructorFingerprint.exception
|
||||
|
||||
// endregion
|
||||
|
||||
@@ -70,7 +70,7 @@ class HideShortsComponentsPatch : BytecodePatch(
|
||||
// Some Shorts buttons are views, hide them by setting their visibility to GONE.
|
||||
CreateShortsButtonsFingerprint.result?.let {
|
||||
ShortsButtons.values().forEach { button -> button.injectHideCall(it.mutableMethod) }
|
||||
} ?: throw CreateShortsButtonsFingerprint.toErrorResult()
|
||||
} ?: throw CreateShortsButtonsFingerprint.exception
|
||||
|
||||
// endregion
|
||||
|
||||
@@ -79,7 +79,7 @@ class HideShortsComponentsPatch : BytecodePatch(
|
||||
// Hook to get the pivotBar view.
|
||||
SetPivotBarVisibilityParentFingerprint.result?.let {
|
||||
if (!SetPivotBarVisibilityFingerprint.resolve(context, it.classDef))
|
||||
throw SetPivotBarVisibilityFingerprint.toErrorResult()
|
||||
throw SetPivotBarVisibilityFingerprint.exception
|
||||
|
||||
SetPivotBarVisibilityFingerprint.result!!.let { result ->
|
||||
result.mutableMethod.apply {
|
||||
@@ -92,17 +92,17 @@ class HideShortsComponentsPatch : BytecodePatch(
|
||||
)
|
||||
}
|
||||
}
|
||||
} ?: throw SetPivotBarVisibilityParentFingerprint.toErrorResult()
|
||||
} ?: throw SetPivotBarVisibilityParentFingerprint.exception
|
||||
|
||||
// Hook to hide the navigation bar when Shorts are being played.
|
||||
RenderBottomNavigationBarParentFingerprint.result?.let {
|
||||
if (!RenderBottomNavigationBarFingerprint.resolve(context, it.classDef))
|
||||
throw RenderBottomNavigationBarFingerprint.toErrorResult()
|
||||
throw RenderBottomNavigationBarFingerprint.exception
|
||||
|
||||
RenderBottomNavigationBarFingerprint.result!!.mutableMethod.apply {
|
||||
addInstruction(0, "invoke-static { }, $FILTER_CLASS_DESCRIPTOR->hideNavigationBar()V")
|
||||
}
|
||||
} ?: throw RenderBottomNavigationBarParentFingerprint.toErrorResult()
|
||||
} ?: throw RenderBottomNavigationBarParentFingerprint.exception
|
||||
|
||||
// Required to prevent a black bar from appearing at the bottom of the screen.
|
||||
BottomNavigationBarFingerprint.result?.let {
|
||||
@@ -117,7 +117,7 @@ class HideShortsComponentsPatch : BytecodePatch(
|
||||
"hideNavigationBar(Landroid/view/View;)Landroid/view/View;"
|
||||
)
|
||||
}
|
||||
} ?: throw BottomNavigationBarFingerprint.toErrorResult()
|
||||
} ?: throw BottomNavigationBarFingerprint.exception
|
||||
|
||||
// endregion
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.hide.time.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -47,6 +47,6 @@ class HideTimestampPatch : BytecodePatch(
|
||||
nop
|
||||
"""
|
||||
)
|
||||
} ?: throw TimeCounterFingerprint.toErrorResult()
|
||||
} ?: throw TimeCounterFingerprint.exception
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.panels.popup.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -36,7 +36,7 @@ class PlayerPopupPanelsPatch : BytecodePatch(
|
||||
)
|
||||
|
||||
val engagementPanelControllerMethod = EngagementPanelControllerFingerprint
|
||||
.result?.mutableMethod ?: throw EngagementPanelControllerFingerprint.toErrorResult()
|
||||
.result?.mutableMethod ?: throw EngagementPanelControllerFingerprint.exception
|
||||
|
||||
engagementPanelControllerMethod.addInstructionsWithLabels(
|
||||
0,
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.returnyoutubedislike.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -89,7 +89,7 @@ class ReturnYouTubeDislikePatch : BytecodePatch(
|
||||
)
|
||||
}.result?.also { result ->
|
||||
if (!TextComponentAtomicReferenceFingerprint.resolve(context, result.method, result.classDef))
|
||||
throw TextComponentAtomicReferenceFingerprint.toErrorResult()
|
||||
throw TextComponentAtomicReferenceFingerprint.exception
|
||||
}?.let { textComponentContextFingerprintResult ->
|
||||
val conversionContextIndex = textComponentContextFingerprintResult
|
||||
.scanResult.patternScanResult!!.startIndex
|
||||
@@ -126,7 +126,7 @@ class ReturnYouTubeDislikePatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw TextComponentContextFingerprint.toErrorResult()
|
||||
} ?: throw TextComponentContextFingerprint.exception
|
||||
|
||||
// endregion
|
||||
|
||||
@@ -166,7 +166,7 @@ class ReturnYouTubeDislikePatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw ShortsTextViewFingerprint.toErrorResult()
|
||||
} ?: throw ShortsTextViewFingerprint.exception
|
||||
|
||||
// endregion
|
||||
|
||||
@@ -184,7 +184,7 @@ class ReturnYouTubeDislikePatch : BytecodePatch(
|
||||
"invoke-static {v$resourceIdentifierRegister, v$textViewRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR->setOldUILayoutDislikes(ILandroid/widget/TextView;)V"
|
||||
)
|
||||
}
|
||||
} ?: throw DislikesOldLayoutTextViewFingerprint.toErrorResult()
|
||||
} ?: throw DislikesOldLayoutTextViewFingerprint.exception
|
||||
|
||||
// endregion
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.searchbar.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -38,7 +38,7 @@ class WideSearchbarPatch : BytecodePatch(
|
||||
)
|
||||
)
|
||||
|
||||
val result = CreateSearchSuggestionsFingerprint.result ?: throw CreateSearchSuggestionsFingerprint.toErrorResult()
|
||||
val result = CreateSearchSuggestionsFingerprint.result ?: throw CreateSearchSuggestionsFingerprint.exception
|
||||
|
||||
// patch methods
|
||||
mapOf(
|
||||
@@ -60,7 +60,7 @@ class WideSearchbarPatch : BytecodePatch(
|
||||
fun BytecodeContext.walkMutable(index: Int, fromFingerprint: MethodFingerprint) =
|
||||
fromFingerprint.result?.let {
|
||||
toMethodWalker(it.method).nextMethod(index, true).getMethod() as MutableMethod
|
||||
} ?: throw fromFingerprint.toErrorResult()
|
||||
} ?: throw fromFingerprint.exception
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
package app.revanced.patches.youtube.layout.seekbar.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.indexOfFirstConstantInstructionValue
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
@@ -42,11 +42,11 @@ class SeekbarColorBytecodePatch : BytecodePatch(
|
||||
PlayerSeekbarColorFingerprint.result?.mutableMethod?.apply {
|
||||
addColorChangeInstructions(SeekbarColorResourcePatch.inlineTimeBarColorizedBarPlayedColorDarkId)
|
||||
addColorChangeInstructions(SeekbarColorResourcePatch.inlineTimeBarPlayedNotHighlightedColorId)
|
||||
} ?: throw PlayerSeekbarColorFingerprint.toErrorResult()
|
||||
} ?: throw PlayerSeekbarColorFingerprint.exception
|
||||
|
||||
ShortsSeekbarColorFingerprint.result?.mutableMethod?.apply {
|
||||
addColorChangeInstructions(SeekbarColorResourcePatch.reelTimeBarPlayedColorId)
|
||||
} ?: throw ShortsSeekbarColorFingerprint.toErrorResult()
|
||||
} ?: throw ShortsSeekbarColorFingerprint.exception
|
||||
|
||||
SetSeekbarClickedColorFingerprint.result?.let { result ->
|
||||
result.mutableMethod.let {
|
||||
@@ -67,7 +67,7 @@ class SeekbarColorBytecodePatch : BytecodePatch(
|
||||
)
|
||||
}
|
||||
}
|
||||
} ?: throw SetSeekbarClickedColorFingerprint.toErrorResult()
|
||||
} ?: throw SetSeekbarClickedColorFingerprint.exception
|
||||
|
||||
lithoColorOverrideHook(INTEGRATIONS_CLASS_DESCRIPTOR, "getLithoColor")
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.sponsorblock.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -64,8 +64,8 @@ class SponsorBlockBytecodePatch : BytecodePatch(
|
||||
override fun execute(context: BytecodeContext) {
|
||||
LayoutConstructorFingerprint.result?.let {
|
||||
if (!ControlsOverlayFingerprint.resolve(context, it.classDef))
|
||||
throw ControlsOverlayFingerprint.toErrorResult()
|
||||
} ?: throw LayoutConstructorFingerprint.toErrorResult()
|
||||
throw ControlsOverlayFingerprint.exception
|
||||
} ?: throw LayoutConstructorFingerprint.exception
|
||||
|
||||
/*
|
||||
* Hook the video time methods
|
||||
@@ -219,7 +219,7 @@ class SponsorBlockBytecodePatch : BytecodePatch(
|
||||
"invoke-static {v$frameLayoutRegister}, $INTEGRATIONS_SPONSORBLOCK_VIEW_CONTROLLER_CLASS_DESCRIPTOR->initialize(Landroid/view/ViewGroup;)V"
|
||||
)
|
||||
}
|
||||
} ?: throw ControlsOverlayFingerprint.toErrorResult()
|
||||
} ?: throw ControlsOverlayFingerprint.exception
|
||||
|
||||
// get rectangle field name
|
||||
RectangleFieldInvalidatorFingerprint.resolve(context, seekbarSignatureResult.classDef)
|
||||
@@ -258,13 +258,13 @@ class SponsorBlockBytecodePatch : BytecodePatch(
|
||||
// The vote and create segment buttons automatically change their visibility when appropriate,
|
||||
// but if buttons are showing when the end of the video is reached then they will not automatically hide.
|
||||
// Add a hook to forcefully hide when the end of the video is reached.
|
||||
AutoRepeatParentFingerprint.result ?: throw AutoRepeatParentFingerprint.toErrorResult()
|
||||
AutoRepeatParentFingerprint.result ?: throw AutoRepeatParentFingerprint.exception
|
||||
AutoRepeatFingerprint.also {
|
||||
it.resolve(context, AutoRepeatParentFingerprint.result!!.classDef)
|
||||
}.result?.mutableMethod?.addInstruction(
|
||||
0,
|
||||
"invoke-static {}, $INTEGRATIONS_SPONSORBLOCK_VIEW_CONTROLLER_CLASS_DESCRIPTOR->endOfVideoReached()V"
|
||||
) ?: throw AutoRepeatFingerprint.toErrorResult()
|
||||
) ?: throw AutoRepeatFingerprint.exception
|
||||
|
||||
// TODO: isSBChannelWhitelisting implementation
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.spoofappversion.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -77,7 +77,7 @@ class SpoofAppVersionPatch : BytecodePatch(
|
||||
move-result-object v$buildOverrideNameRegister
|
||||
"""
|
||||
)
|
||||
} ?: throw SpoofAppVersionFingerprint.toErrorResult()
|
||||
} ?: throw SpoofAppVersionFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.tabletminiplayer.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -47,7 +47,7 @@ class TabletMiniPlayerPatch : BytecodePatch(
|
||||
)
|
||||
|
||||
// First resolve the fingerprints via the parent fingerprint.
|
||||
MiniPlayerDimensionsCalculatorParentFingerprint.result ?: throw MiniPlayerDimensionsCalculatorParentFingerprint.toErrorResult()
|
||||
MiniPlayerDimensionsCalculatorParentFingerprint.result ?: throw MiniPlayerDimensionsCalculatorParentFingerprint.exception
|
||||
val miniPlayerClass = MiniPlayerDimensionsCalculatorParentFingerprint.result!!.classDef
|
||||
|
||||
/*
|
||||
@@ -89,7 +89,7 @@ class TabletMiniPlayerPatch : BytecodePatch(
|
||||
}
|
||||
|
||||
return@let
|
||||
} ?: throw MiniPlayerOverrideFingerprint.toErrorResult()
|
||||
} ?: throw MiniPlayerOverrideFingerprint.exception
|
||||
|
||||
/*
|
||||
* Size check return value override.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.theme.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -19,7 +19,7 @@ class LithoColorHookPatch : BytecodePatch(listOf(LithoThemeFingerprint)) {
|
||||
insertionIndex = it.scanResult.patternScanResult!!.endIndex - 1
|
||||
colorRegister = "p1"
|
||||
insertionMethod = it.mutableMethod
|
||||
} ?: throw LithoThemeFingerprint.toErrorResult()
|
||||
} ?: throw LithoThemeFingerprint.exception
|
||||
}
|
||||
companion object {
|
||||
private var insertionIndex : Int = -1
|
||||
|
||||
+6
-6
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.layout.thumbnails.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -73,23 +73,23 @@ class AlternativeThumbnailsPatch : BytecodePatch(
|
||||
)
|
||||
|
||||
MessageDigestImageUrlParentFingerprint.result
|
||||
?: throw MessageDigestImageUrlParentFingerprint.toErrorResult()
|
||||
?: throw MessageDigestImageUrlParentFingerprint.exception
|
||||
MessageDigestImageUrlFingerprint.resolve(context, MessageDigestImageUrlParentFingerprint.result!!.classDef)
|
||||
MessageDigestImageUrlFingerprint.result?.apply {
|
||||
loadImageUrlMethod = mutableMethod
|
||||
} ?: throw MessageDigestImageUrlFingerprint.toErrorResult()
|
||||
} ?: throw MessageDigestImageUrlFingerprint.exception
|
||||
addImageUrlHook(INTEGRATIONS_CLASS_DESCRIPTOR, true)
|
||||
|
||||
|
||||
CronetURLRequestCallbackOnResponseStartedFingerprint.result
|
||||
?: throw CronetURLRequestCallbackOnResponseStartedFingerprint.toErrorResult()
|
||||
?: throw CronetURLRequestCallbackOnResponseStartedFingerprint.exception
|
||||
CronetURLRequestCallbackOnSucceededFingerprint.resolve(
|
||||
context,
|
||||
CronetURLRequestCallbackOnResponseStartedFingerprint.result!!.classDef
|
||||
)
|
||||
CronetURLRequestCallbackOnSucceededFingerprint.result?.apply {
|
||||
loadImageSuccessCallbackMethod = mutableMethod
|
||||
} ?: throw CronetURLRequestCallbackOnSucceededFingerprint.toErrorResult()
|
||||
} ?: throw CronetURLRequestCallbackOnSucceededFingerprint.exception
|
||||
addImageUrlSuccessCallbackHook(INTEGRATIONS_CLASS_DESCRIPTOR)
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ class AlternativeThumbnailsPatch : BytecodePatch(
|
||||
)
|
||||
CronetURLRequestCallbackOnFailureFingerprint.result?.apply {
|
||||
loadImageErrorCallbackMethod = mutableMethod
|
||||
} ?: throw CronetURLRequestCallbackOnFailureFingerprint.toErrorResult()
|
||||
} ?: throw CronetURLRequestCallbackOnFailureFingerprint.exception
|
||||
}
|
||||
|
||||
internal companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.bottomsheet.hook.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@@ -29,7 +29,7 @@ class BottomSheetHookPatch : BytecodePatch(
|
||||
)
|
||||
}
|
||||
}
|
||||
} ?: throw CreateBottomSheetFingerprint.toErrorResult()
|
||||
} ?: throw CreateBottomSheetFingerprint.exception
|
||||
}
|
||||
|
||||
internal companion object {
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.fix.backtoexitgesture.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
@@ -27,7 +27,7 @@ class FixBackToExitGesturePatch : BytecodePatch(
|
||||
resolve(
|
||||
context,
|
||||
RecyclerViewTopScrollingParentFingerprint.result?.classDef
|
||||
?: throw RecyclerViewTopScrollingParentFingerprint.toErrorResult()
|
||||
?: throw RecyclerViewTopScrollingParentFingerprint.exception
|
||||
)
|
||||
}
|
||||
|
||||
@@ -68,6 +68,6 @@ class FixBackToExitGesturePatch : BytecodePatch(
|
||||
mutableMethod.addInstruction(
|
||||
scanResult.patternScanResult!!.endIndex, targetMethod.toString()
|
||||
)
|
||||
} ?: throw this.toErrorResult()
|
||||
} ?: throw this.exception
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.fix.playback.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -30,7 +30,7 @@ class ClientSpoofPatch : BytecodePatch(
|
||||
addInstruction(insertIndex, "const-string v$packageNameRegister, \"$ORIGINAL_PACKAGE_NAME\"")
|
||||
}
|
||||
|
||||
} ?: throw UserAgentHeaderBuilderFingerprint.toErrorResult()
|
||||
} ?: throw UserAgentHeaderBuilderFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.fix.playback.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -52,14 +52,14 @@ class SpoofSignatureVerificationPatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw ProtobufParameterBuilderFingerprint.toErrorResult()
|
||||
} ?: throw ProtobufParameterBuilderFingerprint.exception
|
||||
|
||||
|
||||
// When signature spoofing is enabled, the seekbar when tapped does not show
|
||||
// the video time, chapter names, or the video thumbnail.
|
||||
// Changing the value returned of this method forces all of these to show up,
|
||||
// except the thumbnails are blank, which is handled with the patch below.
|
||||
StoryboardThumbnailParentFingerprint.result ?: throw StoryboardThumbnailParentFingerprint.toErrorResult()
|
||||
StoryboardThumbnailParentFingerprint.result ?: throw StoryboardThumbnailParentFingerprint.exception
|
||||
StoryboardThumbnailFingerprint.resolve(context, StoryboardThumbnailParentFingerprint.result!!.classDef)
|
||||
StoryboardThumbnailFingerprint.result?.apply {
|
||||
val endIndex = scanResult.patternScanResult!!.endIndex
|
||||
@@ -81,7 +81,7 @@ class SpoofSignatureVerificationPatch : BytecodePatch(
|
||||
return v0
|
||||
"""
|
||||
)
|
||||
} ?: throw StoryboardThumbnailFingerprint.toErrorResult()
|
||||
} ?: throw StoryboardThumbnailFingerprint.exception
|
||||
|
||||
|
||||
// Seekbar thumbnail now show up but are always a blank image.
|
||||
@@ -99,7 +99,7 @@ class SpoofSignatureVerificationPatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw ScrubbedPreviewLayoutFingerprint.toErrorResult()
|
||||
} ?: throw ScrubbedPreviewLayoutFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.links.open.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -42,7 +42,7 @@ class OpenLinksExternallyPatch : BytecodePatch(
|
||||
BindSessionServiceFingerprint,
|
||||
InitializeCustomTabSupportFingerprint
|
||||
).forEach {
|
||||
val result = it.result ?: throw it.toErrorResult()
|
||||
val result = it.result ?: throw it.exception
|
||||
val insertIndex = result.scanResult.patternScanResult!!.endIndex + 1
|
||||
with(result.mutableMethod) {
|
||||
val register = (implementation!!.instructions[insertIndex - 1] as Instruction21c).registerA
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.litho.filter.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
@@ -66,7 +66,7 @@ class LithoFilterPatch : BytecodePatch(
|
||||
ReadComponentIdentifierFingerprint
|
||||
).forEach { fingerprint ->
|
||||
if (fingerprint.resolve(context, it.mutableMethod, it.mutableClass)) return@forEach
|
||||
throw fingerprint.toErrorResult()
|
||||
throw fingerprint.exception
|
||||
}
|
||||
}?.let { bytesToComponentContextMethod ->
|
||||
|
||||
@@ -75,7 +75,7 @@ class LithoFilterPatch : BytecodePatch(
|
||||
ProtobufBufferReferenceFingerprint.result
|
||||
?.mutableMethod?.addInstruction(0,
|
||||
" invoke-static { p2 }, $INTEGRATIONS_CLASS_DESCRIPTOR->setProtoBuffer(Ljava/nio/ByteBuffer;)V")
|
||||
?: throw ProtobufBufferReferenceFingerprint.toErrorResult()
|
||||
?: throw ProtobufBufferReferenceFingerprint.exception
|
||||
|
||||
// endregion
|
||||
|
||||
@@ -141,7 +141,7 @@ class LithoFilterPatch : BytecodePatch(
|
||||
}
|
||||
|
||||
// endregion
|
||||
} ?: throw ComponentContextParserFingerprint.toErrorResult()
|
||||
} ?: throw ComponentContextParserFingerprint.exception
|
||||
|
||||
LithoFilterFingerprint.result?.mutableMethod?.apply {
|
||||
removeInstructions(2, 4) // Remove dummy filter.
|
||||
@@ -157,7 +157,7 @@ class LithoFilterPatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw LithoFilterFingerprint.toErrorResult()
|
||||
} ?: throw LithoFilterFingerprint.exception
|
||||
}
|
||||
|
||||
override fun close() = LithoFilterFingerprint.result!!
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.minimizedplayback.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -54,10 +54,10 @@ class MinimizedPlaybackPatch : BytecodePatch(
|
||||
return v0
|
||||
"""
|
||||
)
|
||||
} ?: throw MinimizedPlaybackManagerFingerprint.toErrorResult()
|
||||
} ?: throw MinimizedPlaybackManagerFingerprint.exception
|
||||
|
||||
// Enable minimized playback option in YouTube settings
|
||||
MinimizedPlaybackSettingsParentFingerprint.result ?: throw MinimizedPlaybackSettingsParentFingerprint.toErrorResult()
|
||||
MinimizedPlaybackSettingsParentFingerprint.result ?: throw MinimizedPlaybackSettingsParentFingerprint.exception
|
||||
MinimizedPlaybackSettingsFingerprint.resolve(context, MinimizedPlaybackSettingsParentFingerprint.result!!.classDef)
|
||||
MinimizedPlaybackSettingsFingerprint.result?.apply {
|
||||
val booleanCalls = method.implementation!!.instructions.withIndex()
|
||||
@@ -75,7 +75,7 @@ class MinimizedPlaybackPatch : BytecodePatch(
|
||||
return v0
|
||||
"""
|
||||
)
|
||||
} ?: throw MinimizedPlaybackSettingsFingerprint.toErrorResult()
|
||||
} ?: throw MinimizedPlaybackSettingsFingerprint.exception
|
||||
|
||||
// Force allowing background play for videos labeled for kids.
|
||||
// Some regions and YouTube accounts do not require this patch.
|
||||
@@ -84,7 +84,7 @@ class MinimizedPlaybackPatch : BytecodePatch(
|
||||
0,
|
||||
"return-void"
|
||||
)
|
||||
} ?: throw KidsMinimizedPlaybackPolicyControllerFingerprint.toErrorResult()
|
||||
} ?: throw KidsMinimizedPlaybackPolicyControllerFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.playercontrols.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -29,8 +29,8 @@ class PlayerControlsBytecodePatch : BytecodePatch(
|
||||
override fun execute(context: BytecodeContext) {
|
||||
LayoutConstructorFingerprint.result?.let {
|
||||
if (!PlayerControlsVisibilityFingerprint.resolve(context, it.classDef))
|
||||
throw LayoutConstructorFingerprint.toErrorResult()
|
||||
} ?: throw LayoutConstructorFingerprint.toErrorResult()
|
||||
throw LayoutConstructorFingerprint.exception
|
||||
} ?: throw LayoutConstructorFingerprint.exception
|
||||
|
||||
showPlayerControlsFingerprintResult = PlayerControlsVisibilityFingerprint.result!!
|
||||
inflateFingerprintResult = BottomControlsInflateFingerprint.result!!
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.playertype.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -24,7 +24,7 @@ class PlayerTypeHookPatch : BytecodePatch(
|
||||
PlayerTypeFingerprint.result?.mutableMethod?.addInstruction(
|
||||
0,
|
||||
"invoke-static {p1}, $INTEGRATIONS_CLASS_DESCRIPTOR->setPlayerType(Ljava/lang/Enum;)V"
|
||||
) ?: throw PlayerTypeFingerprint.toErrorResult()
|
||||
) ?: throw PlayerTypeFingerprint.exception
|
||||
|
||||
VideoStateFingerprint.result?.let {
|
||||
it.mutableMethod.apply {
|
||||
@@ -39,7 +39,7 @@ class PlayerTypeHookPatch : BytecodePatch(
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw VideoStateFingerprint.toErrorResult()
|
||||
} ?: throw VideoStateFingerprint.exception
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.misc.settings.bytecode.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -55,7 +55,7 @@ class SettingsPatch : BytecodePatch(
|
||||
addInstruction(returnIndex + 1, "return-object v0")
|
||||
}
|
||||
}
|
||||
} ?: throw SetThemeFingerprint.toErrorResult()
|
||||
} ?: throw SetThemeFingerprint.exception
|
||||
|
||||
|
||||
// Modify the license activity and remove all existing layout code.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.video.information.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -133,7 +133,7 @@ class VideoInformationPatch : BytecodePatch(
|
||||
getReference(speedSelectionMethodInstructions, 1, Opcode.IGET)
|
||||
setPlaybackSpeedMethodReference =
|
||||
getReference(speedSelectionMethodInstructions, 2, Opcode.IGET)
|
||||
} ?: throw OnPlaybackSpeedItemClickFingerprint.toErrorResult()
|
||||
} ?: throw OnPlaybackSpeedItemClickFingerprint.exception
|
||||
|
||||
userSelectedPlaybackSpeedHook(INTEGRATIONS_CLASS_DESCRIPTOR, "userSelectedPlaybackSpeed")
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.video.quality.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -158,7 +158,7 @@ class RememberVideoQualityPatch : BytecodePatch(
|
||||
move-result p2
|
||||
""",
|
||||
)
|
||||
} ?: throw VideoQualitySetterFingerprint.toErrorResult()
|
||||
} ?: throw VideoQualitySetterFingerprint.exception
|
||||
|
||||
|
||||
// Inject a call to remember the selected quality.
|
||||
@@ -173,7 +173,7 @@ class RememberVideoQualityPatch : BytecodePatch(
|
||||
"invoke-static {p$listItemIndexParameter}, $INTEGRATIONS_CLASS_DESCRIPTOR->userChangedQuality(I)V"
|
||||
)
|
||||
} ?: throw PatchException("Failed to find onItemClick method")
|
||||
} ?: throw VideoQualityItemOnClickParentFingerprint.toErrorResult()
|
||||
} ?: throw VideoQualityItemOnClickParentFingerprint.exception
|
||||
|
||||
|
||||
// Remember video quality if not using old layout menu.
|
||||
@@ -187,7 +187,7 @@ class RememberVideoQualityPatch : BytecodePatch(
|
||||
"invoke-static {v$qualityRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR->userChangedQualityInNewFlyout(I)V"
|
||||
)
|
||||
}
|
||||
} ?: throw NewVideoQualityChangedFingerprint.toErrorResult()
|
||||
} ?: throw NewVideoQualityChangedFingerprint.exception
|
||||
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.video.speed.custom.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -156,7 +156,7 @@ class CustomPlaybackSpeedPatch : BytecodePatch(
|
||||
// This is later called on the field INSTANCE.
|
||||
val showOldPlaybackSpeedMenuMethod = ShowOldPlaybackSpeedMenuFingerprint.also {
|
||||
if (!it.resolve(context, result.classDef))
|
||||
throw ShowOldPlaybackSpeedMenuFingerprint.toErrorResult()
|
||||
throw ShowOldPlaybackSpeedMenuFingerprint.exception
|
||||
}.result!!.method.toString()
|
||||
|
||||
// Insert the call to the "showOldPlaybackSpeedMenu" method on the field INSTANCE.
|
||||
@@ -171,8 +171,8 @@ class CustomPlaybackSpeedPatch : BytecodePatch(
|
||||
invoke-virtual { v0 }, $showOldPlaybackSpeedMenuMethod
|
||||
"""
|
||||
)
|
||||
} ?: throw ShowOldPlaybackSpeedMenuIntegrationsFingerprint.toErrorResult()
|
||||
} ?: throw GetOldPlaybackSpeedsFingerprint.toErrorResult()
|
||||
} ?: throw ShowOldPlaybackSpeedMenuIntegrationsFingerprint.exception
|
||||
} ?: throw GetOldPlaybackSpeedsFingerprint.exception
|
||||
|
||||
// endregion
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.video.speed.remember.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -103,7 +103,7 @@ class RememberPlaybackSpeedPatch : BytecodePatch(
|
||||
""".trimIndent(),
|
||||
ExternalLabel("do_not_override", mutableMethod.getInstruction(0))
|
||||
)
|
||||
} ?: throw InitializePlaybackSpeedValuesFingerprint.toErrorResult()
|
||||
} ?: throw InitializePlaybackSpeedValuesFingerprint.exception
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package app.revanced.patches.youtube.video.videoid.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.extensions.exception
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
@@ -38,7 +38,7 @@ class VideoIdPatch : BytecodePatch(
|
||||
consumer(it, insertIndex, videoIdRegister)
|
||||
|
||||
}
|
||||
} ?: throw VideoIdFingerprint.toErrorResult()
|
||||
} ?: throw VideoIdFingerprint.exception
|
||||
|
||||
VideoIdFingerprint.setFields { method, insertIndex, videoIdRegister ->
|
||||
insertMethod = method
|
||||
|
||||
Reference in New Issue
Block a user