Compare commits

..

6 Commits

Author SHA1 Message Date
semantic-release-bot
dc7bf5c760 chore(release): 2.195.1-dev.1 [skip ci]
## [2.195.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v2.195.0...v2.195.1-dev.1) (2023-10-20)

### Bug Fixes

* **YouTube - Minimized playback:** Fix pip incorrectly showing for Short playback ([#3170](https://github.com/ReVanced/revanced-patches/issues/3170)) ([b3fcb0e](b3fcb0e92b))
2023-10-20 10:21:27 +00:00
LisoUseInAIKyrios
b3fcb0e92b fix(YouTube - Minimized playback): Fix pip incorrectly showing for Short playback (#3170) 2023-10-20 13:18:22 +03:00
semantic-release-bot
fb3cd9a3ad chore(release): 2.195.0 [skip ci]
# [2.195.0](https://github.com/ReVanced/revanced-patches/compare/v2.194.0...v2.195.0) (2023-10-20)

### Bug Fixes

* Indent option description correctly ([0dc0676](0dc06768d9))
* **Reddit - Sanitize sharing links:** Restore compatibility with newer versions of the app ([c14642a](c14642a34b))
* **YouTube - Hide layout components:** Hide new channel watermark component ([5184422](51844222c8))

### Features

* **YouTube - Theme:** Disable gradient loading screen ([daf125a](daf125a863))
* **YouTube:** Add `Announcements` patch ([#3166](https://github.com/ReVanced/revanced-patches/issues/3166)) ([8718517](87185171da))
* **YouTube:** Add `Spoof device dimensions` patch ([b5a7258](b5a7258f74))
2023-10-20 01:26:08 +00:00
oSumAtrIX
2a047ed1b6 chore: Merge branch dev to main (#3140) 2023-10-20 03:22:27 +02:00
semantic-release-bot
0d1ab25cb5 chore(release): 2.195.0-dev.5 [skip ci]
# [2.195.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v2.195.0-dev.4...v2.195.0-dev.5) (2023-10-20)

### Features

* **YouTube:** Add `Announcements` patch ([#3166](https://github.com/ReVanced/revanced-patches/issues/3166)) ([8718517](87185171da))
2023-10-20 01:17:24 +00:00
oSumAtrIX
87185171da feat(YouTube): Add Announcements patch (#3166) 2023-10-20 03:13:52 +02:00
7 changed files with 127 additions and 46 deletions

View File

@@ -1,3 +1,33 @@
## [2.195.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v2.195.0...v2.195.1-dev.1) (2023-10-20)
### Bug Fixes
* **YouTube - Minimized playback:** Fix pip incorrectly showing for Short playback ([#3170](https://github.com/ReVanced/revanced-patches/issues/3170)) ([7a07507](https://github.com/ReVanced/revanced-patches/commit/7a075074af5a923bb9af447a5152dc75053a2e01))
# [2.195.0](https://github.com/ReVanced/revanced-patches/compare/v2.194.0...v2.195.0) (2023-10-20)
### Bug Fixes
* Indent option description correctly ([d4a9ea1](https://github.com/ReVanced/revanced-patches/commit/d4a9ea1f6c7ab9d25fd60695cce0965c7b5269a4))
* **Reddit - Sanitize sharing links:** Restore compatibility with newer versions of the app ([1671d8d](https://github.com/ReVanced/revanced-patches/commit/1671d8d826a08273fae5ccffc4a4ebfef9648fe2))
* **YouTube - Hide layout components:** Hide new channel watermark component ([cbfd569](https://github.com/ReVanced/revanced-patches/commit/cbfd5691d31ed144eac1d23de918ab5a6a905dfa))
### Features
* **YouTube - Theme:** Disable gradient loading screen ([90d5877](https://github.com/ReVanced/revanced-patches/commit/90d5877950095b7abacdca979bc7ad709192eee2))
* **YouTube:** Add `Announcements` patch ([#3166](https://github.com/ReVanced/revanced-patches/issues/3166)) ([f977983](https://github.com/ReVanced/revanced-patches/commit/f97798391ffc3477f781d43817664d31cfcd209a))
* **YouTube:** Add `Spoof device dimensions` patch ([c8d409e](https://github.com/ReVanced/revanced-patches/commit/c8d409e1dbda6ac45fef01912ce7afad1022b4b7))
# [2.195.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v2.195.0-dev.4...v2.195.0-dev.5) (2023-10-20)
### Features
* **YouTube:** Add `Announcements` patch ([#3166](https://github.com/ReVanced/revanced-patches/issues/3166)) ([f977983](https://github.com/ReVanced/revanced-patches/commit/f97798391ffc3477f781d43817664d31cfcd209a))
# [2.195.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v2.195.0-dev.3...v2.195.0-dev.4) (2023-10-19)

View File

@@ -1,4 +1,4 @@
org.gradle.parallel = true
org.gradle.caching = true
kotlin.code.style = official
version = 2.195.0-dev.4
version = 2.195.1-dev.1

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,61 @@
package app.revanced.patches.youtube.misc.announcements
import app.revanced.extensions.exception
import app.revanced.patcher.data.BytecodeContext
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.annotation.CompatiblePackage
import app.revanced.patcher.patch.annotation.Patch
import app.revanced.patches.shared.fingerprints.WatchWhileActivityFingerprint
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.shared.settings.preference.impl.SwitchPreference
import app.revanced.patches.youtube.misc.settings.SettingsPatch
import com.android.tools.smali.dexlib2.Opcode
@Patch(
name = "Announcements",
description = "Shows announcements on startup.",
compatiblePackages = [CompatiblePackage("com.google.android.youtube")],
dependencies = [SettingsPatch::class]
)
@Suppress("unused")
object AnnouncementsPatch : BytecodePatch(
setOf(WatchWhileActivityFingerprint)
) {
private const val INTEGRATIONS_CLASS_DESCRIPTOR =
"Lapp/revanced/integrations/patches/announcements/AnnouncementsPatch;"
override fun execute(context: BytecodeContext) {
val onCreateMethod = WatchWhileActivityFingerprint.result?.let {
it.mutableClass.methods.find { method -> method.name == "onCreate" }
} ?: throw WatchWhileActivityFingerprint.exception
val superCallIndex = onCreateMethod.getInstructions().indexOfFirst { it.opcode == Opcode.INVOKE_SUPER_RANGE }
onCreateMethod.addInstructions(
superCallIndex + 1,
"invoke-static { v1 }, $INTEGRATIONS_CLASS_DESCRIPTOR->showAnnouncement(Landroid/app/Activity;)V"
)
SettingsPatch.PreferenceScreen.MISC.addPreferences(
SwitchPreference(
"revanced_announcements",
StringResource(
"revanced_announcements_title",
"Show announcements"
),
StringResource(
"revanced_announcements_summary_on",
"Announcements are shown on startup."
), StringResource(
"revanced_announcements_summary_off",
"Announcements are not shown on startup."
), StringResource(
"revanced_announcements_enabled_summary",
"Show announcements on startup."
),
)
)
}
}

View File

@@ -13,7 +13,7 @@ import app.revanced.patches.shared.settings.preference.impl.NonInteractivePrefer
import app.revanced.patches.shared.settings.preference.impl.StringResource
import app.revanced.patches.youtube.misc.integrations.IntegrationsPatch
import app.revanced.patches.youtube.misc.minimizedplayback.fingerprints.KidsMinimizedPlaybackPolicyControllerFingerprint
import app.revanced.patches.youtube.misc.minimizedplayback.fingerprints.MinimizedPlaybackManagerFingerprint
import app.revanced.patches.youtube.misc.minimizedplayback.fingerprints.MinimizedPlaybackPlayerResponseProcessorFingerprint
import app.revanced.patches.youtube.misc.minimizedplayback.fingerprints.MinimizedPlaybackSettingsFingerprint
import app.revanced.patches.youtube.misc.minimizedplayback.fingerprints.MinimizedPlaybackSettingsParentFingerprint
import app.revanced.patches.youtube.misc.playertype.PlayerTypeHookPatch
@@ -44,7 +44,7 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
@Suppress("unused")
object MinimizedPlaybackPatch : BytecodePatch(
setOf(
MinimizedPlaybackManagerFingerprint,
MinimizedPlaybackPlayerResponseProcessorFingerprint,
MinimizedPlaybackSettingsParentFingerprint,
KidsMinimizedPlaybackPolicyControllerFingerprint
)
@@ -63,16 +63,16 @@ object MinimizedPlaybackPatch : BytecodePatch(
)
)
MinimizedPlaybackManagerFingerprint.result?.apply {
MinimizedPlaybackPlayerResponseProcessorFingerprint.result?.apply {
mutableMethod.addInstructions(
0,
"""
invoke-static {}, $INTEGRATIONS_CLASS_DESCRIPTOR->isPlaybackNotShort()Z
invoke-static { }, $INTEGRATIONS_CLASS_DESCRIPTOR->videoSupportsMinimizedPlayback()Z
move-result v0
return v0
"""
)
} ?: throw MinimizedPlaybackManagerFingerprint.exception
} ?: throw MinimizedPlaybackPlayerResponseProcessorFingerprint.exception
// Enable minimized playback option in YouTube settings
MinimizedPlaybackSettingsParentFingerprint.result ?: throw MinimizedPlaybackSettingsParentFingerprint.exception

View File

@@ -1,39 +0,0 @@
package app.revanced.patches.youtube.misc.minimizedplayback.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
object MinimizedPlaybackManagerFingerprint : MethodFingerprint(
"Z",
AccessFlags.PUBLIC or AccessFlags.STATIC,
listOf("L"),
listOf(
Opcode.CONST_4,
Opcode.IF_EQZ,
Opcode.IGET,
Opcode.AND_INT_LIT16,
Opcode.IF_EQZ,
Opcode.IGET_OBJECT,
Opcode.IF_NEZ,
Opcode.SGET_OBJECT,
Opcode.IGET,
Opcode.CONST,
Opcode.IF_NE,
Opcode.IGET_OBJECT,
Opcode.IF_NEZ,
Opcode.SGET_OBJECT,
Opcode.IGET,
Opcode.IF_NE,
Opcode.IGET_OBJECT,
Opcode.CHECK_CAST,
Opcode.GOTO,
Opcode.SGET_OBJECT,
Opcode.GOTO,
Opcode.CONST_4,
Opcode.IF_EQZ,
Opcode.IGET_BOOLEAN,
Opcode.IF_EQZ
)
)

View File

@@ -0,0 +1,29 @@
package app.revanced.patches.youtube.misc.minimizedplayback.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
object MinimizedPlaybackPlayerResponseProcessorFingerprint : MethodFingerprint(
"Z",
AccessFlags.PUBLIC or AccessFlags.FINAL,
listOf("Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;", "I"),
listOf(
Opcode.IGET_OBJECT,
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.CONST_4,
Opcode.IF_EQZ,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT,
Opcode.CONST_4,
Opcode.IF_NEZ,
Opcode.CONST_4,
Opcode.IF_EQ,
Opcode.GOTO,
Opcode.RETURN,
Opcode.CONST_4,
Opcode.RETURN
)
)