feat(youtube): cleanup

This commit is contained in:
inotia00
2023-06-30 00:31:55 +09:00
parent 7a49a850ba
commit 42689a7da7
9 changed files with 23 additions and 17 deletions

View File

@ -38,6 +38,7 @@ class MusicAdsPatch : AbstractAdsPatch(
return PatchResultSuccess() return PatchResultSuccess()
} }
private companion object { private companion object {
private const val FILTER_CLASS_DESCRIPTOR = private const val FILTER_CLASS_DESCRIPTOR =
"$MUSIC_ADS_PATH/AdsFilter;" "$MUSIC_ADS_PATH/AdsFilter;"

View File

@ -39,6 +39,7 @@ class HideButtonShelfPatch : BytecodePatch() {
return PatchResultSuccess() return PatchResultSuccess()
} }
private companion object { private companion object {
private const val FILTER_CLASS_DESCRIPTOR = private const val FILTER_CLASS_DESCRIPTOR =
"$MUSIC_ADS_PATH/ButtonShelfFilter;" "$MUSIC_ADS_PATH/ButtonShelfFilter;"

View File

@ -39,6 +39,7 @@ class HideCarouselShelfPatch : BytecodePatch() {
return PatchResultSuccess() return PatchResultSuccess()
} }
private companion object { private companion object {
private const val FILTER_CLASS_DESCRIPTOR = private const val FILTER_CLASS_DESCRIPTOR =
"$MUSIC_ADS_PATH/CarouselShelfFilter;" "$MUSIC_ADS_PATH/CarouselShelfFilter;"

View File

@ -39,6 +39,7 @@ class HidePlaylistCardPatch : BytecodePatch() {
return PatchResultSuccess() return PatchResultSuccess()
} }
private companion object { private companion object {
private const val FILTER_CLASS_DESCRIPTOR = private const val FILTER_CLASS_DESCRIPTOR =
"$MUSIC_ADS_PATH/PlaylistCardFilter;" "$MUSIC_ADS_PATH/PlaylistCardFilter;"

View File

@ -36,7 +36,8 @@ class FeedFlyoutPanelPatch : BytecodePatch(
val targetIndex = it.scanResult.patternScanResult!!.endIndex val targetIndex = it.scanResult.patternScanResult!!.endIndex
val targetRegister = getInstruction<OneRegisterInstruction>(targetIndex).registerA val targetRegister = getInstruction<OneRegisterInstruction>(targetIndex).registerA
val targetParameter = getInstruction<ReferenceInstruction>(targetIndex - 1).reference val targetParameter =
getInstruction<ReferenceInstruction>(targetIndex - 1).reference
if (!targetParameter.toString().endsWith("Ljava/lang/CharSequence;")) if (!targetParameter.toString().endsWith("Ljava/lang/CharSequence;"))
return PatchResultError("Method signature parameter did not match: $targetParameter") return PatchResultError("Method signature parameter did not match: $targetParameter")

View File

@ -15,13 +15,13 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.youtube.general.trendingsearches.fingerprints.SearchBarEntryFingerprint import app.revanced.patches.youtube.general.trendingsearches.fingerprints.SearchBarEntryFingerprint
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.YtOutlineArrowTimeBlack
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.YtOutlineFireBlack
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.YtOutlineSearchBlack
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.bytecode.getWideLiteralIndex import app.revanced.util.bytecode.getWideLiteralIndex
import app.revanced.util.integrations.Constants.GENERAL import app.revanced.util.integrations.Constants.GENERAL
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.YtOutlineArrowTimeBlack
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.YtOutlineFireBlack
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch.Companion.YtOutlineSearchBlack
import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction
@Patch @Patch
@ -48,7 +48,8 @@ class TrendingSearchesPatch : BytecodePatch(
.reversed() .reversed()
.forEach { (index, value) -> .forEach { (index, value) ->
val freeRegister = getInstruction<OneRegisterInstruction>(index).registerA val freeRegister = getInstruction<OneRegisterInstruction>(index).registerA
val viewRegister = getInstruction<TwoRegisterInstruction>(index - 1).registerA val viewRegister =
getInstruction<TwoRegisterInstruction>(index - 1).registerA
addInstructions( addInstructions(
index, """ index, """
@ -74,6 +75,7 @@ class TrendingSearchesPatch : BytecodePatch(
return PatchResultSuccess() return PatchResultSuccess()
} }
private enum class SearchTerm(val resourceId: Long, val value: Int) { private enum class SearchTerm(val resourceId: Long, val value: Int) {
HISTORY(YtOutlineArrowTimeBlack, 0), HISTORY(YtOutlineArrowTimeBlack, 0),
SEARCH(YtOutlineSearchBlack, 0), SEARCH(YtOutlineSearchBlack, 0),

View File

@ -15,8 +15,8 @@ import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patches.youtube.general.widesearchbar.fingerprints.SetActionBarRingoFingerprint import app.revanced.patches.youtube.general.widesearchbar.fingerprints.SetActionBarRingoFingerprint
import app.revanced.patches.youtube.utils.fingerprints.SetToolBarPaddingFingerprint
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.fingerprints.SetToolBarPaddingFingerprint
import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch import app.revanced.patches.youtube.utils.resourceid.patch.SharedResourceIdPatch
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch.Companion.contexts import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch.Companion.contexts

View File

@ -6,7 +6,6 @@ import app.revanced.patcher.annotation.Version
import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess

View File

@ -37,17 +37,17 @@ class ShortsToolBarPatch : BytecodePatch(
(context.toMethodWalker(it.method) (context.toMethodWalker(it.method)
.nextMethod(targetIndex, true) .nextMethod(targetIndex, true)
.getMethod() as MutableMethod .getMethod() as MutableMethod
).apply { ).apply {
val targetParameter = getInstruction<ReferenceInstruction>(0).reference val targetParameter = getInstruction<ReferenceInstruction>(0).reference
if (!targetParameter.toString().endsWith("Landroid/support/v7/widget/Toolbar;")) if (!targetParameter.toString().endsWith("Landroid/support/v7/widget/Toolbar;"))
return PatchResultError("Method signature parameter did not match: $targetParameter") return PatchResultError("Method signature parameter did not match: $targetParameter")
val targetRegister = getInstruction<TwoRegisterInstruction>(0).registerA val targetRegister = getInstruction<TwoRegisterInstruction>(0).registerA
addInstruction( addInstruction(
1, 1,
"invoke-static {v$targetRegister}, $SHORTS->hideShortsPlayerToolBar(Landroid/support/v7/widget/Toolbar;)V" "invoke-static {v$targetRegister}, $SHORTS->hideShortsPlayerToolBar(Landroid/support/v7/widget/Toolbar;)V"
) )
} }
} ?: return SetToolBarPaddingFingerprint.toErrorResult() } ?: return SetToolBarPaddingFingerprint.toErrorResult()