mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-15 23:33:57 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d9c743618 | ||
|
|
6c9986290b | ||
|
|
adc7f670d1 | ||
|
|
fdc34023fc | ||
|
|
1e54bc457f | ||
|
|
9552100878 | ||
|
|
9166024b01 | ||
|
|
acc0f5018c | ||
|
|
05c043ada3 | ||
|
|
e30967bedd | ||
|
|
40d56f6e59 |
35
CHANGELOG.md
35
CHANGELOG.md
@@ -1,3 +1,38 @@
|
||||
## [2.79.1](https://github.com/revanced/revanced-patches/compare/v2.79.0...v2.79.1) (2022-10-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **youtube/disable-startup-shorts-player:** do not prevent playing videos on startup ([#714](https://github.com/revanced/revanced-patches/issues/714)) ([9a0d379](https://github.com/revanced/revanced-patches/commit/9a0d3798afd75bba5c63e1b8803dc25814586be9))
|
||||
|
||||
# [2.79.0](https://github.com/revanced/revanced-patches/compare/v2.78.0...v2.79.0) (2022-10-03)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* `hide-video-buttons` patch ([584803a](https://github.com/revanced/revanced-patches/commit/584803aa900f94de1b2b2a0c41fb0884fa9270d3))
|
||||
|
||||
# [2.78.0](https://github.com/revanced/revanced-patches/compare/v2.77.1...v2.78.0) (2022-10-02)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **youtube/general-ads:** check for ad in identifier ([fd0506e](https://github.com/revanced/revanced-patches/commit/fd0506eb95dbf398eb7d6bfa8732f517b9867545))
|
||||
|
||||
## [2.77.1](https://github.com/revanced/revanced-patches/compare/v2.77.0...v2.77.1) (2022-10-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **tiktok/tiktok-downloads:** add missing patch dependencies ([#686](https://github.com/revanced/revanced-patches/issues/686)) ([5c3b4ed](https://github.com/revanced/revanced-patches/commit/5c3b4ed0530e89d50db3b5bb9893e1ef4b463bae))
|
||||
|
||||
# [2.77.0](https://github.com/revanced/revanced-patches/compare/v2.76.3...v2.77.0) (2022-10-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **youtube/hdr-auto-brightness:** increase strength of fingerprint ([2379b58](https://github.com/revanced/revanced-patches/commit/2379b5892b3505c8780f475bbc56f520613fa31d))
|
||||
|
||||
## [2.76.3](https://github.com/revanced/revanced-patches/compare/v2.76.2...v2.76.3) (2022-10-01)
|
||||
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ The official Patch bundle provided by ReVanced and the community.
|
||||
| `custom-branding` | Changes the YouTube launcher icon and name to your choice (defaults to ReVanced). | all |
|
||||
| `hide-create-button` | Hides the create button in the navigation bar. | 17.36.37 |
|
||||
| `hide-shorts-button` | Hides the shorts button on the navigation bar. | 17.36.37 |
|
||||
| `hide-video-buttons` | Adds options to hide action buttons under a video. | 17.36.37 |
|
||||
| `theme` | Applies a custom theme. | all |
|
||||
| `hide-email-address` | Hides the email address in the account switcher. | 17.36.37 |
|
||||
| `sponsorblock` | Integrate SponsorBlock. | 17.36.37 |
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
kotlin.code.style = official
|
||||
version = 2.76.3
|
||||
version = 2.79.1
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -12,6 +12,7 @@ import app.revanced.patcher.extensions.replaceInstructions
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultError
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.patch.impl.BytecodePatch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
@@ -20,13 +21,16 @@ import app.revanced.patches.tiktok.interaction.downloads.fingerprints.ACLCommonS
|
||||
import app.revanced.patches.tiktok.interaction.downloads.fingerprints.ACLCommonShareFingerprint2
|
||||
import app.revanced.patches.tiktok.interaction.downloads.fingerprints.ACLCommonShareFingerprint3
|
||||
import app.revanced.patches.tiktok.interaction.downloads.fingerprints.DownloadPathParentFingerprint
|
||||
import app.revanced.patches.tiktok.misc.integrations.patch.TikTokIntegrationsPatch
|
||||
import app.revanced.patches.tiktok.misc.settings.fingerprints.SettingsStatusLoadFingerprint
|
||||
import app.revanced.patches.tiktok.misc.settings.patch.TikTokSettingsPatch
|
||||
import org.jf.dexlib2.Opcode
|
||||
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import org.jf.dexlib2.iface.instruction.ReferenceInstruction
|
||||
import org.jf.dexlib2.iface.reference.StringReference
|
||||
|
||||
@Patch
|
||||
@DependsOn([TikTokIntegrationsPatch::class, TikTokSettingsPatch::class])
|
||||
@Name("tiktok-download")
|
||||
@Description("Removes download restrictions and changes the default path to download to.")
|
||||
@DownloadsCompatibility
|
||||
|
||||
@@ -357,7 +357,7 @@ class GeneralBytecodeAdsPatch : BytecodePatch() {
|
||||
lithoMethod.addInstructions(
|
||||
insertIndex, // right after setting the component.pathBuilder field,
|
||||
"""
|
||||
invoke-static {v5}, Lapp/revanced/integrations/patches/GeneralBytecodeAdsPatch;->isAdComponent(Ljava/lang/StringBuilder;)Z
|
||||
invoke-static {v5, v2}, Lapp/revanced/integrations/patches/LithoFilterPatch;->filter(Ljava/lang/StringBuilder;Ljava/lang/String;)Z
|
||||
move-result v$clobberedRegister
|
||||
if-eqz v$clobberedRegister, :not_an_ad
|
||||
move-object/from16 v2, p1
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package app.revanced.patches.youtube.layout.buttons.annotations
|
||||
|
||||
import app.revanced.patcher.annotation.Compatibility
|
||||
import app.revanced.patcher.annotation.Package
|
||||
|
||||
@Compatibility(
|
||||
[Package(
|
||||
"com.google.android.youtube", arrayOf("17.25.34", "17.26.35", "17.27.39", "17.28.34", "17.29.34", "17.32.35", "17.33.42", "17.34.35", "17.34.36", "17.36.37")
|
||||
)]
|
||||
)
|
||||
@Target(AnnotationTarget.CLASS)
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
internal annotation class HideButtonsCompatibility
|
||||
@@ -0,0 +1,81 @@
|
||||
package app.revanced.patches.youtube.layout.buttons.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.impl.ResourceData
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.patch.impl.ResourcePatch
|
||||
import app.revanced.patches.youtube.ad.general.bytecode.patch.GeneralBytecodeAdsPatch
|
||||
import app.revanced.patches.youtube.layout.buttons.annotations.HideButtonsCompatibility
|
||||
import app.revanced.patches.youtube.misc.mapping.patch.ResourceMappingResourcePatch
|
||||
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
|
||||
import app.revanced.patches.youtube.misc.settings.framework.components.impl.PreferenceScreen
|
||||
import app.revanced.patches.youtube.misc.settings.framework.components.impl.StringResource
|
||||
import app.revanced.patches.youtube.misc.settings.framework.components.impl.SwitchPreference
|
||||
|
||||
@Patch
|
||||
@DependsOn([ResourceMappingResourcePatch::class, GeneralBytecodeAdsPatch::class])
|
||||
@Name("hide-video-buttons")
|
||||
@Description("Adds options to hide action buttons under a video.")
|
||||
@HideButtonsCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideButtonsPatch : ResourcePatch() {
|
||||
override fun execute(data: ResourceData): PatchResult {
|
||||
SettingsPatch.PreferenceScreen.LAYOUT.addPreferences(
|
||||
PreferenceScreen(
|
||||
"revanced_hide_buttons",
|
||||
StringResource("revanced_hide_buttons_title", "Hide action buttons"),
|
||||
listOf(
|
||||
SwitchPreference(
|
||||
"revanced_like_button",
|
||||
StringResource("revanced_like_button_title", "Hide like button"),
|
||||
false,
|
||||
StringResource("revanced_like_button_on", "Like button is hidden"),
|
||||
StringResource("revanced_like_button_off", "Like button is shown")
|
||||
),
|
||||
SwitchPreference(
|
||||
"revanced_dislike_button",
|
||||
StringResource("revanced_dislike_button_title", "Hide dislike button"),
|
||||
false,
|
||||
StringResource("revanced_dislike_button_on", "Dislike button is hidden"),
|
||||
StringResource("revanced_dislike_button_off", "Dislike button is shown")
|
||||
),
|
||||
SwitchPreference(
|
||||
"revanced_download_button",
|
||||
StringResource("revanced_download_button_title", "Hide download button"),
|
||||
false,
|
||||
StringResource("revanced_download_button_on", "Download button is hidden"),
|
||||
StringResource("revanced_download_button_off", "Download button is shown")
|
||||
),
|
||||
SwitchPreference(
|
||||
"revanced_playlist_button",
|
||||
StringResource("revanced_playlist_button_title", "Hide playlist button"),
|
||||
false,
|
||||
StringResource("revanced_playlist_button_on", "Playlist button is hidden"),
|
||||
StringResource("revanced_playlist_button_off", "Playlist button is shown")
|
||||
),
|
||||
SwitchPreference(
|
||||
"revanced_action_button",
|
||||
StringResource("revanced_action_button_title", "Hide create, clip and thanks buttons"),
|
||||
true,
|
||||
StringResource("revanced_action_button_on", "Buttons are hidden"),
|
||||
StringResource("revanced_action_button_off", "Buttons are shown")
|
||||
),
|
||||
SwitchPreference(
|
||||
"revanced_share_button",
|
||||
StringResource("revanced_share_button_title", "Hide share button"),
|
||||
false,
|
||||
StringResource("revanced_share_button_on", "Share button is hidden"),
|
||||
StringResource("revanced_share_button_off", "Share button is shown")
|
||||
),
|
||||
),
|
||||
StringResource("revanced_hide_buttons_summary", "Hide or show buttons under videos")
|
||||
)
|
||||
)
|
||||
return PatchResultSuccess()
|
||||
}
|
||||
}
|
||||
@@ -9,11 +9,11 @@ import app.revanced.patches.youtube.layout.startupshortsreset.annotations.Startu
|
||||
import org.jf.dexlib2.AccessFlags
|
||||
import org.jf.dexlib2.Opcode
|
||||
|
||||
@Name("action-open-shorts-fingerprint")
|
||||
@MatchingMethod("Lkyt;", "l")
|
||||
@Name("user-was-in-shorts-fingerprint")
|
||||
@MatchingMethod("Lkzb;", "e")
|
||||
@StartupShortsResetCompatibility
|
||||
@Version("0.0.1")
|
||||
object ActionOpenShortsFingerprint : MethodFingerprint(
|
||||
"V", AccessFlags.PUBLIC or AccessFlags.FINAL, listOf("L", "L"),
|
||||
strings = listOf("com.google.android.youtube.action.open.shorts"),
|
||||
object UserWasInShortsFingerprint : MethodFingerprint(
|
||||
"V", AccessFlags.PUBLIC or AccessFlags.FINAL, listOf("L"),
|
||||
strings = listOf("Failed to read user_was_in_shorts proto after successful warmup"),
|
||||
)
|
||||
@@ -11,14 +11,11 @@ import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.patch.impl.BytecodePatch
|
||||
import app.revanced.patches.youtube.layout.startupshortsreset.annotations.StartupShortsResetCompatibility
|
||||
import app.revanced.patches.youtube.layout.startupshortsreset.fingerprints.ActionOpenShortsFingerprint
|
||||
import app.revanced.patches.youtube.layout.startupshortsreset.fingerprints.UserWasInShortsFingerprint
|
||||
import app.revanced.patches.youtube.misc.integrations.patch.IntegrationsPatch
|
||||
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
|
||||
import app.revanced.patches.youtube.misc.settings.framework.components.impl.StringResource
|
||||
import app.revanced.patches.youtube.misc.settings.framework.components.impl.SwitchPreference
|
||||
import org.jf.dexlib2.builder.instruction.BuilderInstruction21c
|
||||
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
|
||||
@Patch
|
||||
@DependsOn([IntegrationsPatch::class, SettingsPatch::class])
|
||||
@@ -28,7 +25,7 @@ import org.jf.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
@Version("0.0.1")
|
||||
class DisableShortsOnStartupPatch : BytecodePatch(
|
||||
listOf(
|
||||
ActionOpenShortsFingerprint
|
||||
UserWasInShortsFingerprint
|
||||
)
|
||||
) {
|
||||
override fun execute(data: BytecodeData): PatchResult {
|
||||
@@ -42,22 +39,14 @@ class DisableShortsOnStartupPatch : BytecodePatch(
|
||||
)
|
||||
)
|
||||
|
||||
val actionOpenShortsResult = ActionOpenShortsFingerprint.result
|
||||
val actionOpenShortsMethod = actionOpenShortsResult!!.mutableMethod
|
||||
val actionOpenShortsInstructions = actionOpenShortsMethod.implementation!!.instructions
|
||||
val userWasInShortsMethod = UserWasInShortsFingerprint.result!!.mutableMethod
|
||||
|
||||
val moveResultIndex = actionOpenShortsResult.scanResult.stringsScanResult!!.matches.first().index + 4
|
||||
val iPutBooleanIndex = moveResultIndex + 2
|
||||
|
||||
val moveResultRegister = (actionOpenShortsInstructions[moveResultIndex] as OneRegisterInstruction).registerA
|
||||
val iPutBooleanRegister = (actionOpenShortsInstructions[iPutBooleanIndex] as TwoRegisterInstruction).registerA
|
||||
|
||||
actionOpenShortsMethod.addInstructions(
|
||||
moveResultIndex + 1, """
|
||||
userWasInShortsMethod.addInstructions(
|
||||
0, """
|
||||
invoke-static { }, Lapp/revanced/integrations/patches/DisableStartupShortsPlayerPatch;->disableStartupShortsPlayer()Z
|
||||
move-result v$moveResultRegister
|
||||
if-eqz v$moveResultRegister, :cond_startup_shorts_reset
|
||||
const/4 v$iPutBooleanRegister, 0x0
|
||||
move-result v0
|
||||
if-eqz v0, :cond_startup_shorts_reset
|
||||
return-void
|
||||
:cond_startup_shorts_reset
|
||||
nop
|
||||
"""
|
||||
|
||||
@@ -5,7 +5,7 @@ import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.fingerprint.method.annotation.MatchingMethod
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import app.revanced.patches.youtube.misc.hdrbrightness.annotations.HDRBrightnessCompatibility
|
||||
import org.jf.dexlib2.AccessFlags
|
||||
import org.jf.dexlib2.Opcode
|
||||
|
||||
@Name("hdr-brightness-fingerprint")
|
||||
@MatchingMethod(
|
||||
@@ -14,6 +14,7 @@ import org.jf.dexlib2.AccessFlags
|
||||
@HDRBrightnessCompatibility
|
||||
@Version("0.0.1")
|
||||
object HDRBrightnessFingerprint : MethodFingerprint(
|
||||
"V", AccessFlags.FINAL.value,
|
||||
"V",
|
||||
opcodes = listOf(Opcode.CMPL_FLOAT),
|
||||
strings = listOf("c.SettingNotFound;", "screen_brightness", "android.mediaview"),
|
||||
)
|
||||
Reference in New Issue
Block a user