From 9afe9afc67991bf359dbf5c863719097abb2dfc9 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 27 Sep 2025 11:53:21 +0400 Subject: [PATCH 01/63] chore(YouTube): Fix patch description --- .../patches/youtube/video/quality/VideoQualityPatch.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt index 1a79087723..b188238e20 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt @@ -14,8 +14,7 @@ internal val settingsMenuVideoQualityGroup = mutableSetOf() @Suppress("unused") val videoQualityPatch = bytecodePatch( name = "Video quality", - description = "Adds options to use the advanced video quality menu, set default video qualities, " + - "and disable video codecs such as VP9/HDR." + description = "Adds options to set default video qualities and always use the advanced video quality menu." ) { dependsOn( rememberVideoQualityPatch, From 7817885cffed66608039ab45881537cbd3069c9d Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 27 Sep 2025 16:21:32 +0400 Subject: [PATCH 02/63] fix(YouTube Music - Hide cast button): Resolve button not hiding --- .../patches/music/layout/castbutton/HideCastButton.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt index 2c1fbdea8b..03b6218136 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt @@ -9,6 +9,9 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.shared.misc.mapping.get +import app.revanced.patches.shared.misc.mapping.resourceMappingPatch +import app.revanced.patches.shared.misc.mapping.resourceMappings import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.indexOfFirstLiteralInstructionOrThrow @@ -29,6 +32,7 @@ val hideCastButton = bytecodePatch( sharedExtensionPatch, settingsPatch, addResourcesPatch, + resourceMappingPatch ) compatibleWith( @@ -39,6 +43,8 @@ val hideCastButton = bytecodePatch( ) execute { + playerOverlayChip = resourceMappings["id", "player_overlay_chip"] + addResources("music", "layout.castbutton.hideCastButton") PreferenceScreen.GENERAL.addPreferences( From 1c80774d79b4102bc352357fff3c94cd05ca38b9 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 27 Sep 2025 12:24:18 +0000 Subject: [PATCH 03/63] chore: Release v5.41.1-dev.1 [skip ci] ## [5.41.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.41.0...v5.41.1-dev.1) (2025-09-27) ### Bug Fixes * **YouTube Music - Hide cast button:** Resolve button not hiding ([7817885](https://github.com/ReVanced/revanced-patches/commit/7817885cffed66608039ab45881537cbd3069c9d)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c54d9e73e..0db402cd3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.41.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.41.0...v5.41.1-dev.1) (2025-09-27) + + +### Bug Fixes + +* **YouTube Music - Hide cast button:** Resolve button not hiding ([7817885](https://github.com/ReVanced/revanced-patches/commit/7817885cffed66608039ab45881537cbd3069c9d)) + # [5.41.0](https://github.com/ReVanced/revanced-patches/compare/v5.40.0...v5.41.0) (2025-09-27) diff --git a/gradle.properties b/gradle.properties index 4287987625..b12a215f1f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.41.0 +version = 5.41.1-dev.1 From 28799a548a73651134ef304cb6cb542cf8e55abe Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 27 Sep 2025 16:31:22 +0400 Subject: [PATCH 04/63] fix(YouTube Music - Hide cast button): Fix patching error --- .../revanced/patches/music/layout/castbutton/HideCastButton.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt index 03b6218136..fba3653ce3 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt @@ -65,7 +65,7 @@ val hideCastButton = bytecodePatch( playerOverlayChipFingerprint.method.apply { val resourceIndex = indexOfFirstLiteralInstructionOrThrow(playerOverlayChip) - val targetIndex = indexOfFirstInstructionOrThrow(resourceIndex, Opcode.MOVE_RESULT) + val targetIndex = indexOfFirstInstructionOrThrow(resourceIndex, Opcode.MOVE_RESULT_OBJECT) val targetRegister = getInstruction(targetIndex).registerA addInstruction( From 52c369576d669d3d69640c51548f13af5aa84e21 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 27 Sep 2025 12:35:45 +0000 Subject: [PATCH 05/63] chore: Release v5.41.1-dev.2 [skip ci] ## [5.41.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.41.1-dev.1...v5.41.1-dev.2) (2025-09-27) ### Bug Fixes * **YouTube Music - Hide cast button:** Fix patching error ([28799a5](https://github.com/ReVanced/revanced-patches/commit/28799a548a73651134ef304cb6cb542cf8e55abe)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0db402cd3b..895a8c6c99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.41.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.41.1-dev.1...v5.41.1-dev.2) (2025-09-27) + + +### Bug Fixes + +* **YouTube Music - Hide cast button:** Fix patching error ([28799a5](https://github.com/ReVanced/revanced-patches/commit/28799a548a73651134ef304cb6cb542cf8e55abe)) + ## [5.41.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.41.0...v5.41.1-dev.1) (2025-09-27) diff --git a/gradle.properties b/gradle.properties index b12a215f1f..6ef7b33349 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.41.1-dev.1 +version = 5.41.1-dev.2 From 5cb46c4e9180ebc16eddb983dad73d137d8ec047 Mon Sep 17 00:00:00 2001 From: Samo Hribar <34912839+samolego@users.noreply.github.com> Date: Sat, 27 Sep 2025 14:59:51 +0200 Subject: [PATCH 06/63] feat(Viber): Add `Hide navigation buttons` patch (#5991) --- patches/api/patches.api | 4 + .../patches/viber/misc/navbar/Fingerprints.kt | 16 ++++ .../misc/navbar/HideNavigationButtons.kt | 85 +++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/Fingerprints.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index 7ac39ad527..ae0c1a588f 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1306,6 +1306,10 @@ public final class app/revanced/patches/viber/ads/HideAdsPatchKt { public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/viber/misc/navbar/HideNavigationButtonsKt { + public static final fun getHideNavigationButtonsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/vsco/misc/pro/UnlockProPatchKt { public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/Fingerprints.kt new file mode 100644 index 0000000000..2f2a7bda3d --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/Fingerprints.kt @@ -0,0 +1,16 @@ +package app.revanced.patches.viber.misc.navbar +import app.revanced.patcher.fingerprint +import app.revanced.patcher.patch.BytecodePatchContext + +internal val tabIdClassFingerprint = fingerprint { + strings("shouldShowTabId") +} + +context(BytecodePatchContext) +internal val shouldShowTabIdMethodFingerprint get() = fingerprint { + parameters("I", "I") + returns("Z") + custom { methodDef, classDef -> + classDef == tabIdClassFingerprint.classDef + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt new file mode 100644 index 0000000000..a4aa3e4a0a --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt @@ -0,0 +1,85 @@ +package app.revanced.patches.viber.misc.navbar + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.patch.booleanOption +import app.revanced.patcher.patch.bytecodePatch +import java.util.logging.Logger +import kotlin.collections.joinToString + + +private const val instructionsFooter = """ + # If we reach this, it means that this tab has been disabled by user + const/4 v0, 0 + return v0 # return false as "This tab is not enabled" + + # Proceed with default execution + :continue + nop +""" + +@Suppress("unused") +val hideNavigationButtonsPatch = bytecodePatch( + name = "Hide navigation buttons", + description = "Permanently hides navigation bar buttons, such as Explore and Marketplace.", + use = false +) { + compatibleWith("com.viber.voip") + + val hideOptions = AllowedNavigationItems.entries.associateWith { + booleanOption( + key = it.key, + default = it.defaultHideOption, + title = it.title, + description = it.description, + ) + } + + execute { + // Items that won't be forcefully hidden. + val allowedItems = hideOptions.filter { (option, enabled) -> enabled.value != true } + + if (allowedItems.size == AllowedNavigationItems.entries.size) { + return@execute Logger.getLogger(this::class.java.name).warning( + "No hide navigation buttons options are enabled. No changes made." + ) + } + + val injectionInstructions = allowedItems + .map { it.key.buildAllowInstruction() } + .joinToString("\n") + instructionsFooter + + shouldShowTabIdMethodFingerprint + .method + .addInstructionsWithLabels(0, injectionInstructions) + } +} + +/** + * Navigation items taken from source code. + * They appear in code like new NavigationItem(0, R.string.bottom_tab_chats, R.drawable.ic_tab_chats). + */ +private enum class AllowedNavigationItems( + val defaultHideOption: Boolean, + private val itemName: String, + private vararg val ids: Int +) { + CHATS(false, "Chats", 0), + CALLS(false, "Calls", 1, 7), + EXPLORE(true, "Explore", 2), + MORE(false, "More", 3), + PAY(true, "Pay", 5), + CAMERA(true, "Camera", 6), + MARKETPLACE(true, "Marketplace", 8); + + val key = "hide$itemName" + val title = "Hide $itemName" + val description = "Permanently hides the $itemName button." + + fun buildAllowInstruction(): String = + ids.joinToString("\n") { id -> + """ + const/4 v0, $id # If tabId == $id ($itemName), don't hide it + if-eq p1, v0, :continue + """ + } +} From 2b71bd80c275d9b5961f77694823e21c7e75223f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 27 Sep 2025 13:02:45 +0000 Subject: [PATCH 07/63] chore: Release v5.42.0-dev.1 [skip ci] # [5.42.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.41.1-dev.2...v5.42.0-dev.1) (2025-09-27) ### Features * **Viber:** Add `Hide navigation buttons` patch ([#5991](https://github.com/ReVanced/revanced-patches/issues/5991)) ([5cb46c4](https://github.com/ReVanced/revanced-patches/commit/5cb46c4e9180ebc16eddb983dad73d137d8ec047)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 895a8c6c99..690b80e166 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.41.1-dev.2...v5.42.0-dev.1) (2025-09-27) + + +### Features + +* **Viber:** Add `Hide navigation buttons` patch ([#5991](https://github.com/ReVanced/revanced-patches/issues/5991)) ([5cb46c4](https://github.com/ReVanced/revanced-patches/commit/5cb46c4e9180ebc16eddb983dad73d137d8ec047)) + ## [5.41.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.41.1-dev.1...v5.41.1-dev.2) (2025-09-27) diff --git a/gradle.properties b/gradle.properties index 6ef7b33349..f564fed68e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.41.1-dev.2 +version = 5.42.0-dev.1 From 080a2266146798be71789c939deef2f289697523 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 27 Sep 2025 23:53:35 +0400 Subject: [PATCH 08/63] fix(Instagram - Hide navigation buttons): Resolve app startup crash --- .../hide/navigation/HideNavigationButtons.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt index 4ada34d27a..9add580bc6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt @@ -3,6 +3,7 @@ package app.revanced.patches.instagram.hide.navigation import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.booleanOption import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch import app.revanced.util.addInstructionsAtControlFlowLabel import app.revanced.util.findFreeRegister import app.revanced.util.getReference @@ -24,6 +25,8 @@ val hideNavigationButtonsPatch = bytecodePatch( ) { compatibleWith("com.instagram.android") + dependsOn(sharedExtensionPatch) + val hideReels by booleanOption( key = "hideReels", default = true, @@ -69,20 +72,22 @@ val hideNavigationButtonsPatch = bytecodePatch( const-string v$freeRegister2, "$enumNameField" invoke-static { v$buttonsListRegister, v$freeRegister, v$freeRegister2 }, $EXTENSION_CLASS_DESCRIPTOR->removeNavigationButtonByName(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; move-result-object v$buttonsListRegister - """ + """ } - if (hideReels!!) + if (hideReels!!) { addInstructionsAtControlFlowLabel( returnIndex, instructionsRemoveButtonByName("fragment_clips") ) + } - if (hideCreate!!) + if (hideCreate!!) { addInstructionsAtControlFlowLabel( returnIndex, instructionsRemoveButtonByName("fragment_share") ) + } } } } From 1cbff799ad3ace7e3c9d709fd6cb13403def05e3 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 27 Sep 2025 19:57:01 +0000 Subject: [PATCH 09/63] chore: Release v5.42.0-dev.2 [skip ci] # [5.42.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.1...v5.42.0-dev.2) (2025-09-27) ### Bug Fixes * **Instagram - Hide navigation buttons:** Resolve app startup crash ([080a226](https://github.com/ReVanced/revanced-patches/commit/080a2266146798be71789c939deef2f289697523)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 690b80e166..de1ee1c64e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.1...v5.42.0-dev.2) (2025-09-27) + + +### Bug Fixes + +* **Instagram - Hide navigation buttons:** Resolve app startup crash ([080a226](https://github.com/ReVanced/revanced-patches/commit/080a2266146798be71789c939deef2f289697523)) + # [5.42.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.41.1-dev.2...v5.42.0-dev.1) (2025-09-27) diff --git a/gradle.properties b/gradle.properties index f564fed68e..7ae2a791fa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.1 +version = 5.42.0-dev.2 From 76b0364c5b5562c6a0d178d2bbe5b220f48aaca9 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 28 Sep 2025 14:22:42 +0400 Subject: [PATCH 10/63] fix(YouTube - Hide end screen cards): Hide new type of end screen card (#6027) --- .../patches/HideEndScreenCardsPatch.java | 24 ++++++++++++++ .../patches/HideEndscreenCardsPatch.java | 14 --------- patches/api/patches.api | 4 +-- .../hide/endscreencards/Fingerprints.kt | 21 +++++++++++++ ...rdsPatch.kt => HideEndScreenCardsPatch.kt} | 31 +++++++++++++++---- .../resources/addresources/values/strings.xml | 2 +- 6 files changed, 73 insertions(+), 23 deletions(-) create mode 100644 extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndScreenCardsPatch.java delete mode 100644 extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java rename patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/{HideEndscreenCardsPatch.kt => HideEndScreenCardsPatch.kt} (70%) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndScreenCardsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndScreenCardsPatch.java new file mode 100644 index 0000000000..03668aa735 --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndScreenCardsPatch.java @@ -0,0 +1,24 @@ +package app.revanced.extension.youtube.patches; + +import android.view.View; + +import app.revanced.extension.shared.Utils; +import app.revanced.extension.youtube.settings.Settings; + +@SuppressWarnings("unused") +public class HideEndScreenCardsPatch { + + /** + * Injection point. + */ + public static void hideEndScreenCardView(View view) { + Utils.hideViewUnderCondition(Settings.HIDE_ENDSCREEN_CARDS, view); + } + + /** + * Injection point. + */ + public static boolean hideEndScreenCards() { + return Settings.HIDE_ENDSCREEN_CARDS.get(); + } +} \ No newline at end of file diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java deleted file mode 100644 index 89261d1190..0000000000 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java +++ /dev/null @@ -1,14 +0,0 @@ -package app.revanced.extension.youtube.patches; - -import android.view.View; - -import app.revanced.extension.youtube.settings.Settings; - -@SuppressWarnings("unused") -public class HideEndscreenCardsPatch { - //Used by app.revanced.patches.youtube.layout.hideendscreencards.bytecode.patch.HideEndscreenCardsPatch - public static void hideEndscreen(View view) { - if (!Settings.HIDE_ENDSCREEN_CARDS.get()) return; - view.setVisibility(View.GONE); - } -} \ No newline at end of file diff --git a/patches/api/patches.api b/patches/api/patches.api index ae0c1a588f..33b6ea28d9 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1411,8 +1411,8 @@ public final class app/revanced/patches/youtube/layout/formfactor/ChangeFormFact public static final fun getChangeFormFactorPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } -public final class app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatchKt { - public static final fun getHideEndscreenCardsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +public final class app/revanced/patches/youtube/layout/hide/endscreencards/HideEndScreenCardsPatchKt { + public static final fun getHideEndScreenCardsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } public final class app/revanced/patches/youtube/layout/hide/endscreensuggestion/HideEndScreenSuggestedVideoPatchKt { diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/Fingerprints.kt index 59d859e800..d39a639fa1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/Fingerprints.kt @@ -1,8 +1,13 @@ package app.revanced.patches.youtube.layout.hide.endscreencards import app.revanced.patcher.fingerprint +import app.revanced.util.containsLiteralInstruction +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction import app.revanced.util.literal +import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.reference.FieldReference internal val layoutCircleFingerprint = fingerprint { returns("Landroid/view/View;") @@ -38,3 +43,19 @@ internal val layoutVideoFingerprint = fingerprint { ) literal { layoutVideo } } + +internal val showEndscreenCardsFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("V") + parameters("L") + custom { method, classDef -> + classDef.methods.count() == 5 + && method.containsLiteralInstruction(0) + && method.containsLiteralInstruction(5) + && method.containsLiteralInstruction(8) + && method.indexOfFirstInstruction { + val reference = getReference() + reference?.type == "Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;" + } >= 0 + } +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndScreenCardsPatch.kt similarity index 70% rename from patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt rename to patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndScreenCardsPatch.kt index d0dce4bd53..d09de1d2fc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndscreenCardsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/HideEndScreenCardsPatch.kt @@ -1,6 +1,7 @@ package app.revanced.patches.youtube.layout.hide.endscreencards import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch @@ -11,6 +12,8 @@ import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.mapping.resourceMappings import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.playservice.is_19_43_or_greater +import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -22,7 +25,7 @@ internal var layoutIcon = -1L internal var layoutVideo = -1L private set -private val hideEndscreenCardsResourcePatch = resourcePatch { +private val hideEndScreenCardsResourcePatch = resourcePatch { dependsOn( settingsPatch, resourceMappingPatch, @@ -30,7 +33,7 @@ private val hideEndscreenCardsResourcePatch = resourcePatch { ) execute { - addResources("youtube", "layout.hide.endscreencards.hideEndscreenCardsResourcePatch") + addResources("youtube", "layout.hide.endscreencards.hideEndScreenCardsResourcePatch") PreferenceScreen.PLAYER.addPreferences( SwitchPreference("revanced_hide_endscreen_cards"), @@ -45,16 +48,17 @@ private val hideEndscreenCardsResourcePatch = resourcePatch { } private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/youtube/patches/HideEndscreenCardsPatch;" + "Lapp/revanced/extension/youtube/patches/HideEndScreenCardsPatch;" @Suppress("unused") -val hideEndscreenCardsPatch = bytecodePatch( +val hideEndScreenCardsPatch = bytecodePatch( name = "Hide end screen cards", description = "Adds an option to hide suggested video cards at the end of videos.", ) { dependsOn( sharedExtensionPatch, - hideEndscreenCardsResourcePatch, + hideEndScreenCardsResourcePatch, + versionCheckPatch ) compatibleWith( @@ -78,9 +82,24 @@ val hideEndscreenCardsPatch = bytecodePatch( addInstruction( insertIndex, - "invoke-static { v$viewRegister }, $EXTENSION_CLASS_DESCRIPTOR->hideEndscreen(Landroid/view/View;)V", + "invoke-static { v$viewRegister }, " + + "$EXTENSION_CLASS_DESCRIPTOR->hideEndScreenCardView(Landroid/view/View;)V", ) } } + + if (is_19_43_or_greater) { + showEndscreenCardsFingerprint.method.addInstructionsWithLabels( + 0, + """ + invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->hideEndScreenCards()Z + move-result v0 + if-eqz v0, :show + return-void + :show + nop + """ + ) + } } } diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index f151ae14d9..e7fe5167bc 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -859,7 +859,7 @@ To show the Audio track menu, change \'Spoof video streams\' to iPadOS" Previous & Next buttons are hidden Previous & Next buttons are shown - + Hide end screen cards End screen cards are hidden End screen cards are shown From 725d5dc974f9f398778c68d99e6514fb02e88650 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 28 Sep 2025 10:25:37 +0000 Subject: [PATCH 11/63] chore: Release v5.42.0-dev.3 [skip ci] # [5.42.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.2...v5.42.0-dev.3) (2025-09-28) ### Bug Fixes * **YouTube - Hide end screen cards:** Hide new type of end screen card ([#6027](https://github.com/ReVanced/revanced-patches/issues/6027)) ([76b0364](https://github.com/ReVanced/revanced-patches/commit/76b0364c5b5562c6a0d178d2bbe5b220f48aaca9)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de1ee1c64e..3e472c2c1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.2...v5.42.0-dev.3) (2025-09-28) + + +### Bug Fixes + +* **YouTube - Hide end screen cards:** Hide new type of end screen card ([#6027](https://github.com/ReVanced/revanced-patches/issues/6027)) ([76b0364](https://github.com/ReVanced/revanced-patches/commit/76b0364c5b5562c6a0d178d2bbe5b220f48aaca9)) + # [5.42.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.1...v5.42.0-dev.2) (2025-09-27) diff --git a/gradle.properties b/gradle.properties index 7ae2a791fa..f90566abbe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.2 +version = 5.42.0-dev.3 From 326953cfc3bd7467191d3b4d5f1c9ed1aa954cd0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 28 Sep 2025 14:30:01 +0400 Subject: [PATCH 12/63] chore: Sync translations (#6028) --- .../addresources/values-af-rZA/strings.xml | 2 +- .../addresources/values-am-rET/strings.xml | 2 +- .../addresources/values-ar-rSA/strings.xml | 2 +- .../addresources/values-as-rIN/strings.xml | 2 +- .../addresources/values-az-rAZ/strings.xml | 2 +- .../addresources/values-be-rBY/strings.xml | 2 +- .../addresources/values-bg-rBG/strings.xml | 2 +- .../addresources/values-bn-rBD/strings.xml | 2 +- .../addresources/values-bs-rBA/strings.xml | 2 +- .../addresources/values-ca-rES/strings.xml | 2 +- .../addresources/values-cs-rCZ/strings.xml | 2 +- .../addresources/values-da-rDK/strings.xml | 2 +- .../addresources/values-de-rDE/strings.xml | 4 +-- .../addresources/values-el-rGR/strings.xml | 2 +- .../addresources/values-es-rES/strings.xml | 2 +- .../addresources/values-et-rEE/strings.xml | 2 +- .../addresources/values-eu-rES/strings.xml | 2 +- .../addresources/values-fa-rIR/strings.xml | 2 +- .../addresources/values-fi-rFI/strings.xml | 2 +- .../addresources/values-fil-rPH/strings.xml | 2 +- .../addresources/values-fr-rFR/strings.xml | 2 +- .../addresources/values-ga-rIE/strings.xml | 2 +- .../addresources/values-gl-rES/strings.xml | 2 +- .../addresources/values-gu-rIN/strings.xml | 2 +- .../addresources/values-hi-rIN/strings.xml | 2 +- .../addresources/values-hr-rHR/strings.xml | 2 +- .../addresources/values-hu-rHU/strings.xml | 2 +- .../addresources/values-hy-rAM/strings.xml | 2 +- .../addresources/values-in-rID/strings.xml | 6 ++-- .../addresources/values-is-rIS/strings.xml | 2 +- .../addresources/values-it-rIT/strings.xml | 2 +- .../addresources/values-iw-rIL/strings.xml | 2 +- .../addresources/values-ja-rJP/strings.xml | 2 +- .../addresources/values-ka-rGE/strings.xml | 2 +- .../addresources/values-kk-rKZ/strings.xml | 2 +- .../addresources/values-km-rKH/strings.xml | 2 +- .../addresources/values-kn-rIN/strings.xml | 2 +- .../addresources/values-ko-rKR/strings.xml | 2 +- .../addresources/values-ky-rKG/strings.xml | 2 +- .../addresources/values-lo-rLA/strings.xml | 2 +- .../addresources/values-lt-rLT/strings.xml | 2 +- .../addresources/values-lv-rLV/strings.xml | 2 +- .../addresources/values-mk-rMK/strings.xml | 2 +- .../addresources/values-ml-rIN/strings.xml | 2 +- .../addresources/values-mn-rMN/strings.xml | 2 +- .../addresources/values-mr-rIN/strings.xml | 2 +- .../addresources/values-ms-rMY/strings.xml | 2 +- .../addresources/values-my-rMM/strings.xml | 2 +- .../addresources/values-nb-rNO/strings.xml | 2 +- .../addresources/values-ne-rIN/strings.xml | 2 +- .../addresources/values-nl-rNL/strings.xml | 2 +- .../addresources/values-or-rIN/strings.xml | 2 +- .../addresources/values-pa-rIN/strings.xml | 2 +- .../addresources/values-pl-rPL/strings.xml | 2 +- .../addresources/values-pt-rBR/strings.xml | 2 +- .../addresources/values-pt-rPT/strings.xml | 2 +- .../addresources/values-ro-rRO/strings.xml | 2 +- .../addresources/values-ru-rRU/strings.xml | 2 +- .../addresources/values-si-rLK/strings.xml | 2 +- .../addresources/values-sk-rSK/strings.xml | 2 +- .../addresources/values-sl-rSI/strings.xml | 2 +- .../addresources/values-sq-rAL/strings.xml | 2 +- .../addresources/values-sr-rCS/strings.xml | 36 +++++++++---------- .../addresources/values-sr-rSP/strings.xml | 28 +++++++-------- .../addresources/values-sv-rSE/strings.xml | 2 +- .../addresources/values-sw-rKE/strings.xml | 2 +- .../addresources/values-ta-rIN/strings.xml | 2 +- .../addresources/values-te-rIN/strings.xml | 2 +- .../addresources/values-th-rTH/strings.xml | 2 +- .../addresources/values-tr-rTR/strings.xml | 2 +- .../addresources/values-uk-rUA/strings.xml | 2 +- .../addresources/values-ur-rIN/strings.xml | 2 +- .../addresources/values-uz-rUZ/strings.xml | 2 +- .../addresources/values-vi-rVN/strings.xml | 6 ++-- .../addresources/values-zh-rCN/strings.xml | 2 +- .../addresources/values-zh-rTW/strings.xml | 2 +- .../addresources/values-zu-rZA/strings.xml | 2 +- 77 files changed, 112 insertions(+), 112 deletions(-) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index aebfa8fb47..9ebebe4e6d 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" تم إخفاء الأزرار يتم عرض الأزرار - + إخفاء بطاقات شاشة النهاية تم إخفاء بطاقات شاشة النهاية يتم عرض بطاقات شاشة النهاية diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index 487d0ef80f..97160e13f1 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -136,7 +136,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 9db6d36d4a..3758c3b0b8 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -797,7 +797,7 @@ Səs treki menyusunu göstərmək üçün \"Video yayımları saxtalaşdır\"ı Düymələr gizlidir Düymələr göstərilir - + Son ekran kartlarını gizlət Son ekran kartları gizlidir Son ekran kartları göstərilir diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index a2b78898c6..31c20e333c 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" Кнопкі схаваныя Паказваюцца кнопкі - + Схаваць карткі канцавога экрана Карткі канцавога экрана схаваны Паказваюцца карткі канцавога экрана diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 98b86283a2..9ab0c994ef 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" Бутоните са скрити Бутоните се показват - + Скриване на препоръките в края Препоръките в края са скрити Препоръките в края се показват diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 7ff0637ce9..550fc078a6 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -793,7 +793,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ বোতাম লুকানো হয় বোতাম দেখানো হয় - + শেষ স্ক্রীন কার্ড লুকান শেষ স্ক্রীন কার্ড লুকিয়ে রয়েছে শেষ স্ক্রীন কার্ড প্রদর্শিত হয়েছে diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index eec21e392f..0b681f1d1f 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -797,7 +797,7 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte 'Zfalšovat streamy videa' Tlačítka jsou skryta Tlačítka jsou zobrazena - + Skrýt karty s informacemi o videu Karty s informacemi o videu jsou skryty Karty s informacemi o videu jsou zobrazeny diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index f32dacd33e..b252891b36 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -797,7 +797,7 @@ For at vise lydsporsmenuen, skift 'Spoof videostreams' til iPadOS" Knapper er skjult Knapper vises - + Skjul slutskærmkort Slutskærmskortene er skjult Kort til slutskærm vises diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index 7ee6695120..c1a617cc80 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -560,7 +560,7 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver Die Vollbild-Lautstärkegeste ist deaktiviert Wischen durch Drücken aktivieren Wischen durch Drücken ist aktiviert - Wischen durch Drücken ist deaktiviert + Wischgeste durch Drücken ist deaktiviert Haptisches Feedback aktivieren Haptisches Feedback ist aktiviert Haptisches Feedback ist deaktiviert @@ -794,7 +794,7 @@ Um das Audiotrack-Menü anzuzeigen, ändern Sie \"Video-Streams fälschen\" zu i Buttons sind ausgeblendet Tasten werden angezeigt - + Endkarte ausblenden Endbildschirmkarten sind ausgeblendet Endbildschirmkarten werden angezeigt diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 3ea46a3979..6802840f5f 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -799,7 +799,7 @@ Second \"item\" text" Κρυμμένα Εμφανίζονται - + Κάρτες τελικής οθόνης Κρυμμένες Εμφανίζονται diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index a896067949..bebfd2ef85 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -797,7 +797,7 @@ Para mostrar el menú de la pista de audio, cambia 'Suplantar transmisiones de v Los botones están ocultos Los botones se muestran - + Ocultar tarjetas de pantalla final Las tarjetas de pantalla de fin están ocultas Se muestran las tarjetas de la pantalla final diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 2d6ad820bf..16bde5d037 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -797,7 +797,7 @@ Heliraja menüü nägemiseks muutke \"Video voogude võltsimine\" iPadOS-iks"Nupud on peidetud Nupud on nähtavad - + Peida lõpukujunduse kaardid Lõpukujunduse kaardid on peidetud Lõpukujunduse kaardid on nähtavad diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 81df8ebe8a..9fda431009 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -182,7 +182,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 011c7b8d4f..0149dce303 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -797,7 +797,7 @@ Näyttääksesi ääniraitavalikon, muuta \"Videostriimien naamioiminen\" iPadOS Edellinen- ja Seuraava-painikkeet piilotetaan Painikkeet näytetään - + Piilota loppunäytön kortit Loppunäytön kortit piilotetaan Loppunäytön kortit näytetään diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 5cb3948858..11cd54f7fd 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -795,7 +795,7 @@ Upang ipakita ang menu ng Audio track, baguhin ang 'Spoof video streams' sa iPad Nakatago ang mga pindutan Ang mga pindutan ay ipinapakita - + Itago ang mga end screen card Nakatago ang mga end screen card Ipinapakita ang mga end screen card diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 6752145688..7e9dc27595 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -797,7 +797,7 @@ Pour afficher le menu Piste audio, définissez \"Falsifier les flux vidéo\" sur Les boutons sont masqués Les boutons sont affichés - + Masquer les écrans de fin au format fiche Les écrans de fin au format fiche sont masqués Les écrans de fin au format fiche sont affichés diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index a0acceb347..e6b3561542 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -797,7 +797,7 @@ Chun roghchlár an rian fuaime a thaispeáint, athraigh 'Sruthanna físeáin bhr Tá cnaipí i bhfolach Taispeántar cnaipí - + Folaigh cártaí scáileáin deireadh Tá cártaí scáileáin deiridh i bhfolach Taispeántar cártaí scáileáin deireadh diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index 1d088b22b8..9585fa8ecb 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -137,7 +137,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index 464bf02a93..76d720df6a 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -136,7 +136,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index c82619edbb..60b8f2a0e8 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -797,7 +797,7 @@ Az hangsáv menü megjelenítéséhez állítsa a 'Videó stream-ek meghamisít A gombok elrejtve A gombok megjelennek - + Záróképernyő kártyák elrejtése A záróképernyő kártyák el vannak rejtve A záróképernyő kártyák megjelennek diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index 4f37af7126..a8457e3dcb 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -797,7 +797,7 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Կոճակները թաքցված են Կոճակները երևում են - + Էկրանի վերջում քարտերը թաքցնել Էկրանի վերջում քարտերը թաքցված են Էկրանի վերջում քարտերը երևում են diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 3ea45f7e90..37f93acc7a 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -402,14 +402,14 @@ Jika Doodle saat ini ditampilkan di wilayah Anda dan pengaturan penyembunyi ini Jumlah penayangan ditampilkan di umpan dan hasil pencarian "Keterbatasan: -• Rak Shorts, halaman channel, dan hasil pencarian mungkin masih menampilkan jumlah penayangan +• Rak Shorts, halaman saluran, dan hasil pencarian mungkin masih menampilkan jumlah penayangan • Fitur ini tidak berfungsi dengan faktor bentuk otomotif" Sembunyikan waktu unggah Waktu unggah disembunyikan di umpan dan hasil penelusuran Waktu unggah ditampilkan di umpan dan hasil penelusuran "Keterbatasan: -• Rak Shorts, halaman channel, dan hasil penelusuran mungkin masih menampilkan waktu unggah +• Rak Shorts, halaman saluran, dan hasil penelusuran mungkin masih menampilkan waktu unggah • Fitur ini tidak berfungsi dengan faktor bentuk otomotif" Sembunyikan kata kunci konten Sembunyikan pencarian dan feed video menggunakan penyaring kata kunci @@ -797,7 +797,7 @@ Untuk menampilkan menu trek audio, ubah 'Palsukan aliran video' ke iPadOS"Tombol disembunyikan Tombol ditampilkan - + Sembunyikan kartu layar akhir Kartu layar akhir disembunyikan Kartu layar akhir ditampilkan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 48ee5cd1b2..d18e9d2182 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -797,7 +797,7 @@ Per mostrare il menu della traccia audio, cambia \"Falsifica flussi video\" su i I pulsanti sono nascosti I pulsanti sono visibili - + Nascondi le schede della schermata finale Le schede della schermata finale sono nascoste Le schede della schermata finale sono visibili diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 3125fd3991..fe98be6364 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" הלחצנים מוסתרים הלחצנים מוצגים - + הסתר כרטיסי מסך סיום כרטיסי מסך מסיום מוסתרים כרטיסי מסך מסיום מוצגים diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index cbed69f3ce..ac5ace6cf6 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -799,7 +799,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 前の動画ボタンと次の動画ボタンは表示されません 前の動画ボタンと次の動画ボタンは表示されます - + 終了画面カードを非表示 終了画面カードは表示されません 終了画面カードは表示されます diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index caaa3813c6..dfca2a839d 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -150,7 +150,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index fd15e110b9..3d8c8f7402 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -796,7 +796,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 이전 & 다음 동영상 버튼이 숨겨집니다 이전 & 다음 동영상 버튼이 표시됩니다 - + 최종 화면 카드 숨기기 최종 화면 카드가 숨겨집니다 최종 화면 카드가 표시됩니다 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 0740bbe955..e0b8210471 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -797,7 +797,7 @@ Norėdami parodyti garso takelio meniu, pakeiskite „Klastoti vaizdo srautus“ Mygtukai yra paslėpti Mygtukai yra rodomi - + Slėpti ekrano pabaigos korteles Ekrano pabaigos kortelės yra paslėptos Ekrano pabaigos kortelės yra rodomos diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index 1b311ba76b..298413c8a6 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -797,7 +797,7 @@ Lai parādītu audio celiņa izvēlni, mainiet \"Atdarināt video straumes\" uz Pogas ir paslēptas Pogas ir redzamas - + Paslēpt ekrāna beigās esošās kartītes Ekrāna beigās esošās kartītes ir paslēptas Ekrāna beigās esošās kartītes ir redzamas diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 399669ca30..d2812bbd52 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 9612937111..66f28ffdf3 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -137,7 +137,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index ae7adbe7bb..d02dfb8496 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -797,7 +797,7 @@ Om het audiotracks-menu te tonen, wijzig 'Videostreams spoofen' naar iPadOS"Knoppen zijn verborgen Knoppen worden weergegeven - + Verberg eindschermkaarten Eindschermkaarten zijn verborgen Eindschermkaarten worden weergegeven diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 6cc0aa06e1..96e96b07fc 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -793,7 +793,7 @@ Aby wyświetlić menu ścieżek audio, zmień „Fałszowanie strumieni wideo” Przyciski są ukryte Przyciski są widoczne - + Karty ekranu końcowego Karty ekranu końcowego są ukryte Karty ekranu końcowego są widoczne diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 5e2d96d1b7..70e27324c1 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -795,7 +795,7 @@ Se alterar esta configuração não fizer efeito, tente mudar para o modo anôni Os botões estão ocultos Os botões serão exibidos - + Ocultar cartões de tela final Cartões de tela final estão ocultos Cartões de tela final não estão ocultos diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 5b0293be1a..6002bdf858 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -797,7 +797,7 @@ Para mostrar o menu da faixa de áudio, altere 'Falsificar fluxos de vídeo' par Botões estão ocultos Botões são exibidos - + Esconder cartões de ecrã final Cartões de fim de ecrã estão escondidos Cartões de fim de ecrã são exibidos diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 82ae2935ac..97342ace94 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -795,7 +795,7 @@ Pentru a afișa meniul de piste audio, modificați „Emulare fluxuri video” l Butoanele sunt ascunse Butoanele sunt afișate - + Ascunde cardurile ecranului final Cardurile de pe ecranul de închidere sunt ascunse Cardurile de închidere ecran sunt afișate diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 551a30150d..01f23ee113 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" Кнопки предыдущего и следующего видео в плеере скрыты Кнопки предыдущего и следующего видео в плеере показаны - + Скрыть заставки следующих видео Заставки следующих видео в конце просмотра скрыты Заставки следующих видео в конце просмотра показаны diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 0ba8360c89..4e74e90d64 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -795,7 +795,7 @@ Ak chcete zobraziť menu zvukových stôp, zmeňte \"Falošné video streamy\" n Tlačidlá sú skryté Zobrazia sa tlačidlá - + Skryť karty záverečnej obrazovky Karty záverečnej obrazovky sú skryté Zobrazia sa karty záverečnej obrazovky diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index babf8d99b6..703e038ef2 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -797,7 +797,7 @@ Za prikaz menija za zvočno skladbo, spremenite \"Ponarejene video tokove\" na i Gumbi so skriti Gumbi so prikazani - + Skrij kartice na končnem zaslonu Kartice na končnem zaslonu so skrite Kartice na končnem zaslonu so prikazane diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index 63d72dc342..350d100085 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -797,7 +797,7 @@ Për të shfaqur menynë e gjurmës audio, ndryshoje 'Falsifiko transmetimet vid Butonat janë të fshehur Butonat janë të dukshme - + Fsheh kartat e ekranit të fundit Kartat e ekranit të fundit janë të fshehura Kartat e ekranit të fundit janë të dukshme diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index b608aed8c2..f3219c9824 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -146,9 +146,9 @@ Nećete biti obavešteni ni o kakvim neočekivanim događajima." Evidencije su izbrisane - Saniraj linkove za deljenje - Parametar za praćenje iz upita je uklonjen sa deljenih linkova - Parametar za praćenje iz upita nije uklonjen sa deljenih linkova + Očisti deljene linkove + Parametar upita za praćenje je uklonjen iz deljenih linkova + Parametar upita za praćenje nije uklonjen iz deljenih linkova Promeni linkove za deljenje na youtube.com Deljeni linkovi koriste youtube.com Deljeni linkovi koriste music.youtube.com @@ -379,9 +379,9 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj Sakrij dugme „Napravi Short” Dugme „Napravi Short” je skriveno Dugme „Napravi Short” je prikazano - Sakrij dugmad za emodžije i vremensku oznaku - Dugmad za emodžije i vremensku oznaku su skrivena - Dugmad za emodžije i vremensku oznaku su prikazana + Sakrij dugmad emodžija i vremenske oznake + Dugmad emodžija i vremenske oznake su skrivena + Dugmad emodžija i vremenske oznake su prikazana Sakrij komentar za pregled Komentar za pregled je skriven Komentar za pregled je prikazan @@ -398,19 +398,19 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj Lista stringova za pravljenje putanje komponenti za filtriranje, odvojena novim redom Nevažeći prilagođeni filter: %s Sakrij broj pregleda - Broj pregleda je sakriven u feed-u i rezultatima pretrage - Broj pregleda je prikazan u feed-u i rezultatima pretrage + Broj pregleda je skriven u fidu i rezultatima pretrage + Broj pregleda je prikazan u fidu i rezultatima pretrage "Ograničenja: -• Shorts sekcije, stranice kanala i rezultati pretrage i dalje mogu prikazivati brojeve pregleda +• Police Shorts, stranice kanala i rezultati pretrage mogu i dalje prikazivati broj pregleda • Ova funkcija ne radi sa automobilskim faktorom forme" Sakrij vreme otpremanja - Vreme otpremanja je skriveno u feed-u i rezultatima pretrage - Vreme otpremanja je prikazano u feed-u i rezultatima pretrage + Vreme otpremanja je skriveno u fidu i rezultatima pretrage + Vreme otpremanja je prikazano u fidu i rezultatima pretrage "Ograničenja: -• Shorts police, stranice kanala i rezultati pretrage mogu i dalje prikazivati vreme otpremanja -• Ova funkcija ne radi sa automobilskim form faktorom" +• Police Shorts, stranice kanala i rezultati pretrage mogu i dalje prikazivati vreme otpremanja +• Ova funkcija ne radi sa automobilskim faktorom forme" Sakrij sadržaj ključne reči Sakrijte videe iz rezultata pretrage i fida koristeći filtere ključnih reči Sakrij videe na kartici „Početna” prema ključnim rečima @@ -797,7 +797,7 @@ Da biste prikazali meni „Audio snimak”, promenite opciju „Lažirani video Dugmad za prethodni i sledeći video su skrivena Dugmad za prethodni i sledeći video su prikazana - + Sakrij kartice završnog ekrana Kartice završnog ekrana su skrivene Kartice završnog ekrana su prikazane @@ -1351,7 +1351,7 @@ Ograničenje: Korišćenje dugmeta „Nazad” na traci sa alatkama možda neće Moderan 2 Moderan 3 Moderan 4 - Onemogući zaobljene ivice + Onemogući zaobljene uglove Uglovi su kvadratni Uglovi su zaobljeni Omogući dvostruki dodir i štipanje za promenu veličine @@ -1360,12 +1360,12 @@ Ograničenje: Korišćenje dugmeta „Nazad” na traci sa alatkama možda neće • Dvaput dodirnite da biste povećali veličinu mini-plejera • Dvaput dodirnite ponovo da biste vratili originalnu veličinu" Radnja dvostrukog dodira i štipanja za promenu veličine je onemogućena - Onemogući prevlačenje i ispuštanje + Onemogući prevlačenje i otpuštanje Prevlačenje i otpuštanje je onemogućeno "Povlačenje i otpuštanje je omogućeno Mini-plejer se može prevući u bilo koji ugao ekrana" - Onemogući horizontalni gest prevlačenja + Onemogući pokret horizontalnog prevlačenja Pokret horizontalnog prevlačenja je onemogućen "Pokret horizontalnog prevlačenja je omogućen @@ -1584,7 +1584,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Video kodek se određuje automatski "Prednosti: • Može poboljšati trajanje baterije -• Može vratiti nedostajuće rezolucije videa na starijem uređaju +• Može vratiti nedostajuće rezolucije videa na starijim uređajima Ograničenja: • Maksimalna rezolucija je 1080p diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 635ab6076b..95a61fb3cd 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -146,9 +146,9 @@ Second \"item\" text" Евиденције су избрисане - Очисти везе за дељење - Параметар упита за праћење је уклоњен из дељених веза - Параметар упита за праћење није уклоњен из дељених веза + Очисти дељене линкове + Параметар упита за праћење је уклоњен из дељених линкова + Параметар упита за праћење није уклоњен из дељених линкова Промени линкове за дељење на youtube.com Дељени линкови користе youtube.com Дељени линкови користе music.youtube.com @@ -379,9 +379,9 @@ Second \"item\" text" Сакриј дугме „Направи Short” Дугме „Направи Short” је скривено Дугме „Направи Short” је приказано - Сакриј дугмад за емотиконе и временске ознаке - Дугмад за емотиконе и временске ознаке су скривена - Дугмад за емотиконе и временске ознаке су приказана + Сакриј дугмад емоџија и временске ознаке + Дугмад емоџија и временске ознаке су скривена + Дугмад емоџија и временске ознаке су приказана Сакриј коментар за преглед Коментар за преглед је скривен Коментар за преглед је приказан @@ -398,19 +398,19 @@ Second \"item\" text" Листа стрингова за прављење путање компоненти за филтрирање, одвојена новим редом Неважећи прилагођени филтер: %s Сакриј број прегледа - Број прегледа је сакривен у фиду и резултатима претраге + Број прегледа је скривен у фиду и резултатима претраге Број прегледа је приказан у фиду и резултатима претраге "Ограничења: -• Shorts секције, странице канала и резултати претраге могу и даље приказивати број прегледа -• Ова функција не ради са аутомобилским форм фактором" +• Полице Shorts, странице канала и резултати претраге могу и даље приказивати број прегледа +• Ова функција не ради са аутомобилским фактором форме" Сакриј време отпремања Време отпремања је скривено у фиду и резултатима претраге Време отпремања је приказано у фиду и резултатима претраге "Ограничења: -• Полице за Shorts, странице канала и резултати претраге могу и даље приказивати време отпремања -• Ова функција не ради са аутомобилским форм фактором" +• Полице Shorts, странице канала и резултати претраге могу и даље приказивати време отпремања +• Ова функција не ради са аутомобилским фактором форме" Сакриј садржај кључне речи Сакријте видее из резултата претраге и фида користећи филтере кључних речи Сакриј видее на картици „Почетна” према кључним речима @@ -797,7 +797,7 @@ Second \"item\" text" Дугмад за претходни и следећи видео су скривена Дугмад за претходни и следећи видео су приказана - + Сакриј картице завршног екрана Картице завршног екрана су скривене Картице завршног екрана су приказане @@ -1365,7 +1365,7 @@ Second \"item\" text" "Превлачење и отпуштање је омогућено Мини-плејер се може превући у било који угао екрана" - Онемогући хоризонтални покрет превлачења + Онемогући покрет хоризонталног превлачења Покрет хоризонталног превлачења је онемогућен "Покрет хоризонталног превлачења је омогућен @@ -1587,7 +1587,7 @@ Second \"item\" text" Видео кодек се одређује аутоматски "Предности: • Може побољшати трајање батерије -• Може вратити недостајуће резолуције видеа на старијем уређају +• Може вратити недостајуће резолуције видеа на старијим уређајима Ограничења: • Максимална резолуција је 1080p diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 1e982b5a3c..9672be5cf4 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -797,7 +797,7 @@ För att visa menyn Ljudspår, ändra \"Förfalska videoströmmar\" till iPadOS" Knapparna är dolda Knapparna visas - + Dölj slutskärmskort Slutskärmskort är dolda Slutskärmskort visas diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 9aa7216862..d2a17d15f7 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -795,7 +795,7 @@ Second \"item\" text" ปุ่มซ่อนอยู่ ปุ่มแสดงอยู่ - + ซ่อนการ์ดหน้าจอสิ้นสุด การ์ดหน้าจอสิ้นสุดซ่อนอยู่ การ์ดหน้าจอสิ้นสุดแสดงอยู่ diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 82869534be..3f31fa5e28 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -797,7 +797,7 @@ Ses parçası menüsünü göstermek için 'Video akışlarını taklit et' ayar Önceki & Sonraki düğmeleri gizli Önceki & Sonraki düğmeleri görünür - + Bitiş ekranı kartlarını gizle Bitiş ekranı kartları gizli Bitiş ekranı kartları görünür diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 1c99e2a58b..798cafee5c 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" Кнопки попереднього та наступного відео приховано Кнопки попереднього та наступного відео показуються - + Приховати картки на кінцевому екрані Картки на кінцевому екрані приховано Картки на кінцевому екрані показуються diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index b0796c2430..300aa008a2 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -23,7 +23,7 @@ Second \"item\" text" Kiểm tra thất bại Mở trang web chính thức - Bỏ qua + Phớt lờ <h5>Ứng dụng này xem ra không phải do bạn tự vá.</h5><br>Ứng dụng này có thể không hoạt động chính xác, <b>tiềm ẩn rủi ro hoặc thậm chí gây nguy hiểm khi sử dụng</b>.<br><br>Những kiểm tra dưới đây cho thấy rằng ứng dụng được vá sẵn hoặc lấy từ nguồn khác;<br><br><small>%1$s</small><br>Chúng tôi khuyến nghị bạn nên <b>gỡ cài đặt ứng này và tự vá lại</b> để đảm bảo bạn đang dùng một ứng dụng an toàn và hợp lệ.<p><br>Cảnh báo này sẽ chỉ hiện hai lần, hãy cân nhắc trước khi bỏ qua. Đã vá trên một thiết bị khác Không được cài đặt bởi ReVanced Manager @@ -50,7 +50,7 @@ Second \"item\" text" Đặt lại cài đặt ReVanced về mặc định Đã nhập cài đặt %d Nhập thất bại: %s - Tìm kiếm + Cài đặt tìm kiếm Không tìm thấy kết quả nào cho \'%s\' Thử từ khóa khác Các tìm kiếm gần đây @@ -797,7 +797,7 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển Các nút đã bị ẩn Các nút được hiển thị - + Ẩn thẻ màn hình kết thúc Thẻ màn hình kết thúc đã bị ẩn Thẻ màn hình kết thúc được hiển thị diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 86186d6e6a..3244440e57 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" 按钮已隐藏 按钮已显示 - + 隐藏片尾卡 片尾卡已隐藏 片尾卡已显示 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index adbf8b177c..d5ba1abc3f 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -797,7 +797,7 @@ Second \"item\" text" 已隱藏「上一部」和「下一部」按鈕 已顯示「上一部」和「下一部」按鈕 - + 隱藏片尾資訊卡 已隱藏片尾資訊卡 已顯示片尾資訊卡 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index fcad9b45d0..e6bdc7bd44 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -135,7 +135,7 @@ Second \"item\" text" - + From 328234f39ada81542e596f04e8ce410c787c15c8 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 28 Sep 2025 14:31:40 +0400 Subject: [PATCH 13/63] fix(YouTube Music - GmsCore support): Handle sharing links to certain apps such as Instagram (#6026) --- .../misc/fileprovider/FileProviderPatch.kt | 44 +++++++++++++++++++ .../music/misc/fileprovider/Fingerprints.kt | 11 +++++ .../music/misc/gms/GmsCoreSupportPatch.kt | 7 ++- .../music/misc/settings/SettingsPatch.kt | 3 +- 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/FileProviderPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/Fingerprints.kt diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/FileProviderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/FileProviderPatch.kt new file mode 100644 index 0000000000..32c162a46f --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/FileProviderPatch.kt @@ -0,0 +1,44 @@ +package app.revanced.patches.music.misc.fileprovider + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName +import app.revanced.patches.music.utils.fix.fileprovider.fileProviderResolverFingerprint + +internal fun fileProviderPatch( + youtubePackageName: String, + musicPackageName: String +) = bytecodePatch( + description = "Fixes broken YouTube Music file provider that prevents sharing with specific apps such as Instagram." +) { + finalize { + // Must do modification last, so change package name value is correctly set. + val musicChangedPackageName = setOrGetFallbackPackageName(musicPackageName) + + // For some reason, if the app gets "android.support.FILE_PROVIDER_PATHS", + // the package name of YouTube is used, not the package name of the YT Music. + // + // There is no issue in the stock YT Music, but this is an issue in the GmsCore Build. + // https://github.com/ReVanced/revanced-patches/issues/55 + // + // To solve this issue, replace the package name of YouTube with YT Music's package name. + fileProviderResolverFingerprint.method.addInstructionsWithLabels( + 0, + """ + const-string v0, "com.google.android.youtube.fileprovider" + invoke-static { p1, v0 }, Ljava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z + move-result v0 + if-nez v0, :fix + const-string v0, "$youtubePackageName.fileprovider" + invoke-static { p1, v0 }, Ljava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z + move-result v0 + if-nez v0, :fix + goto :ignore + :fix + const-string p1, "$musicChangedPackageName.fileprovider" + :ignore + nop + """ + ) + } +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/Fingerprints.kt new file mode 100644 index 0000000000..16a2d6a58f --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/Fingerprints.kt @@ -0,0 +1,11 @@ +package app.revanced.patches.music.utils.fix.fileprovider + +import app.revanced.patcher.fingerprint + +internal val fileProviderResolverFingerprint = fingerprint { + returns("L") + strings( + "android.support.FILE_PROVIDER_PATHS", + "Name must not be empty" + ) +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt index a037909a6b..0d6b319d88 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/GmsCoreSupportPatch.kt @@ -9,6 +9,7 @@ import app.revanced.patches.music.misc.gms.Constants.REVANCED_MUSIC_PACKAGE_NAME import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.music.misc.settings.settingsPatch import app.revanced.patches.music.misc.spoof.spoofVideoStreamsPatch +import app.revanced.patches.music.misc.fileprovider.fileProviderPatch import app.revanced.patches.shared.castContextFetchFingerprint import app.revanced.patches.shared.misc.gms.gmsCoreSupportPatch import app.revanced.patches.shared.misc.settings.preference.IntentPreference @@ -60,6 +61,10 @@ private fun gmsCoreSupportResourcePatch( ) { dependsOn( addResourcesPatch, - settingsPatch + settingsPatch, + fileProviderPatch( + MUSIC_PACKAGE_NAME, + REVANCED_MUSIC_PACKAGE_NAME + ) ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt index 1ea9634707..e95db8c364 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt @@ -6,6 +6,7 @@ import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch +import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.settings.preference.BasePreference import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen @@ -126,7 +127,7 @@ fun newIntent(settingsName: String) = IntentPreference.Intent( targetClass = "com.google.android.gms.common.api.GoogleApiActivity" ) { // The package name change has to be reflected in the intent. - setOrGetFallbackPackageName("com.google.android.apps.youtube.music") + setOrGetFallbackPackageName(MUSIC_PACKAGE_NAME) } object PreferenceScreen : BasePreferenceScreen() { From 1754023dd6c34d85e4c64832cf4723e4256bbdb3 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 28 Sep 2025 10:34:39 +0000 Subject: [PATCH 14/63] chore: Release v5.42.0-dev.4 [skip ci] # [5.42.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.3...v5.42.0-dev.4) (2025-09-28) ### Bug Fixes * **YouTube Music - GmsCore support:** Handle sharing links to certain apps such as Instagram ([#6026](https://github.com/ReVanced/revanced-patches/issues/6026)) ([328234f](https://github.com/ReVanced/revanced-patches/commit/328234f39ada81542e596f04e8ce410c787c15c8)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e472c2c1d..92c6663957 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.3...v5.42.0-dev.4) (2025-09-28) + + +### Bug Fixes + +* **YouTube Music - GmsCore support:** Handle sharing links to certain apps such as Instagram ([#6026](https://github.com/ReVanced/revanced-patches/issues/6026)) ([328234f](https://github.com/ReVanced/revanced-patches/commit/328234f39ada81542e596f04e8ce410c787c15c8)) + # [5.42.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.2...v5.42.0-dev.3) (2025-09-28) diff --git a/gradle.properties b/gradle.properties index f90566abbe..bcc02b5d0c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.3 +version = 5.42.0-dev.4 From 4c8b56f5466b244737f501654eb7c5d34b6b2f88 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Sun, 28 Sep 2025 14:26:12 +0300 Subject: [PATCH 15/63] feat(YouTube Music): Add `Custom branding` patch (#6007) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- patches/api/patches.api | 4 + .../layout/branding/CustomBrandingPatch.kt | 81 +++++++++ .../music/layout/branding/Fingerprints.kt | 12 ++ .../branding/BaseCustomBrandingPatch.kt | 146 +++++++++++++++ .../layout/branding/CustomBrandingPatch.kt | 167 +++++------------- .../misc/playservice/VersionCheckPatch.kt | 1 + ...veproduct_youtube_background_color_108.png | Bin 2089 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3504 -> 0 bytes .../mipmap-hdpi/ic_launcher.png | Bin 2989 -> 0 bytes .../mipmap-hdpi/ic_launcher_round.png | Bin 2989 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 1954 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2777 -> 0 bytes .../mipmap-mdpi/ic_launcher.png | Bin 1825 -> 0 bytes .../mipmap-mdpi/ic_launcher_round.png | Bin 1825 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 2290 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4418 -> 0 bytes .../mipmap-xhdpi/ic_launcher.png | Bin 4281 -> 0 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 4281 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 2657 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 6194 -> 0 bytes .../mipmap-xxhdpi/ic_launcher.png | Bin 6760 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 6760 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 2968 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 8320 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher.png | Bin 9782 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 9782 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 0 -> 98 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 0 -> 1425 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 0 -> 2634 bytes ...ube_music_2024_q4_background_color_108.png | Bin 0 -> 92 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 0 -> 916 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 0 -> 1613 bytes ...ube_music_2024_q4_background_color_108.png | Bin 0 -> 100 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 0 -> 1982 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 0 -> 3750 bytes ...ube_music_2024_q4_background_color_108.png | Bin 0 -> 108 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 0 -> 3146 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 0 -> 5777 bytes ...ube_music_2024_q4_background_color_108.png | Bin 0 -> 117 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 0 -> 4611 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 0 -> 8196 bytes ...veproduct_youtube_background_color_108.png | Bin 0 -> 98 bytes ...veproduct_youtube_foreground_color_108.png | Bin 0 -> 1503 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2685 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 2685 bytes ...veproduct_youtube_background_color_108.png | Bin 0 -> 92 bytes ...veproduct_youtube_foreground_color_108.png | Bin 0 -> 922 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1624 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1624 bytes ...veproduct_youtube_background_color_108.png | Bin 0 -> 100 bytes ...veproduct_youtube_foreground_color_108.png | Bin 0 -> 2075 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3800 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 3800 bytes ...veproduct_youtube_background_color_108.png | Bin 0 -> 108 bytes ...veproduct_youtube_foreground_color_108.png | Bin 0 -> 3361 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 5831 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 5831 bytes ...veproduct_youtube_background_color_108.png | Bin 0 -> 117 bytes ...veproduct_youtube_foreground_color_108.png | Bin 0 -> 4813 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 8371 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 8371 bytes 61 files changed, 285 insertions(+), 126 deletions(-) create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/layout/branding/Fingerprints.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt delete mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png create mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/patches/api/patches.api b/patches/api/patches.api index 33b6ea28d9..38dc2b6388 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -372,6 +372,10 @@ public final class app/revanced/patches/music/interaction/permanentshuffle/Perma public static final fun getPermanentShufflePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/layout/branding/CustomBrandingPatchKt { + public static final fun getCustomBrandingPatch ()Lapp/revanced/patcher/patch/ResourcePatch; +} + public final class app/revanced/patches/music/layout/castbutton/HideCastButtonKt { public static final fun getHideCastButton ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt new file mode 100644 index 0000000000..c85b2c0ed7 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt @@ -0,0 +1,81 @@ +package app.revanced.patches.music.layout.branding + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch +import app.revanced.patches.shared.misc.mapping.get +import app.revanced.patches.shared.misc.mapping.resourceMappingPatch +import app.revanced.patches.shared.misc.mapping.resourceMappings +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.indexOfFirstInstructionReversed +import app.revanced.util.indexOfFirstLiteralInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +private val disableSplashAnimationPatch = bytecodePatch { + + dependsOn(resourceMappingPatch) + + execute { + // The existing YT animation usually only shows for a fraction of a second, + // and the existing animation does not match the new splash screen + // causing the original YT Music logo to momentarily flash on screen as the animation starts. + // + // Could replace the lottie animation file with our own custom animation (app_launch.json), + // but the animation is not always the same size as the launch screen and it's still + // barely shown. Instead turn off the animation entirely (app will also launch a little faster). + cairoSplashAnimationConfigFingerprint.method.apply { + val mainActivityLaunchAnimation = resourceMappings["layout", "main_activity_launch_animation"] + val literalIndex = indexOfFirstLiteralInstructionOrThrow( + mainActivityLaunchAnimation + ) + val insertIndex = indexOfFirstInstructionReversed(literalIndex) { + this.opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.name == "setContentView" + } + 1 + val jumpIndex = indexOfFirstInstructionOrThrow(insertIndex) { + opcode == Opcode.INVOKE_VIRTUAL && + getReference()?.parameterTypes?.firstOrNull() == "Ljava/lang/Runnable;" + } + 1 + + addInstructionsWithLabels( + insertIndex, + "goto :skip_animation", + ExternalLabel("skip_animation", getInstruction(jumpIndex)) + ) + } + } +} + +private const val APP_NAME = "YT Music ReVanced" + +@Suppress("unused") +val customBrandingPatch = baseCustomBrandingPatch( + defaultAppName = APP_NAME, + appNameValues = mapOf( + "YT Music ReVanced" to APP_NAME, + "Music ReVanced" to "Music ReVanced", + "Music" to "Music", + "YT Music" to "YT Music", + ), + resourceFolder = "custom-branding/music", + iconResourceFileNames = arrayOf( + "adaptiveproduct_youtube_music_2024_q4_background_color_108", + "adaptiveproduct_youtube_music_2024_q4_foreground_color_108", + "ic_launcher_release", + ), + + block = { + dependsOn(disableSplashAnimationPatch) + + compatibleWith( + "com.google.android.apps.youtube.music"( + "7.29.52", + "8.10.52" + ) + ) + } +) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/Fingerprints.kt new file mode 100644 index 0000000000..8e8989983f --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/Fingerprints.kt @@ -0,0 +1,12 @@ +package app.revanced.patches.music.layout.branding + +import app.revanced.patcher.fingerprint +import app.revanced.patches.music.shared.YOUTUBE_MUSIC_MAIN_ACTIVITY_CLASS_TYPE + +internal val cairoSplashAnimationConfigFingerprint = fingerprint { + returns("V") + parameters("Landroid/os/Bundle;") + custom { method, classDef -> + method.name == "onCreate" && method.definingClass == YOUTUBE_MUSIC_MAIN_ACTIVITY_CLASS_TYPE + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt new file mode 100644 index 0000000000..703d403eca --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt @@ -0,0 +1,146 @@ +package app.revanced.patches.shared.layout.branding + +import app.revanced.patcher.patch.ResourcePatch +import app.revanced.patcher.patch.ResourcePatchBuilder +import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.resourcePatch +import app.revanced.patcher.patch.stringOption +import app.revanced.util.ResourceGroup +import app.revanced.util.Utils.trimIndentMultiline +import app.revanced.util.copyResources +import java.io.File +import java.nio.file.Files +import java.util.logging.Logger + +private const val REVANCED_ICON = "ReVanced*Logo" // Can never be a valid path. + +internal val mipmapDirectories = arrayOf( + "xxxhdpi", + "xxhdpi", + "xhdpi", + "hdpi", + "mdpi", +).map { "mipmap-$it" }.toTypedArray() + +private fun formatResourceFileList(resourceNames: Array) = resourceNames.joinToString("\n") { "- $it" } + +/** + * Attempts to fix unescaped and invalid characters not allowed for an Android app name. + */ +private fun escapeAppName(name: String): String? { + // Remove ASCII control characters. + val cleanedName = name.filter { it.code >= 32 } + + // Replace invalid XML characters with escaped equivalents. + val escapedName = cleanedName + .replace("&", "&") // Must be first to avoid double-escaping. + .replace("<", "<") + .replace(">", ">") + .replace(Regex("(?, + resourceFolder: String, + iconResourceFileNames: Array, + block: ResourcePatchBuilder.() -> Unit = {}, + executeBlock: ResourcePatchContext.() -> Unit = {} +): ResourcePatch = resourcePatch( + name = "Custom branding", + description = "Applies a custom app name and icon. Defaults to \"$defaultAppName\" and the ReVanced logo.", + use = false, +) { + val iconResourceFileNamesPng = iconResourceFileNames.map { "$it.png" }.toTypedArray() + + val appName by stringOption( + key = "appName", + default = defaultAppName, + values = appNameValues, + title = "App name", + description = "The name of the app.", + ) + + val iconPath by stringOption( + key = "iconPath", + default = REVANCED_ICON, + values = mapOf("ReVanced Logo" to REVANCED_ICON), + title = "App icon", + description = """ + The icon to apply to the app. + + If a path to a folder is provided, the folder must contain the following folders: + + ${formatResourceFileList(mipmapDirectories)} + + Each of these folders must contain the following files: + + ${formatResourceFileList(iconResourceFileNamesPng)} + """.trimIndentMultiline(), + ) + + block() + + execute { + // Change the app icon and launch screen. + val iconResourceGroups = mipmapDirectories.map { directory -> + ResourceGroup( + directory, + *iconResourceFileNamesPng, + ) + } + + val iconPathTrimmed = iconPath!!.trim() + if (iconPathTrimmed == REVANCED_ICON) { + iconResourceGroups.forEach { + copyResources(resourceFolder, it) + } + } else { + val filePath = File(iconPathTrimmed) + val resourceDirectory = get("res") + + iconResourceGroups.forEach { group -> + val fromDirectory = filePath.resolve(group.resourceDirectoryName) + val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName) + + group.resources.forEach { iconFileName -> + Files.write( + toDirectory.resolve(iconFileName).toPath(), + fromDirectory.resolve(iconFileName).readBytes(), + ) + } + } + } + + // Change the app name. + escapeAppName(appName!!)?.let { escapedAppName -> + val newValue = "android:label=\"$escapedAppName\"" + + val manifest = get("AndroidManifest.xml") + val original = manifest.readText() + val replacement = original + // YouTube + .replace("android:label=\"@string/application_name\"", newValue) + // YT Music + .replace("android:label=\"@string/app_launcher_name\"", newValue) + + if (original == replacement) { + Logger.getLogger(this::class.java.name).warning( + "Could not replace manifest app name" + ) + } + + manifest.writeText(replacement) + } + + executeBlock() // Must be after the main code to rename the new icons for YouTube 19.34+. + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index 8a9c44c303..27273680ee 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -1,141 +1,56 @@ package app.revanced.patches.youtube.layout.branding -import app.revanced.patcher.patch.resourcePatch -import app.revanced.patcher.patch.stringOption -import app.revanced.patches.youtube.misc.playservice.is_19_34_or_greater -import app.revanced.patches.youtube.misc.playservice.versionCheckPatch -import app.revanced.util.ResourceGroup -import app.revanced.util.Utils.trimIndentMultiline -import app.revanced.util.copyResources -import java.io.File +import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch +import app.revanced.patches.shared.layout.branding.mipmapDirectories import java.nio.file.Files -private const val REVANCED_ICON = "ReVanced*Logo" // Can never be a valid path. private const val APP_NAME = "YouTube ReVanced" -private val iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_background_color_108", - "adaptiveproduct_youtube_foreground_color_108", - "ic_launcher", - "ic_launcher_round", -).map { "$it.png" }.toTypedArray() - -private val iconResourceFileNamesNew = mapOf( +private val youtubeIconResourceFileNames_19_34 = mapOf( "adaptiveproduct_youtube_foreground_color_108" to "adaptiveproduct_youtube_2024_q4_foreground_color_108", "adaptiveproduct_youtube_background_color_108" to "adaptiveproduct_youtube_2024_q4_background_color_108", ) -private val mipmapDirectories = arrayOf( - "xxxhdpi", - "xxhdpi", - "xhdpi", - "hdpi", - "mdpi", -).map { "mipmap-$it" } - @Suppress("unused") -val customBrandingPatch = resourcePatch( - name = "Custom branding", - description = "Applies a custom app name and icon. Defaults to \"YouTube ReVanced\" and the ReVanced logo.", - use = false, -) { - dependsOn(versionCheckPatch) +val customBrandingPatch = baseCustomBrandingPatch( + defaultAppName = APP_NAME, + appNameValues = mapOf( + "YouTube ReVanced" to APP_NAME, + "YT ReVanced" to "YT ReVanced", + "YT" to "YT", + "YouTube" to "YouTube", + ), + resourceFolder = "custom-branding/youtube", + iconResourceFileNames = arrayOf( + "adaptiveproduct_youtube_background_color_108", + "adaptiveproduct_youtube_foreground_color_108", + "ic_launcher", + "ic_launcher_round", + ), - compatibleWith( - "com.google.android.youtube"( - "19.34.42", - "20.07.39", - "20.13.41", - "20.14.43", - ) - ) - - val appName by stringOption( - key = "appName", - default = APP_NAME, - values = mapOf( - "YouTube ReVanced" to APP_NAME, - "YT ReVanced" to "YT ReVanced", - "YT" to "YT", - "YouTube" to "YouTube", - ), - title = "App name", - description = "The name of the app.", - ) - - val icon by stringOption( - key = "iconPath", - default = REVANCED_ICON, - values = mapOf("ReVanced Logo" to REVANCED_ICON), - title = "App icon", - description = """ - The icon to apply to the app. - - If a path to a folder is provided, the folder must contain the following folders: - - ${mipmapDirectories.joinToString("\n") { "- $it" }} - - Each of these folders must contain the following files: - - ${iconResourceFileNames.joinToString("\n") { "- $it" }} - """.trimIndentMultiline(), - ) - - execute { - icon?.let { icon -> - // Change the app icon. - mipmapDirectories.map { directory -> - ResourceGroup( - directory, - *iconResourceFileNames, - ) - }.let { resourceGroups -> - if (icon != REVANCED_ICON) { - val path = File(icon) - val resourceDirectory = get("res") - - resourceGroups.forEach { group -> - val fromDirectory = path.resolve(group.resourceDirectoryName) - val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName) - - group.resources.forEach { iconFileName -> - Files.write( - toDirectory.resolve(iconFileName).toPath(), - fromDirectory.resolve(iconFileName).readBytes(), - ) - } - } - } else { - resourceGroups.forEach { copyResources("custom-branding", it) } - } - } - - if (is_19_34_or_greater) { - val resourceDirectory = get("res") - - mipmapDirectories.forEach { directory -> - val targetDirectory = resourceDirectory.resolve(directory) - - iconResourceFileNamesNew.forEach { (old, new) -> - val oldFile = targetDirectory.resolve("$old.png") - val newFile = targetDirectory.resolve("$new.png") - - Files.write(newFile.toPath(), oldFile.readBytes()) - } - } - } - } - - appName?.let { name -> - // Change the app name. - val manifest = get("AndroidManifest.xml") - manifest.writeText( - manifest.readText() - .replace( - "android:label=\"@string/application_name", - "android:label=\"$name", - ), + block = { + compatibleWith( + "com.google.android.youtube"( + "19.34.42", + "20.07.39", + "20.13.41", + "20.14.43", ) + ) + }, + + executeBlock = { + val resourceDirectory = get("res") + + mipmapDirectories.forEach { directory -> + val targetDirectory = resourceDirectory.resolve(directory) + + youtubeIconResourceFileNames_19_34.forEach { (old, new) -> + val oldFile = targetDirectory.resolve("$old.png") + val newFile = targetDirectory.resolve("$new.png") + + Files.write(newFile.toPath(), oldFile.readBytes()) + } } } -} +) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt index 86621209cd..fd713626de 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt @@ -38,6 +38,7 @@ var is_19_32_or_greater = false @Deprecated("19.34.42 is the lowest supported version") var is_19_33_or_greater = false private set +@Deprecated("19.34.42 is the lowest supported version") var is_19_34_or_greater = false private set var is_19_35_or_greater = false diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index 1813f47fea63a5c275b368ec301d57fb5d0ada7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2089 zcmeAS@N?(olHy`uVBq!ia0vp^i$Iuz2}t@*X!K!VVA+-#5>XQ2>tmIipR1RclAn~S zSCLx)lxJYDv9BmdOwLX%QAkQn&&;z`dcS+Wl0s&Rtx~wDuYqrYb81GWM^#a3aFt(3 za#eP+Wr~u$9hXgo70`g()RIJnirk#MVyg;UC9t_xKsHENUr7P1q$Jx`DZ)2E!8yMu zRl!uxRL?-kj!VI&C?(A*$i)q+8OXC$$|xx*u+rBrFE7_CH`dE9O4m2Ew6xSWFw!?N z(gmu}Ew0QfNvzP#D^>;>0WrfRwK%ybv!En1KTiQQ?NYItfzCc^Z* zVyO3l0ih3)(KpmH&_`BYl9`4>IY>N;(pO%>elq(K$cT(_lbv84!G&9pR(u3Flj5sTx-psU0m&6jFDkB3UV_gGtT|>hV z10yRVLn}j5Z6L$I0BkZ?H84M?6fEfW}= zl?uS@lbN2ETBKm4XP^fO3b>x~j8vd`xP7M&b(=mY-@zPbqmSWy8?XYTj0)5T5d#(g zz>-8CUX%bi@WLoH4_E>f0gIX~(%U>47#JHeff0idAq)%}6H6za*LDdMIc}epkHt3JXkne7$LZ!`e+@T^=W=nQnAE zU+H#Mr8xilyz_tW75hD($8Bf2dZu5h#F?0TeZ4MIU(SqF{ovA|5a1u{RJ^A1#|E#P zAM3nZ)7M+?jd}X_pX|XY?=k`cb!`?zmc>*5x^*lv zI402i<&y9IH+xHj7JBE!=^#D9~<##wK~v~TE4P;;Kg7dTyIx85~@*y%G9qV=Iej0SpGB5dEWK0`}c+KYQNk9x!;~#zV6^l z*Ff*Q!#Ax=?niT4e^maN`jdw_u5V!;o7DORY3nX*zF*z<&LMW{`duw^V>876|N5E# zJ2!o6fxM9-u*%>p@Q5sCVBi)8VMc~ob0mNf)a&Wu7*a9k?L|i30}2cWHWW)gh*#HB zNL<^bDxH0{|N7tU%oYcqvCJ0E@!McI%Ajc=Br=;kXPjQXvK5$f7#KWV{an^LB{Ts5 Di%Ik) diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 9448e7315f7d66fdecb8ad2b31255bf8b04ff5c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3504 zcmbVN2~<kN)1+P zk_?jqh(x2c#hc{!(sl;EE&fFTgug(taEM0OyvrKnNhCo!fs}jLWwv( zklOE7xigh`=b=$VKue6&`^miYg&sCXx)o1-sxvlbomwMC#H^YNp;XFJEQH`B>kcq1hP7r>h8tya^8<2F+vbTG9v&$M1(LwGz4N{6~QEuf&mUR0H9Fm zSlFvuw_#8!84L3?aW-^j+5kaR$0!zni#p&=iV7x~lVMht@-h|?7?2?Z;1Hn^Av8K0 z6M=;-6Jx-4Nf-%(E<-rMSeTcy3)F_e0-z=c6NDiQEQdlZSmZ#Ao2~syIXJ??f;b!| z28j$04@ZO>BN!|S(#YK09BGI`qEH4P!hjt~=MWS!i-E&pQpV4GG)V{F<3Zo?*L!{3@Y&l;}k-q0G?Db zCuoJ_Q*=K-r+gWfXrYBk77b6Qg6hFYHEN&fW+W>V8AMBV5BXP1J9u$U=IacLo94hU?3IrFA@r#0xE?Lu%IY}Ap$hv z150=i0CN1zypW$sus}+V&*!o%kbgCU54g{c-7?3AD0rs95m@(UgOH3qHW`2pb`}=c zLN;A$xd?$sTRYkAagXpH@A1BZf2z^&=4vw*kCP9}-g?0690skh_JSj=E8i$FBscHm z)gADA0fV@o z13fyb*{K6muGMeI=<(W)-i(X$SKIyPdiH(2-2DE@?OSI&)py_ck?xGUDLG19m5idI zk*Pi1v&G&y*Jk{Cx*6SPVrCzN2*#te@*kHczM8A9z=_-Q`6K=(5EWd#f@n|g?4JB% z!@bj^$CHb@#-%so!_t!z&Y8Z8n{j+<&KFJEP<9{n&^J3BI}$#MTi5P0SUsIJ??{Y>FhjOdd)dN!Ob0y4ir%QN29V|JsSxj_Z|eZKmJJVb3FOH3bR0V|Q!Po;YV+x)JWJbj34NxqfHutdK3I&9bt^z&&S>yibxC-pp zQ}+^CSKL6B=|T9CtaSE9o|AfY`mOXsTJO;}1K*>42uI9(sAL>b6i>1lZ;JhHxB4dO z=rDQZVFxO@#@4*gY_F-_nbCfscTLrZB`m$bR+aQ(=)Rz_@XZ;*xNGQn`)hdOy;C^a zmW9R;dTImC{lu#gb;YE%${1&nPhKAR6wl}2LytM@{o1Wt^8Csd9n*$?Or)MleA&bg zEZ&|RU*3t)CiZnGZOI?Fmf3Xl@;tty^Ga(=>SWMx!rm&UG=jLbMQweKBCmtzx31r{ z)bq`jHACKd+ryOb zX?0c=E0(sVw$ZQm*5p^UO?vmXKIB~o7xNoatg`@dB^)1r6(9e@rDLO~Pn2sUq9+vL z?5Ls_8H>-ZIi{6Pr$1wf?su+E*hNl7dG2tye~M?^dn0N9Ig5VU^yJ-~z~k4;&oBDL z5V(P~quEl8j~4CQWR)h3hwhhenl?$!+=ty@qjztcfg0bnQF$y##7YVp$Vja#szPMRVdAI?m;y>2fl3A{`;b_Stam0DM#&t5~S@m9Jk4d4( z*F)?iA;VAob|yE@p+*W`A<|qsIIL=ahxf~EKiL$!iHvCqw^)g=n4sDzy7jOtXWen% zLY^JUqZ)0cuYgXEy~IwHDch|YFe}sivXwnh`$JM=8DOCvHE6vUxA|mQt&5$Oc%93M zyCtsY;gMbMuEktp<%ZMK#2c+t>#_vX0t=mB_*7NNcz|=qK005F3$G;c^i$@|=hB;Z z)Je-I3F&CJ$Z}zV?TpX;ve2f7IYJHgc22Mn$|gtnKv-P+SbaUE$DCqa-MOhO-t*g& zs@vMY&702fqSYY*mVuB~KJiw(8fuhqgXOGs%AQbYBN;R5Tz5Cc!>iqQZHF)6_g;q!8km*^^S^1x z1}iP`wGCNt{(07IR2F$L&XH^EZc@We7RX z@8F1+ifAqD>x$upOJ=hwV|N!bbI(wg3yJRa9p zaf=1q6zPM&`JFDt^||Wm?{u45rPXEW_Up_{7xIdtytFV=nN})Xs{ZDm{0V)inO0Fx ZDuc8KKA(pf$<;_=PId=uORWzd`!`a{(1-v4 diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 5adf8939817570835394999db679d37b400a289d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2989 zcmV;e3sUrnP)3&26`qh7yf5R~{l?39ycI7ol*JHmXoSH9fg(r@Qd&`xwnph1C#Voe`lCxEh*DH3 zL~4>ob#a@}w4~sYP;9kMsAU8QiGOUOQV2K-R!t}|!shmTckX?2=gmyK%zNXdNBZ>U z-Fxo2=bU%$xyyUD%{IAopTMj*koEsJ1Y_?fJRq)PCAH0ra~L84#^D-8!C-KX&*yUx z{6wVyexnR^Mt(tGDs#G!eCj$C6cpqWR%n`UyQUSi6HX8=5k4dQmvBb_zfp!d@DQ)> zIkbfgRi_X76};N=Ehl&i7^&56fJ*O4KX;w z7!l)z?liSL)Tj1vES)BkQq6bx_<2-dUanI-|!a?X_)Gz5YfByUw`J0~H z4@t2v3`$$+7$b~*4ne0_x+aBWhk-yKhm<)Y74`YNcVj4@R2X#VgpR7tmXqv=)+^Pd zz!gO)GxCdB7?F;m1Wr0?HLC7b5>I@7zju|!!#L`RO(`h4k*?m=stu--^gcb2jZ%Ra z33AFo)sa@`EvhZ1QFvH+n__i5)e)(y=j*CXW{?IXHJzLzq3AqBqu@c+wnT`p zA%a1Bb|~3RPv=NT-D#-(yRa}PPqlHP#2ag3Dxb;;d908&(DkS-d=@n!;^9Zx{|Bnz znE=>A(L`6*v#PD*A->u3cs#`<@U{>vVlDuImxw3wS6?=NsAgDgOKSwYmJ8Rtmf&qjWJ>K zFr&T8LPgMwjv!n^QRH2&`XC;OnalUOXgFh|M?%`@^}5?tAH*UaUNmz#wa|e%1eh{& z6&CtgWn~42->>nqU|}(Ohn$Lva$Qz};5O3Y@rK=Q*Hm8^iF=M1x2g@z zKy!05JAV8)>+bGmjg5`0s;HE`(y*0vuGl$dfFJG99&#YBscB_YUlRn5aT!hdPpiH# z5`QU2!|M?E1{Ah>vkOO&;YwT+x z2oE#Q-)wOX{rPJeP0O~EgRY5&rbSSBc^Nx(>J%Fp8DSSMUSx|GFJcds&1Ze<-(Y7S zZ66ij1AjxqVs_=q6)p$zAlKN}1R;i*r{Cd7_o_aTBv;NWL<7@juC}%|cIVC=ZrqD6 zzQD_NENx}~*zgC|v*C|%f%@%BzQg&^4(%Za@{D~X2)-tAI2>z)Pa=ky%sL5TF#GlXn*$XS+;1=!l*tH1YRXE zm&^5nEyhbo{?f0Yz>C+xmN*DA*}i@IxPiBB-D0h+t-O5Gg3aumO^4$G_22_P+Mzw< zK%TLWL?CVUc-(Kp7s4l;Qg6Vrz(v)Pz8ubwAY7}?wVFJ4wwT+Vi^-pgL!{C*Tr zj(YIP95yg8z~vZaCkn+uz2uA8ieL0(luDb^3!;H(30g&QaS`k2=-{&u^2pk?Yk7HN zT{GLe`6&C<6Wuy+zpS>2*MkrIXm{Yi@3|bKY!kq3rWN%i@L3HJ?O6uI4*F7l%M zxWEzz0WB>pJPHsEZ@u+fR#FmL0B%|J68qUVdvxF)<)x(o*53X*J$lgIDAObe2YEiV z+tVTzjA8|yTdZl`L6zAGAa`_ib#a5QUcJgzt_&^qYO9v9r&|uQ?OS^J756B|Vi0`b zM?14~j{-T>-*h;#Dxw@j(_6U~J{&WBnpd%H+ctg5-?L{AFZ28T?2*Q2S?iWQ_O<0d z;`i7}pk7YxXlImVBDl>oli$wE%d3s$pb9NX4yvzzkoEQTal_A_KhLLdloyv&u!bey z=2zS!8DF??f%AbM?ToTagzli++}ye-2j%4C1SkjH6wHFMd-WF%>cnwlCtS)V+4k_Cgoi2Aa! zAUl2fw4R*7Z*=jXKZT$ zq=PP#FYHDK0U0#@J_3_f3q>Q=ty{;gUAx8|ap=%rc+{XA*UrvPUXFV38QYo-X|vny z?jv7hD}LdGWp$d*=RKe@TMaDujvP769ns%^oi#VF=Hc?nkDXOdIvYwtE5k>uM_wL>NihGo!-q^+}P>Nx8yZv$DoCpVDtj(hAT||tZhz3bX z)IeL?Gy1|&B6Q~SOcbvbpvaL4`udzXbIRch;gbl0$8u!+mM&ewr}`5oKH^v08+ojNGQ2*^$VkD5Rd7z!@REe= zZO2PA(KuT3LGWM}dGxUv9z}ZeWM^l812)^@ zB2u<3IW;Mbym-{9yj#t1| z+Zb|>k>F7eZ9jf0hT2TZMZ*|cG#UL8Hrhg)({U5l0`P3W?RI?tC(VSRMt1O_<#IW? z$hJ~pW88JmXoRrKOG!zoqgm||I+)H*lDboFy-YUEhi$fTB<6U8wShZ5J$((WHhDgp zj#IzXnexu(WXpQkBy3BZ>~=d&*fhFsrKi9X+;nnM*g2jN$~)gBTl~VN2@fqJ-Iq&5 z*J8SS-|G!IX*vwI@b}Q35z_s~uz}Wi7+R(|M-t9RAUHtYe~LQfZ())2j7m)vNZlxZ z-V~7&u!Z(pF~31HgJxxAW#K;`l+bmZ$K$>%mH;>|m@?}mp$k94pc(iw>H4V98M<5M z97(fiX^y8*L|8z(;A2=*Krs={lesOqCx;YtqBY!c(s3bl6*^n)97!0z_-o<B?1+pe0i3m1 zHuQvSeKr+Q(@DDE4|s954Ben((w(Cc7Lyp;g@m~@Q+$ht-9ItY$%xWI`#9;WL?R0x zTJnEQp^3dA`aoaklV+zUp@Yx`I*ogOWfjS2!r}`vMJ|y2!{=$a@CmJ}ZqQH}48d~)WvBxWc+m!JA;T7m7Rba79$3mG%UDPKnXb+;`v)8NPf(SSob j0KZX&x|pwllSTgnQ9r2~7dB1t00000NkvXXu0mjfB1fvz diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 5adf8939817570835394999db679d37b400a289d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2989 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 diff --git a/patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index bfb91cced108bb6126ed2b4ce6c5e184c4ed6339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1954 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 GWB&k^M0-~N diff --git a/patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 46117b63ab0226e4b276100219ba0d68ed388473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1825 zcmV++2j2LJP)4FuAc8H|~Ab#=M;=^S(sT^F{~CigLNoHrpA6%~cCSj>#YjH)DJChj@)q`(J! zWlbg#k3=F5R#sZCR8~d~Mx&8m7zw_2k$+wS7s# zADP%?2KmHg*usZl7<1fWWKu+(t7{JWIukhKAas*4?h(+{ZO_1`j03@HWUN2z#*9Xz zk8rR-E%3Nyng2;r&KbTF+-wIC!!7ny#dg3m^fm{$p@K&umby+G(w9o)24cB!@GCm` z11gxDHD?KA0ym{^@jJ&n=*GpX*t-EY+9Byw)vq&frlG~L4hL@ag6Aac=HXfBoa{6! zu;Vd@&oxe-8e8n~+)Qsdon;w%5<7HmDMjtUOny~VYgiZO*@8^Kx?x$?V>(AS(ds_A zRq9POT~Hh%5%V{Vqw5n}EDtZ&Ytk6m-;LeIFT?|qSAoLeaGTCm7m*P!QvoL+p0JtR z=hKDa!u-ybm6a9goR!GgH@8Tm>8$%y5UXHWMyt*lVsB0IVCJj#SFT(^?d|Q<*tn5a zRWG7^z&1n(3uTguIT46=s*`Xuyy*o4Fo4Hqs!b2wK9R3_O`?Wty0lf<5pG0 z>Bx~Ibp85udT#xC+P-Qt9dG>B6>qHEBy^w)8`wJi-2pdcGj9WD#a*lbC-8+-@;v(r z8#g{rSFc{B?(S}?onJ!-)_q3bzt}wixQ8+5Ko>SnKOP{saROfjCLZx|#yy;o|{)E0u3o zc;&N|{GzSxO}cXB3UzjNQfzLVwsF0Gy18FqTf@gRx3W@LZMJK5B#kwO$Gb*?W3`=G1|3jC(Y$mXjuE60IqlM-YuFJI!-$u5Zt)jFY%-= zuoK`Cnjg(T0&CW+rlFxBI(6z4EnT|AzK?6%!x(g&c0OPyz)xhgl?DQ(rKNNECO&=G zN>f2R9;2?VFU2m?($ZqzZ*6T6_b>(>r=1U|5*p?nsJ0V8LvR9VHL=3lwNHpL>g(&H zdGo3SaE*HybL#tqY~t`xVPRp&PJm@LH}Qb3G*y6bZ*MOR4-ZpQ(+kwx+)N`QBh=H= zBgUNiKB1ligUq==k;i_T!+UF&u9Ob8Zhe(TM@Q-C(W3&m#yzLr6d<@6M(7*njHhsp zdK}LPhb!8o5{?qSjuTGcA$9unX&N6N7dUa^#8e+#Is`8qB|@RHo!~s-D8c*cvS`%& zM=Gbi3VZhK5!)t!Ez~*g7ff6>aQNS%qM}E&>ama0h1>`INhR;c=~TdjtD~bs0N2iO zzfhdG{*N)&V#(Ql6%c*E&x7sKAnh{BFzoW-{U7Bc_$u-c@q&<_pI^yJXJK?NzEbk+ zC-U<0;yPztkWn75!d_{3udISS`@vwa0~{sSNun|`xlvBSI1{~)E))mT4E@gBqLO3E z&y2`yHt$FqIO8!GPG>2p*x4d+5G6~xA%6Hk_magt-aj9491<`ySVB5e4eDO~60sCGkV<492hV>(8CM;{1v8=qj zbT1#nk1>f+mt;}`y0C#Qe889V>1m%&S1>aOlFu+04;2&?Ji~{qcd_M#!^R*#$rGk& z{>ddW0wk})35-Dpy0Bqed|7}G_=3+#=bO7J>VGB>7~kwcB+jVG&CRXjL)Yp#b7t2A zxW+w8-DkSa0M P00000NkvXXu0mjf&ZBT@ diff --git a/patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 46117b63ab0226e4b276100219ba0d68ed388473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1825 zcmV++2j2LJP)4FuAc8H|~Ab#=M;=^S(sT^F{~CigLNoHrpA6%~cCSj>#YjH)DJChj@)q`(J! zWlbg#k3=F5R#sZCR8~d~Mx&8m7zw_2k$+wS7s# zADP%?2KmHg*usZl7<1fWWKu+(t7{JWIukhKAas*4?h(+{ZO_1`j03@HWUN2z#*9Xz zk8rR-E%3Nyng2;r&KbTF+-wIC!!7ny#dg3m^fm{$p@K&umby+G(w9o)24cB!@GCm` z11gxDHD?KA0ym{^@jJ&n=*GpX*t-EY+9Byw)vq&frlG~L4hL@ag6Aac=HXfBoa{6! zu;Vd@&oxe-8e8n~+)Qsdon;w%5<7HmDMjtUOny~VYgiZO*@8^Kx?x$?V>(AS(ds_A zRq9POT~Hh%5%V{Vqw5n}EDtZ&Ytk6m-;LeIFT?|qSAoLeaGTCm7m*P!QvoL+p0JtR z=hKDa!u-ybm6a9goR!GgH@8Tm>8$%y5UXHWMyt*lVsB0IVCJj#SFT(^?d|Q<*tn5a zRWG7^z&1n(3uTguIT46=s*`Xuyy*o4Fo4Hqs!b2wK9R3_O`?Wty0lf<5pG0 z>Bx~Ibp85udT#xC+P-Qt9dG>B6>qHEBy^w)8`wJi-2pdcGj9WD#a*lbC-8+-@;v(r z8#g{rSFc{B?(S}?onJ!-)_q3bzt}wixQ8+5Ko>SnKOP{saROfjCLZx|#yy;o|{)E0u3o zc;&N|{GzSxO}cXB3UzjNQfzLVwsF0Gy18FqTf@gRx3W@LZMJK5B#kwO$Gb*?W3`=G1|3jC(Y$mXjuE60IqlM-YuFJI!-$u5Zt)jFY%-= zuoK`Cnjg(T0&CW+rlFxBI(6z4EnT|AzK?6%!x(g&c0OPyz)xhgl?DQ(rKNNECO&=G zN>f2R9;2?VFU2m?($ZqzZ*6T6_b>(>r=1U|5*p?nsJ0V8LvR9VHL=3lwNHpL>g(&H zdGo3SaE*HybL#tqY~t`xVPRp&PJm@LH}Qb3G*y6bZ*MOR4-ZpQ(+kwx+)N`QBh=H= zBgUNiKB1ligUq==k;i_T!+UF&u9Ob8Zhe(TM@Q-C(W3&m#yzLr6d<@6M(7*njHhsp zdK}LPhb!8o5{?qSjuTGcA$9unX&N6N7dUa^#8e+#Is`8qB|@RHo!~s-D8c*cvS`%& zM=Gbi3VZhK5!)t!Ez~*g7ff6>aQNS%qM}E&>ama0h1>`INhR;c=~TdjtD~bs0N2iO zzfhdG{*N)&V#(Ql6%c*E&x7sKAnh{BFzoW-{U7Bc_$u-c@q&<_pI^yJXJK?NzEbk+ zC-U<0;yPztkWn75!d_{3udISS`@vwa0~{sSNun|`xlvBSI1{~)E))mT4E@gBqLO3E z&y2`yHt$FqIO8!GPG>2p*x4d+5G6~xA%6Hk_magt-aj9491<`ySVB5e4eDO~60sCGkV<492hV>(8CM;{1v8=qj zbT1#nk1>f+mt;}`y0C#Qe889V>1m%&S1>aOlFu+04;2&?Ji~{qcd_M#!^R*#$rGk& z{>ddW0wk})35-Dpy0Bqed|7}G_=3+#=bO7J>VGB>7~kwcB+jVG&CRXjL)Yp#b7t2A zxW+w8-DkSa0M P00000NkvXXu0mjf&ZBT@ diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index 4245fe042fcc88473f148474569b77f3dafafbe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2290 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 UxwSPM#;h7F%xp{x4txFjKR&;W0RR91 diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 224d6643465f529ef5e2c4403c0e9c26149e0368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4281 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 bpRMKpz{%j@DtD*<00000NkvXXu0mjf*trjL diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 224d6643465f529ef5e2c4403c0e9c26149e0368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4281 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 bpRMKpz{%j@DtD*<00000NkvXXu0mjf*trjL diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index da0fa7aa12c781672d26a950540fa54cc98535dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2657 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4kn<;g^mjo85mf$WrjqQMELqxCFkerC8p#j zrRr7W769cL7;Nk-3KEmEQ%e+*Qqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+ z7m{3+ootz+WN*i1Q(*-(AUCxnQK2F?C$HG5!d3}vt`(3C64qBz04piUwpEJo4N!2- zFG^J~)ic#IP_pAvuqjGOvkG!?gK7ryY?U%fN(!v>^~=l4^~#O)@{7{-4J|D#^$m>l zjf`}GDs+o0^GXscbn}XpK}JB#a7isrF3Kz@$;{7F0GXMXlwVq6tE2>!SAZIxT9Jt` zJ+Bz*ePBT7gJkp#^$hfpm6v3u;ZP2e!BAe1kzbNuoRMDu_W+6&aA^#Uz~IBKr6REa zn_^#I{K|84QM^%H;#vj_2xy?9xCv%KaY$uBs(w&vaeir0a;j@tYF>#lI3z&fVik~C zk(v|Xl9`*DR}2hYTP0&76ExXKT(ZvjIr&Awz+{zbt7Hh)1PVJV&)mfH)bPxdk_?1t z2nnCmymSm1kn3_vLD3tUmkIQb5yG?xgq*FCxsg7SMUhyg;BjFEcAsy43eb7RU;`0S zp3cqzMfqu&IY7DMAa^GPPgiF%LrXI=T_Zh+4Zw)A0_x37t8_^$0je@GFf!IPFxNFS z3^6dWGBmd`vD5}K3=F^~gH;3bLrP*vA|dslRIOkG)Zy!E<&jxjl3!E_7J?-8;M770 z55mpK1gCKY1#nDTB_@Lc$yTYLC_kk%IW+}rInX$WY;k^CNqJ&Xs$)7Zl5Le7)6z15 z!C9#Q%s!dvd8tJTMtTN%kf4C;DbGj+nuptW`cSv&gYq5BaW?uG&bI+8K+32`J<(iHt$om@#klIB~A19+>`d)b}B3|>GAcZ{S9k3g>`wHoMyVw z@qDG*S(W1a@AJ<8y;tn_d>*%*>FSw&sS;;m?)CM$Ono^sQuTvNgF=9RtW)ut&L11R zZhoxuZcSfry*K9R-+!_Pr@YGu2-LM%5Lp&i5mHfOnP0g__0E!1AcsI-lp}A5uVcvHnnW+$>lnInseq&)wkQ_-m7k{%G1)@78=IQXXw_k z$l#bj^OsA$``_#>5nAZ&H>H#R{}KO98XIT55!1e*GeOOH9$(;emEC&R1Y)PpOg;Mg z|NVVdZvIOq>^0*G?O*r%7F(n5k6Q(I`%#a{0Q0 zFI@w@^A6v%GPxhkY5h_8XX;NL=D5Cvd2CYa7o@Gbu=##<-#drcsq1&O%#FG#>EaktG3V`NN8SSp3e?*%5BvU?F%-1TR6KM>ATh1Oz}RJmq|zB4!L&9GW9ODp;n6S|O%MZ} b8#XcuJ22gze1-QFsAcHs>gTe~DWM4fm71D9 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 184eb07a52ede17f2de4ae1ba6646bb71d0add52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6194 zcmd5=c{rPCzt)+~baZbzx@e20!3-sKwS;d-TS2HLmQhSdXetX?>|stvX}T$j5~bBv zi6x~?kRUCo&>~v<5;R?uiWC(k)QL{NSw4eoeeUP}-S7SUp6B!54*ci$?Iz{%syia{*K-u?v4-d^Jbkr0BxqLq|>5N4(c zb)jzG3v9o=WN;}6i8NF$-MhsRdpKma^xmFZo6QI#ZFD!|m-8bI8Rb=otNkBYW8hy( z%QAuPRcJW&T0ZHLYKd=6b)0ZKK?=DW*RjsqGIF9dgsTyx_;UTEDf}XPICEN@s6HP#WzynAc|oN!nhsMPj`dyCCJ7Nv=sNS@9=6 z9-Ei}*y_4ue)OnRxs;??t%VGn+$~6~%x70Mrdu2sXsh}(r=AH5HZnKXWBYsUGuv@Y z`9*LZvhhP#(~YT>^>6R^xp=Cv2;vdgYp(2rjy$Az*s zg<6Xho1q-;;7d|c+O%`+UZ<3sw?|27{bh`&57`IqY#B_z=_65uAhdooE?mJ@QnI#< z4o3!up~)IS=uiwE0+e!jKn)BE0`xY88^FWu(WfvDu|%{-tcz!GY*?@b3TSJyWutYp zr9uIRCL=YXaacUbG8zK>ENrQGUxUFwjn5Qv7zF48KcQhyAfh!)^-c8+fQoPp4QnDQ z#L^vl>`S;}1Oc8Rlfx~+;Hao5{U~F70x=Y9XklRiHZTGk8R;n)dZZXU85ymICms4- zDTDxxjZFSJ<@+zE z>ckxzXQ`4e?U<3s-ruX({z);0}+$0*zzeG&2b za{>Z1Hv<1t-1mRue5H1#9qH`TW(E zHTYkx;CJ3%%I>qq@2H}t6(dF5KO4l_=#M6Y#w$7tQPDy?+*N*1Qrf|XL4Wd$4v>gq zuAtE|8^#)pRd1!8GC6%wxx)9vt*oE3Zrmy6?GI3D58B|z<922~7@@zrY)mJBA5@p(M?P>bk4E|+)3Lr6K{Y-gLXmgLNO=MhEv+=B8 zt`StelJTq8>gA;*GdMOgFyuL+D}TB=fR{*!&3aDAX*gEu)XG|7WwyR*$K)pn7WUWP z7g=Tsmvw#jXGS|00)k8Us{{OffbrMH-bBn_2a8MSXez*%FU*9KvMu*@NhCb{MySx}6zG1~1 z|E7T8?I&7Q3doLjE3}R7RiXVh7sKnUsOl*@pjFA*pSQ;``3|7jW9I_CH)PmgAX2(d zD`TaqEb>VyKF2PCMTqpPriKQ2%LaO|rLU(xWrWDdR8?FeSGsJ|)0fYbG9$&2G>X(J z;ZTH6&<}gFthCicW&`Iz{Bp^Vh?vIJ%tSvCceP?DDeA=4ORR z8^)aQi_4cxj5g%S{JK^zO-p3>f@plu6ycLD&6N#j1C=AfN;l3-@rR?5!n!->e#G6U zq~0&MZ>%z~&*Ki2@^cRBX~Pm-*517IX>ldAnj!(!Y1I~qylA+`{n9S)6yqUYU7bmc z2qH}A7!-Oot*RP<-2;Eh�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 Ri*yZx9d&_L*!^L9qY; diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index f566f259ebd9ad276cfcca3c81b5cc8678d60e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6760 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 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 3b066a2c37dec30b46ae792ef4a6195133f002a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8320 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 P5doidu&6oX^ZWk+6nRGS diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 8823abe6678407245585dd0b5518962eec709a05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9782 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..7b480395b59da69c598f39596d490b09b03a396c GIT binary patch literal 1425 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�BB;(5L4Eu75g&c@kyQM<@4jOQm*wRZbz|&vtCjepU!7 zEG+E(AA$-B3M%1)*4VgSrDdFQ%E?mkO`A4~lTSWLmYHo%J@r)9vmM*(HctDXwYj;u z-J%JSo;o`_J7B{}YxL~dQ)p-X@y8zvd>`>&^))rs;m zXbQ`j^O@zWXFFR2@htWzxgaOzVKp7sj;GqbYF)5kJ{<8Tl7U_JeJo?nXO_!)OS05A zUYfbjCl|2}tEoKdv$0L|=+Rxg{r20+iWZC0PCJb`pIOd&i=UMR1+HBekqg4SFiVE_ zE^W+ES9G-AIBM{j<+d*FwS)dABO{|$|4t;(Km$}d`9T6 zV!cHNUHmdQDAd*yi=b>=Tpw=Rf{4p5yHsr5x|QTG=d-oB^`$+I7$=egAg!ri;-ux~ zrgz0!TwoA=XZiAi*IWD!bPiDWc)$LV z2SyimSSvEDCqF-bH|ngNb37>%2;yAwR7d^-Rip3mJWpMzb9298mY0>4HG)@=_QSrd z$mLsu&GA_3YWkjdt;mn#$C+xWbtGR@&!vT6bOCh)vbOgZ%4D|E=kvZqk~+dtgC1J} zIA+gl(5*`8nADQ50vDyFrS(Qs`?0rc?BKXucNxg{wZ@Zm~!I(D0D+WAir z=y%pam)X=w>DKauD}a1tVdQ(`U5Mxj+aEdp2>i|g{1Pv9O5~puBo!hdFGqG*AV8AZ z$8w{LnjFY}6m`HJuZTK1@dI8CTnYB~#e}Q1(`(BPnK}ID8f7_^fXm4r`X=Y)<++hp zAfM&;`+kBD`nn*}#`ZasNgx9M1X<@QncX&i1)YqoxeIw2Fc7EUm$|3V=G@B1k_Nq` zkn`JOuR_K_lvT-`Z1Z1S3V;yM!|g6Q4`#fI@0fL>3}Pq)Wr0i=Lbjet#sb6VSR*ML z2mrM?IXRQ@jy(%O&AXO}!%Im=Q*AZRL6#|$Ny(ONmz>y}NjFdmbVsDv3(M{;M!Klm zfQTlmg_hO8F{1zGf^%>#&WY%>4`ooYxZ^lqS+^#iiWI%D=6CgYTo1$C|KZ0e=2?i) ziXx8*)~PlUhV=-J%{kO{MK3kC&$iVx_ZA=@2qUeheS;etvJRb+qDa%0l}W@Tv6a&Q0iFfLxe5L`c>n+a07*qoM6N<$f@hsR?f?J) literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..d4361b79ce576add632a82cb768f73e22bcfcc47 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^IUvl)3?#R%INArKm;-!5TxDdW?}dD>2XaL`T^vIy n7?T$WNw6+X5b0?OG~i-j3t?ak`Q3LED9_;O>gTe~DWM4ficl6A literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..a58d8026f04030a831fe71a01081fe164a14159c GIT binary patch literal 916 zcmV;F18e+=P)|Z>=J$$byq~(TXp)J?H7h&1^bwVGr&v%`5i}dS#hx>Spf0W7L18a{I zNNZ8ryY=Q-Uahy-UadE49P54VW7YxiX}x(q&z8h`NNMPxOb#DdRlI~0iN>$mY^(pg z?T(kv+U~TW?SS6rJ7(?k7j3uK8Xf&wPdiNOxTO-em?>41Egw;$cjm2OUTEd60^fv3(x2*Xv7QJ*0H> zP%h65tpVOb@BjuLN&=x?lFb2gH_38h-WZ!lLI(G*NEL46F>+!$Jyr6|$x`(jcuzN#)ke z(0)fOq_e1;>s}?CgOq^Zl-n}{D~(H#lJSeu$uUwOokuBU@`$0eMjE8OD533#l!}(h zzm^iUMDS$Tmeq+Z2w&Inz*=$Z_wVIk* zt>!rvi}?t{#(j_Y^97)_Z5V?LWT6x1fne$7S!NOqEf&*WCiaFw4&n`TVMDLi`^!F* za~F9o+U&Fq6NvhO&^Lzt9|2jC5Cxl3O?W7)54kWc7E5k+c1Ch+H<^rIG*aXsex-W` zK4jmj$Rp3Yu!FC{x!G(IZKnZSQXpU9OXi@0{4C)NvnEnNF}`WGwV=#%oC(5BG`P@K zidok{u?yLcX%%Y0(I8x+_IZ%cB^NA% z;t6(9ehxc+kX zd71n;fGBBiruc@;h520x3kwSpoPRO<#)j(iUKy|o9E85P;QZ6JiOZFvxt}v<4jMFQ z5LK^UjdCT=K>c&nra?LC{1O<03}m4LUB_wxpN0dNeVMzvw)3Rq^m*gx3Y02Ul5XF= zO@|I0qEcB3(BU!@D5}chU*ZstK?btWfv$r)64K}m*Ft)6xQT5E`QID@juvjxq)BM) z+O_og^Jl7DsSNLORW?EWjH-I+!s9d?SbocHZ$U-Nk0iX^}$we$)S2kyMpbj0{)BE@DY4+^d zlsHimYRCCLvB4pL+LazpiL6$PK?br;oyW5x`WEqxK{R(B78Hf7G731g6ftTO>%M|ukoClsedj^aeHHtoc z`b0f?bf-kT3Z;t=0nn!2y?dj0A*14M^nxcnjhsR$RRmC^NMX8m?HXOYc#*PX$t?QO zMjyr?qa*-6k<&*95E>eqh&vxS8$gmIiD~iTMc8GiS+i!*{mq*@W zO^+WxrkXWtP@Ot;=;_m^v~AlqjHw6!=fD}}>?g>30KB&@R&|kU*|G(_eEE_#ZQ2B& zjXq@$9KBw*f;oGFw>XYn4Ti`L;2GCaZ zv_$?N#lG|7Q@{h@^Pr=GG*S*ZeR%)xF8KcRr1bUmwX)Ea1p1`J?Av^Ne3Ja`VULJ> zcoq7|Q75F?kBEpE4358g)XNbWxlk@7w69f+M%^Vm9RKz;BO>$W9jOXO{3*UuN%#gA zzAe-QH-_iGe6<+DsWg%m#WT(x59IA4b@=8v7M#G%kzZp>e9c~|1!0H5I3^FD#1pv& zTpayX(@k5dq%zO%P z_{Y@weNi)#L_~y-Wy2qZGlhZ3w(z~r$B2lqaq#IZc{!cD7$&}h)Ya?t7cfJzb5U@P zkcN&-95!K_ebk39&8NG{pIKorl#!MXlwn4r{)z}hg8d&M=RCm{?=-{Nb~^ZgFU_a& zKTmC04UDYe;i3Kb8h(^Xykt01sK86;!Uk-?=HK>tm8$_Kz6?DhwV$6~dA?)~#Fl3; z=+E#;ZZjH<4>(1h0%)TTV~~L?bXYeHY-qMTFJrBFI|QG{k=;8 zXrm8fnv5Pg;#K81arG8-Do73bQ00000 LNkvXXu0mjfCz}M) literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2f3ad80e849e4fe6b0849fc546b34d4ced7e10 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~vgz8CVj9>|sPba4!+ tV0?SfkP*l`r0{$BwxfCpPk?L&h6myc7#OWLdw|q2c)I$ztaD0e0s!8v8x{Zn literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..8b975c4aa8da3da1a98f77e02e9ff5a35f218a73 GIT binary patch literal 1982 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 QmjD0&07*qoM6N<$g8fTgxBvhE literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..04db6b4c21e777430cefb6f230c5fc5d396e3627 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0y~yU~~atMrNQ$s>;)|+nT#gE<@L;xkMt@T-s8EGHbEi z%B73jWY}`aG?(VimdSqed;f{|d_L#%dCob{InVR`o^zh(NpW?tmzPnK0RRB<4rig~ z0RS=Rc9)hE%>>Naw*vrjAP1=Jg&474Ekgo&LNIja_`m3_Nos4GsGev`Xbo8mQEW_aQ`B^V0aVlR0aNG@e1<7*SXE*jP2Xy9cWOx5k*`|(F9Md^$d3Z+}EY}bgDq#F+5J_FnWk*rAcO?U-DShiWEPIBwxw4$T23o3KY zmwK2w|CrnrU31qex+Q_lU8z48?DsmW07YB*n`6oG^c(wAm-0%Euh<-*d@J$gjLbiW z$Y%IB=BScXJZ7!Wcsdk#KD>LveLDFCXW)qN#05IGRqrl0VcC0T^h?YBAx>4Pd(GFvx{Zn%J6~bb?5SHt znFYL9;MXKpye0Dy&BR&UH4Rsyca!N%ZAXMSPSO$c1&`XbzL4q65DDH;axKGS>QDo> z(f=SXKCJsmasRYjG0*#K9LSe|D~b5$GUgEC?2X>qb_DDj@lIWE>^I_g`QZXWnmuNEc9$q;bU0@cQpT z?%yL3uNO>5QSj^ltd>S_L312QBLk)I=Tj;X0oYGOXP}%N+7YM8yLo*WU|?h65&=uG zPUbi%r}bfC!Q(H@st!=H_nYO3w9`rgGkomKRY^wQd_2^AXjiPe^;%3v)UuxT&DRGJ znp77`6w-5eH$u((k)8575HDkA5vNq;GhuEUcR%eVJ^bbqU|I^Bo04FJg*v10Z}-n| z-*Cv`-H~Zt>ubLHF^af=4+?aKvR#ZurbY zu*`+VWK(7`-83yxP?@Az6>~1uvaSPCk}-U0+tEFAWM}G**wR^_H)pOE4=6MU$}tjd zQYTYleG+`Tsa73cSiQpiA@m}M=}EQ>ys=D+^7xoB4v|L`doD}0UaecI2u701p8KQ^ zxM)RDPMpOCJCBY`?jH--^J3p3q=@L3A<$i%aiyEcH>2xzM9}oE$IoUCPC>jG7FDvo ze({3^-MEPA$aN+)Z3Q>ckZr9+Ne(f$-8O)Cg?FM$8&csK^mlier06QUY1gAP{SgvY zoUynb$-S-=Q-pmLnKpT9tExPS7p90#_Jv!1x|T=OS=0x|Y4OZGjzh=}3%DHyT06a& zGuIk9Vf#|=u+%Ka_yb32_HVDidMNq9tE@9& zTZa-H;R~HXU6^z$y z#G*L4lzG$*0YcpaH2?eWJW1-Es8@X^&L=Yfn-WyoBQ)?u{x?blw-TqZ7TT{j2VB!kW-b!-7d;6A z(O+$)L7Yz>U}PRubEenb5>`Q%ZXJdh9JvhKFo^4=HnHXWZS>akL5!ke?y6BSr$~u2 zQ=`Mi^c~zba7o{Z0=X;gjcWIar!nEFZYd{KCK7a#28|o1adL5!m z*FXYXo_S^XK=-JY7)IDzZQ70Eze{v+b~75@f6>_bFR-ci&CZAuGbUw-JPa7Pcz}I* zRYvDY66CY`-rt8pFVNx3FqlQ4*TIx5$a=lH`$sUmy1EzAnQ+a-nXd33z_HRR8TpPK zswIlc_5tvh(zkisx?k^&#(kX`?Nm|_!kGPdI&?oW592BBT7+~{ZsC^7DUqR;AWY*hs!u4CeJqHq;-%8T-pUd z8Yw)($Ci-`&Q^BDmA}3ANe$S?Hf8a`fV?n+sw9@DW#2Z%U4TXjs$POi;K2*7R;IqL zCZ^_1F|+K(9|-ql>Q4+fnbZbX;urTcA-9i>0(3w9oskbG<$uARi^^w>i$VH#NvB+RdzQcNDJUYEHVTBxNB)U8NJA$w~EM#ooR zeCL!wAkUo(72gR)0zPYK4Y_bRdGLs~_Hl({9s=pl6#v#`K9t+>kOf*zh17%XOwOz`0e@DVrK*?T_q zE-IkpnZ?SHH@Ox3RIk|IKPOhJvh1MaHssJ+ovjtcBa!;?RT!HN%@1k#W~&%?E{?!c zRD`i!uB-h-7ar3F22HGPyesUfi4`bS4u3A3t@Sp?2f?U`NODKbOwVLExu+I3XD0F-s5m>Eb1J>aDyhQT z{64Aa9b@|9i)I2geVZ`yPWKV_#Yls1YJuP%?lrlsV>6qopz~^YXMs^~d zXZiYq36!-!QZU|Rpnch-wK4|Uv%j@+TW-?^%l1rsJC(`_SJ*9jbi&e^6|nGlyOVV@ umfMmnCn~3#wG!vz;#K~=g|)~tAF0svqeRcZM&Hn)wBAf>R literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png new file mode 100644 index 0000000000000000000000000000000000000000..38c2d58fb3908dd76b3f154855c0c079228312e5 GIT binary patch literal 5777 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..cb34be6b87249b8e9a8cd9c80db5f95f51b23674 GIT binary patch literal 4611 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..cffd3342f43c597ccfac5def490cefccac7cdd91 GIT binary patch literal 1503 zcma)6do&wX9FCzL4Jy*=JVK+0XKPv|C`qWtJi@5sG~%sYJ&Mpqy(2*c-KDu#Mn%Z0JrxoD$4L8w*CI9U z^6oNeo*#MC8aZJ$c5SL9azd1CMHNooj-0r@K6o(r!J@Bka#UKlU*x{MpXDdk|3)y8a(1ha;Hb5P)GaMPNr>bWg67xS zwtE2NobF-~eLyO&06@{gtKPm>-KVi;XuZ2b8ZI^>k%M>}B+nT}9nNJdY42!EZK@B8 zUfDAy+3Je9&J;oyqVCL^$ALT)uKt`dlJw1&?&0d*_wQTP!fb4Z*21|>2~;-3D0qB8 z??$rEy8Da~OfP6{q0^R})AbcvF~#)R)SQih{Pk;u-J#ru?X<&L*oiP9OI+I??Eg9i zPjt{66{cBGTf}e&V-kaJ-s%KUTXX`}tZPLU|z+=aFGK&E3Eil(Ax3_y*6-l9zBRP2n=KHP0_&~V3ztK zrngRbI9aJZJtU8fjdT-$!tV+^A8L_jpS09$JSf|jkW9??k5-4@LxY{k_TYRdFidA@ zZv^?+=Aw2;!cia1peVp(+SGzw9$29p*wI`N`i?uD?M5hf#h*PEK)kyB7Arb$qFWni zHPaCF?}Y*~_m{C-+2LcosClH%Tk+7~)tBZcDR?h}RKII34BK;c@jOi_i57wCXVzH0 zTDkvcW#h6TNj{99nwo4GX?%Y31^0y+UZNLW~MLhapCfH`2IXi`%WgQ6E8>;k3Oe znf3%Z>F~(9j^3jcBk|=Sl{*`ZH|40Yss_1IG(o2kX6tGm$({3G3>To&9@M_L1@50OJYl)uDRiG^>u616L5zTdR5Us zkl&@Zqm6fe;#chYGio*M!S0$sIM$^T#VngC4$x6^w+%h5R|QirRTh|lJ2;og)w0^p ziM~q-E9vD}fw{1Q1F@1iM*5T^3#BP2{B(>o-07BrLP-HMtVJRE3>-_aEULuGYuL)@ z1>F?{7Q+(7EJdD}e)W%Oc1Fnc^t=$CotP)84BO4WveOq)yO-MNSDwLmZ9;k53mOpin50 sNYsQv9}tPspKLxw{+s*HiQ&IgLb7C+Eg{z;^N&s0$==P5i41t~H#&E?D*ylh literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c96afea8cb2c1d279e3d9be1350a36a7999e29c4 GIT binary patch literal 2685 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c96afea8cb2c1d279e3d9be1350a36a7999e29c4 GIT binary patch literal 2685 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..d4361b79ce576add632a82cb768f73e22bcfcc47 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^IUvl)3?#R%INArKm;-!5TxDdW?}dD>2XaL`T^vIy n7?T$WNw6+X5b0?OG~i-j3t?ak`Q3LED9_;O>gTe~DWM4ficl6A literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..85d8377856af0ed8cf1f9b689aa0603241b2afb2 GIT binary patch literal 922 zcmV;L17-Y)P)@BU{~-5EyXnfjA2S9Ry1awgqflx10V+^X3W74%A*V*jfD5B@F2mA33Ozk{j z!%zijAudTAwEX*oK`X3;LCZDH^|9eO>%5W%E&qjgomdR12E)ySwSR{Z4{0dwuCzH8 zmD`;WW%f%H;A+6>JulTb599tE-n}1#Aw}V!*|7Gn1dHLu^_XgZ;_j?6o9k~jqEc^C z3mXUSp@y~p-Zb@vY~G!L>rsy-C_x8gel0$PWJr;?^VsmMmmVIz?f9YL+bv+5b&zAj zYr&es$A@jXf_Lsl1f(Q9qB=D5NpUWuI!soyW7O_9wvF0d0!wTKINyWaqJTAT>Yp(I zb&%%6t~xZcX^*1>QUESnJ9_^mt41GK1~;sgUI*pqUOoE23f5dIYvBv27>}zC&urKg z*bFzyF+kD6u}2=BH}+`y+_A^3xnqz1Zyu1rvq$v115pWSBQ95_j!!lT<#1y&uK0J{ z3CCaKPks8wgwu7f{uqA>r)&Qnf9ebF+w^p8hE$1x%G5dO|9n44Wq4fC_Y=?E^6kX) zL9o7=ctHgIIPu)A`kg2BTIoXPPM6s*8z#5(;o-x{ej`4Z>{pGdk0$#K)9W2r45=35 zRi|e*?M_5PO2Na5W=;vZYWmdR`B*rMbG`OaBteSA-KtA6oAxUtH$L=C+2m=V&M8wv zE^RQ4AD|x6AF!z|$!yqzC}=P_*S4_cIz&Lq$3v2H_z{+mM7V z%uLx^D28+p*ED!`H4Z^4!<&lCgmrCa;ScF`JPA)v>3h<7z1GwXrfd*uAZ>(0+YG51 z0~DDF>mHp!7^FAwIG)67kV0?)-6-=#`cu?v$8iE~ef>rE{3vg}NT;J|X}Cj?`IXqc z%E1O$@MK{fvSI3mQ}#S^;VBQ#D>4(-J@dmdL~D!S4^uauG8gX9T>rI0#{vKV004vh wt*5c05HbP)0000000000000000000m7b{PUN=2KYPXGV_07*qoM6N<$f-5Mm{Qv*} literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5996657ebe145c2c4feed8f937d6e7a6d11795 GIT binary patch literal 1624 zcmV-e2B-OnP)xeJ9qAFRH znNk1OjMEqw9)qkIX;l(R>Nas zW3$A^Yjxw}W2eN$#qMF8<-Xf|e+Y>7S&V@OwBSj1N3itrEVB_ca>B>F{E!keE-vm5R(3>EY}YjP zE$*(&z7yUf&>`zK%Xq|j8&>d6R~{RyiMDY-mgLAg=rY3z+4xDiGR&GD0w&|VkS&~w zonpiZum6ROwospS0s22f(xWXxF1YH1r!@1EjT>*w3ASOXZc}O#+eaj9YXioc?L<4- zHm7x782`JRu(-Pkc0I{8P5WE6(Rtj9QmH4E8zF3f6Y4R^Mz1f04&uHs7~~Dd&3G@$ zHrZ^p7M~9#;Sn!W5Ic|})n;-xWLwz2Gf`1dVY1C1&AwXGN!+^|SOs=Msqe7)&O$*RNGR2aJIRwBP}+i@AWiZ3kvww%uD)p3EFR zPhDMsLWK&_l`B_h*REYu=*NF)caag4QfBsNv5Ut*16uHa*Tss2FnY?l@QuE?Im!|b z)CYm9iJP39L`#=0r8jThQ0Y>osO9f9=ur8^pGDK(s)7cz-~q482`!SjnOsu6g#**m z8vo_Wm8F+2U()K;tLdA}*=bU-v9!L@Y8mLm7-&EXp0w@@aA1yn#206LZGT!F$eukL z9XN1+E?>S(g$oy=l0TQH=@nPg+$x&^w9!Y!iWQ}6*RFyVJZW_Rd2mQiV)^OntdR=T zqD6Ch@!|zdo;;Zn6OyPI$NR_{y8vodcsM1*$72jMpf$8JtEzfFJUl$o;XrhBbS#I^ zEh7%($dR4So;}Mme2u>Q?pyl#n>^I6>J|WP`r(J~F$NmY8gT#>>2^d!M3Tb+tJRv3 z2Ob#R0|pHmM6X}JrVbt2Qv$C-;rx97w5fCF&PZO+m~l3G$djH;4x!9uIFKh#ZaRPd zJe@pwl79U02fZI{^kED%rZ~Vm@;43#A|oRcxbwDA2a=K!Y4+?{s4`TqUOh*D{rdIL zhcVEg&u9qU;T*{5Z~zIx4j4*e9r^R;Lm1JPEn6r{(ed)WNJQG)C0PjPYTW3yJFOP4Mvn*d6v8P5dzF8m}cEbLD`dgSAD2-Va(D4V*2F5ednXmMb z60?6cARr*=OAq$&D1cX?o9y-1H2W5dr8jJZtVJES4}UmRLP1GvkrpNE1aaTA=bTtZO9;OfdejGU_i`ev|25T zATYf?aQt`XEtvUCupxD!<0PpWNft}=P!{}3S7w$YAIs7-?Ult6H4Hk98ZU>FA4B6a zNL58qPGE*)<$A)oVl;SU!yyy0Sx0r~5<0!j{LBi0k&NuTq4ZN#<&1DdhCP*#W1b+3 zD@}ivokQsG6FN=5e8sZb7(YcvM|R_5_+B>R5yO>41s;JHG9U{woz!_#FHfN)kfAWL z1_cEb=R;OclsubFIl?>nSyfeUa){gm&_*A|Km%IvFmE;?1G0SG_0I$phY3TH5MsW* zzQ6FHD|c|Pe<1*E^kGcUD1yh=)PE!ltccGy-+Y6(1@zSkW`qK0OS9~UCn>XjC-@Kk W#l+amE&s{@0000xeJ9qAFRH znNk1OjMEqw9)qkIX;l(R>Nas zW3$A^Yjxw}W2eN$#qMF8<-Xf|e+Y>7S&V@OwBSj1N3itrEVB_ca>B>F{E!keE-vm5R(3>EY}YjP zE$*(&z7yUf&>`zK%Xq|j8&>d6R~{RyiMDY-mgLAg=rY3z+4xDiGR&GD0w&|VkS&~w zonpiZum6ROwospS0s22f(xWXxF1YH1r!@1EjT>*w3ASOXZc}O#+eaj9YXioc?L<4- zHm7x782`JRu(-Pkc0I{8P5WE6(Rtj9QmH4E8zF3f6Y4R^Mz1f04&uHs7~~Dd&3G@$ zHrZ^p7M~9#;Sn!W5Ic|})n;-xWLwz2Gf`1dVY1C1&AwXGN!+^|SOs=Msqe7)&O$*RNGR2aJIRwBP}+i@AWiZ3kvww%uD)p3EFR zPhDMsLWK&_l`B_h*REYu=*NF)caag4QfBsNv5Ut*16uHa*Tss2FnY?l@QuE?Im!|b z)CYm9iJP39L`#=0r8jThQ0Y>osO9f9=ur8^pGDK(s)7cz-~q482`!SjnOsu6g#**m z8vo_Wm8F+2U()K;tLdA}*=bU-v9!L@Y8mLm7-&EXp0w@@aA1yn#206LZGT!F$eukL z9XN1+E?>S(g$oy=l0TQH=@nPg+$x&^w9!Y!iWQ}6*RFyVJZW_Rd2mQiV)^OntdR=T zqD6Ch@!|zdo;;Zn6OyPI$NR_{y8vodcsM1*$72jMpf$8JtEzfFJUl$o;XrhBbS#I^ zEh7%($dR4So;}Mme2u>Q?pyl#n>^I6>J|WP`r(J~F$NmY8gT#>>2^d!M3Tb+tJRv3 z2Ob#R0|pHmM6X}JrVbt2Qv$C-;rx97w5fCF&PZO+m~l3G$djH;4x!9uIFKh#ZaRPd zJe@pwl79U02fZI{^kED%rZ~Vm@;43#A|oRcxbwDA2a=K!Y4+?{s4`TqUOh*D{rdIL zhcVEg&u9qU;T*{5Z~zIx4j4*e9r^R;Lm1JPEn6r{(ed)WNJQG)C0PjPYTW3yJFOP4Mvn*d6v8P5dzF8m}cEbLD`dgSAD2-Va(D4V*2F5ednXmMb z60?6cARr*=OAq$&D1cX?o9y-1H2W5dr8jJZtVJES4}UmRLP1GvkrpNE1aaTA=bTtZO9;OfdejGU_i`ev|25T zATYf?aQt`XEtvUCupxD!<0PpWNft}=P!{}3S7w$YAIs7-?Ult6H4Hk98ZU>FA4B6a zNL58qPGE*)<$A)oVl;SU!yyy0Sx0r~5<0!j{LBi0k&NuTq4ZN#<&1DdhCP*#W1b+3 zD@}ivokQsG6FN=5e8sZb7(YcvM|R_5_+B>R5yO>41s;JHG9U{woz!_#FHfN)kfAWL z1_cEb=R;OclsubFIl?>nSyfeUa){gm&_*A|Km%IvFmE;?1G0SG_0I$phY3TH5MsW* zzQ6FHD|c|Pe<1*E^kGcUD1yh=)PE!ltccGy-+Y6(1@zSkW`qK0OS9~UCn>XjC-@Kk W#l+amE&s{@0000Lag~vgz8CVj9>|sPba4!+ sh7-A`}HJf@KK-357wS1P4JtB1%9uts+}k z6=jh{DhAnyC0HYgZGp%hkPsmRuw|1h^QHdlnVCOx&$;)$?>*1EJ$K7E>v>WMsfz@G zKuT_>@ZP}8k#&STFlHDZSpk9Ib8dLt`FOCP7Yzo15OOBF4^KpjK$Bkqi2uKpCu|DA zcF&^}=eM!6VGg}DYGROsYKWR>jSBh48S7HMiOz&;^=?PX6!u9(x2EGXdGx|YUG~kX zTdPE~@XRSlw#oQ--E<^%O7cb*_tPw9MJpV+!@@{+9u^@I_GuqTb+bdMU%WQ5%V>DD zBz}GHoloG~Av$)l{WEk68`-%yStpz?LGc()&Lt^wW)-G+cS@;F5@tQ2TB+J)(E)Gl zKAxoE_lvL({?K21S0&~9b`|mCEI~Sll$*q3(?^wui|)R_EM7|+GxBE^=FMU{6lfpA z711d?N@0Ehh_+w{f)vgOf86AJ)i`CIe2p&8dtkX$+7{gq71p5(;R?jf5bPc{geYOc zFor@`i%CIG2-WHIc*=OwQ!xpOoJbM2b7IF1l9ZB;##%d1Io@c|b)vKw;rvsMPb#Vq zB?1_xJp@fgPD)Xh{IvnM9fL0aZ`oXT$NP=vyBPY{76PEVmVRY&xb3n=7~3z)!FUkq zqi4#!)Xz1`=~5kH=FH&NN0~W6j9HAzjg7;kE3Vf2I4X_k+Q?zii;|oma~I>1!ps7R zN4&BcwV5)a#R!3skFn(-h2tM5lAhZq*=i>*biqRoRQLEjY?{`CaO-&mDB2}EHDW#C zh1;>@o5QaDa;Y9dkxQueqS2Ki_6}oZkG+(C2DHDRE^Z_lu{dECC*jJ+t0G7NSsU!V zHxg7sV0BSe{a5+d(?b!V9uLdD%U=2v%i~))?v6kGc`U)Pgp{@NDOL}WhN;}v#ZJVa z`+a*Os(3nZnvI>jy6))4*qhr|#ZeP^4c$8~P-cKYTsul&b(X~_uD()NpA$2J4akEP z7BZ{4re zUcQ;u^$~6QDK58yb$uk{sr1FX<-+n0j9~O2gNt+S-HVNxR7CqU;iC~+IMVTpIOnnr z{jM={hm#^r$rHp$>kE-2eD4#7^i`+=Y<2k7Fhn0IgXg8O%3EMl#uX}wIe$#A+8kQx z46M4^19!doZv8|_oW=68Q>x<7XNz2L7-~&fea3k795UH=p2dkXt7PmHGp;( z4VJ5!_9rfdAjqw=8bF-~?hWc7Xm9PHa|t!9ZTDv7Er^*`Z(|#Z|uL0bah7H{s zR@XYax3>D-ninsbJdA2A9<|C zy8oQ@*7gZ=?FzWHY3xpZD$NF6Ny(>m-8kLV9FX$H+p&xX!1Aeon<970;?CT@W`r}Qs@fYtPwk~ zw~IOP0NJcc?NI};7)W(lJQAN5@oDW4naGFL{9aFp`=tS(*joUtsqSn>VZY{R5|@a* z9&)+C@X7mgxcIz7@$^PYw{J4U5a4#HR@?-^wuQrLoZUY-lVF?aI+nfxS_AFuj4Jpe zWRlv=9Pz*pJ;*RmMg-r(DdZHaC>TQa;d&ql^@L4r*8cJq@S^jf=o6zjlANv+Cu0;z}nfZ z>r?V70GL;{k_ls5^q1!KlpahQ7G+9_?|p&%S(P1=AcaXe8eKf_T$6czCH!!@r*uN0Uu CC#^65 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..df88da0c76ca7462cd8fe61798f851c7db5cfea2 GIT binary patch literal 3800 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 O0000;>|`lz^dzL{vnS7NiJD zyELWu5*vbmASFRWFa{AZ5KvyY_kFy-=lgqSj6Kdcd#p9*nrrO2&Q3mUV=gHsCk6lj zBrPqlb^rh$c4vtIc{}b)=Dh%b#3xHE+JV5w>Z%rvHIV?cJ0>jLrAOVfn?e=K9Q?wb z?Oo=@{{KGtW%Wjz5r*9L2s8He>6@R^5?vz!HR_YU^jg_p^l+2)LHbuFrg-lsTdrvAjN3NSbS=;GJ1t*?-nc37zFS20(xN*;ZFct)0hAsDea!QZ;C@o0@yM>s<+w0d=2 zv;>VvTxui~$& zD5hLBhL;!2yCqc%3^^Fo6)2_lby1*WBNxM;FHJnrwL`4^aZ}!-nI!kT=X>02t_dNg z_tL8(&fJTULWOz4^6p$L(0R!u4UtsLJO-r~_-Oth-9GPBVm&V%KG9s=Y;!*+g#NiU zT%D-~UYv|zI8Sxdxza(%diaJ?GloXHURhyTu3h?d3Rl@F%0UuR3E6xJuV z$NUy%KRp7#8p0V9F}?1Ncg2j;9k98Od)wPS;S=&=$;_P8Y5~gu=6(kvOdo9B69%fs z&_h^4$<8hfrkaB?Z@R>Oga zwSF}7<@@dC%TFqDzKuq^9L*M9&^W=>uHs;p&kQl~@ za|nV^x#6lY&%!-FvV}_ELV}?Tz37=NlHnZt*ezcqh}U>K0zX_)DgG{%2-}5#h4S-i z4r2+6lJVnB@4lXBX^;vY>EmlbuaWq^Uy3m22wh+PCPvX5B19f$XuyHt{ve;v>t!a-_vwL#ykP-+K^%e123AA;R z<`tBjbz zIEA6ZEgqb@+$X*Q7K$Xw`NAV93EeA5#FevM=hZ2NdB`Xbm(4*chWm9H;~eBGDy%-e5o#EU)JVuxUS1e z$X?4qwr6iC0TTTlbVlLQmia>|PnB8&sdr~~GWJqpOz8Y9QOj>GjM~sDc@W#_bYa$g zcIloF8AVafr1)yS&yn;*mfFriR+~HTO}!n27aKA-qcfAaLvLT0d+5p=wRoTH?HEH(oIp@-pleH zN>-f!vF%rGlUJ&yB}aMp0GG-7&N{M3&}99wqsK#m9aT#k)4BEovW8)VZyd8bBa`Uc zOCguMPVPy?felN6DjqIg$D0M~L^7fWxb6M2;CpiZ$QwP!?wQ#XP_P2AN5Qn z>ydlUCdt>F>CH`S_|X@p8m}6Z6~4^3x1xn=PBCOk7uyF%KJpuB)%W^E@tM zV{YygDAuc7+@KA14ZG-dd~f2dl#umi30m#mXnNMH%qOPlEK=zgXZak+R!}SH&5L9_ zxx+2VW&(kOZf{0lZTnFt11`K5ik2iN{YfSqm^<`CZbzP~^H;(?H`8jNeZw;FNO>dn z3Qa3XjfQ~s-8mZ~oUL8brLWaWT2ABXNGTQw_Gu1i-nY+lKCN;#n1)b*W2LPn)7!_f z{S_wGOvA-;?c%Qe5MFz1HByjTKh#~In!Bug+1DCj7#?a(surlu7eFGy zTB)gp4~SMP11u~LP#wis_(;(lD1EQruA!D7c1HwlC&czQfxA4%-$p60*~1h5Aqr{l#gus8&-p7r45A=fi=rstI~@M1FxLqi_ZXF7o+$%mh1i|}a z!F&lKC@esMUj$;31o$so|3m2S0scGccesBCuv_Ifh5QcKe>4Tr+t=Y KHrNV`2k~FQkEZ1S literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c5832ad592ab73463ad4f62b895ae0434a369a GIT binary patch literal 5831 zcmV;&7C7mNP)?cksuHy6?H4aX&j*k+87JCnyz7$V?K(m>MFkOzcS<2>_QM z!ac+b#0SK8#P7u4M3ZPUP5#>N{4*c$@7y!-H}FXQn=89(5MCBBu9ApJMH8@->^(99 z=ODu4#Fs?7pYSyv1Aw#LwcQxlg=FL}CJio6B3x-185!Ax1amqfKEsaD?m`p5{>}X3 za9?9ulcDM8{2u=e=~!8QcVls5a$|F2B)kry%;gm7HW2`e~#j`r~De<%jNFg2#-)9^&mor5YC1GaF+!= zTp=d&;<()9g76$NM;hH-$49gWBjS&8CB^TD23eY2E?iDHPwGZ8GJVeKi1d(Z710NaZhfr8kl!S%Bc&SD;L>tt!7ydq)?b>dkZ z5x!RO4BUyn0Z5i1`dZHVSGM@f4kCQ2;>k-y>1SmuXW>NI8l49bUsdtsDwM6^ z6ifWz|D`%SuHq?-6Fr59vk-;eZ1g+t5#bsYPtlyn+$hB37xw5W030XwdD{7-@X1Xl zqElHsVL>+v)9vI2S7DN(dcD3I!E;uCRTxDmHVVHj?g21;?7>a-cX1pqOz_+l zrth&2mgT{yma_U|ES}u^p@_wERB8Gi`Z$ia?57I_4gk2ha*r#Ne|SZ9cYj=n-NzWSvThny zxfe3dh1QcU)a#Yk`Birxb)nv`$O6JgoDZtM@1y%d#+V;!wK*5;<+-7Vd!GZ;eJamC zu9;4fSm8!-mc#e1I>SU+@vWI(uW0 zc)T%9UgqxjKR1AgSDmMwJ$$|Y{`++J@L?P6-@l(8ee_X^hzPgw6ivLBR-d+@R|z&W zd$0{3;ET>T`0C`zG{V?CZ2@uXR`_Bh`f~XC%h{9X4?p}s_mM!q{`xCrWTe}8=8n3G zmY%+-R|z&Wd$0{3gkSL0$&+c!$C~~9{evA1V9 zcqSwap}H9_QS%wE_69*WY}o8wcG+dZANUAg@!pw9>j|CKoiGL={0_yVR;a$x)6=M- zp!dM>=HX3pMv)wAAi@}2jQEO|9_+S6oXP@c#E*O|i<-B6lX207b1YOYC z&IW7>Kj0gDw8m%y<@|9w0|Nv5ne9xA>Whzm6j-VA92prw&p-b>9XxnY_u;l}+eRZt zjSmAB8qMqa|3;m_X&NO_i0xMvd{rtHoZfJ45lSZ zmI(Xs$%4aG^n+@U2RU*VbsvzQpI<0fU@NRRJU#pDvuW$rtzs3r
Pd;{YL&}*4* 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
Pd;{YL&}*4* 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png new file mode 100644 index 0000000000000000000000000000000000000000..1185ff2d8bfdae27c7dae650f37a239fd313e327 GIT binary patch literal 4813 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..af56c5bb929e43fbdf00bffaacb244fef55ed651 GIT binary patch literal 8371 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 JPDHLkV1h_T{4M|h literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..af56c5bb929e43fbdf00bffaacb244fef55ed651 GIT binary patch literal 8371 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 JPDHLkV1h_T{4M|h literal 0 HcmV?d00001 From 328c9b6bbe28d03aee066d010920f59d4469bbfd Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 28 Sep 2025 11:30:51 +0000 Subject: [PATCH 16/63] chore: Release v5.42.0-dev.5 [skip ci] # [5.42.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.4...v5.42.0-dev.5) (2025-09-28) ### Features * **YouTube Music:** Add `Custom branding` patch ([#6007](https://github.com/ReVanced/revanced-patches/issues/6007)) ([4c8b56f](https://github.com/ReVanced/revanced-patches/commit/4c8b56f5466b244737f501654eb7c5d34b6b2f88)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92c6663957..e135c755d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.4...v5.42.0-dev.5) (2025-09-28) + + +### Features + +* **YouTube Music:** Add `Custom branding` patch ([#6007](https://github.com/ReVanced/revanced-patches/issues/6007)) ([4c8b56f](https://github.com/ReVanced/revanced-patches/commit/4c8b56f5466b244737f501654eb7c5d34b6b2f88)) + # [5.42.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.3...v5.42.0-dev.4) (2025-09-28) diff --git a/gradle.properties b/gradle.properties index bcc02b5d0c..dece1c8a86 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.4 +version = 5.42.0-dev.5 From 6961babee9fb8445d42bc547fbfc7407328038e6 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 30 Sep 2025 12:11:06 +0400 Subject: [PATCH 17/63] refactor(YouTube - Check watch history domain name resolution): Do not show redundant dialog cancel button --- ...WatchHistoryDomainNameResolutionPatch.java | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java index ff2c55ade7..23321c0e59 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java @@ -46,7 +46,7 @@ public class CheckWatchHistoryDomainNameResolutionPatch { /** * Injection point. * - * Checks if s.youtube.com is blacklisted and playback history will fail to work. + * Checks if YouTube watch history endpoint cannot be reached. */ public static void checkDnsResolver(Activity context) { if (!Utils.isNetworkConnected() || !BaseSettings.CHECK_WATCH_HISTORY_DOMAIN_NAME.get()) return; @@ -67,28 +67,20 @@ public class CheckWatchHistoryDomainNameResolutionPatch { } Utils.runOnMainThread(() -> { - try { - // Create the custom dialog. - Pair dialogPair = CustomDialog.create( - context, - str("revanced_check_watch_history_domain_name_dialog_title"), // Title. - Html.fromHtml(str("revanced_check_watch_history_domain_name_dialog_message")), // Message (HTML). - null, // No EditText. - null, // OK button text. - () -> {}, // OK button action (just dismiss). - () -> {}, // Cancel button action (just dismiss). - str("revanced_check_watch_history_domain_name_dialog_ignore"), // Neutral button text. - () -> BaseSettings.CHECK_WATCH_HISTORY_DOMAIN_NAME.save(false), // Neutral button action (Ignore). - true // Dismiss dialog on Neutral button click. - ); + Pair dialogPair = CustomDialog.create( + context, + str("revanced_check_watch_history_domain_name_dialog_title"), // Title. + Html.fromHtml(str("revanced_check_watch_history_domain_name_dialog_message")), // Message (HTML). + null, // No EditText. + null, // OK button text. + () -> {}, // OK button action (just dismiss). + null, // No cancel button. + str("revanced_check_watch_history_domain_name_dialog_ignore"), // Neutral button text. + () -> BaseSettings.CHECK_WATCH_HISTORY_DOMAIN_NAME.save(false), // Neutral button action (Ignore). + true // Dismiss dialog on Neutral button click. + ); - // Show the dialog. - Dialog dialog = dialogPair.first; - - Utils.showDialog(context, dialog, false, null); - } catch (Exception ex) { - Logger.printException(() -> "checkDnsResolver dialog creation failure", ex); - } + Utils.showDialog(context, dialogPair.first, false, null); }); } catch (Exception ex) { Logger.printException(() -> "checkDnsResolver failure", ex); From 5f1a485e8f09aa4ca8f79410a2a57f47fec9a2a9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 00:06:22 +0400 Subject: [PATCH 18/63] chore: Sync translations (#6034) --- .../addresources/values-az-rAZ/strings.xml | 6 +- .../addresources/values-ja-rJP/strings.xml | 140 +++++++++--------- .../addresources/values-ko-rKR/strings.xml | 6 +- .../addresources/values-vi-rVN/strings.xml | 4 +- 4 files changed, 78 insertions(+), 78 deletions(-) diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 3758c3b0b8..e3cd54cb04 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -65,9 +65,9 @@ Second \"item\" text"
• Valideyn tənzimləmələri qapadılan uşaq tənzimləmələrin üstündə görünür"
Axtarış tarixçəsi boşdur Axtarış tarixçəsini saxlamaq üçün axtarış sorğusu yazın və Daxil Et basın - Axtarış tarixçəsi tənzimləməsin göstər - Axtarış tarixçəsi tənzimləməsi göstərilir - Axtarış tarixçəsi tənzimləməsi göstərilmir + Tənzimləmə axtarış tarixçəsin göstər + Tənzimləmə axtarış tarixçəsi göstərilir + Tənzimləmə axtarış tarixçəsi görünmür ReVanced tənzimləmə nişanların göstər Tənzimləmə nişanları göstərilir Tənzimləmə nişanları göstərilmir diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index ac5ace6cf6..f82b7332c4 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -69,8 +69,8 @@ Second \"item\" text"
設定の検索履歴は表示されます 設定の検索履歴は表示されません ReVanced の設定にアイコンを表示 - ReVanced の設定にアイコンが表示されます - ReVanced の設定にアイコンは表示されません + ReVanced の設定メニューにはアイコンが表示されます + ReVanced の設定メニューにはアイコンは表示されません ReVanced 設定の言語 "一部の言語の翻訳が欠落しているまたは不完全である可能性があります。 @@ -94,7 +94,7 @@ Second \"item\" text" 操作が必要です "GmsCore はバックグラウンドで実行する権限がありません。 -お使いのデバイスの「Don't kill my app!」ガイドに従い、GmsCore のインストール手順を適用してください。 +お使いのデバイスの「Don't kill my app!」ガイドに従い、GmsCore に対するデバイスの設定を変更してください。 これはアプリが正常に動作するために必要です。" ウェブサイトを開く @@ -107,7 +107,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
動画ストリームを偽装 - 動画再生の失敗を回避するために、クライアントの動画ストリームを偽装します + 動画の再生に失敗しないために、クライアントの動画ストリームを偽装します 動画ストリームを偽装 動画再生の失敗を回避するために、クライアントの動画ストリームを偽装します 動画ストリームを偽装 @@ -122,33 +122,33 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が デバッグ - デバッグオプションを有効または無効にします + デバッグ オプションを有効または無効にします デバッグログを有効化 デバッグログは有効です デバッグログは無効です - スタック トレースをログに記録 - デバッグログにスタック トレースが含まれます - デバッグログにスタック トレースは含まれません + スタック トレースをログに保存 + デバッグログにはスタック トレースが含まれます + デバッグログにはスタック トレースは含まれません ReVanced のエラー時にトーストを表示 - エラーが発生した場合にトーストが表示されます - エラーが発生してもトーストは表示されません - "エラートーストをオフにすると、ReVanced のすべてのエラー通知が非表示になります。 + エラーが発生した場合にトースト通知が表示されます + エラーが発生した場合にトースト通知は表示されません + "エラーのトースト通知をオフにすると、ReVanced のすべてのエラー通知が表示されなくなります。 予期しないイベントが発生した場合でも通知されなくなります。" デバッグログのエクスポート ReVanced のデバッグログをクリップボードにコピーします - デバッグログは無効です + デバッグログが無効になっています ログが見つかりませんでした ログをコピーしました ログのエクスポートに失敗しました: %s デバッグログを消去 - 保存されているすべての ReVanced デバッグログを消去します + 保存されている ReVanced のすべてのデバッグログを消去します ログを消去しました 共有リンクを無害化 - トラッキング クエリ パラメータが共有リンクから削除されます - トラッキング クエリ パラメータは共有リンクから削除されません + 共有リンクから追跡パラメータが削除されます + 共有リンクから追跡パラメータは削除されません 共有リンクを youtube.com に変更 共有リンクには youtube.com が使用されます 共有リンクには music.youtube.com が使用されます @@ -168,8 +168,8 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が その他 動画 古い設定メニューを復元 - 旧バージョンの設定メニューが表示されます - 旧バージョンの設定メニューは表示されません + 古いスタイルの設定メニューが表示されます + 新しいスタイルの設定メニューが表示されます ショートのバックグラウンド再生を無効化 @@ -177,9 +177,9 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が ショート動画のバックグラウンド再生は有効です - プロトコルバッファを記録 - デバッグログに protocol buffer が含まれます - デバッグログに protocol buffer は含まれません + protocol buffer をログに保存 + デバッグログには protocol buffer が含まれます + デバッグログには protocol buffer は含まれません "この設定を有効にすると、一部の UI コンポーネントの画面上のテキストを含む、追加のレイアウトデータがログに記録されます。 これは、カスタムフィルターを作成する際にコンポーネントを識別するのに役立ちます。 @@ -670,7 +670,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 購入ボタンは表示されません 購入ボタンは表示されます - 「保存」を非表示にする + 保存ボタンを非表示 「保存」ボタンは表示されません 「保存」ボタンは表示されます @@ -708,16 +708,16 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が ボタンをアイコンのみで表示 ナビゲーション ボタンはアイコンのみで表示されます ナビゲーション ボタンはアイコンと文字で表示されます - ステータスバーの半透明化を無効化 + 半透明ステータスバーを無効化 ステータスバーは常に透けません ステータスバーは状況に応じて透けます 一部のデバイスでは、この機能を有効にすると、システムのナビゲーション バーが半透明になりアプリ内のコンポーネントに重なってしまう可能性があります。 - ライトモード時のナビゲーション バーの半透明化を無効にする - ライトモード時にナビゲーション バーは透けません - ライトモード時にナビゲーション バーが状況に応じて透けます - ダークモード時のナビゲーション バーの半透明化を無効にする - ダークモード時にナビゲーション バーは透けません - ダークモード時にナビゲーション バーは状況に応じて透けます + ライトモード時の半透明バーを無効化 + ライトモード時にはナビゲーション バーは透けません + ライトモード時にはナビゲーション バーが状況に応じて透けます + ダークモード時の半透明バーを無効化 + ダークモード時にはナビゲーション バーは透けません + ダークモード時にはナビゲーション バーが状況に応じて透けます
フライアウト メニュー @@ -833,18 +833,18 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が ショート プレーヤーのコンポーネントを表示または非表示にします ホームフィードでショートを非表示 - ショート動画はホームフィードおよび関連動画に表示されません - ショート動画はホームフィードおよび関連動画に表示されます + ホームフィードおよび関連動画にはショート動画は表示されません + ホームフィードおよび関連動画にはショート動画が表示されます 検索結果でショートを非表示 - ショート動画は検索結果に表示されません - ショート動画は検索結果に表示されます + 検索結果にはショート動画は表示されません + 検索結果にはショート動画が表示されます 登録チャンネル フィードでショートを非表示 - ショート動画は登録チャンネル フィードに表示されません - ショート動画は登録チャンネル フィードに表示されます + 登録チャンネル フィードにはショート動画は表示されません + 登録チャンネル フィードにはショート動画が表示されます 再生履歴でショートを非表示 - ショート動画は再生履歴に表示されません - ショート動画は再生履歴に表示されます + 再生履歴にはショート動画は表示されません + 再生履歴にはショート動画が表示されます 「Super Thanks を購入する」ボタンを非表示 「Super Thanks を購入する」ボタンは表示されません 「Super Thanks を購入する」ボタンは表示されます @@ -1047,7 +1047,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が シークバー サムネイルは、再生中の動画と同じ画質になります。 この機能は、非常に高速なインターネット接続を使用して 720P 以下の画質で動画を視聴する場合に最適です。" - 古いスタイルのシークバー サムネイルを復元 + 古いシークバー サムネイルを復元 シーク中のサムネイルはシークバーの上に表示されます シーク中のサムネイルはプレーヤー画面全体に表示されます @@ -1287,7 +1287,7 @@ Automotive レイアウト 再び偽装を無効にする場合には、UI のバグを防ぐためにアプリデータを消去することをお勧めします。" アプリバージョンの偽装先 - 20.13.41 - アクション ボタンの文字表示を復元 + 20.13.41 - アクション ボタンの文字の常時表示を復元 20.05.46 - 文字起こし機能を復元 19.35.36 - 古いショート プレーヤーのアイコンを復元 19.01.34 - 古いナビゲーション アイコンを復元 @@ -1415,11 +1415,11 @@ Automotive レイアウト カスタム
- 画像表示の地域制限を回避する + 画像表示の地域制限を回避 yt4.ggpht.com から画像を取得します "オリジナルの画像ホストから画像を取得します -この機能を有効にすると、一部の地域でブロックされている画像が表示される可能性があります" +この機能を有効にすると、一部の地域でブロックされている画像が表示されるようになる可能性があります" @@ -1456,10 +1456,10 @@ Automotive レイアウト DeArrow は一時的に利用できません - ReVanced のお知らせを表示する - お知らせは、アプリ起動時に表示されます - お知らせは、アプリ起動時に表示されません - アプリ起動時にお知らせを表示する + ReVanced のお知らせを表示 + アプリの起動時にお知らせが表示されます + アプリの起動時にお知らせは表示されません + アプリの起動時にお知らせを表示します お知らせの取得に失敗しました 閉じる @@ -1489,16 +1489,16 @@ Automotive レイアウト 触覚フィードバック 触覚フィードバックの設定を変更します - チャプターの触覚フィードバックを無効にする + チャプターの触覚フィードバックを無効化 チャプターの触覚フィードバックは無効です チャプターの触覚フィードバックは有効です 精密シークの触覚フィードバックを無効化 精密シークの触覚フィードバックは無効です 精密シークの触覚フィードバックは有効です - シーク取り消しの触覚フィードバックを無効にする + シーク取り消しの触覚フィードバックを無効化 シーク取り消しの触覚フィードバックは無効です シーク取り消しの触覚フィードバックは有効です - ズームの触覚フィードバックを無効にする + ズームの触覚フィードバックを無効化 ズームの触覚フィードバックは無効です ズームの触覚フィードバックは有効です @@ -1506,8 +1506,8 @@ Automotive レイアウト 最近アカウントのログイン情報を変更した場合は、MicroG をアンインストールして再インストールしてください。
- URL リダイレクトを回避する - YouTube の URL リダイレクトを経由せずにリンクへ移動します + URL リダイレクトを回避 + YouTube の URL リダイレクトを経由せずにリンク先へ移動します YouTube の URL リダイレクトを経由してリンク先へ移動します @@ -1525,23 +1525,23 @@ Automotive レイアウト 自動 - 画質の変更を保存する + 画質の変更を保存 画質の変更はすべての動画に適用されます 画質の変更は現在の動画にのみ適用されます 画質の変更時にトーストを表示 - デフォルトの画質が変更されたとき、トーストが表示されます - デフォルトの画質が変更されたとき、トーストは表示されません + デフォルトの画質が変更された場合にトースト通知が表示されます + デフォルトの画質が変更された場合にトースト通知は表示されません デフォルトの画質(Wi-Fi) デフォルトの画質(携帯回線) - ショートの画質の変更を保存する + ショートの画質の変更を保存 画質の変更はすべてのショート動画に適用されます 画質の変更は現在のショート動画にのみ適用されます デフォルトのショートの画質(Wi-Fi) デフォルトのショートの画質(携帯回線) 携帯回線 Wi-Fi - デフォルトの画質 (%1$s): %2$s - ショートの画質 (%1$s): %2$s + デフォルトの画質の変更 (%1$s): %2$s + ショートの画質の変更 (%1$s): %2$s 再生速度設定ボタンを表示 @@ -1561,25 +1561,25 @@ Automotive レイアウト 古いスタイルの再生速度メニューが表示されます 新しいスタイルの再生速度メニューが表示されます カスタム再生速度リスト - カスタム再生速度を追加または変更します - 再生速度は %s 未満である必要があります - カスタム再生速度が無効です + カスタム再生速度リストを編集します + 再生速度は %s 未満でなければなりません + カスタム再生速度リストの値が無効です 自動 長押し倍速再生の速度 再生速度の範囲は 0-8 で、0 および 8 は含まれません - 再生速度の変更を保存する + 再生速度の変更を保存 再生速度の変更はすべての動画に適用されます 再生速度の変更は現在の動画にのみ適用されます 再生速度の変更時にトーストを表示 - デフォルトの再生速度が変更されたとき、トーストが表示されます - デフォルトの再生速度が変更されたとき、トーストは表示されません + デフォルトの再生速度が変更されたときにトースト通知が表示されます + デフォルトの再生速度が変更されたときにトースト通知は表示されません デフォルトの再生速度 - デフォルトの再生速度: %s + デフォルトの再生速度の変更: %s - HDR 動画を無効にする + HDR 動画を無効化 HDR 動画は無効です HDR 動画は有効です AVC (H.264) を強制的に使用 @@ -1615,9 +1615,9 @@ Automotive レイアウト • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある •「オリジナルの音声を強制的に使用」が利用できない - 統計情報に表示する - 統計情報に現在のクライアントが表示されます - 統計情報に現在のクライアントは表示されません + 統計情報にクライアントを表示 + 統計情報には現在のクライアントが表示されます + 統計情報には現在のクライアントは表示されません 音声ストリームの言語 特定の音声言語を選択するには、「オリジナルの音声を強制的に使用」を無効にしてください @@ -1640,7 +1640,7 @@ Automotive レイアウト 常時リピートを有効化 常時リピートは有効です\n\nリピート設定が保存され常時適用されます - 常時リピートは無効です\n\nリピート設定は保存されずリセットされます + 常時リピートは無効です\n\nリピート設定は保存されず毎回リセットされます キャストボタンを非表示 @@ -1714,10 +1714,10 @@ Automotive レイアウト メッセージを削除しました - 削除されたメッセージを表示 + 削除されたメッセージの表示方法 削除されたメッセージを表示しない - スポイラーの後ろに削除されたメッセージを非表示にする - クロスアウトテキストとして削除されたメッセージを表示 + 削除されたメッセージをスポイラー表示で隠して表示する + 削除されたメッセージを取り消し線つきで表示する チャンネルポイントを自動的に獲得する diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 3d8c8f7402..82f77fae7c 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -1067,12 +1067,12 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 건너뛰기 버튼이 몇 초 후에 숨겨집니다 건너뛰기 버튼이 해당 구간이 끝날 때까지 표시됩니다 건너뛰기 버튼 표시 시간 - 건너뛰기 및 하이라이트로 건너뛰기 버튼이 자동으로 숨겨지기 전까지 표시되는 시간을 설정할 수 있습니다 + 건너뛰기 및 하이라이트로 건너뛰기 버튼이 자동으로 숨겨지기 전까지 표시되는 시간을 지정할 수 있습니다 건너뛰기 취소 메시지 표시하기 구간을 자동으로 건너뛰는 경우에 팝업 메시지를 표시합니다\n\n팝업 메시지를 탭하여 건너뛰기를 취소할 수 있습니다 팝업 메시지를 표시하지 않습니다 건너뛰기 취소 메시지 표시 시간 - 건너뛰기 취소 팝업 메시지가 표시되는 시간을 설정할 수 있습니다 + 건너뛰기 취소 팝업 메시지가 표시되는 시간을 지정할 수 있습니다 1 초 2 초 3 초 @@ -1108,7 +1108,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 건너뛴 횟수 기록을 비활성화합니다 건너뛸 최소 구간 길이 설정한 값(초)보다 작은 구간은 건너뛰지 않으며, 재생바에도 표시되지 않습니다 - 잘못된 지속 시간입니다 + 잘못된 표시 시간입니다 비공개 사용자 아이디 비공개 사용자 아이디는 SponsorBlock 서버에서 구간을 제출하거나 건너뛴 구간 정보를 기록하는데 사용되는 고유 아이디 입니다. 절대 다른 이에게 공개하지 마세요 비공개 사용자 아이디는 30자 이상이어야 합니다 diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 300aa008a2..779392f09e 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -23,7 +23,7 @@ Second \"item\" text" Kiểm tra thất bại Mở trang web chính thức - Phớt lờ + Bỏ qua <h5>Ứng dụng này xem ra không phải do bạn tự vá.</h5><br>Ứng dụng này có thể không hoạt động chính xác, <b>tiềm ẩn rủi ro hoặc thậm chí gây nguy hiểm khi sử dụng</b>.<br><br>Những kiểm tra dưới đây cho thấy rằng ứng dụng được vá sẵn hoặc lấy từ nguồn khác;<br><br><small>%1$s</small><br>Chúng tôi khuyến nghị bạn nên <b>gỡ cài đặt ứng này và tự vá lại</b> để đảm bảo bạn đang dùng một ứng dụng an toàn và hợp lệ.<p><br>Cảnh báo này sẽ chỉ hiện hai lần, hãy cân nhắc trước khi bỏ qua. Đã vá trên một thiết bị khác Không được cài đặt bởi ReVanced Manager @@ -50,7 +50,7 @@ Second \"item\" text" Đặt lại cài đặt ReVanced về mặc định Đã nhập cài đặt %d Nhập thất bại: %s - Cài đặt tìm kiếm + Tìm kiếm Không tìm thấy kết quả nào cho \'%s\' Thử từ khóa khác Các tìm kiếm gần đây From 673609c2aa87988cdc138eab101b9750fe6a7b62 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 1 Oct 2025 00:06:40 +0400 Subject: [PATCH 19/63] fix(X / Twitter): Remove non functional and obsolete patch `Open links with app chooser` (#6033) --- .../twitter/patches/links/OpenLinksWithAppChooserPatch.java | 1 + .../patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt | 3 +-- .../app/revanced/patches/twitter/misc/hook/HookPatch.kt | 5 +---- .../twitter/misc/links/ChangeLinkSharingDomainPatch.kt | 3 +-- .../twitter/misc/links/OpenLinksWithAppChooserPatch.kt | 4 ++-- .../patches/twitter/misc/links/SanitizeSharingLinksPatch.kt | 3 +-- 6 files changed, 7 insertions(+), 12 deletions(-) diff --git a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java index 62220506a8..3a4dff608d 100644 --- a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.Intent; import android.util.Log; +@Deprecated(forRemoval = true) public final class OpenLinksWithAppChooserPatch { public static void openWithChooser(final Context context, final Intent intent) { Log.d("ReVanced", "Opening intent with chooser: " + intent); diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt index 9d813b7ad9..342800518a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/dynamiccolor/DynamicColorPatch.kt @@ -12,9 +12,8 @@ val dynamicColorPatch = resourcePatch( ) { compatibleWith( "com.twitter.android"( - "10.86.0-release.0", "10.60.0-release.0", - "10.48.0-release.0" + "10.86.0-release.0", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt index 80da4aecf0..682bb4f379 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/hook/HookPatch.kt @@ -13,11 +13,8 @@ fun hookPatch( compatibleWith( "com.twitter.android"( - // Only v10.85 uses Pairip and requires additional changes to work. - "10.86.0-release.0", - // Confirmed to not show reply ads. Slightly newer versions may also work. "10.60.0-release.0", - "10.48.0-release.0" + "10.86.0-release.0", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt index bf3d9afd23..289a71e723 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt @@ -39,9 +39,8 @@ val changeLinkSharingDomainPatch = bytecodePatch( compatibleWith( "com.twitter.android"( - "10.86.0-release.0", "10.60.0-release.0", - "10.48.0-release.0" + "10.86.0-release.0", ) ) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt index a0fa4d0cc1..268f5789f6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt @@ -4,12 +4,12 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.twitter.misc.extension.sharedExtensionPatch +@Deprecated("Patch is obsolete and no longer needed with the highest supported app target. " + + "This patch will soon be deleted.") @Suppress("unused") val openLinksWithAppChooserPatch = bytecodePatch( - name = "Open links with app chooser", description = "Instead of opening links directly, open them with an app chooser. " + "As a result you can select a browser to open the link with.", - use = false, ) { dependsOn(sharedExtensionPatch) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt index d84cfb2ca7..24b4e127bc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt @@ -10,9 +10,8 @@ val sanitizeSharingLinksPatch = bytecodePatch( ) { compatibleWith( "com.twitter.android"( - "10.86.0-release.0", "10.60.0-release.0", - "10.48.0-release.0" + "10.86.0-release.0", ) ) From d238a427082b55efea1cfd0d31a3fab5ab64c2a4 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 30 Sep 2025 20:09:49 +0000 Subject: [PATCH 20/63] chore: Release v5.42.0-dev.6 [skip ci] # [5.42.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.5...v5.42.0-dev.6) (2025-09-30) ### Bug Fixes * **X / Twitter:** Remove non functional and obsolete patch `Open links with app chooser` ([#6033](https://github.com/ReVanced/revanced-patches/issues/6033)) ([673609c](https://github.com/ReVanced/revanced-patches/commit/673609c2aa87988cdc138eab101b9750fe6a7b62)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e135c755d7..f71891a17a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.5...v5.42.0-dev.6) (2025-09-30) + + +### Bug Fixes + +* **X / Twitter:** Remove non functional and obsolete patch `Open links with app chooser` ([#6033](https://github.com/ReVanced/revanced-patches/issues/6033)) ([673609c](https://github.com/ReVanced/revanced-patches/commit/673609c2aa87988cdc138eab101b9750fe6a7b62)) + # [5.42.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.4...v5.42.0-dev.5) (2025-09-28) diff --git a/gradle.properties b/gradle.properties index dece1c8a86..ede2db1f13 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.5 +version = 5.42.0-dev.6 From 08e8ead04ffff47a4608a3db7aadc8d5feccd4ad Mon Sep 17 00:00:00 2001 From: Swakshan <56347042+Swakshan@users.noreply.github.com> Date: Wed, 1 Oct 2025 11:47:19 +0530 Subject: [PATCH 21/63] feat(Instagram): Add `Open links externally` patch (#6012) --- .../misc/links/OpenLinksExternallyPatch.java | 30 ++++++++++++ .../app/revanced/extension/shared/Utils.java | 13 +++++ extensions/twitter/build.gradle.kts | 4 +- .../links/ChangeLinkSharingDomainPatch.java | 7 +++ .../links/OpenLinksWithAppChooserPatch.java | 10 +++- patches/api/patches.api | 4 ++ .../instagram/misc/links/Fingerprint.kt | 9 ++++ .../misc/links/OpenLinksExternallyPatch.kt | 47 +++++++++++++++++++ .../twitter/misc/extension/ExtensionPatch.kt | 3 +- .../extension/hooks/ApplicationInitHook.kt | 10 ++++ .../links/ChangeLinkSharingDomainPatch.kt | 36 +++++++------- .../links/OpenLinksWithAppChooserPatch.kt | 4 +- 12 files changed, 153 insertions(+), 24 deletions(-) create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/links/OpenLinksExternallyPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/Fingerprint.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/OpenLinksExternallyPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/hooks/ApplicationInitHook.kt diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/links/OpenLinksExternallyPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/links/OpenLinksExternallyPatch.java new file mode 100644 index 0000000000..49db896c23 --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/links/OpenLinksExternallyPatch.java @@ -0,0 +1,30 @@ +package app.revanced.extension.instagram.misc.links; + +import android.net.Uri; + +import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; + +@SuppressWarnings("unused") +public final class OpenLinksExternallyPatch { + + /** + * Injection point. + */ + public static boolean openExternally(String url) { + try { + // The "url" parameter to this function will be of the form. + // https://l.instagram.com/?u=&e= + String actualUrl = Uri.parse(url).getQueryParameter("u"); + if (actualUrl != null) { + Utils.openLink(actualUrl); + return true; + } + + } catch (Exception ex) { + Logger.printException(() -> "openExternally failure", ex); + } + + return false; + } +} diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java index feeb379a74..a9d7b6e9d3 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java @@ -15,6 +15,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Color; import android.net.ConnectivityManager; +import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; @@ -696,6 +697,18 @@ public class Utils { } } + public static void openLink(String url) { + try { + Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url)); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + Logger.printInfo(() -> "Opening link with external browser: " + intent); + getContext().startActivity(intent); + } catch (Exception ex) { + Logger.printException(() -> "openLink failure", ex); + } + } + public enum NetworkType { NONE, MOBILE, diff --git a/extensions/twitter/build.gradle.kts b/extensions/twitter/build.gradle.kts index f3c06ad739..8cf6305c11 100644 --- a/extensions/twitter/build.gradle.kts +++ b/extensions/twitter/build.gradle.kts @@ -1 +1,3 @@ -// Do not remove. Necessary for the extension plugin to be applied to the project. +dependencies { + compileOnly(project(":extensions:shared:library")) +} diff --git a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java index ff67394c69..f4f4a107d8 100644 --- a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java @@ -1,15 +1,22 @@ package app.revanced.twitter.patches.links; +@SuppressWarnings("unused") public final class ChangeLinkSharingDomainPatch { private static final String DOMAIN_NAME = "https://fxtwitter.com"; private static final String LINK_FORMAT = "%s/%s/status/%s"; + /** + * Injection point. + */ public static String formatResourceLink(Object... formatArgs) { String username = (String) formatArgs[0]; String tweetId = (String) formatArgs[1]; return String.format(LINK_FORMAT, DOMAIN_NAME, username, tweetId); } + /** + * Injection point. + */ public static String formatLink(long tweetId, String username) { return String.format(LINK_FORMAT, DOMAIN_NAME, username, tweetId); } diff --git a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java index 3a4dff608d..bd0476d8b2 100644 --- a/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java @@ -2,12 +2,18 @@ package app.revanced.twitter.patches.links; import android.content.Context; import android.content.Intent; -import android.util.Log; +import app.revanced.extension.shared.Logger; + +@SuppressWarnings("unused") @Deprecated(forRemoval = true) public final class OpenLinksWithAppChooserPatch { + + /** + * Injection point. + */ public static void openWithChooser(final Context context, final Intent intent) { - Log.d("ReVanced", "Opening intent with chooser: " + intent); + Logger.printInfo(() -> "Opening intent with chooser: " + intent); intent.setAction("android.intent.action.VIEW"); diff --git a/patches/api/patches.api b/patches/api/patches.api index 38dc2b6388..2e35481c90 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -284,6 +284,10 @@ public final class app/revanced/patches/instagram/misc/extension/SharedExtension public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/links/OpenLinksExternallyPatchKt { + public static final fun getOpenLinksExternallyPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt { public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/Fingerprint.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/Fingerprint.kt new file mode 100644 index 0000000000..b33d5ace54 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/Fingerprint.kt @@ -0,0 +1,9 @@ +package app.revanced.patches.instagram.misc.links +import app.revanced.patcher.fingerprint + +internal const val TARGET_STRING = "Tracking.ARG_CLICK_SOURCE" + +internal val inAppBrowserFunctionFingerprint = fingerprint { + returns("Z") + strings("TrackingInfo.ARG_MODULE_NAME", TARGET_STRING) +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/OpenLinksExternallyPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/OpenLinksExternallyPatch.kt new file mode 100644 index 0000000000..19b43e27eb --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/links/OpenLinksExternallyPatch.kt @@ -0,0 +1,47 @@ +package app.revanced.patches.instagram.misc.links + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/instagram/misc/links/OpenLinksExternallyPatch;" + +@Suppress("unused") +val openLinksExternallyPatch = bytecodePatch( + name = "Open links externally", + description = "Changes links to always open in your external browser, instead of the in-app browser.", + use = false, +) { + + dependsOn(sharedExtensionPatch) + + compatibleWith("com.instagram.android") + + execute { + inAppBrowserFunctionFingerprint.let { + val stringMatchIndex = it.stringMatches?.first { match -> match.string == TARGET_STRING }!!.index + + it.method.apply { + val urlResultObjIndex = indexOfFirstInstructionOrThrow( + stringMatchIndex, Opcode.MOVE_OBJECT_FROM16 + ) + + // Register that contains the url after moving from a higher register. + val urlRegister = getInstruction(urlResultObjIndex).registerA + + addInstructions( + urlResultObjIndex + 1, + """ + invoke-static { v$urlRegister }, $EXTENSION_CLASS_DESCRIPTOR->openExternally(Ljava/lang/String;)Z + move-result v$urlRegister + return v$urlRegister + """ + ) + } + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt index c5c758245b..8f9b5574fb 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt @@ -1,5 +1,6 @@ package app.revanced.patches.twitter.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch +import app.revanced.patches.twitter.misc.extension.hooks.applicationInitHook -val sharedExtensionPatch = sharedExtensionPatch("twitter") +val sharedExtensionPatch = sharedExtensionPatch("twitter", applicationInitHook) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/hooks/ApplicationInitHook.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/hooks/ApplicationInitHook.kt new file mode 100644 index 0000000000..13a1590a7e --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/hooks/ApplicationInitHook.kt @@ -0,0 +1,10 @@ +package app.revanced.patches.twitter.misc.extension.hooks + +import app.revanced.patches.shared.misc.extension.extensionHook + +internal val applicationInitHook = + extensionHook { + custom { method, classDef -> + classDef.type == "Lcom/twitter/app/TwitterApplication;" && method.name == "onCreate" + } + } \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt index 289a71e723..982fdb5a4f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt @@ -53,28 +53,28 @@ val changeLinkSharingDomainPatch = bytecodePatch( ) execute { - val replacementIndex = - linkSharingDomainFingerprint.stringMatches!!.first().index - val domainRegister = - linkSharingDomainFingerprint.method.getInstruction(replacementIndex).registerA + linkSharingDomainFingerprint.let { + val replacementIndex = it.stringMatches!!.first().index + val domainRegister = it.method.getInstruction( + replacementIndex + ).registerA - linkSharingDomainFingerprint.method.replaceInstruction( - replacementIndex, - "const-string v$domainRegister, \"https://$domainName\"", - ) - - // Replace the domain name when copying a link with "Copy link" button. - linkBuilderFingerprint.method.apply { - addInstructions( - 0, - """ - invoke-static { p0, p1, p2 }, $EXTENSION_CLASS_DESCRIPTOR->formatLink(JLjava/lang/String;)Ljava/lang/String; - move-result-object p0 - return-object p0 - """, + it.method.replaceInstruction( + replacementIndex, + "const-string v$domainRegister, \"https://$domainName\"", ) } + // Replace the domain name when copying a link with "Copy link" button. + linkBuilderFingerprint.method.addInstructions( + 0, + """ + invoke-static { p0, p1, p2 }, $EXTENSION_CLASS_DESCRIPTOR->formatLink(JLjava/lang/String;)Ljava/lang/String; + move-result-object p0 + return-object p0 + """ + ) + // Used in the Share via... dialog. linkResourceGetterFingerprint.method.apply { val templateIdConstIndex = indexOfFirstLiteralInstructionOrThrow(tweetShareLinkTemplateId) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt index 268f5789f6..9c109e3602 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/OpenLinksWithAppChooserPatch.kt @@ -9,7 +9,7 @@ import app.revanced.patches.twitter.misc.extension.sharedExtensionPatch @Suppress("unused") val openLinksWithAppChooserPatch = bytecodePatch( description = "Instead of opening links directly, open them with an app chooser. " + - "As a result you can select a browser to open the link with.", + "As a result you can select a browser to open the link with.", ) { dependsOn(sharedExtensionPatch) @@ -18,7 +18,7 @@ val openLinksWithAppChooserPatch = bytecodePatch( execute { val methodReference = "Lapp/revanced/extension/twitter/patches/links/OpenLinksWithAppChooserPatch;->" + - "openWithChooser(Landroid/content/Context;Landroid/content/Intent;)V" + "openWithChooser(Landroid/content/Context;Landroid/content/Intent;)V" openLinkFingerprint.method.addInstructions( 0, From 0c662c8e3bf5165ec2adb03fa0564b3f8bd42af3 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 1 Oct 2025 10:18:59 +0400 Subject: [PATCH 22/63] chore(deps): Bump actions/checkout from 4 to 5 --- .github/workflows/build_pull_request.yml | 4 ++-- .github/workflows/open_pull_request.yml | 2 +- .github/workflows/pull_strings.yml | 2 +- .github/workflows/push_strings.yml | 2 +- .github/workflows/release.yml | 8 ++++---- .github/workflows/update-gradle-wrapper.yml | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index c7ffa59f11..3e2f365f7c 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '17' diff --git a/.github/workflows/open_pull_request.yml b/.github/workflows/open_pull_request.yml index 33c8a7211f..6e3eddd18b 100644 --- a/.github/workflows/open_pull_request.yml +++ b/.github/workflows/open_pull_request.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Open pull request uses: repo-sync/pull-request@v2 diff --git a/.github/workflows/pull_strings.yml b/.github/workflows/pull_strings.yml index 6f0f6f6cd9..be27b06872 100644 --- a/.github/workflows/pull_strings.yml +++ b/.github/workflows/pull_strings.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: dev clean: true diff --git a/.github/workflows/push_strings.yml b/.github/workflows/push_strings.yml index 1be23c2a51..c51254f756 100644 --- a/.github/workflows/push_strings.yml +++ b/.github/workflows/push_strings.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Preprocess strings env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0e2278b3ab..607ff82932 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,10 +18,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '17' @@ -51,14 +51,14 @@ jobs: fingerprint: ${{ vars.GPG_FINGERPRINT }} - name: Release - uses: cycjimmy/semantic-release-action@v4 + uses: cycjimmy/semantic-release-action@v5 id: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Attest if: steps.release.outputs.new_release_published == 'true' - uses: actions/attest-build-provenance@v2 + uses: actions/attest-build-provenance@v3 with: subject-name: 'ReVanced Patches ${{ steps.release.outputs.new_release_git_tag }}' subject-path: patches/build/libs/patches-*.rvp diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml index 8136ad5f31..765927aaff 100644 --- a/.github/workflows/update-gradle-wrapper.yml +++ b/.github/workflows/update-gradle-wrapper.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Update Gradle Wrapper uses: gradle-update/update-gradle-wrapper-action@v1 From 5a7e1991622747f38846449d0960e2d40de75980 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 1 Oct 2025 06:25:01 +0000 Subject: [PATCH 23/63] chore: Release v5.42.0-dev.7 [skip ci] # [5.42.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.6...v5.42.0-dev.7) (2025-10-01) ### Features * **Instagram:** Add `Open links externally` patch ([#6012](https://github.com/ReVanced/revanced-patches/issues/6012)) ([08e8ead](https://github.com/ReVanced/revanced-patches/commit/08e8ead04ffff47a4608a3db7aadc8d5feccd4ad)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f71891a17a..b307935b69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.6...v5.42.0-dev.7) (2025-10-01) + + +### Features + +* **Instagram:** Add `Open links externally` patch ([#6012](https://github.com/ReVanced/revanced-patches/issues/6012)) ([08e8ead](https://github.com/ReVanced/revanced-patches/commit/08e8ead04ffff47a4608a3db7aadc8d5feccd4ad)) + # [5.42.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.5...v5.42.0-dev.6) (2025-09-30) diff --git a/gradle.properties b/gradle.properties index ede2db1f13..5d26c07f2d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.6 +version = 5.42.0-dev.7 From 9d6731660ba0e19b863d05d54aa04f74a879f69b Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 1 Oct 2025 18:57:53 +0400 Subject: [PATCH 24/63] fix(YouTube - Force original language): Resolve some videos using Swedish audio track --- .../app/revanced/extension/shared/settings/AppLanguage.java | 4 ++-- .../extension/youtube/patches/ForceOriginalAudioPatch.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/AppLanguage.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/AppLanguage.java index 944529f4ed..fbc734a51d 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/AppLanguage.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/AppLanguage.java @@ -36,8 +36,8 @@ public enum AppLanguage { FR, GL, GU, - HI, HE, // App uses obsolete 'IW' and not the modern 'HE' ISO code. + HI, HR, HU, HY, @@ -60,9 +60,9 @@ public enum AppLanguage { MR, MS, MY, + NB, NE, NL, - NB, OR, PA, PL, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java index 8836e7b321..bf3b866d81 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java @@ -24,7 +24,7 @@ public class ForceOriginalAudioPatch { // not auto-dubbed by YouTube: https://support.google.com/youtube/answer/15569972 // but the language is also supported natively by the Meta Quest device that // Android VR is spoofing. - AppLanguage override = AppLanguage.SV; + AppLanguage override = AppLanguage.NB; // Norwegian Bokmal. Logger.printDebug(() -> "Setting language override: " + override); SpoofVideoStreamsPatch.setLanguageOverride(override); } From d0d53d109e451759a029326873adfa36fba12b23 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 1 Oct 2025 18:59:16 +0400 Subject: [PATCH 25/63] feat(YouTube Music): Add `Force original audio` patch (#6036) --- .../patches/ForceOriginalAudioPatch.java | 17 ++ .../extension/music/settings/Settings.java | 2 + .../patches/ForceOriginalAudioPatch.java | 73 ++++++++ .../ForceOriginalAudioSwitchPreference.java | 8 +- .../shared/spoof/SpoofVideoStreamsPatch.java | 4 + .../patches/ForceOriginalAudioPatch.java | 63 +------ .../extension/youtube/settings/Settings.java | 4 +- patches/api/patches.api | 5 + .../misc/tracks/ForceOriginalAudioPatch.kt | 34 ++++ .../music/playservice/VersionCheckPatch.kt | 3 + .../fix/redgifs/FixRedgifsApiPatch.kt | 5 +- .../misc}/audio/Fingerprints.kt | 13 +- .../misc/audio/ForceOriginalAudioPatch.kt | 157 +++++++++++++++++ .../OpenShortsInRegularPlayerPatch.kt | 2 +- .../misc/navigation/NavigationBarHookPatch.kt | 2 +- .../video/audio/ForceOriginalAudioPatch.kt | 161 +++--------------- .../resources/addresources/values/strings.xml | 14 +- 17 files changed, 341 insertions(+), 226 deletions(-) create mode 100644 extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java rename extensions/{youtube/src/main/java/app/revanced/extension/youtube => shared/library/src/main/java/app/revanced/extension/shared}/settings/preference/ForceOriginalAudioSwitchPreference.java (87%) create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt rename patches/src/main/kotlin/app/revanced/patches/{youtube/video => shared/misc}/audio/Fingerprints.kt (67%) create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java new file mode 100644 index 0000000000..30a2cb8f2d --- /dev/null +++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java @@ -0,0 +1,17 @@ +package app.revanced.extension.music.patches; + +import app.revanced.extension.music.settings.Settings; + +@SuppressWarnings("unused") +public class ForceOriginalAudioPatch { + + /** + * Injection point. + */ + public static void setPreferredLanguage() { + app.revanced.extension.shared.patches.ForceOriginalAudioPatch.setEnabled( + Settings.FORCE_ORIGINAL_AUDIO.get(), + Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() + ); + } +} diff --git a/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java b/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java index 4feb13d9c4..a56fb04b92 100644 --- a/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java +++ b/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java @@ -32,4 +32,6 @@ public class Settings extends BaseSettings { // Miscellaneous public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_43_32, true, parent(SPOOF_VIDEO_STREAMS)); + + public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", TRUE, true); } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java new file mode 100644 index 0000000000..762a773525 --- /dev/null +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java @@ -0,0 +1,73 @@ +package app.revanced.extension.shared.patches; + +import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.settings.AppLanguage; +import app.revanced.extension.shared.spoof.ClientType; +import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch; + +@SuppressWarnings("unused") +public class ForceOriginalAudioPatch { + + private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4"; + + private static volatile boolean enabled = false; + + public static void setEnabled(boolean isEnabled, ClientType client) { + enabled = isEnabled; + + if (isEnabled + && SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams() + && !client.useAuth) { + // If client spoofing does not use authentication and lacks multi-audio streams, + // then can use any language code for the request and if that requested language is + // not available YT uses the original audio language. Authenticated requests ignore + // the language code and always use the account language. Use a language that is + // not auto-dubbed by YouTube: https://support.google.com/youtube/answer/15569972 + // but the language is also supported natively by the Meta Quest device that + // Android VR is spoofing. + AppLanguage override = AppLanguage.NB; // Norwegian Bokmal. + Logger.printDebug(() -> "Setting language override: " + override); + SpoofVideoStreamsPatch.setLanguageOverride(override); + } + } + + /** + * Injection point. + */ + public static boolean ignoreDefaultAudioStream(boolean original) { + if (enabled) { + return false; + } + return original; + } + + /** + * Injection point. + */ + public static boolean isDefaultAudioStream(boolean isDefault, String audioTrackId, String audioTrackDisplayName) { + try { + if (!enabled) { + return isDefault; + } + + if (audioTrackId.isEmpty()) { + // Older app targets can have empty audio tracks and these might be placeholders. + // The real audio tracks are called after these. + return isDefault; + } + + Logger.printDebug(() -> "default: " + String.format("%-5s", isDefault) + " id: " + + String.format("%-8s", audioTrackId) + " name:" + audioTrackDisplayName); + + final boolean isOriginal = audioTrackId.endsWith(DEFAULT_AUDIO_TRACKS_SUFFIX); + if (isOriginal) { + Logger.printDebug(() -> "Using audio: " + audioTrackId); + } + + return isOriginal; + } catch (Exception ex) { + Logger.printException(() -> "isDefaultAudioStream failure", ex); + return isDefault; + } + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceOriginalAudioSwitchPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ForceOriginalAudioSwitchPreference.java similarity index 87% rename from extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceOriginalAudioSwitchPreference.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ForceOriginalAudioSwitchPreference.java index b6be1b8933..fdcde3668d 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceOriginalAudioSwitchPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ForceOriginalAudioSwitchPreference.java @@ -1,4 +1,4 @@ -package app.revanced.extension.youtube.settings.preference; +package app.revanced.extension.shared.settings.preference; import static app.revanced.extension.shared.StringRef.str; @@ -6,17 +6,17 @@ import android.content.Context; import android.preference.SwitchPreference; import android.util.AttributeSet; +import app.revanced.extension.shared.settings.BaseSettings; import app.revanced.extension.shared.spoof.ClientType; import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch; -import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings({"deprecation", "unused"}) public class ForceOriginalAudioSwitchPreference extends SwitchPreference { // Spoof stream patch is not included, or is not currently spoofing to Android Studio. private static final boolean available = !SpoofVideoStreamsPatch.isPatchIncluded() - || !(Settings.SPOOF_VIDEO_STREAMS.get() - && Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_CREATOR); + || !(BaseSettings.SPOOF_VIDEO_STREAMS.get() + && SpoofVideoStreamsPatch.getPreferredClient() == ClientType.ANDROID_CREATOR); { if (!available) { diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index a5f69ba304..8275f9c71c 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -66,6 +66,10 @@ public class SpoofVideoStreamsPatch { StreamingDataRequest.setClientOrderToUse(availableClients, client); } + public static ClientType getPreferredClient() { + return preferredClient; + } + public static boolean spoofingToClientWithNoMultiAudioStreams() { return isPatchIncluded() && SPOOF_STREAMING_DATA diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java index bf3b866d81..5540b670dc 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java @@ -1,72 +1,17 @@ package app.revanced.extension.youtube.patches; -import app.revanced.extension.shared.Logger; -import app.revanced.extension.shared.settings.AppLanguage; -import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch; import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") public class ForceOriginalAudioPatch { - private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4"; - /** * Injection point. */ public static void setPreferredLanguage() { - if (Settings.FORCE_ORIGINAL_AUDIO.get() - && SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams() - && !Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get().useAuth) { - // If client spoofing does not use authentication and lacks multi-audio streams, - // then can use any language code for the request and if that requested language is - // not available YT uses the original audio language. Authenticated requests ignore - // the language code and always use the account language. Use a language that is - // not auto-dubbed by YouTube: https://support.google.com/youtube/answer/15569972 - // but the language is also supported natively by the Meta Quest device that - // Android VR is spoofing. - AppLanguage override = AppLanguage.NB; // Norwegian Bokmal. - Logger.printDebug(() -> "Setting language override: " + override); - SpoofVideoStreamsPatch.setLanguageOverride(override); - } - } - - /** - * Injection point. - */ - public static boolean ignoreDefaultAudioStream(boolean original) { - if (Settings.FORCE_ORIGINAL_AUDIO.get()) { - return false; - } - return original; - } - - /** - * Injection point. - */ - public static boolean isDefaultAudioStream(boolean isDefault, String audioTrackId, String audioTrackDisplayName) { - try { - if (!Settings.FORCE_ORIGINAL_AUDIO.get()) { - return isDefault; - } - - if (audioTrackId.isEmpty()) { - // Older app targets can have empty audio tracks and these might be placeholders. - // The real audio tracks are called after these. - return isDefault; - } - - Logger.printDebug(() -> "default: " + String.format("%-5s", isDefault) + " id: " - + String.format("%-8s", audioTrackId) + " name:" + audioTrackDisplayName); - - final boolean isOriginal = audioTrackId.endsWith(DEFAULT_AUDIO_TRACKS_SUFFIX); - if (isOriginal) { - Logger.printDebug(() -> "Using audio: " + audioTrackId); - } - - return isOriginal; - } catch (Exception ex) { - Logger.printException(() -> "isDefaultAudioStream failure", ex); - return isDefault; - } + app.revanced.extension.shared.patches.ForceOriginalAudioPatch.setEnabled( + Settings.FORCE_ORIGINAL_AUDIO.get(), + Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() + ); } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 17937a660e..cfe87af71c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -55,6 +55,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting ADVANCED_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_advanced_video_quality_menu", TRUE); public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE); public static final BooleanSetting FORCE_AVC_CODEC = new BooleanSetting("revanced_force_avc_codec", FALSE, true, "revanced_force_avc_codec_user_dialog_message"); + public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, true); public static final IntegerSetting VIDEO_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_video_quality_default_wifi", -2); public static final IntegerSetting VIDEO_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_video_quality_default_mobile", -2); public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE); @@ -75,9 +76,6 @@ public class Settings extends BaseSettings { public static final StringSetting CUSTOM_PLAYBACK_SPEEDS = new StringSetting("revanced_custom_playback_speeds", "0.25\n0.5\n0.75\n1.0\n1.25\n1.5\n1.75\n2.0\n2.5\n3.0\n4.0\n5.0\n6.0\n7.0\n8.0", true); - // Audio - public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, true); - // Ads public static final BooleanSetting HIDE_CREATOR_STORE_SHELF = new BooleanSetting("revanced_hide_creator_store_shelf", TRUE); public static final BooleanSetting HIDE_END_SCREEN_STORE_BANNER = new BooleanSetting("revanced_hide_end_screen_store_banner", TRUE, true); diff --git a/patches/api/patches.api b/patches/api/patches.api index 2e35481c90..01e889e442 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -459,9 +459,14 @@ public final class app/revanced/patches/music/misc/spoof/UserAgentClientSpoofPat public static final fun getUserAgentClientSpoofPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatchKt { + public static final fun getForceOriginalAudioPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/music/playservice/VersionCheckPatchKt { public static final fun getVersionCheckPatch ()Lapp/revanced/patcher/patch/ResourcePatch; public static final fun is_7_33_or_greater ()Z + public static final fun is_8_10_or_greater ()Z public static final fun is_8_11_or_greater ()Z public static final fun is_8_15_or_greater ()Z } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt new file mode 100644 index 0000000000..8130cbe711 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/tracks/ForceOriginalAudioPatch.kt @@ -0,0 +1,34 @@ +package app.revanced.patches.music.misc.tracks + +import app.revanced.patches.music.misc.extension.sharedExtensionPatch +import app.revanced.patches.music.misc.settings.PreferenceScreen +import app.revanced.patches.music.misc.settings.settingsPatch +import app.revanced.patches.music.playservice.is_8_10_or_greater +import app.revanced.patches.music.playservice.versionCheckPatch +import app.revanced.patches.music.shared.mainActivityOnCreateFingerprint +import app.revanced.patches.shared.misc.audio.forceOriginalAudioPatch + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/music/patches/ForceOriginalAudioPatch;" + +@Suppress("unused") +val forceOriginalAudioPatch = forceOriginalAudioPatch( + block = { + dependsOn( + sharedExtensionPatch, + settingsPatch, + versionCheckPatch + ) + + compatibleWith( + "com.google.android.apps.youtube.music"( + "7.29.52", + "8.10.52" + ) + ) + }, + fixUseLocalizedAudioTrackFlag = is_8_10_or_greater, + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + subclassExtensionClassDescriptor = EXTENSION_CLASS_DESCRIPTOR, + preferenceScreen = PreferenceScreen.MISC, +) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt index 467498bf22..b14d6b6593 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/playservice/VersionCheckPatch.kt @@ -7,6 +7,8 @@ import app.revanced.util.findPlayStoreServicesVersion var is_7_33_or_greater = false private set +var is_8_10_or_greater = false + private set var is_8_11_or_greater = false private set var is_8_15_or_greater = false @@ -22,6 +24,7 @@ val versionCheckPatch = resourcePatch( // All bug fix releases always seem to use the same play store version as the minor version. is_7_33_or_greater = 245199000 <= playStoreServicesVersion + is_8_10_or_greater = 244799000 <= playStoreServicesVersion is_8_11_or_greater = 251199000 <= playStoreServicesVersion is_8_15_or_greater = 251530000 <= playStoreServicesVersion } diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/fix/redgifs/FixRedgifsApiPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/fix/redgifs/FixRedgifsApiPatch.kt index f19a5964d6..340f4096ca 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/fix/redgifs/FixRedgifsApiPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/fix/redgifs/FixRedgifsApiPatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.reddit.customclients.boostforreddit.fix.redgifs -import app.revanced.patcher.extensions.InstructionExtensions.instructions import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patches.reddit.customclients.CREATE_NEW_CLIENT_METHOD import app.revanced.patches.reddit.customclients.boostforreddit.misc.extension.sharedExtensionPatch @@ -27,9 +26,7 @@ val fixRedgifsApi = fixRedgifsApiPatch( } replaceInstruction( index, - """ - invoke-static { }, ${EXTENSION_CLASS_DESCRIPTOR}->$CREATE_NEW_CLIENT_METHOD - """ + "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->$CREATE_NEW_CLIENT_METHOD" ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/Fingerprints.kt similarity index 67% rename from patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/Fingerprints.kt rename to patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/Fingerprints.kt index 8e3755bc80..495ac4865c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/Fingerprints.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.video.audio +package app.revanced.patches.shared.misc.audio import app.revanced.patcher.fingerprint import app.revanced.util.containsLiteralInstruction @@ -7,10 +7,14 @@ import com.android.tools.smali.dexlib2.AccessFlags internal val formatStreamModelToStringFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) returns("Ljava/lang/String;") - custom { method, classDef -> - method.name == "toString" && classDef.type == - "Lcom/google/android/libraries/youtube/innertube/model/media/FormatStreamModel;" + custom { method, _ -> + method.name == "toString" } + strings( + // Strings are partial matches. + "isDefaultAudioTrack=", + "audioTrackId=" + ) } internal const val AUDIO_STREAM_IGNORE_DEFAULT_FEATURE_FLAG = 45666189L @@ -20,7 +24,6 @@ internal val selectAudioStreamFingerprint = fingerprint { returns("L") custom { method, _ -> method.parameters.size > 2 // Method has a large number of parameters and may change. - && method.parameters[1].type == "Lcom/google/android/libraries/youtube/innertube/model/media/PlayerConfigModel;" && method.containsLiteralInstruction(AUDIO_STREAM_IGNORE_DEFAULT_FEATURE_FLAG) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt new file mode 100644 index 0000000000..0f5d8f1acc --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt @@ -0,0 +1,157 @@ +package app.revanced.patches.shared.misc.audio + +import app.revanced.patcher.Fingerprint +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.BytecodePatchBuilder +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.util.proxy.mutableTypes.MutableField.Companion.toMutable +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.util.findMethodFromToString +import app.revanced.util.indexOfFirstInstructionOrThrow +import app.revanced.util.insertLiteralOverride +import com.android.tools.smali.dexlib2.AccessFlags +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation +import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction +import com.android.tools.smali.dexlib2.immutable.ImmutableField +import com.android.tools.smali.dexlib2.immutable.ImmutableMethod +import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/shared/patches/ForceOriginalAudioPatch;" + +/** + * Patch shared with YouTube and YT Music. + */ +internal fun forceOriginalAudioPatch( + block: BytecodePatchBuilder.() -> Unit = {}, + executeBlock: BytecodePatchContext.() -> Unit = {}, + fixUseLocalizedAudioTrackFlag: Boolean, + mainActivityOnCreateFingerprint: Fingerprint, + subclassExtensionClassDescriptor: String, + preferenceScreen: BasePreferenceScreen.Screen +) = bytecodePatch( + name = "Force original audio", + description = "Adds an option to always use the original audio track.", +) { + + block() + + dependsOn(addResourcesPatch) + + execute { + addResources("shared", "misc.audio.forceOriginalAudioPatch") + + preferenceScreen.addPreferences( + SwitchPreference( + key = "revanced_force_original_audio", + tag = "app.revanced.extension.shared.settings.preference.ForceOriginalAudioSwitchPreference" + ) + ) + + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static { }, $subclassExtensionClassDescriptor->setPreferredLanguage()V" + ) + + // Disable feature flag that ignores the default track flag + // and instead overrides to the user region language. + if (fixUseLocalizedAudioTrackFlag) { + selectAudioStreamFingerprint.method.insertLiteralOverride( + AUDIO_STREAM_IGNORE_DEFAULT_FEATURE_FLAG, + "$EXTENSION_CLASS_DESCRIPTOR->ignoreDefaultAudioStream(Z)Z" + ) + } + + formatStreamModelToStringFingerprint.let { + val isDefaultAudioTrackMethod = it.originalMethod.findMethodFromToString("isDefaultAudioTrack=") + val audioTrackDisplayNameMethod = it.originalMethod.findMethodFromToString("audioTrackDisplayName=") + val audioTrackIdMethod = it.originalMethod.findMethodFromToString("audioTrackId=") + + it.classDef.apply { + // Add a new field to store the override. + val helperFieldName = "patch_isDefaultAudioTrackOverride" + fields.add( + ImmutableField( + type, + helperFieldName, + "Ljava/lang/Boolean;", + // Boolean is a 100% immutable class (all fields are final) + // and safe to write to a shared field without volatile/synchronization, + // but without volatile the field can show stale data + // and the same field is calculated more than once by different threads. + AccessFlags.PRIVATE.value or AccessFlags.VOLATILE.value, + null, + null, + null + ).toMutable() + ) + + // Add a helper method because the isDefaultAudioTrack() has only 2 registers and 3 are needed. + val helperMethodClass = type + val helperMethodName = "patch_isDefaultAudioTrack" + val helperMethod = ImmutableMethod( + helperMethodClass, + helperMethodName, + listOf(ImmutableMethodParameter("Z", null, null)), + "Z", + AccessFlags.PRIVATE.value, + null, + null, + MutableMethodImplementation(6), + ).toMutable().apply { + addInstructionsWithLabels( + 0, + """ + iget-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; + if-eqz v0, :call_extension + invoke-virtual { v0 }, Ljava/lang/Boolean;->booleanValue()Z + move-result v3 + return v3 + + :call_extension + invoke-virtual { p0 }, $audioTrackIdMethod + move-result-object v1 + + invoke-virtual { p0 }, $audioTrackDisplayNameMethod + move-result-object v2 + + invoke-static { p1, v1, v2 }, $EXTENSION_CLASS_DESCRIPTOR->isDefaultAudioStream(ZLjava/lang/String;Ljava/lang/String;)Z + move-result v3 + + invoke-static { v3 }, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; + move-result-object v0 + iput-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; + return v3 + """ + ) + } + methods.add(helperMethod) + + // Modify isDefaultAudioTrack() to call extension helper method. + isDefaultAudioTrackMethod.apply { + val index = indexOfFirstInstructionOrThrow(Opcode.RETURN) + val register = getInstruction(index).registerA + + addInstructions( + index, + """ + invoke-direct { p0, v$register }, $helperMethodClass->$helperMethodName(Z)Z + move-result v$register + """ + ) + } + } + } + + executeBlock() + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt index 08450dc4d2..4637857542 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/shortsplayer/OpenShortsInRegularPlayerPatch.kt @@ -161,7 +161,7 @@ val openShortsInRegularPlayerPatch = bytecodePatch( addInstructions( index + 1, """ - invoke-static { v$register }, ${EXTENSION_CLASS_DESCRIPTOR}->overrideBackPressToExit(Z)Z + invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->overrideBackPressToExit(Z)Z move-result v$register """ ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt index ee6750c60c..083fdf2e2e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/navigation/NavigationBarHookPatch.kt @@ -164,7 +164,7 @@ val navigationBarHookPatch = bytecodePatch(description = "Hooks the active navig addInstruction( index + 1, - "invoke-static { v$register }, ${EXTENSION_CLASS_DESCRIPTOR}->setToolbar(Landroid/widget/FrameLayout;)V" + "invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->setToolbar(Landroid/widget/FrameLayout;)V" ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt index bc985a70f8..3b90970959 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt @@ -1,159 +1,36 @@ package app.revanced.patches.youtube.video.audio -import app.revanced.patcher.extensions.InstructionExtensions.addInstruction -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions -import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction -import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patcher.util.proxy.mutableTypes.MutableField.Companion.toMutable -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable -import app.revanced.patches.all.misc.resources.addResources -import app.revanced.patches.all.misc.resources.addResourcesPatch -import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.patches.shared.misc.audio.forceOriginalAudioPatch import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.playservice.is_20_07_or_greater import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint -import app.revanced.util.findMethodFromToString -import app.revanced.util.indexOfFirstInstructionOrThrow -import app.revanced.util.insertLiteralOverride -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation -import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction -import com.android.tools.smali.dexlib2.immutable.ImmutableField -import com.android.tools.smali.dexlib2.immutable.ImmutableMethod -import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/ForceOriginalAudioPatch;" @Suppress("unused") -val forceOriginalAudioPatch = bytecodePatch( - name = "Force original audio", - description = "Adds an option to always use the original audio track.", -) { - dependsOn( - sharedExtensionPatch, - settingsPatch, - addResourcesPatch, - versionCheckPatch - ) - - compatibleWith( - "com.google.android.youtube"( - "19.34.42", - "20.07.39", - "20.13.41", - "20.14.43", +val forceOriginalAudioPatch = forceOriginalAudioPatch( + block = { + dependsOn( + sharedExtensionPatch, + settingsPatch, + versionCheckPatch ) - ) - execute { - addResources("youtube", "video.audio.forceOriginalAudioPatch") - - PreferenceScreen.VIDEO.addPreferences( - SwitchPreference( - key = "revanced_force_original_audio", - tag = "app.revanced.extension.youtube.settings.preference.ForceOriginalAudioSwitchPreference" + compatibleWith( + "com.google.android.youtube"( + "19.34.42", + "20.07.39", + "20.13.41", + "20.14.43", ) ) - - mainActivityOnCreateFingerprint.method.addInstruction( - 0, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setPreferredLanguage()V" - ) - - // Disable feature flag that ignores the default track flag - // and instead overrides to the user region language. - if (is_20_07_or_greater) { - selectAudioStreamFingerprint.method.insertLiteralOverride( - AUDIO_STREAM_IGNORE_DEFAULT_FEATURE_FLAG, - "$EXTENSION_CLASS_DESCRIPTOR->ignoreDefaultAudioStream(Z)Z" - ) - } - - formatStreamModelToStringFingerprint.let { - val isDefaultAudioTrackMethod = it.originalMethod.findMethodFromToString("isDefaultAudioTrack=") - val audioTrackDisplayNameMethod = it.originalMethod.findMethodFromToString("audioTrackDisplayName=") - val audioTrackIdMethod = it.originalMethod.findMethodFromToString("audioTrackId=") - - it.classDef.apply { - // Add a new field to store the override. - val helperFieldName = "patch_isDefaultAudioTrackOverride" - fields.add( - ImmutableField( - type, - helperFieldName, - "Ljava/lang/Boolean;", - // Boolean is a 100% immutable class (all fields are final) - // and safe to write to a shared field without volatile/synchronization, - // but without volatile the field can show stale data - // and the same field is calculated more than once by different threads. - AccessFlags.PRIVATE.value or AccessFlags.VOLATILE.value, - null, - null, - null - ).toMutable() - ) - - // Add a helper method because the isDefaultAudioTrack() has only 2 registers and 3 are needed. - val helperMethodClass = type - val helperMethodName = "patch_isDefaultAudioTrack" - val helperMethod = ImmutableMethod( - helperMethodClass, - helperMethodName, - listOf(ImmutableMethodParameter("Z", null, null)), - "Z", - AccessFlags.PRIVATE.value, - null, - null, - MutableMethodImplementation(6), - ).toMutable().apply { - addInstructionsWithLabels( - 0, - """ - iget-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; - if-eqz v0, :call_extension - invoke-virtual { v0 }, Ljava/lang/Boolean;->booleanValue()Z - move-result v3 - return v3 - - :call_extension - invoke-virtual { p0 }, $audioTrackIdMethod - move-result-object v1 - - invoke-virtual { p0 }, $audioTrackDisplayNameMethod - move-result-object v2 - - invoke-static { p1, v1, v2 }, $EXTENSION_CLASS_DESCRIPTOR->isDefaultAudioStream(ZLjava/lang/String;Ljava/lang/String;)Z - move-result v3 - - invoke-static { v3 }, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; - move-result-object v0 - iput-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; - return v3 - """ - ) - } - methods.add(helperMethod) - - // Modify isDefaultAudioTrack() to call extension helper method. - isDefaultAudioTrackMethod.apply { - val index = indexOfFirstInstructionOrThrow(Opcode.RETURN) - val register = getInstruction(index).registerA - - addInstructions( - index, - """ - invoke-direct { p0, v$register }, $helperMethodClass->$helperMethodName(Z)Z - move-result v$register - """ - ) - } - } - } - } -} + }, + fixUseLocalizedAudioTrackFlag = is_20_07_or_greater, + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + subclassExtensionClassDescriptor = EXTENSION_CLASS_DESCRIPTOR, + preferenceScreen = PreferenceScreen.VIDEO, +) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index e7fe5167bc..a23b530ae5 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -176,6 +176,13 @@ Playback may not work" Turning off this setting may cause playback issues. Default client + + Force original audio language + Using original audio language + Using default audio + + To use this feature, change \'Spoof video streams\' to any client except Android Studio + Debugging Enable or disable debugging options @@ -1590,13 +1597,6 @@ Enabling this can unlock higher video qualities" Opening links in external browser Opening links in in-app browser - - Force original audio language - Using original audio language - Using default audio - - To use this feature, change \'Spoof video streams\' to any client except Android Studio - Auto From 526c7c05e221dede7caf74d8ead1ce9bc8801feb Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 1 Oct 2025 15:04:39 +0000 Subject: [PATCH 26/63] chore: Release v5.42.0-dev.8 [skip ci] # [5.42.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.7...v5.42.0-dev.8) (2025-10-01) ### Bug Fixes * **YouTube - Force original language:** Resolve some videos using Swedish audio track ([9d67316](https://github.com/ReVanced/revanced-patches/commit/9d6731660ba0e19b863d05d54aa04f74a879f69b)) ### Features * **YouTube Music:** Add `Force original audio` patch ([#6036](https://github.com/ReVanced/revanced-patches/issues/6036)) ([d0d53d1](https://github.com/ReVanced/revanced-patches/commit/d0d53d109e451759a029326873adfa36fba12b23)) --- CHANGELOG.md | 12 ++++++++++++ gradle.properties | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b307935b69..c4e3d56b77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [5.42.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.7...v5.42.0-dev.8) (2025-10-01) + + +### Bug Fixes + +* **YouTube - Force original language:** Resolve some videos using Swedish audio track ([9d67316](https://github.com/ReVanced/revanced-patches/commit/9d6731660ba0e19b863d05d54aa04f74a879f69b)) + + +### Features + +* **YouTube Music:** Add `Force original audio` patch ([#6036](https://github.com/ReVanced/revanced-patches/issues/6036)) ([d0d53d1](https://github.com/ReVanced/revanced-patches/commit/d0d53d109e451759a029326873adfa36fba12b23)) + # [5.42.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.6...v5.42.0-dev.7) (2025-10-01) diff --git a/gradle.properties b/gradle.properties index 5d26c07f2d..be9ae46ef6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.7 +version = 5.42.0-dev.8 From 83ccd9d3f18eddabc3a850435a5812042434aa8e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 19:04:51 +0400 Subject: [PATCH 27/63] chore: Sync translations (#6037) --- .../addresources/values-af-rZA/strings.xml | 6 +- .../addresources/values-am-rET/strings.xml | 6 +- .../addresources/values-ar-rSA/strings.xml | 336 +++++++++--------- .../addresources/values-as-rIN/strings.xml | 6 +- .../addresources/values-az-rAZ/strings.xml | 14 +- .../addresources/values-be-rBY/strings.xml | 14 +- .../addresources/values-bg-rBG/strings.xml | 14 +- .../addresources/values-bn-rBD/strings.xml | 14 +- .../addresources/values-bs-rBA/strings.xml | 6 +- .../addresources/values-ca-rES/strings.xml | 6 +- .../addresources/values-cs-rCZ/strings.xml | 14 +- .../addresources/values-da-rDK/strings.xml | 14 +- .../addresources/values-de-rDE/strings.xml | 14 +- .../addresources/values-el-rGR/strings.xml | 14 +- .../addresources/values-es-rES/strings.xml | 14 +- .../addresources/values-et-rEE/strings.xml | 14 +- .../addresources/values-eu-rES/strings.xml | 6 +- .../addresources/values-fa-rIR/strings.xml | 6 +- .../addresources/values-fi-rFI/strings.xml | 14 +- .../addresources/values-fil-rPH/strings.xml | 14 +- .../addresources/values-fr-rFR/strings.xml | 14 +- .../addresources/values-ga-rIE/strings.xml | 14 +- .../addresources/values-gl-rES/strings.xml | 6 +- .../addresources/values-gu-rIN/strings.xml | 6 +- .../addresources/values-hi-rIN/strings.xml | 6 +- .../addresources/values-hr-rHR/strings.xml | 6 +- .../addresources/values-hu-rHU/strings.xml | 14 +- .../addresources/values-hy-rAM/strings.xml | 14 +- .../addresources/values-in-rID/strings.xml | 14 +- .../addresources/values-is-rIS/strings.xml | 6 +- .../addresources/values-it-rIT/strings.xml | 14 +- .../addresources/values-iw-rIL/strings.xml | 14 +- .../addresources/values-ja-rJP/strings.xml | 22 +- .../addresources/values-ka-rGE/strings.xml | 6 +- .../addresources/values-kk-rKZ/strings.xml | 6 +- .../addresources/values-km-rKH/strings.xml | 6 +- .../addresources/values-kn-rIN/strings.xml | 6 +- .../addresources/values-ko-rKR/strings.xml | 14 +- .../addresources/values-ky-rKG/strings.xml | 6 +- .../addresources/values-lo-rLA/strings.xml | 6 +- .../addresources/values-lt-rLT/strings.xml | 14 +- .../addresources/values-lv-rLV/strings.xml | 14 +- .../addresources/values-mk-rMK/strings.xml | 6 +- .../addresources/values-ml-rIN/strings.xml | 6 +- .../addresources/values-mn-rMN/strings.xml | 6 +- .../addresources/values-mr-rIN/strings.xml | 6 +- .../addresources/values-ms-rMY/strings.xml | 6 +- .../addresources/values-my-rMM/strings.xml | 6 +- .../addresources/values-nb-rNO/strings.xml | 6 +- .../addresources/values-ne-rIN/strings.xml | 6 +- .../addresources/values-nl-rNL/strings.xml | 14 +- .../addresources/values-or-rIN/strings.xml | 6 +- .../addresources/values-pa-rIN/strings.xml | 6 +- .../addresources/values-pl-rPL/strings.xml | 14 +- .../addresources/values-pt-rBR/strings.xml | 14 +- .../addresources/values-pt-rPT/strings.xml | 14 +- .../addresources/values-ro-rRO/strings.xml | 14 +- .../addresources/values-ru-rRU/strings.xml | 14 +- .../addresources/values-si-rLK/strings.xml | 6 +- .../addresources/values-sk-rSK/strings.xml | 14 +- .../addresources/values-sl-rSI/strings.xml | 14 +- .../addresources/values-sq-rAL/strings.xml | 14 +- .../addresources/values-sr-rCS/strings.xml | 14 +- .../addresources/values-sr-rSP/strings.xml | 14 +- .../addresources/values-sv-rSE/strings.xml | 14 +- .../addresources/values-sw-rKE/strings.xml | 6 +- .../addresources/values-ta-rIN/strings.xml | 6 +- .../addresources/values-te-rIN/strings.xml | 6 +- .../addresources/values-th-rTH/strings.xml | 14 +- .../addresources/values-tr-rTR/strings.xml | 14 +- .../addresources/values-uk-rUA/strings.xml | 14 +- .../addresources/values-ur-rIN/strings.xml | 6 +- .../addresources/values-uz-rUZ/strings.xml | 6 +- .../addresources/values-vi-rVN/strings.xml | 14 +- .../addresources/values-zh-rCN/strings.xml | 14 +- .../addresources/values-zh-rTW/strings.xml | 14 +- .../addresources/values-zu-rZA/strings.xml | 6 +- 77 files changed, 564 insertions(+), 564 deletions(-) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 9ebebe4e6d..f62dfc7b24 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -21,7 +21,7 @@ Second \"item\" text" - فشلت الفحوصات + فشلت عمليات التحقق فتح الموقع الرسمي تجاهل <h5>لا يبدو أن هذا التطبيق قد تم تعديله من قبلك.</h5><br>قد لا يعمل هذا التطبيق بشكل صحيح، <b>قد يكون ضارًا أو حتى خطيرًا للاستخدام</b>.<br><br>تشير هذه الفحوصات إلى أن هذا التطبيق تم تعديله مسبقًا أو تم الحصول عليه من شخص آخر:<br><br><small>%1$s</small><br>يوصى بشدة بـ <b>إلغاء تثبيت هذا التطبيق وتعديله بنفسك</b> للتأكد من أنك تستخدم تطبيقًا معتمدًا وآمنًا.<p><br>في حالة تجاهل هذا التحذير، سيتم عرضه مرتين فقط. @@ -58,9 +58,9 @@ Second \"item\" text" مسح سجل البحث هل أنت متأكد أنك تريد مسح كل سجل البحث؟ نصائح البحث - "• انقر فوق مسار للتنقل إليه -• اضغط مطولاً على إعداد للتنقل إليه -• اضغط على Enter لحفظ استعلام بحث في السجل + "• انقر على مسار للانتقال إليه +• اضغط مطولًا على إعداد للانتقال إليه +• اضغط على Enter لحفظ استعلام البحث في السجل • يتجاهل البحث حالة الأحرف وعلامات الترقيم • تظهر الإعدادات الرئيسية فوق الإعدادات الفرعية المعطلة" سجل البحث فارغ @@ -81,7 +81,7 @@ Second \"item\" text" أنت تستخدم إصدار ReVanced Patches <i>%s</i> ملاحظة - هذه النسخة هي إصدار مسبق وقد تواجه مشكلات غير متوقعة + هذه النسخة هي إصدار ما قبل الإصدار وقد تواجه مشكلات غير متوقعة الروابط الرسمية @@ -94,7 +94,7 @@ Second \"item\" text" الإجراء مطلوب "لا يملك MicroG GmsCore صلاحية التشغيل في الخلفية. -اتبع دليل \"لا تقتل تطبيقي\" لهاتفك، وطبّق التعليمات لتثبيت MicroG. +اتبع دليل \"لا تغلق تطبيقي\" لهاتفك، وطبّق التعليمات على تثبيت MicroG. هذا مطلوب لعمل التطبيق." فتح الموقع @@ -108,18 +108,25 @@ Second \"item\" text" Spoof Video Streams تزييف تدفقات الفيديو الخاصة بالعميل لمنع حدوث مشكلات أثناء التشغيل - انتحال بثوث الفيديو - انتحال بثوث الفيديو الخاصة بالعميل لمنع مشكلات التشغيل + Spoof Video Streams + تزييف بثوث الفيديو الخاصة بالعميل لمنع مشكلات التشغيل Spoof Video Streams - "تدفقات الفيديو مزورة + "يتم تزييف تدفقات الفيديو إذا كنت مستخدمًا لـ YouTube Premium، فقد لا يكون هذا الإعداد مطلوبًا" - "لم يتم انتحال بثوث الفيديو + "لا يتم تزييف تدفقات الفيديو -قد لا يعمل التشغيل" +قد لا يعمل تشغيل الفيديو" قد يؤدي إيقاف تشغيل هذا الإعداد إلى مشكلات في التشغيل. العميل الافتراضي + + فرض لغة الصوت الأصلية + استخدام لغة الصوت الأصلية + استخدام الصوت الافتراضي + + لاستخدام هذه الميزة، غيّر \"تزوير تدفقات الفيديو\" إلى أي عميل باستثناء Android Studio + تصحيح الأخطاء تمكين أو تعطيل خيارات تصحيح الأخطاء @@ -147,18 +154,18 @@ Second \"item\" text" تطهير روابط المشاركة - تمت إزالة معلمة استعلام التتبع من الروابط المشتركة - لم تتم إزالة معلمة استعلام التتبع من الروابط المشتركة + تمت إزالة معلمة استعلام التتبع من الروابط عند المشاركة + لم تتم إزالة معلمة استعلام التتبع من الروابط عند المشاركة تغيير روابط المشاركة إلى youtube.com - تستخدم الروابط المشتركة youtube.com - تستخدم الروابط المشتركة music.youtube.com + تستخدم روابط المشاركة youtube.com + تستخدم روابط المشاركة music.youtube.com لمحة الإعلانات - مُصغَّرات فيديو بديلة + مصغرات فيديو بديلة الموجز عام المشغل @@ -205,23 +212,23 @@ Second \"item\" text" تم إخفاء مربع التمويل الجماعي يتم عرض مربع التمويل الجماعي إخفاء البطاقة القابلة للتوسيع - البطاقة القابلة للتوسيع أسفل مقاطع الفيديو مخفية - البطاقة القابلة للتوسيع أسفل مقاطع الفيديو معروضة + تم إخفاء البطاقة القابلة للتوسيع أسفل مقاطع الفيديو + يتم عرض البطاقة القابلة للتوسيع أسفل مقاطع الفيديو إخفاء زر الميكروفون العائم - زر الميكروفون العائم في البحث مخفي - يظهر زر الميكروفون العائم في البحث + تم إخفاء زر الميكروفون العائم في البحث + يتم عرض زر الميكروفون العائم في البحث إخفاء الرفوف الأفقية - "الأرفف الأفقية مخفية، مثل: + "تم إخفاء الأرفف الأفقية، مثل: • الأخبار العاجلة • متابعة المشاهدة • استكشاف المزيد من القنوات • الأكثر صلة • التسوق -• شاهدها مرة أخرى" - الأرفف الأفقية معروضة +• أريد أن اشاهدها مرة أخرى" + يتم عرض الأرفف الأفقية إخفاء رف الصور - رف الصور في نتائج البحث مخفي - رف الصور في نتائج البحث معروض + تم إخفاء رف الصور في نتائج البحث + يتم عرض رف الصور في نتائج البحث إخفاء آخر المشاركات تم إخفاء أحدث المشاركات يتم عرض أحدث المشاركات @@ -234,33 +241,33 @@ Second \"item\" text" إخفاء زر \'تنبيهي\' - زر إشعاري مخفي - زر إشعاري معروض + تم إخفاء زر تنبيهي + يتم عرض زر تنبيهي إخفاء هيّا نلعب تم إخفاء هيّا نلعب يتم عرض هيّا نلعب إخفاء زر \'عرض المزيد\' - زر إظهار المزيد في نتائج البحث مخفي - زر إظهار المزيد في نتائج البحث معروض + تم إخفاء زر عرض المزيد في نتائج البحث + يتم إظهار زر عرض المزيد في نتائج البحث إخفاء الاستبيانات - الاستطلاعات مخفية - الاستطلاعات معروضة + تم إخفاء الاستبيانات + يتم عرض الاستبيانات إخفاء رف التذاكر تم إخفاء رف التذاكر يتم عرض رف التذاكر إخفاء تسميات توصيات الفيديو - تسميات \'شاهد المستخدمون أيضاً\' و\'قد يعجبك أيضاً\' في نتائج البحث مخفية - تسميات \'شاهد المستخدمون أيضاً\' و\'قد يعجبك أيضاً\' في نتائج البحث معروضة + تم إخفاء تسميات \'شاهد المستخدمون أيضًا\' و\'قد يعجبك أيضًا\' في نتائج البحث + يتم عرض تسميات \'شاهد المستخدمون أيضًا\' و\'قد يعجبك أيضًا\' في نتائج البحث إخفاء رسومات YouTube - رسوم Doodles المتحركة في شعار YouTube مخفية - يتم عرض رسوم متحركة Doodles من YouTube على الشعار - "تظهر \"\"Doodles\"\" على YouTube بضعة أيام كل عام. + تم إخفاء رسوم Doodles المتحركة على شعار YouTube + يتم عرض رسوم Doodles المتحركة على شعار YouTube + "تظهر رسومات YouTube Doodles لعدة أيام كل عام. -إذا كان يتم عرض \"Doodle\" حاليًا في منطقتك وإذا كان إعداد الإخفاء هذا قيد التشغيل، فسيتم أيضًا إخفاء شريط التصفية أسفل شريط البحث." +إذا كانت رسومات Doodles تظهر حاليًا في منطقتك وكان إعداد الإخفاء هذا قيد التشغيل، فسيتم أيضًا إخفاء شريط الفلتر الموجود أسفل شريط البحث." إخفاء شريط القناة تم إخفاء شريط القناة يتم عرض شريط القناة @@ -276,17 +283,17 @@ Second \"item\" text" إخفاء زر الانضمام - زر الانضمام مخفي - زر الانضمام معروض + تم إخفاء زر الانضمام + يتم عرض زر الانضمام إخفاء اللوحات الطبية تم إخفاء اللوحات الطبية يتم عرض اللوحات الطبية إخفاء الإجراءات السريعة - الإجراءات السريعة في وضع ملء الشاشة مخفية - الإجراءات السريعة في وضع ملء الشاشة معروضة - إخفاء مقاطع الفيديو ذات الصلة - مقاطع الفيديو ذات الصلة في الإجراءات السريعة مخفية - مقاطع الفيديو ذات الصلة في الإجراءات السريعة معروضة + تم إخفاء الإجراءات السريعة في ملء الشاشة + يتم عرض الإجراءات السريعة في ملء الشاشة + إخفاء الفيديوهات ذات الصلة + تم إخفاء الفيديوهات ذات الصلة في الإجراءات السريعة + يتم عرض الفيديوهات ذات الصلة في الإجراءات السريعة إخفاء إرشادات المشتركين تم إخفاء إرشادات مجتمع المشتركين يتم عرض إرشادات مجتمع المشتركين @@ -294,11 +301,11 @@ Second \"item\" text" تم إخفاء ردود الفعل المؤقتة يتم عرض ردود الفعل المؤقتة إخفاء \'ملخص الفيديو الذي تم إنشاؤه بواسطة الذكاء الاصطناعي\' - قسم ملخص الفيديو الذي تم إنشاؤه بواسطة الذكاء الاصطناعي مخفي - قسم ملخص الفيديو الذي تم إنشاؤه بواسطة الذكاء الاصطناعي معروض - إخفاء \"Ask\" - تم إخفاء قسم \"Ask\" - يتم عرض قسم \"Ask\" + تم إخفاء قسم ملخص الفيديو الذي تم إنشاؤه بواسطة AI + يتم عرض قسم ملخص الفيديو الذي تم إنشاؤه بواسطة AI + إخفاء طرح سؤال + تم إخفاء قسم طرح سؤال + يتم عرض قسم طرح سؤال إخفاء الصفات تم إخفاء أقسام الأماكن المميزة، الألعاب، الموسيقى والأشخاص المذكورون يتم عرض أقسام الأماكن المميزة، الألعاب، الموسيقى والأشخاص المذكورون @@ -323,65 +330,65 @@ Second \"item\" text" وصف الفيديو إخفاء أو عرض مكونات وصف الفيديو شريط التصفية - إخفاء أو إظهار شريط الفلترة في الموجزات ومقاطع الفيديو ذات الصلة ونتائج البحث وسجل المشاهدة + إخفاء أو عرض شريط الفلترة في الموجزات والفيديوهات ذات الصلة ونتائج البحث وسجل المشاهدة إخفاء في الموجز مخفي في الموجز - معروض في الموجز + يُعرض في الموجز إخفاء في الفيديوهات ذات الصلة مخفي في الفيديوهات ذات الصلة يُعرض في الفيديوهات ذات الصلة إخفاء في نتائج البحث مخفي في نتائج البحث يُعرض في نتائج البحث - إخفاء في سجل المشاهدة - مخفي في سجل المشاهدة - معروض في سجل المشاهدة + إخفاء في السجلّ + مخفي في السجلّ + يُعرض في السجلّ صفحة القناة - إخفاء أو إظهار مكونات صفحة القناة + إخفاء أو عرض مكونات صفحة القناة إخفاء رف \'مقترحات لك\' - رف \"لك\" مخفي - رف \"لك\" معروض + تم إخفاء رف مقترح لك + يتم عرض رف مقترح لك إخفاء معاينة الروابط - معاينة الروابط مخفية - معاينة الروابط معروضة + تم إخفاء معاينة الروابط + يتم عرض معاينة الروابط إخفاء رف الأعضاء - رف الأعضاء مخفي + تم إخفاء رف الأعضاء يتم عرض رف الأعضاء - إخفاء زر \"زيارة المنتدى\" - زر \"زيارة المنتدى\" مخفي - زر زيارة المجتمع معروض + إخفاء زر \'زيارة المجتمع\' + تم إخفاء زر زيارة المجتمع + يتم عرض زر زيارة المجتمع - إخفاء زر \'زيارة المتجر\' على صفحات القناة - زر زيارة المتجر مخفي - زر زيارة المتجر معروض + إخفاء زر \'زيارة المتجر\' + تم إخفاء زر زيارة المتجر + يتم عرض زر زيارة المتجر التعليقات إخفاء أو عرض مكونات قسم التعليقات - إخفاء ملخص الدردشة بالذكاء الاصطناعي - ملخص الدردشة بالذكاء الاصطناعي مخفي - ملخص الدردشة بالذكاء الاصطناعي معروض + إخفاء ملخص محادثات الذكاء الاصطناعي + تم إخفاء ملخص محادثة الذكاء الاصطناعي + يتم عرض ملخص محادثة الذكاء الاصطناعي إخفاء ملخص تعليقات الذكاء الاصطناعي - ملخص تعليقات الذكاء الاصطناعي مخفي - ملخص تعليقات الذكاء الاصطناعي معروض + تم إخفاء ملخص تعليقات الذكاء الاصطناعي + يتم عرض ملخص تعليقات الذكاء الاصطناعي إخفاء إرشادات القناة - إرشادات القناة مخفية - إرشادات القناة معروضة - إخفاء رأس \'تعليقات الأعضاء\' + تم إخفاء إرشادات القناة + يتم عرض إرشادات القناة + إخفاء علامة \'تعليقات بواسطة الأعضاء\' تم إخفاء علامة تعليقات من الأعضاء يتم عرض علامة تعليقات من الأعضاء إخفاء قسم التعليقات تم إخفاء قسم التعليقات يتم عرض قسم التعليقات - إخفاء إرشادات المنتدى - إرشادات المجتمع مخفية - إرشادات المجتمع معروضة + إخفاء إرشادات المجتمع + تم إخفاء إرشادات المجتمع + يتم عرض إرشادات المجتمع إخفاء زر \'إنشاء Short\' تم إخفاء زر إنشاء Short يتم عرض زر إنشاء Short إخفاء أزرار الرموز التعبيرية والطابع الزمني - أزرار الرموز التعبيرية والطابع الزمني مخفية - أزرار الرموز التعبيرية والطابع الزمني معروضة + تم إخفاء أزرار الرموز التعبيرية والطوابع الزمنية + يتم عرض أزرار الرموز التعبيرية والطوابع الزمنية إخفاء تعليق المعاينة تم إخفاء تعليق المعاينة يتم عرض تعليق المعاينة @@ -398,28 +405,28 @@ Second \"item\" text" قائمة سلاسل منشئ مسار المكونات المراد تصفيتها مفصولة بسطر جديد فلتر مخصص غير صالح: %s إخفاء عدد المشاهدات - عدد المشاهدات مخفي في الموجز ونتائج البحث - عدد المشاهدات ظاهر في الموجز ونتائج البحث + تم إخفاء عدد المشاهدات في الموجز ونتائج البحث + يتم عرض عدد المشاهدات في الموجز ونتائج البحث - "قيود: + "القيود: • رفوف Shorts وصفحات القنوات ونتائج البحث قد تظل تعرض أعداد المشاهدات -• هذه الميزة لا تعمل مع عامل الشكل الخاص بالسيارات" +• هذه الميزة لا تعمل مع عامل الشكل Automotive" إخفاء وقت التحميل - وقت التحميل مخفي في الخلاصة ونتائج البحث - وقت التحميل معروض في الخلاصة ونتائج البحث + تم إخفاء وقت التحميل في الموجز ونتائج البحث + يتم عرض وقت التحميل في الموجز ونتائج البحث "القيود: • قد تظل أرفف Shorts وصفحات القنوات ونتائج البحث تُظهر أوقات التحميل -• هذه الميزة لا تعمل مع عامل شكل السيارات" - إخفاء محتوى الكلمات المفتاحية +• هذه الميزة لا تعمل مع عامل الشكل Automotive" + إخفاء محتوى بالكلمات المفتاحية إخفاء فيديوهات البحث والموجز باستخدام فلاتر الكلمات المفتاحية إخفاء فيديوهات الصفحة الرئيسية بواسطة الكلمات المفتاحية - تتم تصفية الفيديوهات في علامة التبويب \"الصفحة الرئيسية\" حسب الكلمات المفتاحية - لا تتم تصفية الفيديوهات في علامة التبويب \"الصفحة الرئيسية\" حسب الكلمات المفتاحية + تتم تصفية الفيديوهات في علامة التبويب \'الصفحة الرئيسية\' حسب الكلمات المفتاحية + لا تتم تصفية الفيديوهات في علامة التبويب \'الصفحة الرئيسية\' حسب الكلمات المفتاحية إخفاء نتائج البحث عن طريق الكلمات المفتاحية يتم تصفية نتائج البحث حسب الكلمات المفتاحية لا يتم تصفية نتائج البحث حسب الكلمات المفتاحية - إخفاء الفيديوهات الخاصة بالاشتراك عن طريق الكلمات المفتاحية + إخفاء الفيديوهات الخاصة بالاشتراكات عن طريق الكلمات المفتاحية يتم تصفية الفيديوهات في علامة التبويب الاشتراكات حسب الكلمات المفتاحية لا يتم تصفية الفيديوهات في علامة التبويب الاشتراكات حسب الكلمات المفتاحية الكلمات المفتاحية المراد إخفاؤها @@ -430,7 +437,7 @@ Second \"item\" text" يمكن أن تكون الكلمات عبارة عن أسماء قنوات أو أي نص يظهر في عناوين الفيديوهات يجب إدخال الكلمات التي تحتوي على أحرف كبيرة في المنتصف بنفس الحالة (على سبيل المثال: iPhone, TikTok, LeBlanc)" - حول تصفية الكلمات المفتاحية + لمحة عن تصفية الكلمات المفتاحية "الصفحة الرئيسية/الاشتراكات/نتائج البحث يتم تصفيتها لإخفاء المحتوى الذي يتطابق مع كلمات البحث القيود @@ -439,21 +446,21 @@ Second \"item\" text" • البحث عن كلمة ما قد لا يعطي نتائج" مطابقة الكلمات بأكملها - سيؤدي وضع علامة اقتباس مزدوجة حول كلمة رئيسية/عبارة إلى منع التطابقات الجزئية لعناوين الفيديو وأسماء القنوات.<br><br>على سبيل المثال،<br><b>\"ai\"</b> سيخفي الفيديو: <b>How does AI work?</b><br>ولكن لن يخفي: <b>What does fair use mean?</b> + سيؤدي وضع علامة اقتباس مزدوجة حول كلمة مفتاحية/عبارة إلى منع التطابقات الجزئية لعناوين الفيديو وأسماء القنوات<br><br>على سبيل المثال،<br><b>\"ai\"</b> سيخفي الفيديو: <b>How does AI work?</b><br><b>ولكن لن يخفي:<b>What does fair use mean?</b> لا يمكن استخدام الكلمة المفتاحية: %s إضافة اقتباسات لاستخدام الكلمة المفتاحية: %s - الكلمة المفتاحية لها بيانات متضاربة: %s + الكلمة المفتاحية بها تعريفات متعارضة: %s الكلمة المفتاحية قصيرة جدًا وتتطلب اقتباسات: %s الكلمة المفتاحية سوف تخفي جميع الفيديوهات: %s - إخفاء رف متجر المبدع - رف متجر المنشئ أسفل مشغل الفيديو مخفي - يتم عرض رف متجر المنشئ تحت مشغل الفيديو + إخفاء رف متجر المنشئ + تم إخفاء رف متجر المنشئ أسفل مشغل الفيديو + يتم عرض رف متجر المنشئ أسفل مشغل الفيديو إخفاء لافتة شاشة المتجر النهائية - لافتة متجر الشاشة النهائية مخفية - لافتة متجر الشاشة النهائية معروضة + تم إخفاء لافتة المتجر بالشاشة النهائية + يتم عرض لافتة المتجر بالشاشة النهائية إخفاء إعلانات ملء الشاشة "يتم إخفاء إعلانات ملء الشاشة @@ -474,11 +481,11 @@ Second \"item\" text" تم إخفاء بطاقات الرعاية الذاتية يتم عرض بطاقات الرعاية الذاتية إخفاء روابط التسوق - روابط التسوق في وصف الفيديو مخفية + تم إخفاء روابط التسوق في وصف الفيديو يتم عرض روابط التسوق في وصف الفيديو إخفاء لافتة \'عرض المنتجات\' - لافتة عرض المنتجات في تراكب الفيديو مخفية - لافتة عرض المنتجات في تراكب الفيديو معروضة + تم إخفاء لافتة عرض المنتجات في واجهة الفيديو + يتم عرض لافتة عرض المنتجات في واجهة الفيديو إخفاء نتائج بحث الويب تم إخفاء نتائج البحث على الويب يتم عرض نتائج البحث على الويب @@ -511,8 +518,8 @@ Second \"item\" text" تعطيل النافذة المنبثقة لتسجيل الدخول إلى التلفزيون - النافذة المنبثقة لتسجيل الدخول إلى التلفزيون معطلة - النافذة المنبثقة لتسجيل الدخول إلى التلفزيون مفعلة + تم تعطيل نافذة تسجيل الدخول إلى التلفزيون + تم تمكين نافذة تسجيل الدخول إلى التلفزيون تعطيل تخطي الفصل بالنقر المزدوج @@ -526,7 +533,7 @@ Second \"item\" text" يتم عرض زر التنزيل في المشغل لا يتم عرض زر التنزيل في المشغل - تجاوز زر إجراء التنزيل + تجاوز زر إجراء زر التنزيل يفتح زر التنزيل أداة التنزيل الخارجية يفتح زر التنزيل أداة التنزيل الأصلية داخل التطبيق اسم حزمة أداة التنزيل @@ -542,8 +549,8 @@ Second \"item\" text" تعطيل إيماءة التمرير الدقيقة - تم تعطيل الإيماءة - تم تمكين الإيماءة + تم تعطيل إيماءة التمرير الدقيقة + تم تمكين إيماءة التمرير الدقيقة تمكين النقر للتمرير @@ -551,19 +558,19 @@ Second \"item\" text" تم تعطيل النقر للتمرير - التحكم بالسطوع عن طريق ايماءة التمرير - "تم تمكين التمرير السريع لضبط السطوع في وضع ملء الشاشة + تمكين إيماءة السطوع + "تم تمكين إيماءة مستوى السطوع في وضع ملء الشاشة -اضبط السطوع عن طريق التمرير عموديًا على الجانب الأيسر من الشاشة" - تم تعطيل التمرير السريع لضبط السطوع في وضع ملء الشاشة - تمكين التحكم بالصوت عن طريق إيماءة التمرير - "تم تمكين التمرير السريع لضبط مستوى الصوت في وضع ملء الشاشة +اضبط مستوى السطوع بالتمرير عموديًا على يسار الشاشة" + تم تعطيل إيماءة مستوى السطوع في وضع ملء الشاشة + تمكين إيماءة الصوت + "تم تمكين إيماءة مستوى الصوت في وضع ملء الشاشة اضبط مستوى الصوت عن طريق التمرير عموديًا على الجانب الأيمن من الشاشة" - تم تعطيل التمرير السريع لضبط مستوى الصوت في وضع ملء الشاشة - تمكين الضغط على إيماءة التمرير السريع - تم تمكين الضغط للتمرير السريع - تم تعطيل الضغط للتمرير السريع + تم تعطيل إيماءة مستوى الصوت في وضع ملء الشاشة + تمكين الضغط لتمرير الإيماءة + تم تمكين الضغط لتمرير الإيماءة + تم تعطيل الضغط لتمرير الإيماءة الاهتزاز عند الضغط تم تمكين الاهتزاز عند الضغط تم تعطيل الاهتزاز عند الضغط @@ -576,29 +583,29 @@ Second \"item\" text" تلقائي مهلة واجهة التمرير مقدار الوقت الذي تظهر فيه واجهة التمرير بعد التغيير بجزء الثانية - تعتيم خلفية واجهة التمرير السريع - قيمة التعتيم بين 0-100 - يجب أن يكون تعتيم التمرير السريع بين 0-100 - لون سطوع واجهة التمرير - لون شريط التقدم لعناصر التحكم في السطوع - لون مستوى صوت واجهة التمرير - لون شريط التقدم لعناصر التحكم في مستوى الصوت - حجم نص واجهة التمرير - حجم النص لواجهة التمرير بين 1-30 + تعتيم خلفية واجهة التمرير + قيمة الشفافية بين 0-100 + يجب أن تكون شفافية التمرير بين 0-100 + لون نمط إيماءة السطوع + لون شريط عناصر التحكم في مستوى السطوع + لون نمط إيماءة الصوت + لون شريط عناصر التحكم في مستوى الصوت + حجم نص نمط إيماءة التمرير + حجم النص لنمط التمرير بين 1-30 يجب أن يكون حجم النص بين 1-30 مقدار حد التمرير - الحد الأدنى من التمرير قبل اكتشاف الإيماءة - حساسية إيماءة تمرير مستوى الصوت + مقدار الحد الأقصى لحدوث التمرير + حساسية تمرير مستوى الصوت مقدار تغير مستوى الصوت لكل تمريرة نمط واجهة التمرير - واجهة أفقية - واجهة أفقية (الأدنى - الأعلى) - واجهة أفقية (الأدنى - المنتصف) - واجهة دائرية - واجهة دائرية (الأدنى) - واجهة عمودية - واجهة عمودية (الأدنى) - تمكين إيماءة التمرير لتغيير الفيديو + النمط الافقي + النمط الأفقي (الأدنى - الأعلى) + النمط الأفقي (الأدنى - المنتصف) + النمط الدائري + النمط الدائري (الأدنى) + النمط العمودي + النمط العمودي (الأدنى) + تمكين إيماءة التمرير لتغيير الفيديوهات سيؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق لن يؤدي التمرير في وضع ملء الشاشة إلى التغيير للفيديو التالي/السابق @@ -610,9 +617,9 @@ Second \"item\" text" أزرار الإجراء إخفاء أو عرض الأزرار تحت الفيديوهات - إيقاف تفعيل توهج الإعجاب والاشتراك - لن يتوهَّج زرّي أعجبني واشتراك عند ذكرهما - سيتوهَّج زرّي أعجبني واشتراك عند ذكرهما + تعطيل توهج الإعجاب والاشتراك + لن يتوهج زر أعجبني والاشتراك عند الإشارة إليه + سيتوهَّج زر أعجبني والاشتراك عند الإشارة إليه إخفاء أعجبني ولم يعجبني تم إخفاء أزرار أعجبني ولم يعجبني يتم عرض أزرار أعجبني ولم يعجبني @@ -622,12 +629,12 @@ Second \"item\" text" يتم عرض زر مشاركة إخفاء إيقاف الإعلانات - زر إيقاف الإعلانات مخفي - زر إيقاف الإعلانات معروض + تم إخفاء زر إيقاف الإعلانات + يتم عرض زر إيقاف الإعلانات إخفاء التعليقات - زر التعليقات مخفي - زر التعليقات ظاهر + تم إخفاء زر التعليقات + يتم عرض زر التعليقات إخفاء الإبلاغ @@ -638,39 +645,39 @@ Second \"item\" text" تم إخفاء زر ريمكس يتم عرض زر ريمكس - إخفاء التنزيل - تم إخفاء زر التنزيل - يتم عرض زر التنزيل + إخفاء تنزيل + تم إخفاء زر تنزيل + يتم عرض زر تنزيل - إخفاء الضجة - زر الضجة مخفي - يظهر زر الحماس + إخفاء التشجيع + تم إخفاء زر التشجيع + يتم عرض زر التشجيع إخفاء الترويج - زر الترويج مخفي - زر الترويج ظاهر + تم إخفاء زر الترويج + يتم عرض زر الترويج إخفاء شكرًا تم إخفاء زر شكرًا يتم عرض زر شكرًا - إخفاء \"Ask\" - تم إخفاء زر \"Ask\" - يتم عرض زر \"Ask\" + إخفاء طرح سؤال + تم إخفاء زر طرح سؤال + يتم عرض زر طرح سؤال إخفاء المقطع - تم إخفاء زر إنشاء مقطع - يتم عرض زر إنشاء مقطع + تم إخفاء زر المقطع + يتم عرض زر المقطع إخفاء المتجر - زر المتجر مخفي - زر المتجر معروض + تم إخفاء زر المتجر + يتم عرض زر المتجر إخفاء حفظ - زر الحفظ مخفي - زر الحفظ معروض + تم إخفاء زر حفظ + يتم عرض زر حفظ أزرار التنقل @@ -684,7 +691,7 @@ Second \"item\" text" تم إخفاء زر Shorts يتم عرض زر Shorts - إخفاء الإنشاء + إخفاء إنشاء تم إخفاء زر الإنشاء يتم عرض زر الإنشاء @@ -695,7 +702,7 @@ Second \"item\" text" تم إخفاء زر الإشعارات يتم عرض زر الإشعارات - تبديل الإنشاء مع الإشعارات + تبديل الإنشاء بالإشعارات "تم تبديل زر الإنشاء بـزر الإشعارات ملاحظة: يؤدي تمكين هذا أيضًا إلى إخفاء إعلانات الفيديو بالقوة" @@ -1513,13 +1520,6 @@ Second \"item\" text" فتح الروابط في متصفح خارجي فتح الروابط في متصفح داخل التطبيق - - فرض لغة الصوت الأصلية - استخدام لغة الصوت الأصلية - استخدام الصوت الافتراضي - - لاستخدام هذه الميزة، غيّر \"تزوير تدفقات الفيديو\" إلى أي عميل باستثناء Android Studio - تلقائي diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index 97160e13f1..5d97c0fd28 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -35,6 +35,9 @@ Second \"item\" text" + + + @@ -229,9 +232,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index e3cd54cb04..96b4fb1494 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -120,6 +120,13 @@ Oynatma işləməyə bilər" Bu tənzimləməni qapatmaq oynatma problemlərinə səbəb ola bilər. İlkin qəbuledici + + Orijinal səs dilini zorla + Orijinal səs dilini istifadə + İlkin səs istifadəsi + + Bu funksiyanı istifadə etmək üçün \"Video yayımları saxtalaşdırı\" Android Studio savayı istənilən qəbulediciyə dəyiş + Sazlama Sazlama seçimlərini aktiv/qeyri-aktiv et @@ -1512,13 +1519,6 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər Xarici brauzerdə bağlantıların açılması Tətbiqdaxili brauzerdə bağlantıların açılması - - Orijinal səs dilini zorla - Orijinal səs dilini istifadə - İlkin səs istifadəsi - - Bu funksiyanı istifadə etmək üçün \"Video yayımları saxtalaşdırı\" Android Studio savayı istənilən qəbulediciyə dəyiş - Avtomatik diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 31c20e333c..9e18c02420 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" Адключэнне гэтай налады можа выклікаць праблемы з прайграваннем. Клиент по умолчанию + + Вымушаная арыгінальная мова аўдыё + Выкарыстоўваць арыгінальную мову аўдыя + Выкарыстанне аўдыё па змаўчанні + + Каб выкарыстаць гэтую функцыю, змяніце \'Падмена відэаструменяў\' на любога кліента, акрамя Android Studio + Адладка Уключыць або выключыць параметры адладкі @@ -1514,13 +1521,6 @@ Second \"item\" text" Адкрыццё спасылак у знешнім браўзеры Адкрыццё спасылак ва ўбудаваным браўзеры - - Вымушаная арыгінальная мова аўдыё - Выкарыстоўваць арыгінальную мову аўдыя - Выкарыстанне аўдыё па змаўчанні - - Каб выкарыстаць гэтую функцыю, змяніце \'Падмена відэаструменяў\' на любога кліента, акрамя Android Studio - Аўто diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 9ab0c994ef..e20e42b096 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" Изключването на тази настройка може да причини проблеми с възпроизвеждането. Клиент по подразбиране + + Принудително оригинално аудио език + Използване на оригиналния език на аудиото + Използване на аудио по подразбиране + + За да използвате тази функция, променете \'Фалшифициране на видео потоци\' на всеки клиент, освен Android Studio + Отстраняване на грешки Активиране или деактивиране на отстраняването на грешки @@ -1513,13 +1520,6 @@ Second \"item\" text" Отваряне на връзки във външен браузър Отваряне на връзки във вграден браузър - - Принудително оригинално аудио език - Използване на оригиналния език на аудиото - Използване на аудио по подразбиране - - За да използвате тази функция, променете \'Фалшифициране на видео потоци\' на всеки клиент, освен Android Studio - Авто diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 550fc078a6..3e6d1a701a 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -120,6 +120,13 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ এই সেটিং বন্ধ করলে প্লেব্যাক সমস্যা হতে পারে। ডিফল্ট ক্লায়েন্ট + + মূল অডিও ভাষা বলপূর্বক চালু করুন + মূল অডিও ভাষা ব্যবহার করা হচ্ছে + ডিফল্ট অডিও ব্যবহার করছে + + এই বৈশিষ্ট্যটি ব্যবহার করতে, \'ভিডিও স্ট্রিম স্পুফ করুন\' অ্যান্ড্রয়েড স্টুডিও ছাড়া অন্য কোনো ক্লায়েন্টে পরিবর্তন করুন + ডিবাগিং ডিবাগিং অপশন সক্রিয় বা নিষ্ক্রিয় করুন @@ -1509,13 +1516,6 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট বাহ্যিক ব্রাউজারে লিঙ্ক খোলা হচ্ছে ইন-অ্যাপ ব্রাউজারে লিঙ্ক খোলা হচ্ছে - - মূল অডিও ভাষা বলপূর্বক চালু করুন - মূল অডিও ভাষা ব্যবহার করা হচ্ছে - ডিফল্ট অডিও ব্যবহার করছে - - এই বৈশিষ্ট্যটি ব্যবহার করতে, \'ভিডিও স্ট্রিম স্পুফ করুন\' অ্যান্ড্রয়েড স্টুডিও ছাড়া অন্য কোনো ক্লায়েন্টে পরিবর্তন করুন - স্বতস্ফূর্তভাবে diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 0b681f1d1f..10e706ea7d 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -120,6 +120,13 @@ Přehrávání nemusí fungovat" Vypnutí tohoto nastavení může způsobit problémy s přehráváním. Výchozí klient
+ + Vynutit původní jazyk zvuku + Použít původní jazyk zvuku + Používání výchozího zvuku + + Chcete-li použít tuto funkci, změňte \'Zfalšovat video streamy\' na libovolného klienta kromě Android Studia + Debugování Povolit nebo zakázat debugovací možnosti @@ -1513,13 +1520,6 @@ Povolením této funkce lze odemknout vyšší kvality videa" Otevírání odkazů v externím prohlížeči Otevírání odkazů v prohlížeči v aplikaci - - Vynutit původní jazyk zvuku - Použít původní jazyk zvuku - Používání výchozího zvuku - - Chcete-li použít tuto funkci, změňte \'Zfalšovat video streamy\' na libovolného klienta kromě Android Studia - Automaticky diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index b252891b36..7bc6b8c921 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -120,6 +120,13 @@ Afspilning fungerer muligvis ikke" Deaktivering af denne indstilling kan forårsage afspilningsproblemer. Standard klient + + Tving originalt lydsprog + Bruger originalt lydsprog + Brug standard lyd + + For at bruge denne funktion skal du ændre \"Forfalsk videostreams\" til en hvilken som helst klient undtagen Android Studio + Fejlfinding Aktivér eller deaktiver fejlfindingsindstillinger @@ -1515,13 +1522,6 @@ Aktivering af dette kan låse op for højere videokvalitet" Åbner links i ekstern browser Åbner links i browser i appen - - Tving originalt lydsprog - Bruger originalt lydsprog - Brug standard lyd - - For at bruge denne funktion skal du ændre \"Forfalsk videostreams\" til en hvilken som helst klient undtagen Android Studio - Automatisk diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index c1a617cc80..edb4d484dd 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -120,6 +120,13 @@ Die Wiedergabe funktioniert möglicherweise nicht" Das Deaktivieren dieser Einstellung kann Wiedergabeprobleme verursachen. Standard-Client + + Original Audio erzwingen + Original-Audiosprache verwenden + Standardaudio verwenden + + Um diese Funktion zu nutzen, ändere \"Video-Streams fälschen\" auf einen beliebigen Client außer Android Studio + Fehlerbehebung Aktiviert oder deaktiviert Debugging-Optionen @@ -1510,13 +1517,6 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w Links im externen Browser öffnen Links im In-App-Browser öffnen - - Original Audio erzwingen - Original-Audiosprache verwenden - Standardaudio verwenden - - Um diese Funktion zu nutzen, ändere \"Video-Streams fälschen\" auf einen beliebigen Client außer Android Studio - Autom diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 6802840f5f..52b072bbaa 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" Η απενεργοποίηση αυτής της ρύθμισης ενδέχεται να προκαλέσει προβλήματα αναπαραγωγής. Προεπιλεγμένο πρόγραμμα πελάτη + + Εξαναγκασμός αρχικής γλώσσας ήχου + Χρησιμοποιείται η αρχική γλώσσα ήχου + Χρησιμοποιείται ο προεπιλεγμένος ήχος + + Για να χρησιμοποιήσετε αυτήν τη λειτουργία, αλλάξτε την επιλογή «Παραποίηση ροών βίντεο» σε οποιονδήποτε πελάτη εκτός από το Android Studio + Εντοπισμός σφαλμάτων Ενεργοποίηση ή απενεργοποίηση επιλογών εντοπισμού σφαλμάτων @@ -1512,13 +1519,6 @@ Second \"item\" text" Οι σύνδεσμοι ανοίγουν σε εξωτερικό πρόγραμμα περιήγησης Οι σύνδεσμοι ανοίγουν στο εσωτερικό πρόγραμμα περιήγησης της εφαρμογής - - Εξαναγκασμός αρχικής γλώσσας ήχου - Χρησιμοποιείται η αρχική γλώσσα ήχου - Χρησιμοποιείται ο προεπιλεγμένος ήχος - - Για να χρησιμοποιήσετε αυτήν τη λειτουργία, αλλάξτε την επιλογή «Παραποίηση ροών βίντεο» σε οποιονδήποτε πελάτη εκτός από το Android Studio - Αυτόματη diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index bebfd2ef85..8cdcce5c5e 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -120,6 +120,13 @@ La reproducción podría no funcionar" Desactivar esta configuración puede causar problemas de reproducción. Cliente por defecto + + Forzar idioma de audio original + Usar el idioma de audio original + Utilizando audio predeterminado + + Para usar esta función, cambia \'Falsificar transmisiones de vídeo\' a cualquier cliente excepto Android Studio + Depuración Activar o desactivar las opciones de depuración @@ -1504,13 +1511,6 @@ Habilitar esto puede desbloquear calidades de vídeo más altas" Abrir enlaces en el navegador externo Abrir enlaces en el navegador integrado en la aplicación - - Forzar idioma de audio original - Usar el idioma de audio original - Utilizando audio predeterminado - - Para usar esta función, cambia \'Falsificar transmisiones de vídeo\' a cualquier cliente excepto Android Studio - Automático diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 16bde5d037..3300b1aa9d 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -120,6 +120,13 @@ Taasesitus ei pruugi töötada" Selle sätte väljalülitamine võib põhjustada taasesitusprobleeme. Vaikimisi klient + + Sunni originaalheli keel + Algse helikeele kasutamine + Kasutan vaikeheli + + Selle funktsiooni kasutamiseks muutke „Võltsitud videovood” mis tahes muule kliendile peale Android Studio. + Veaotsing Veaotsinguvalikud lubamiseks või keelamiseks @@ -1513,13 +1520,6 @@ Selle lubamine võib avada kõrgema video kvaliteedi" Linkide avamine välises brauseris Linkide avamine rakendusesiseses brauseris - - Sunni originaalheli keel - Algse helikeele kasutamine - Kasutan vaikeheli - - Selle funktsiooni kasutamiseks muutke „Võltsitud videovood” mis tahes muule kliendile peale Android Studio. - Automaatne diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 9fda431009..6ecd6b63b6 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -69,6 +69,9 @@ Second \"item\" text"
+ + + عیب‌یابی فعال یا غیرفعال کردن گزینه‌های عیب یابی @@ -277,9 +280,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 0149dce303..995fb9ab89 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -120,6 +120,13 @@ Toisto ei välttämättä toimi" Tämän asetuksen poistaminen käytöstä voi aiheuttaa toisto-ongelmia. Oletusasiakasohjelma
+ + Pakota alkuperäinen äänen kieli + Käytetään alkuperäistä ääntä + Käytetään oletusääntä + + Käyttääksesi tätä ominaisuutta, muuta \"Naamioi videovirrat\" mihin tahansa asiakasohjelmaan paitsi Android Studioon + Virheenkorjaus Ota tai poista virheenkorjausasetukset käytöstä @@ -1513,13 +1520,6 @@ Tämä voi avata korkealaatuisemmat videot" Linkit avataan ulkoisessa selaimessa Linkit avataan sovelluksen sisäisessä selaimessa - - Pakota alkuperäinen äänen kieli - Käytetään alkuperäistä ääntä - Käytetään oletusääntä - - Käyttääksesi tätä ominaisuutta, muuta \"Naamioi videovirrat\" mihin tahansa asiakasohjelmaan paitsi Android Studioon - Automaattinen diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 11cd54f7fd..4ba8009c26 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -120,6 +120,13 @@ Maaaring hindi gumana ang pag-playback" Ang pag-off sa setting na ito ay maaaring magdulot ng mga isyu sa pag-playback. Default na kliyente + + Pilitin ang orihinal na wika ng audio + Ginagamit ang orihinal na wika ng audio + Gumagamit ng default audio + + Para magamit ang feature na ito, palitan ang \'Panggagaya ng mga video stream\' sa anumang client maliban sa Android Studio + Pagde-debug Paganahin o huwag paganahin ang mga opsyon sa pag-debug @@ -1511,13 +1518,6 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"Binubuksan ang mga link sa panlabas na browser Binubuksan ang mga link sa in-app na browser - - Pilitin ang orihinal na wika ng audio - Ginagamit ang orihinal na wika ng audio - Gumagamit ng default audio - - Para magamit ang feature na ito, palitan ang \'Panggagaya ng mga video stream\' sa anumang client maliban sa Android Studio - Awtomatik diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 7e9dc27595..bf4975277b 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -120,6 +120,13 @@ Il est possible que la lecture ne fonctionne pas" La désactivation de ce paramètre peut entraîner des problèmes de lecture. Client par défaut + + Forcer la langue audio d\'origine + Utilisation de la langue audio d\'origine + Utilisation de l\'audio par défaut + + Pour utiliser cette fonctionnalité, définissez \"Falsifier les flux vidéo\" sur n\'importe quel client, sauf Android Studio + Débogage Activez ou désactivez les options de débogage @@ -1514,13 +1521,6 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"Les liens sont ouverts dans le navigateur externe Les liens sont ouverts dans le navigateur intégré à l\'application - - Forcer la langue audio d\'origine - Utilisation de la langue audio d\'origine - Utilisation de l\'audio par défaut - - Pour utiliser cette fonctionnalité, définissez \"Falsifier les flux vidéo\" sur n\'importe quel client, sauf Android Studio - Automatique diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index e6b3561542..f508ed916c 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -120,6 +120,13 @@ Seans nach n-oibreoidh an t-athsheinm" Má mhúchann tú an socrú seo, d\'fhéadfadh saincheisteanna athsheinm a theacht chun cinn. Cliant réamhshocraithe + + Fórsaigh teanga bhunaidh na fuaime + Ag úsáid teanga bhunaidh na fuaime + Ag úsáid fuaim réamhshocraithe + + Chun an ghné seo a úsáid, athraigh \'Bréag-sruthanna físeáin\' chuig aon chliant seachas Android Studio + Dífhabhtú Cumasaigh nó díchumasaigh roghanna dífhabhtú @@ -1513,13 +1520,6 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Ag oscailt naisc sa bhrabhsálaí seachtrach Ag oscailt naisc sa bhrabhsálaí in-aip - - Fórsaigh teanga bhunaidh na fuaime - Ag úsáid teanga bhunaidh na fuaime - Ag úsáid fuaim réamhshocraithe - - Chun an ghné seo a úsáid, athraigh \'Bréag-sruthanna físeáin\' chuig aon chliant seachas Android Studio - Uathoibríoch diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index 9585fa8ecb..c671a9994c 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -36,6 +36,9 @@ Second \"item\" text" प्लेबैक समस्याओं को रोकने के लिए क्लाइंट वीडियो स्ट्रीम को स्पूफ करें प्लेबैक समस्याओं को रोकने के लिए क्लाइंट वीडियो स्ट्रीम को स्पूफ करें
+ + + @@ -229,9 +232,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index 76d720df6a..0d41d89bd1 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -35,6 +35,9 @@ Second \"item\" text"
+ + + @@ -228,9 +231,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 60b8f2a0e8..f4231656b6 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -120,6 +120,13 @@ A lejátszás nem működhet" Ennek a beállításnak a kikapcsolása lejátszási problémákat okozhat. Alapértelmezett kliens
+ + Eredeti hang kikényszerítése + Eredeti hang használata a hang nyelvén + Alapértelmezett hang használata + + A funkció használatához módosítsa a \"Videóstreamek hamisítása\" beállítást bármely kliensre, kivéve az Android Studiót + Hibakeresés Hibakeresési beállítások engedélyezése vagy letiltása @@ -1510,13 +1517,6 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"Hivatkozások megnyitása külső böngészőben Hivatkozások megnyitása az alkalmazáson belüli böngészőben - - Eredeti hang kikényszerítése - Eredeti hang használata a hang nyelvén - Alapértelmezett hang használata - - A funkció használatához módosítsa a \"Videóstreamek hamisítása\" beállítást bármely kliensre, kivéve az Android Studiót - Automatikus diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index a8457e3dcb..ae7e3ad17d 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -120,6 +120,13 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Այս կարգավորումն անջատելը կարող է նվագարկման խնդիրներ առաջացնել։ Դեֆոլտ կլիենտ + + Բնօրինակ ձայն օգտագործել լեզուն + Օգտագործելով ձայնային օրիգինալ լեզուն + Վերջնական ձայն օգտագործվում է + + Այս հնարավորությունն օգտագործելու համար «Կեղծել վիդեո հոսքերը» տարբերակը փոխեք ցանկացած հաճախորդի, բացի Android Studio-ից + Debug Միացնել կամ անջատել առաջնորդման ռեժիմի ֆունկցիաները @@ -1514,13 +1521,6 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Բացել հղումները արտաքին բրաուզերում Բացել հղումները ներծրագրային բրաուզերում - - Բնօրինակ ձայն օգտագործել լեզուն - Օգտագործելով ձայնային օրիգինալ լեզուն - Վերջնական ձայն օգտագործվում է - - Այս հնարավորությունն օգտագործելու համար «Կեղծել վիդեո հոսքերը» տարբերակը փոխեք ցանկացած հաճախորդի, բացի Android Studio-ից - Ավտո diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 37f93acc7a..88960c8e8d 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -120,6 +120,13 @@ Pemutaran mungkin tidak berfungsi" Mematikan pengaturan ini dapat menyebabkan masalah pemutaran. Klien bawaan + + Paksa bahasa audio asli + Menggunakan bahasa audio asli + Menggunakan audio bawaan + + Untuk menggunakan fitur ini, ubah \'Palsukan aliran video\' ke klien apa pun kecuali Android Studio + Debug Mengaktifkan atau menonaktifkan pilihan debugging @@ -1512,13 +1519,6 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi" Membuka tautan di peramban eksternal Membuka tautan di peramban dalam aplikasi - - Paksa bahasa audio asli - Menggunakan bahasa audio asli - Menggunakan audio bawaan - - Untuk menggunakan fitur ini, ubah \'Palsukan aliran video\' ke klien apa pun kecuali Android Studio - Otomatis diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index d18e9d2182..eede11f607 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -120,6 +120,13 @@ La riproduzione potrebbe non funzionare" La disattivazione di questa impostazione potrebbe causare problemi di riproduzione. Client predefinito
+ + Forza la lingua audio originale + Utilizza la lingua audio originale + Utilizzo audio predefinito + + Per usare questa funzionalità, cambia \"Falsifica i flussi video\" a qualsiasi client eccetto Android Studio + Debug Abilita o disabilita impostazioni di debug @@ -1512,13 +1519,6 @@ Abilitare questa opzione può sbloccare qualità video più elevate" Apertura dei link nel browser esterno Apertura dei link nel browser in-app - - Forza la lingua audio originale - Utilizza la lingua audio originale - Utilizzo audio predefinito - - Per usare questa funzionalità, cambia \"Falsifica i flussi video\" a qualsiasi client eccetto Android Studio - Automatico diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index fe98be6364..5132fd24b4 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" כיבוי הגדרה זו עלול לגרום לבעיות השמעה. לקוח ברירת מחדל + + כפה שפת שמע מקורית + שימוש בשפת שמע מקורית + שימוש בשמע ברירת מחדל + + כדי להשתמש בתכונה זו, שנה את \'זיוף זרמי וידאו\' לכל לקוח מלבד Android Studio + איתור באגים הפעל או השבת אפשרויות לאיתור באגים @@ -1515,13 +1522,6 @@ Second \"item\" text" פותח קישורים בדפדפן חיצוני פותח קישורים בדפדפן בתוך היישום - - כפה שפת שמע מקורית - שימוש בשפת שמע מקורית - שימוש בשמע ברירת מחדל - - כדי להשתמש בתכונה זו, שנה את \'זיוף זרמי וידאו\' לכל לקוח מלבד Android Studio - אוטומטי diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index f82b7332c4..c8e96f360a 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -120,6 +120,13 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が この設定を無効にすると、動画の再生に失敗するようになる可能性があります。 デフォルトのクライアント + + オリジナルの音声を強制的に使用 + オリジナルの音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックは使用しません + アプリが選択した音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックを使用する場合があります + + この機能を使用するには、「動画ストリームを偽装」のクライアントを Android Studio 以外の任意のクライアントに変更してください + デバッグ デバッグ オプションを有効または無効にします @@ -1287,7 +1294,7 @@ Automotive レイアウト 再び偽装を無効にする場合には、UI のバグを防ぐためにアプリデータを消去することをお勧めします。" アプリバージョンの偽装先 - 20.13.41 - アクション ボタンの文字の常時表示を復元 + 20.13.41 - アクション ボタンの文字表示を復元 20.05.46 - 文字起こし機能を復元 19.35.36 - 古いショート プレーヤーのアイコンを復元 19.01.34 - 古いナビゲーション アイコンを復元 @@ -1515,13 +1522,6 @@ Automotive レイアウト 外部ブラウザでリンクを開きます アプリ内ブラウザでリンクを開きます - - オリジナルの音声を強制的に使用 - オリジナルの音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックは使用しません - アプリが選択した音声トラック (言語) を使用します\n\nオートダビングを含む吹き替えの音声トラックを使用する場合があります - - この機能を使用するには、「動画ストリームを偽装」のクライアントを Android Studio 以外の任意のクライアントに変更してください - 自動 @@ -1720,9 +1720,9 @@ Automotive レイアウト 削除されたメッセージを取り消し線つきで表示する - チャンネルポイントを自動的に獲得する - チャンネルポイントは自動的に請求されます - チャンネルポイントは自動的に請求されません + チャンネルポイントの受け取りを自動化 + チャンネルポイントの受け取りは自動的に行われます + チャンネルポイントの受け取りは自動的には行われません diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index dfca2a839d..85b96ca442 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -49,6 +49,9 @@ Second \"item\" text"
+ + + @@ -242,9 +245,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 82f77fae7c..576a9e34bb 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -120,6 +120,13 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 이 설정을 비활성화하면 재생 문제가 발생할 수 있습니다. 기본 클라이언트
+ + 원본 오디오 언어 강제로 활성화하기 + 원본 오디오 언어를 사용 중입니다 + 기본 오디오 언어를 사용 중입니다 + + 이 기능을 사용하려면, \'동영상 스트림 변경하기\'에서 기본 클라이언트를 Android Studio를 제외한 다른 클라이언트로 변경하세요 + 디버깅 디버깅 옵션을 활성화하거나 비활성화할 수 있습니다 @@ -1520,13 +1527,6 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" 앱 내에서 외부 링크를 열 경우에 외부 브라우저를 사용합니다 앱 내에서 외부 링크를 열 경우에 내부 브라우저를 사용합니다 - - 원본 오디오 언어 강제로 활성화하기 - 원본 오디오 언어를 사용 중입니다 - 기본 오디오 언어를 사용 중입니다 - - 이 기능을 사용하려면, \'동영상 스트림 변경하기\'에서 기본 클라이언트를 Android Studio를 제외한 다른 클라이언트로 변경하세요 - 자동 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index e0b8210471..3edfdb89af 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -120,6 +120,13 @@ Grojimas gali neveikti" Išjungus šį nustatymą, gali kilti atkūrimo problemų. Numatytasis klientas
+ + Priversti originalią garso kalbą + Naudojama originali garso kalba + Naudojamas numatytasis garsas + + Kad naudotumėte šią funkciją, pakeiskite „Klastoti vaizdo įrašų srautus“ į bet kurį klientą, išskyrus „Android Studio“ + Debugavimas Įgalinti arba išjungti derinimo parinktis @@ -1514,13 +1521,6 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v Nuorodos atidaromos išorinėje naršyklėje Nuorodos atidaromos programėlės naršyklėje - - Priversti originalią garso kalbą - Naudojama originali garso kalba - Naudojamas numatytasis garsas - - Kad naudotumėte šią funkciją, pakeiskite „Klastoti vaizdo įrašų srautus“ į bet kurį klientą, išskyrus „Android Studio“ - Automatinis diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index 298413c8a6..b63eb63162 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -120,6 +120,13 @@ Atskaņošana var nedarboties" Šī iestatījuma izslēgšana var izraisīt atskaņošanas problēmas. Noklusētā klients + + Piespiest oriģinālo audio valodu + Izmantot oriģinālo audio valodu + Tiek izmantots noklusējuma audio + + Lai izmantotu šo funkciju, mainiet \"Viltotās video plūsmas\" uz jebkuru klientu, izņemot Android Studio + Atkļūdošana Iespējot vai atspējot atkļūdošanas opcijas @@ -1514,13 +1521,6 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk Saišu atvēršana ārējā pārlūkprogrammā Saišu atvēršana lietotnes pārlūkprogrammā - - Piespiest oriģinālo audio valodu - Izmantot oriģinālo audio valodu - Tiek izmantots noklusējuma audio - - Lai izmantotu šo funkciju, mainiet \"Viltotās video plūsmas\" uz jebkuru klientu, izņemot Android Studio - Automātiski diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index d2812bbd52..06ddb38c69 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -228,9 +231,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 66f28ffdf3..70b74f6c70 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -36,6 +36,9 @@ Second \"item\" text"
+ + + @@ -229,9 +232,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index d02dfb8496..cdeb5a3820 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -120,6 +120,13 @@ Afspeelproblemen kunnen optreden" Het uitschakelen van deze instelling kan afspeelproblemen veroorzaken. Standaard client
+ + Forceer de originele audiotaal + De oorspronkelijke audiotaal gebruiken + Standaard audio gebruiken + + Om deze functie te gebruiken, wijzig \'Videostreams spoofen\' naar elke client behalve Android Studio + Debuggen Schakel debugopties in of uit @@ -1511,13 +1518,6 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen" Koppelingen openen in externe browser Koppelingen openen in in-app browser - - Forceer de originele audiotaal - De oorspronkelijke audiotaal gebruiken - Standaard audio gebruiken - - Om deze functie te gebruiken, wijzig \'Videostreams spoofen\' naar elke client behalve Android Studio - Automatisch diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 96e96b07fc..01af1a19e2 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -120,6 +120,13 @@ Odtwarzanie może nie działać" Wyłączenie tego ustawienia może spowodować problemy z odtwarzaniem. Domyślny klient
+ + Wymuś język oryginalnego dźwięku + Używanie oryginalnego języka audio + Używanie domyślnego dźwięku + + Aby użyć tej funkcji, zmień \'Fałszuj strumienie wideo\' na dowolnego klienta z wyjątkiem Android Studio + Debugowanie Włącz lub wyłącz opcje debugowania @@ -1509,13 +1516,6 @@ Włączenie tego może odblokować wyższe jakości wideo" Otwieranie linków w zewnętrznej przeglądarce Otwieranie linków w przeglądarce w aplikacji - - Wymuś język oryginalnego dźwięku - Używanie oryginalnego języka audio - Używanie domyślnego dźwięku - - Aby użyć tej funkcji, zmień \'Fałszuj strumienie wideo\' na dowolnego klienta z wyjątkiem Android Studio - Automatycznie diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 70e27324c1..1f2c6062c7 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -120,6 +120,13 @@ A reprodução pode não funcionar" Desativar esta configuração pode causar problemas de reprodução. Cliente padrão + + Forçar idioma do áudio original + Usar o idioma original do áudio + Usando áudio padrão + + Para usar este recurso, mude \'Falsificar fluxos de vídeo\' para qualquer cliente, exceto o Android Studio + Depuração Ativar ou desativar opções de depuração @@ -1510,13 +1517,6 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas" Abrindo links no navegador externo Abrindo links no navegador interno do app - - Forçar idioma do áudio original - Usar o idioma original do áudio - Usando áudio padrão - - Para usar este recurso, mude \'Falsificar fluxos de vídeo\' para qualquer cliente, exceto o Android Studio - Automático diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 6002bdf858..f9f95ef5fb 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -120,6 +120,13 @@ A reprodução pode não funcionar" Desativar esta configuração pode causar problemas de reprodução. Cliente predefinido + + Forçar idioma original do áudio + Usando o idioma de áudio original + Usando o áudio predefinido + + Para usar este recurso, altere \'Falsificar streams de vídeo\' para qualquer cliente, exceto o Android Studio + Depuração Ativar ou desativar opções de depuração @@ -1513,13 +1520,6 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Abrindo links no navegador externo Abrindo links no navegador no aplicativo - - Forçar idioma original do áudio - Usando o idioma de áudio original - Usando o áudio predefinido - - Para usar este recurso, altere \'Falsificar streams de vídeo\' para qualquer cliente, exceto o Android Studio - Automático diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 97342ace94..9ff4295c73 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -120,6 +120,13 @@ Redarea poate să nu funcționeze" Dezactivarea acestei setări poate cauza probleme de redare. Client implicit + + Forțează limba audio originală + Folosind limba audio originală + Utilizează audio implicit + + Pentru a utiliza această funcție, modificați \"Falsificare fluxuri video\" la orice client, cu excepția Android Studio + Depanare Activează sau dezactivează opțiunile de depanare @@ -1510,13 +1517,6 @@ Activarea acestei opțiuni poate debloca calități video mai mari" Deschiderea linkurilor în browserul extern Deschiderea linkurilor în browserul din aplicație - - Forțează limba audio originală - Folosind limba audio originală - Utilizează audio implicit - - Pentru a utiliza această funcție, modificați \"Falsificare fluxuri video\" la orice client, cu excepția Android Studio - Automat diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 01f23ee113..ff1d064dc7 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" Отключение этой настройки может вызвать проблемы с воспроизведением. Клиент по умолчанию + + Принудительно оригинальная звуковая дорожка + Используется оригинальная звуковая дорожка + Используется звуковая дорожка по умолчанию + + Для использования этой функции измените клиент в \"Подмене видеопотоков\" на любой, кроме Android Studio + Отладка Включить или отключить параметры отладки @@ -1520,13 +1527,6 @@ Second \"item\" text" Ссылки открываются во внешнем браузере Ссылки открываются во встроенном браузере - - Принудительно оригинальная звуковая дорожка - Используется оригинальная звуковая дорожка - Используется звуковая дорожка по умолчанию - - Для использования этой функции измените клиент в \"Подмене видеопотоков\" на любой, кроме Android Studio - Авто diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 4e74e90d64..85b898e23a 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -118,6 +118,13 @@ Prehrávanie nemusí fungovať" Vypnutie tohto nastavenia môže spôsobiť problémy s prehrávaním. Predvolený klient
+ + Vynútiť pôvodný jazyk zvuku + Používa sa pôvodný jazyk zvuku + Používanie predvoleného zvuku + + Ak chcete použiť túto funkciu, zmeňte \"Podvrhnúť video streamy\" na ľubovoľného klienta okrem Android Studio + Ladenie Povoliť alebo zakázať možnosti ladenia @@ -1506,13 +1513,6 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa" Otváranie odkazov v externom prehliadači Otváranie odkazov v prehliadači v aplikácii - - Vynútiť pôvodný jazyk zvuku - Používa sa pôvodný jazyk zvuku - Používanie predvoleného zvuku - - Ak chcete použiť túto funkciu, zmeňte \"Podvrhnúť video streamy\" na ľubovoľného klienta okrem Android Studio - Automaticky diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 703e038ef2..8aa37376fc 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -120,6 +120,13 @@ Predvajanje morda ne bo delovalo" Izklop te nastavitve lahko povzroči težave z predvajanjem. Privzeti odjemalec + + Izsili izvirni jezik zvoka + Uporabi izvirni jezik zvoka + Uporaba privzetega zvoka + + Za uporabo te funkcije spremenite \"Ponaredi video tokove\" na katerega koli odjemalca, razen na Android Studio + Razhroščevanje Omogoči ali onemogoči možnosti razhroščevanja @@ -1513,13 +1520,6 @@ Omogočanje tega lahko odklene višje kakovosti videa" Odpiranje povezav v zunanjem brskalniku Odpiranje povezav v brskalniku v aplikaciji - - Izsili izvirni jezik zvoka - Uporabi izvirni jezik zvoka - Uporaba privzetega zvoka - - Za uporabo te funkcije spremenite \"Ponaredi video tokove\" na katerega koli odjemalca, razen na Android Studio - Samodejno diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index 350d100085..7662dff532 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -120,6 +120,13 @@ Riprodhimi mund të mos funksionojë" Fikja e këtij cilësimi mund të shkaktojë probleme riprodhimi. Klient i përdoruesit + + Forco gjuhën origjinale të audios + Duke përdorur gjuhën origjinale audio + Përdorimi i Zërit Parazgjedhur + + Për të përdorur këtë veçori, ndryshoni \'Falsifiko transmetimet e videos\' në çdo klient përveç Android Studio + Depurimi Aktivizo ose çaktivizo opsionet e depurimit @@ -1511,13 +1518,6 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video" Hapja e linkeve në shfletuesin e jashtëm Hapja e linkeve në shfletuesin brenda aplikacionit - - Forco gjuhën origjinale të audios - Duke përdorur gjuhën origjinale audio - Përdorimi i Zërit Parazgjedhur - - Për të përdorur këtë veçori, ndryshoni \'Falsifiko transmetimet e videos\' në çdo klient përveç Android Studio - Automatik diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index f3219c9824..d6abc928d7 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -120,6 +120,13 @@ Reprodukcija možda neće raditi" Isključivanje ovog podešavanja može izazvati probleme sa reprodukcijom. Podrazumevani klijent + + Prisili originalni jezik zvuka + Korišćenje originalnog jezika zvuka + Korišćenje podrazumevanog zvuka + + Da biste koristili ovu funkciju, promenite opciju „Lažirani video strimovi” na bilo koji klijent osim Android Studio + Otklanjanje grešaka Omogućite ili onemogućite opcije za otklanjanje grešaka @@ -1512,13 +1519,6 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Otvaranje linkova u spoljnom pregledaču Otvaranje linkova u pregledaču u aplikaciji - - Prisili originalni jezik zvuka - Korišćenje originalnog jezika zvuka - Korišćenje podrazumevanog zvuka - - Da biste koristili ovu funkciju, promenite opciju „Lažirani video strimovi” na bilo koji klijent osim Android Studio - Automatski diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 95a61fb3cd..f9ee56b6fc 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" Искључивање овог подешавања може изазвати проблеме са репродукцијом. Подразумевани клијент + + Присили оригинални језик звука + Коришћење оригиналног језика звука + Коришћење подразумеваног звука + + Да бисте користили ову функцију, промените опцију „Лажирани видео стримови” на било који клијент осим Android Studio + Отклањање грешака Омогућите или онемогућите опције за отклањање грешака @@ -1515,13 +1522,6 @@ Second \"item\" text" Отварање линкова у спољном прегледачу Отварање линкова у прегледачу у апликацији - - Присили оригинални језик звука - Коришћење оригиналног језика звука - Коришћење подразумеваног звука - - Да бисте користили ову функцију, промените опцију „Лажирани видео стримови” на било који клијент осим Android Studio - Аутоматски diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 9672be5cf4..bcda81d7a9 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -120,6 +120,13 @@ Uppspelning kanske inte fungerar" Om du stänger av den här inställningen kan det leda till problem med uppspelning. Standardklient + + Tvinga ursprungligt ljudspråk + Använder ursprungligt ljudspråk + Använder standardljud + + Om du vill använda den här funktionen ändrar du \"Förfalska videoströmmar\" till valfri klient utom Android Studio + Felsökning Aktivera eller inaktivera felsökningsalternativ @@ -1512,13 +1519,6 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp" Öppnar länkar i extern webbläsare Öppnar länkar i webbläsaren i appen - - Tvinga ursprungligt ljudspråk - Använder ursprungligt ljudspråk - Använder standardljud - - Om du vill använda den här funktionen ändrar du \"Förfalska videoströmmar\" till valfri klient utom Android Studio - Automatiskt diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index d2a17d15f7..723f37762c 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" การปิดการตั้งค่านี้อาจทำให้เกิดปัญหาในการเล่น ไคลเอ็นต์เริ่มต้น
+ + บังคับใช้ภาษาเสียงต้นฉบับ + กำลังใช้ภาษาเสียงต้นฉบับ + กำลังใช้ออดิโอเริ่มต้น + + หากต้องการใช้คุณสมบัตินี้ ให้เปลี่ยน \'Spoof video streams\' เป็นไคลเอ็นต์อื่น ๆ ยกเว้น Android Studio + ดีบัก เปิดใช้งานหรือปิดใช้งานตัวเลือกการแก้ไขข้อบกพร่อง @@ -1515,13 +1522,6 @@ User id ของคุณเหมือนกับรหัสผ่าน เปิดลิงก์ในเบราว์เซอร์ภายนอก เปิดลิงก์ในเบราว์เซอร์ในแอป - - บังคับใช้ภาษาเสียงต้นฉบับ - กำลังใช้ภาษาเสียงต้นฉบับ - กำลังใช้ออดิโอเริ่มต้น - - หากต้องการใช้คุณสมบัตินี้ ให้เปลี่ยน \'Spoof video streams\' เป็นไคลเอ็นต์อื่น ๆ ยกเว้น Android Studio - อัตโนมัติ diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 3f31fa5e28..49a41930c3 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -120,6 +120,13 @@ Oynatma çalışmayabilir" Bu ayarı devre dışı bırakmak oynatma sorunlarına yol açabilir. Varsayılan istemci + + Orijinal ses dilini zorla + Orijinal ses dili kullanılıyor + Varsayılan ses kullanılıyor + + Bu özelliği kullanmak için \'Video akışlarını taklit et\' ayarını Android Studio dışındaki herhangi bir istemciye değiştirin + Hata ayıklama Hata ayıklama seçeneklerini etkinleştir veya devre dışı bırak @@ -1520,13 +1527,6 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Bağlantılar harici tarayıcıda açılıyor Bağlantılar uygulama içi tarayıcıda açılıyor - - Orijinal ses dilini zorla - Orijinal ses dili kullanılıyor - Varsayılan ses kullanılıyor - - Bu özelliği kullanmak için \'Video akışlarını taklit et\' ayarını Android Studio dışındaki herhangi bir istemciye değiştirin - Oto diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 798cafee5c..72a911ff2e 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" Вимкнення цієї опції може спричинити проблеми з відтворенням. Клієнт за замовчуванням + + Примусово оригінальна мова звукової доріжки + Використовується оригінальна мова звукової доріжки + Використовується стандартна (регіональна) мова звукової доріжки + + Щоб використовувати цю функцію, змініть клієнт \"Підміни відеопотоків\" на будь-який клієнт, окрім Android Studio + Налагодження Увімкнення або вимкнення параметрів налагодження @@ -1512,13 +1519,6 @@ Second \"item\" text" Посилання відкриваються у зовнішньому браузері Посилання відкриваються у вбудованому браузері - - Примусово оригінальна мова звукової доріжки - Використовується оригінальна мова звукової доріжки - Використовується стандартна (регіональна) мова звукової доріжки - - Щоб використовувати цю функцію, змініть клієнт \"Підміни відеопотоків\" на будь-який клієнт, окрім Android Studio - Авто diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text"
+ + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 779392f09e..52f99d80c8 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -120,6 +120,13 @@ Có thể gặp lỗi khi phát." Tắt cài đặt này có thể gây ra lỗi khi phát. Ứng dụng khách mặc định
+ + Buộc ngôn ngữ âm thanh gốc + Đang dùng ngôn ngữ âm thanh gốc + Đang dùng âm thanh mặc định + + Để dùng tính năng này, hãy đổi \'Giả mạo luồng video\' thành bất kỳ ứng dụng khách nào ngoại trừ Android Studio + Gỡ lỗi Bật hoặc tắt tùy chọn gỡ lỗi @@ -1519,13 +1526,6 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Đang mở liên kết trong trình duyệt bên ngoài Đang mở liên kết trình duyệt trong ứng dụng - - Buộc ngôn ngữ âm thanh gốc - Đang dùng ngôn ngữ âm thanh gốc - Đang dùng âm thanh mặc định - - Để dùng tính năng này, hãy đổi \'Giả mạo luồng video\' thành bất kỳ ứng dụng khách nào ngoại trừ Android Studio - Tự động diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 3244440e57..02acaa3a2c 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" 关闭此设置可能会导致播放问题。 默认客户端 + + 强制使用原始音频语言 + 使用原始音频语言 + 正在使用默认音频 + + 要使用此功能,请将“伪造视频流”更改为除 Android Studio 之外的任何客户端 + 调试 启用或禁用调试选项 @@ -1518,13 +1525,6 @@ Second \"item\" text" 在外部浏览器中打开链接 在应用内浏览器中打开链接 - - 强制使用原始音频语言 - 使用原始音频语言 - 正在使用默认音频 - - 要使用此功能,请将“伪造视频流”更改为除 Android Studio 之外的任何客户端 - 自动 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index d5ba1abc3f..3a72056b8d 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -120,6 +120,13 @@ Second \"item\" text" 關閉此設定可能會導致播放問題。 預設用戶端 + + 強制使用原始音訊語言 + 正在使用原始音訊語言 + 使用預設音訊 + + 若要使用此功能,請將「偽造視訊串流」變更為 Android Studio 以外的任何用戶端 + 偵錯 啟用或停用偵錯選項 @@ -1523,13 +1530,6 @@ Second \"item\" text" 在外部瀏覽器中開啟連結 在應用程式內瀏覽器中開啟連結 - - 強制使用原始音訊語言 - 正在使用原始音訊語言 - 使用預設音訊 - - 若要使用此功能,請將「偽造視訊串流」變更為 Android Studio 以外的任何用戶端 - 自動 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index e6bdc7bd44..66fec53e1d 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -34,6 +34,9 @@ Second \"item\" text" + + + @@ -227,9 +230,6 @@ Second \"item\" text" - - - From ae4b9474d3fb62528fc21397c19954d31605e9da Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Wed, 1 Oct 2025 20:29:05 +0300 Subject: [PATCH 28/63] fix(Custom branding): Update ReVanced logo sizing (#6029) --- .../layout/branding/CustomBrandingPatch.kt | 1 + .../branding/BaseCustomBrandingPatch.kt | 51 +++++++++++++----- .../layout/branding/CustomBrandingPatch.kt | 4 ++ .../revanced_header_logo_minimal_dark.png | Bin 2317 -> 3338 bytes .../revanced_header_logo_minimal_light.png | Bin 2246 -> 3123 bytes .../revanced_header_logo_minimal_dark.png | Bin 1520 -> 2111 bytes .../revanced_header_logo_minimal_light.png | Bin 1468 -> 1985 bytes .../revanced_header_logo_minimal_dark.png | Bin 3137 -> 4499 bytes .../revanced_header_logo_minimal_light.png | Bin 3062 -> 4270 bytes .../revanced_header_logo_minimal_dark.png | Bin 4845 -> 7477 bytes .../revanced_header_logo_minimal_light.png | Bin 4819 -> 7082 bytes .../revanced_header_logo_minimal_dark.png | Bin 6479 -> 8583 bytes .../revanced_header_logo_minimal_light.png | Bin 6359 -> 8180 bytes .../ic_app_icons_themed_youtube_music.xml | 17 ++++++ ...ube_music_2024_q4_background_color_108.png | Bin 98 -> 98 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 1425 -> 1467 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 2634 -> 2821 bytes ...ube_music_2024_q4_background_color_108.png | Bin 92 -> 92 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 916 -> 942 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 1613 -> 1797 bytes ...ube_music_2024_q4_background_color_108.png | Bin 100 -> 100 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 1982 -> 2013 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 3750 -> 3948 bytes ...ube_music_2024_q4_background_color_108.png | Bin 108 -> 108 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 3146 -> 3217 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 5777 -> 6175 bytes ...ube_music_2024_q4_background_color_108.png | Bin 117 -> 118 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 4611 -> 4447 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 8196 -> 8589 bytes ...daptive_monochrome_ic_youtube_launcher.xml | 17 ++++++ ...daptive_monochrome_ic_youtube_launcher.xml | 17 ++++++ ...veproduct_youtube_background_color_108.png | Bin 98 -> 98 bytes ...veproduct_youtube_foreground_color_108.png | Bin 1503 -> 1467 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 2685 -> 2821 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 2685 -> 2821 bytes ...veproduct_youtube_background_color_108.png | Bin 92 -> 92 bytes ...veproduct_youtube_foreground_color_108.png | Bin 922 -> 942 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 1624 -> 1797 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 1624 -> 1797 bytes ...veproduct_youtube_background_color_108.png | Bin 100 -> 100 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2075 -> 2013 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 3800 -> 3948 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 3800 -> 3948 bytes ...veproduct_youtube_background_color_108.png | Bin 108 -> 108 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3361 -> 3217 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 5831 -> 6175 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 5831 -> 6175 bytes ...veproduct_youtube_background_color_108.png | Bin 117 -> 118 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4813 -> 4447 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 8371 -> 8589 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 8371 -> 8589 bytes 51 files changed, 95 insertions(+), 12 deletions(-) create mode 100644 patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml create mode 100644 patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml create mode 100644 patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt index c85b2c0ed7..530e981303 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt @@ -67,6 +67,7 @@ val customBrandingPatch = baseCustomBrandingPatch( "adaptiveproduct_youtube_music_2024_q4_foreground_color_108", "ic_launcher_release", ), + monochromeIconFileNames = arrayOf("ic_app_icons_themed_youtube_music.xml"), block = { dependsOn(disableSplashAnimationPatch) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt index 703d403eca..d865b2081c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt @@ -15,11 +15,12 @@ import java.util.logging.Logger private const val REVANCED_ICON = "ReVanced*Logo" // Can never be a valid path. internal val mipmapDirectories = arrayOf( - "xxxhdpi", - "xxhdpi", - "xhdpi", - "hdpi", + // Target app does not have ldpi icons. "mdpi", + "hdpi", + "xhdpi", + "xxhdpi", + "xxxhdpi", ).map { "mipmap-$it" }.toTypedArray() private fun formatResourceFileList(resourceNames: Array) = resourceNames.joinToString("\n") { "- $it" } @@ -52,6 +53,7 @@ internal fun baseCustomBrandingPatch( appNameValues: Map, resourceFolder: String, iconResourceFileNames: Array, + monochromeIconFileNames: Array, block: ResourcePatchBuilder.() -> Unit = {}, executeBlock: ResourcePatchContext.() -> Unit = {} ): ResourcePatch = resourcePatch( @@ -84,14 +86,17 @@ internal fun baseCustomBrandingPatch( Each of these folders must contain the following files: ${formatResourceFileList(iconResourceFileNamesPng)} + + Optionally, a 'drawable' folder with the monochrome icon files: + + ${formatResourceFileList(monochromeIconFileNames)} """.trimIndentMultiline(), ) block() execute { - // Change the app icon and launch screen. - val iconResourceGroups = mipmapDirectories.map { directory -> + val mipmapIconResourceGroups = mipmapDirectories.map { directory -> ResourceGroup( directory, *iconResourceFileNamesPng, @@ -100,24 +105,46 @@ internal fun baseCustomBrandingPatch( val iconPathTrimmed = iconPath!!.trim() if (iconPathTrimmed == REVANCED_ICON) { - iconResourceGroups.forEach { - copyResources(resourceFolder, it) + // Replace mipmap icons with preset patch icons. + mipmapIconResourceGroups.forEach { groupResources -> + copyResources(resourceFolder, groupResources) + } + + // Replace monochrome icons. + monochromeIconFileNames.forEach { fileName -> + copyResources( + resourceFolder, + ResourceGroup("drawable", fileName) + ) } } else { val filePath = File(iconPathTrimmed) val resourceDirectory = get("res") - iconResourceGroups.forEach { group -> - val fromDirectory = filePath.resolve(group.resourceDirectoryName) - val toDirectory = resourceDirectory.resolve(group.resourceDirectoryName) + // Replace + mipmapIconResourceGroups.forEach { groupResources -> + val groupResourceDirectoryName = groupResources.resourceDirectoryName + val fromDirectory = filePath.resolve(groupResourceDirectoryName) + val toDirectory = resourceDirectory.resolve(groupResourceDirectoryName) - group.resources.forEach { iconFileName -> + groupResources.resources.forEach { iconFileName -> Files.write( toDirectory.resolve(iconFileName).toPath(), fromDirectory.resolve(iconFileName).readBytes(), ) } } + + // Copy all monochrome icons if provided. + monochromeIconFileNames.forEach { fileName -> + val replacementMonochrome = filePath.resolve("drawable").resolve(fileName) + if (replacementMonochrome.exists()) { + Files.write( + resourceDirectory.resolve("drawable").resolve(fileName).toPath(), + replacementMonochrome.readBytes(), + ) + } + } } // Change the app name. diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index 27273680ee..ca028c4388 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -27,6 +27,10 @@ val customBrandingPatch = baseCustomBrandingPatch( "ic_launcher", "ic_launcher_round", ), + monochromeIconFileNames = arrayOf( + "adaptive_monochrome_ic_youtube_launcher.xml", + "ringo2_adaptive_monochrome_ic_youtube_launcher.xml" + ), block = { compatibleWith( diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png index 19581e9d658de0e39d218c6daf479aa3b3b01f76..1e53efb50c315aeb5ce417228edfb7098e902bfc 100644 GIT binary patch delta 3336 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 diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png index 46e1e29428b40b3e75e9cd5d790eddd2cd7fbf40..0a1208b4361b07b73b2fd3d5c9bbc04c6da5fed8 100644 GIT binary patch delta 3119 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 JPDHLkV1n|n)#3mE delta 2235 zcmV;s2t@a@7{(EhBYy~uNkl~)Q<3+5o;)!lDv2B}c+qUDit=L?}_S%kd zhcWuS&mX6^-ukM!>7Lu2I#1Pa5#xK$cQlin!@_?E%W()|IDdf8a38}_-El5uXUC%M z$>LrE34jyJ(9vOM7vTetN{b<9X;xBFQe}soU8I$glG2C;{5K>>cJgE9IwB}LdnXvk z!aWKJvSNPhUXBRJ&K`nhEZAd^5IM@u(Ar^V7p`SyW+t;xcR@mIUshIDk|VH6W2g`P zPz}K>9z&Hn@PAb`3{^_O$c|cIsHGdiBjdt2)ZTLhRxOC1e!u_(tDhm3dGOUc5X*lN z3nM$43bA|@EjJ%Z6Bh~+3QfTyCd4`O*Ab`dlP>mem<(OC?_ zUi@Y_4pELF6K7ioh|(9HY6DS*z%CL7AtNKBu0IR+>3^r6mYFkWN|zchQkc09Fq&Q?C9We-`ibzK+0p5YQs}C@G9~lmQ&b> zA&BxZI8S3g#BvgguqmttfphiM{w!L)o&5as&wujKM;}S&x}9Y4@Oc0h4WBC=a@xt< zxpU>~ufGn(>5;EN&@F;kHbNJL$KZr`a2i)ZHx!~YgINwlxel(9@gu~GljsgzXNYAN zeuH>$0-a!128$tH9LFG-4bemA!E1A9?Aemt_C`{lYVXfL_k4Teog}5C@^H zakPI4t`cz+V)-4paFvPgAePP0ed6OUZX?996|ORH0AiVs`iMm)ra+YbJ_g}E)I|y| z!(oWh9C*ll>Dcy`e+Fdy`0*0xkH?edN`Vdn-ori0LwMKCqUZ=$ zw?ULXFdGh0GT`cZh>~p#*%^rC5$Iyj9#10yx=e_2y_Z4w9A-B{6n)(_%Q)q$3tcJv zh11xmj_fTV%9Ak5Hh#~;;OYlsNPjB9Y)M29LgU7bg;OB8@x~kf`LcWOy;n}0I3W!i zHVpY71YiktOO1=YaTsfO6{3vP8>q3{+zeM&LzISaS7nUE3s{Ez5W`(w2H{GWr9qSz z;7VWMu7bO2qbzifxY;Sjnv4U_^Xi}=$~$n^m63UBq%2slK)(9wD}50yQ-7vR(cdPt zr$)XlMOo;+fduFV=(c${I_rzkzYqmoDrVpe#D{yl3_@49s{mqo6Aro%qPzlsdlM3% z58$9&h;kd;)hXOAmh&Nj=-^B zx(T{Rjk`SMPzuK&mKUL`jDNo%ZXCpNIQ<-ic5v5jH-k_PqPzirn*s^Y$Lf}^D7U~} z9U}7fscFZK9kO=qTG_gFtE^eG#{Bw{zI}Q>M7a)Tt09(rR6uzj5}?b4D8n%rqI84q zafq@Jm#FKH3m|7X2)oQdusQ;n~Z9y7@GRT8i{zg1>lOW0fm^H&)s0UB|0kM394h* z5WX-jma9P*h1FPwXVBZjbCaGE`8UL}6A9V^l4rbrF#~2Ry*%ko#Wx`w zgi9gHX4F>K5R)OwR5&Q!xR5`NE7WyY4%Qog4n4i>C?BAd8k9?MIviiRTL&pg+$~z_ zpdb!H1r$LnzabX72@u069D^8U!(H7W9*hQg-HE2)R!mew6o0Bgh`~mPp%7;v%1JbU ztHE$W6eo%yhM$eMaw}pVL@B^F>vT#>C z3L%Ems0g!6yZMf-Vc+L%cYHD`9p!PC>lbiP|vhfWnA*#X{{0iy$R|!JFa; ztm?>9dca+Y*nfvS%X&n?Y$P^848P$P#KBwdBhRoHo@#_05XFfV$iY*{v)lq#?U1Lm zg1f#$p5=L%mBU021Gxt6;i*@y4`Wdgo~nlha6**rcm#QtHR1N5nmZvO_D2|f zdY5FhLMLP+2BEALx}gnHP}0St4!WTO65(&<(HPy3gMWDVTV=FH2V_RVr*X+;p&o&R zNHM!XeTSW0xW_^r%z`}u39=&YE_HX<*+oh$+Riu_#A|}z8G?Eay9mr4hBQov6LJ=& z>lf?nB02k$el3Fpz=_Y;1=>06&avzrq9*Rg=Qsc{?BmG46nFEqx~lyr_P_S-fCvB> z1OiZx?KHoCO>=lc5jYctB>8QhC>m7AY=XQU%(WNmK>8%Z0jr6XS-&mFHl zFqa`md z?@So>YoE_2fH6ElhhV?9zd`%#wzC4!-T$C#cuyFIfb%>Iq(|uVqa`;tHv}Fetv9d>PQbyYvZkmLQ?e{lWQi^HoM=^&OidXuTg% zp`$wHKbr@r5jc7MmLV*gW+KQR)WfKL1+=P@(f zQQ&v(F`&CU7!1nJ`dV4GXt6vp^lJHH&b9LX%zrB6i`m!8qrZN{*UQ?qYb8EDKIDx7PVhDA zcxPAoI2kSFc<9o>a;9UZ=}aiGCYU(oc8G>aOiebm=J#G=Q5PcnMC z>-#__SJueHi%22rK|q#=T$akHED+~m_!P(uPz`%gKKQ#FASLd}?&<2Q~nmjRAg%_7>oGz{8I0b?&(g?hN2FBew(iI}mSl zCV!y)SD@C&eFCfw;V72?-x;~jfW2XN0_@ZxuNy&PVxqkL_SLMmPCe@yqhJ zqL-y0y_+ca)?06>OiNeB5|2nQ!twkZ^zE}wz@4?5TqE!@P|xJ;U)Haq_Uaudu^(wSU4Miwn|sBbQ?3AhP}C%3{Za4&NIG=JRr zsFG3l20kPAF6A4Hq*&`Wz?l9)kULC~fOL25O-Wri$rt1VQG!k^~ z+*t>fg$ozT;>C-lsi{f74QOABUk`!V9>>87Ai(VR2XcS08M&}9K^qTD2POfdfT5Z* z82QDN-Og-&3)`jUy7-hiYkz+QOa{gQO^0xT4bJbMPrjZzd?nlafCBfnV4l}g?j2NP zP)}3vc{mXZ6q^Lp=jeN(H6lR)9AO`7@j^^YjNEwRjq=7DZ^)Z(zA4vUd#!SwQ9uFR z`*B?OTS^ScUm-k0QFSxdw2#R@?CAL`=*x6xJ6Eqp%0FNhGhnVRwm5%-=oDlo0 z>5EmvkbjVo=+_i=oqyn8Y;Qb-6Epys`Es;jPY9l*;8mW29ZXeKks{k&`X`q(R&y>=NR zoEO5$&T`}~clwtC2OOCPfsbu;Li<|BiQFUSAdqd6!23ewD}O*2^KKtrLtVKCfHY@A ztP3HxmyZj>>I69FPlVB4ZP5{UW#o4OPf*uu`qxQ!JnqJkz<4)fXLudUGvDVr4@2xV zK&f8;T;0YX<9ODNv&ofXj0=D(fXU=~G3Q8Py9?Vv=iN;H_7UzUYUU{yQt!-Af9TNZ{06w9SLqhvh z1`*^+eW$IhL$vV!4g7xpco_Q{82dJ0J#ibj3iM4-nJgdMg991>004wR_D^k&Z@>xw d00000fCJ*aTe%={c8UN1002ovPDHLkV1j3-4=Dfu delta 1503 zcmV<51t9vr5bz6-BYy?ANkl_L*pu06m;(*|(>-@dkO+qP}nwr$(CZQHi4uWj3$@89O1FO$t)jkLK*eo1$pS+vjG z?X%a50xjakjk_J5z;6(E0mm`cD?x$;Neo8>zDSlVSx8KBZ-4jz;*Q@iD@KeMF%3rq zj))T{PBb{o3HFSqcxT9A1nh7`tXQ$4V>0i8c+oe=WdzJ{gv){tujC_~Oz(JxEct}{q@c{WwB_jEF{fm72Hqh4F4L~^7ayNdVB;Z!O zg4BiwgOmJ;`+wH87%#)IKM*Z|HbET_#0TGe3JA>=zxa^9kkJE8Fa~v*m8(MgOapr@Y*}dDCtq;Fx1Q&;-d$ zV{MrK2|-Nz%min+0UIE%8gD54BS8q2cY-Gz>%v?xXnzMs;VxW(=@3utmj~8BH>l0p z$8ZTcfRpLE6Tu9y@%pwvQH$TbI_!bla2`h3xrJ4QeZ0OCu*TP$0F$-=#7gDLmF3i_ zQ_>=5W7%DEqpPvShso5bQ)R@65v;Rx(+f>dl=*)Unz`)o9?bC@Dzhdkw-HiI9WSS< zPtM$8uz!mC5P>zdnEMP?(N3KsBfJH3{DWqyZZcSf4Z^Fs0bmin-vp;Y?74XHqLeRN zUWQg(Ayez_mF(&A%G0M$C0)97mi6>6ZQ8UUJlX_&g)UtGdwOil2|w8qG$YLh}G zwT*_i4mP=4@s@QR)F8Gk)`v`n5nS?blRCkGB3@X!+i|JmeL6SU`I zslCe8RJ9FMekzQzpkJvsSlbu6@#mKiRIL&IFno;?$r%_ep0)>UKPUl=mKpE+j;!d!Y)+ke#b z%IFW-OivMGSbGYN^5^+#d?<6LAsBOE;gc7eAg;PC^;C6*U?&WLNa`{5g=rC3kBuIK z+wIk&H=(L);_FR-x9v(Em{iww!1e3b1-AruYf&@ClTA=q7?R@f?K|lN3dF0$>u?YMMI)3|l6Y!SM8pMYzapV3N0a{Q5(^xt+7JpIYgF<<} z%4R?Zh+^mXrPVPiTa3qpK`;jfLUPE$`mC%;%IzkmeIuK%o%!HU4JN`gXsgFnT`cGX zGhi%~0w;^Q1kjh)*dJ2yoQ(`$j$rCv$lmcZe*E}xjDQ=C?-F?PU&&u_YsqN@if}Z- zArMb`f_H%IM&Jp@*UQihJypF00#M6pW|C`gmMl500000z(dR_+?C-d*@yrD002ovPDHLk FV1h}`-M#<- diff --git a/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png index 46370125ddb76f255fe5f3d9cdbf56a938669e28..fa4221c54ca83a93e9a7419dec4f1841f1d3dca7 100644 GIT binary patch delta 1972 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 delta 3115 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 FV1i$xr{Mqq diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png index 104fb0edbe0574056bbf0289843f0cb481f95436..ce0f1f9c788cfe567700a03fedf44717290b33ac 100644 GIT binary patch literal 4270 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%0Airqs*XE@+zxI#{%Wzs{uJWS56EXf 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 ekx&d5FrNR^36z?-Se5wz0000^z` diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png index 59afb27b49cf4be7a980ccb573aa1cf0957a0132..bb7f1f34c95122c8a519f3ad965a917a8435268b 100644 GIT binary patch delta 7015 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 FV1nF1Tp$1d delta 4725 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 DyLST6 diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png index b98c523dba5a897d18549ddc46cf384b0da5b581..acbabeaf970c198fc30e0e1868716e9e3d516d7f 100644 GIT binary patch literal 8583 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 Bg^2(F literal 6479 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 diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png index db2b2aaf62a11cdb48e20a89cdb3068ce27e4145..33dc2d29384eb600d141868125a797c63e7c5458 100644 GIT binary patch literal 8180 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 literal 6359 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 diff --git a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml b/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml new file mode 100644 index 0000000000..084c876623 --- /dev/null +++ b/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png index 7bc1c0b699d7e6778b5184314966546c9f503436..80c1e2c2bd57fd855597dde7559ec40e0e317b7d 100644 GIT binary patch delta 15 WcmYdFnxM%pEiFAIs@Qg-fe`>BD+Ff% delta 15 WcmYdFnxM%pBO`q;PGh6y*)(0@=87;xr2TMN@~F$)#5j~3V^QRhYw5B|VM1&i7-GwAP}VY z4?v)@SAR`)HD%>4V+*ky0P{lrD+91r>p#2V#MCFoi`nRjkCSv8oGQhOLcq0#OD zunmny1HgYI&kgvt{do#A3F@al8tr)+%Q&m$W*3S3P^?es{a0 z+l|j{1562nNvo;MEYRBwgE6f5VbaAxGvtkr2h(E!2Wf$9#nZ)YGAfA}OiuM6Y)3Y- zCFbK3^J@jNtw=?0#h~$_FnfnkxEK4hRmp1Mz>P_f%5XOWA=z32Ewwg1IVjTyKhaB7r#gzXP<&n;tWAW=*qY? z34zZQ#v*O(npGJol-7uG)>O_p!YOw5&WjezVUqXhPW@nj;yQa{K!bLzqS zr9GkYyz=#-a6*NX3JE)cB7h|FQ$cd=w|N=WvE1K86U$kHbY@?pj3y%6dM4zJpt@-_ zu-Q^SJ+MAwl2n>oF1H1>Nv?mQ?4K8toyLr=3{bk_xSwi$_WF)#Siv`ld-FOOF490p z2!5Y1>NV=_CdAS-L{U0*^=J7Vm%adtVnwe|-;^fan9I*Gmv&=W@3t{Pxr0zN^vNoE z20`taDbhdwZvO+nY$Ul+*J?G{9(br~*;l8C?r);+4`ezw3>`mnrP1mEgh&BLP-2Xu z8a^p8P3K6^`?|v0XB)>AJ(EoDbZecs{BBBJ1J1{ooLab6%#(hoEO(Wf8xi};SFC5* zL^iK%-5#Ko(rR?)36VV=2Nk{Ig?EOeu>N@rGT^j$wernjxs=aCneHUTZhV5@+W|J) z0ZvG~WVIG!oN3y0d((%`L)A2Cb!Et*B%ea78eD%3)tXr}B78uXv*|7# z5K8oK3SMdsr)$~+-Z`6lE&Nkr=v+6To^u|2yE;HdSjQ65M4p#;A0Eb;7wIrXyV$8`5#aZSYW>H73Ba&M}L&Pa;7LJAa73Gp?n%g84mU0=# zVlzuZIC3fEwq@9d&KkLt`^k>}gPu3vH_!9-+YEXD%7Ovj7#k}OqV)W0X=y1bg?8=j z{9>zv5UHP{_37tv)?Tm^6(uEX=p1j1;H@cy@ph+?eo2w4Q4_&aUnSug=;y;9y)ly# zr^IXA(GOPiPcisKXCj#Ln1)0H5^jIySprsa#-Nx#d{yU6s z*RuF7ez#cxXfzH9b2>SuN9LI{0jq^6r3B8dDC(~ z+xX6txcjAnBkqh89P+3?3#TRe~ zkob(#U47pBnFVW1Ck$LjVIO2UZ8(TRhRr{;GI+I%d8+;}T6=FHXC?%uw z4t{SSiQZL3T1<#^88P}Vca*}oJ`Q(y#uimDgUobquujbxx-$E+$R{^le}o&}5sXSH zSDm*G6ki9+vtVSqUvx1d8W}3w&u2`Zx;k9P7vM(`YB%c>#~r%L0BlpYyW&`A=GU6v z`#lpXVFt2FY_<0A;+sQm6@DH&>a#%{4+J#ZL$Nxx^6lv$vJ6d*xv5{e>rrkbL@MGw zEi;gnu7Sej*%RS@_f&|j>OxDudPd4=N9thV^7gMITcpv^9n!_8GjnaT$8pE6Yx+vb zRtpM@+4dMWI2;JN9EQ|3E?%Uq+F0pgF44&N83=#oP+EdPf&fYwaqcg4q}ESM8hY=H`y6qZ4kRk{ z!gXHtL{oECl0|Pf=75&I@P}!vW5XN(RD7#+#CnNv64YL^8xxRuDdX3; z0SP-vlc8Q0Fm9&jJL2m!Lq2Am7fUl2*uGbzsOLIl{!HJ)UU*|Nffe7K7%^X!Z-iwp zUlQj^V0W&iN1iGeT7)>RAUhn&KV(5(syk8>tL9|fK0_uinm>Xa{u`C2O;?=`$pvAM zM`KBc_BNw7s{GDT_wwJ@W%MpoJ%O1SwWM{r7|Fl-^v3xf3}MaBuzwM+jW7#-223Q& k?*62dl(uBl&eij$kn4)GDLzJsZvN3>Y+Y;^X9JS{2Qx3OKL7v# diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png index 145fdb7b508b40e0b9885173a37e53d26bff35ed..4ca060e2499d5b06306f07da96c1970b3d4258bd 100644 GIT binary patch delta 2813 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 P00000NkvXXu0mjfkoKon delta 2625 zcmV-H3cmG)7RnTmB!3Y}L_t(|0p(l+l&d=z{l`|@smHpuZClT_ZQHhO+qSjzY+T#Z z$-j3dS*tIvvu@{3zl^fhUg;N}vwLz*lHz}@oRSohV?x(=qC{m=fK-*om5e?ej<95@ z9P=2dy1F_e7z}!V5~M1EuUW>rIL2(JNx$n+DHIC1fwAFm@PGJlICKy29`GZu3|J3r zCiq&Fp^k0XHh3KSatvc0ZCULmrA9ANB;zywlRnXdwZK4KE1-*t!3U=l?cD2pMV{nWpI|FkHpIRb)h z)IwVz#)LWNCdy>UYM-3S%E|%=^Q;y$7z}J>-ik0~c#bk^nXQt8{YnoA@QW5o`kYj@+F124vOACs$jx8pL zq1=K)w&}Q;zo74;TC}v_{SUW5j&+h?O~}2+Zr4)NhdsaFUycDc=)DE=4uXhUavO?^ zi)*yb&3`3`A^jn{)?F8Dz2>9;V)-p?0k*k;&=8244rKKgJ zOP4x{l9I42t1c}UUCJus2HUeA`*WPSx>~+YRDVR{=5e{ped^Sy z;?-AQ6|cYkx)?orwCGw^C9W8{w|H*s$#H}2*^m7>4#%4`X=1{{K9?Cn{vl0Tk^WE) z%j?NRFRvYTSR_`jUM=eD>&1;X-XOYG)`;sz9x8sAeS6$sd-h|0j>GXdZeo|2|M{ja z{eP1heNVm%1pS?83#zTH5ubkgsfa`(;)fr85JQFx79(o60GlA-AlG-KlcCf%P+;?!GjV_P(2CqdcCK|`VcY&NDhSp_c%om zBiU6~T_qJ4%aOQh(6s z9Vhoc{rdHl&Xr1j@WK1CtfstHoHXT9aqCVmnqWEWWjpP|R;*aTaaiUQK_7sNbj?e& zGs?u_^m`{y?&alW;{N;ZXB3itWX6mcvV3&!sp8U|UJzIA`nraE9@%S>tYEANo%;9Rf6sPo&wf@2Dl9DQ{U3q~3JNOWgVxx%UZrK6 za>~h4@lBgHijz-1NtT&yPJcc1RMxW{+v_$?`=GVCxw+k<36h>VJ3BjI!%1uO?AcRj zXZ`WV9}9dR@n7{dHPzy?&py-6neBC*<4!s=GqaoonPEN;1UVY!P26z9^)hsmgdKO> zA-aywEN4C2vCI}hKYW{JQ5{#z397qJejsXXelu}$>o z(Ota#_S?#e7K_tPJAaKipIOd&i=UMR1+HBekqg4SFiVE_E^W+ES9G-AIBM{j z<+d*FwS)dABO{|$|4t;(Km$}d`9T6V!cHNUHmdQDAd*yi=b>= zTpw=Rf{4p5yHsr5x|QTG=d-oB^`$+I7$=egAg!ri;-ux~rhj+ET3lkAq~XJd$x#2^ zd+##mv+d=zEGH+e4>?d=#7yaciyxxdUS>Q-@DiTOjX9s~Mz7*Ws5?2>)<@6TFtr)% z)LA}y#{N&>EV_WY$MXe-48V`{T4(w4g4bL84s;Gs_jtelk_Sc?c33MitS3J|e>du^ zopU@X6A0p5@_$rE{sL8_@9{iOU8!?(zhRb_m6bJuSCIC@zOBgRTZ7HT3UsTVfg3}Pq)Wr0i=Lbjet#sb6VSR*ML2mrM?IXRQ@jy(%O z&AXO}!%Im=Q*AZRL6#|$Ny(ONmz>y}NjFdmbbm*r*bB?yxxl`K9pDX35ce4bj1A0QCkyr-%Vjp#h+wFb~AM<{IF#H|13x8o>wH!-j zHNn>`V;$SDE&H%9$57V7F-z4Pd5#cc!3>juG-dMX>UD<7Q`3-`r=+B00$D;NyH?vmD2wKo(09Z3H~{G00000NkvXXu0mjf#nDB8 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png index d4361b79ce576add632a82cb768f73e22bcfcc47..f7c252a26fc0c01301161f02e7e222b5b35386a5 100644 GIT binary patch delta 15 Wcma!vnV`uoEiFAIs@Qg-ferv7cLY@c delta 15 Wcma!vnV`uoBO`q;QE?$v&5kmMV`b%0&NC~ z9L_TgS`>XG4hg97BytG18MJUhrD2@n#Pv)63o;zoXM4ax%r#M_KKAyu+}m8&theR5 zW*^N4akk~=S3l4Glvng=lH*;K=kx#6FEZY#Khrq)yS@qI)4vUt7vHm;6TOyThlQgZ7(Rap6=YqP?cl8Y5>RlR`@ z-t|v^8+;aRf3Hx@{L{hGGAFb>STCDL!Kd_4sjv9gKYKoKrPwb}(LZBk-1tmCojt~U zjn#`?jx*98dli*2TuA${*yZ$9M%xqXn)s&7jg!`TTX6f6tc%&-I}dj**0TI9bb=>f zzId9fb>p?zbJr^Kq_^Hn-hG1a@%c%{)eO1p_WYac=h->jR!Yx~z4k2r+0NgF9XdAA zuQo4Nuq@WTQ1$uHn%7;=o~>Rt=j=DT2ZqP1_b=G;?AM!e_4KPuKs%fJ#M5FII?Q%@ zK6x*{{LDAS5h)K?>bmq&v@SUPSgQH@H2-^tZ=zi%f4baPKCAvq_Hy%u3;tj1FV311 z%(AcH4YSCD)|>UmDi)|-{OR%kGPm20`9e~kP19AFb7l7b$hH=Jz<)x{Sl1y-&9xbXSu)0R(K+7*6tPpwGYwv{R4@CzHO7eQJai)S40)+}MubBI2dzy3y? z_X63)#p2VYE1R0u-)sDBX!!lpB}p0fDCxKvy)!;_f9KqJ_3DW!uJxY}iZFV`| zt1@xh^pDN#m*v-dIP^x9HRJI~pKPWJlYSb@ehcT>mpP9?{LBN+@6{7(+lBTR9G}6q zCBSI%p$4<5_NGrQwmR}}y1hWTSoY49eHmxCi`V2jy!KA}+puk_{qz?VdmFZOpDANr ztFC{>^1k+J{?daCo3a-?ZnbPzs9&HPbg}8j;#=pG_4l;(RB`{TNIaLylX4~FpHa(a zP3HZMx8*g?a~J!0JKh%hw`=0(EWZ5?-?(QvS5=qjFaUwUiThPj)>cX$kc@E#l09(d e6{M`x!yxqPmY})BKZ$=JgFIdRT-G@yGywo4Vy5K) delta 893 zcmV-@1A_dn2b2epB!62;L_t(|0qntn00000fS~=U7pVdO0000000000000000001B z_Ur-Hk|YYiaE)y%8ii|H2*;Z>6QldoBQ2j>ZH%C_y| zsG}8A6xCvF`REpF8Wbf4tkLHH=N0n3UR{(>CWjB~Up&D*e1ESfq~(TXp)J?H7h&1^ zbwVGr&v%`5i}dS#hx>Spf0W7L18a{INNZ8ryY=Q-Uahy-UadE49P54VW7YxiX}x(q z&z8h`NNMPxOb#DdRlI~0iN>$mY^(pg?T(kv+U~TW?SS6rJ7(?k7j3uKHk`J0GlT+WzRzk`^ zA4NwxAOH1G=i_m(#X*4M6F4rSSo52Hjh@JWv>L^gQ-3o<`vh^29--{cE~iUx>vCoj zEZAECoRz(`y~~*`tSKXFaUW7FK2c8346Ho%!$KljDq7p^Leo{rk`zvWJr5aPMMsa3<-&_upi}DbiYz!X^(3Y7WcfK0ef+eYq*}itjD#`1a!vX_{{f@~e4=PpuUoZe^t$~7_ViwN#N#==Zq?Dxe1-%_cU=44Wd>FZ zeG2>HVN9O~9Y^q}rgq;&L9F3$|D0p3FLLsLbA`aY>Rpx@KgSUZ?w zy|y`gAiYK-<(ACQ7C^Ev2E`Ti>HoZB-+s@^lLI(G*NEL46F>+!$Jyr6|$x`(jcuzN#)ke(0)fOq_e1;>s}?CgOq^Zl-n}{D~(H# zlJSeu$uUwOokuBU@`$0eMjE8OD533#l!}(hv000000000000000003|oj<1}# TRK4nz00000NkvXXu0mjf)G4u> diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png index f4fe022daa8d8b89a96564b1697e83b540bf8503..84db2bae4aa97c17248ca1e9c1b694319878af9e 100644 GIT binary patch delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfAem-5 delta 1596 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 literal 1982 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 QmjD0&07*qoM6N<$g8fTgxBvhE diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png index 04db6b4c21e777430cefb6f230c5fc5d396e3627..200224bed5fcff82941aff3e04cf96b900ee942f 100644 GIT binary patch delta 15 Wcmd1FnV`uoEiFAIs@Qg-feip8R|JIs delta 15 Wcmd1FnV`uoBO`q;)YyR1=Y$>83YO1 zpeZV1>0;W~))3W7ZLOskt*T`@F=xKahxa`*=gf!u;r`G6`EAd==iZy`<>?|Pqb>sg z0OYW)7#{!th}junNl_(u&ZP$ckR@U<4!()N1s+fu004{Ehktu08`%tV8slgRTl&1FV_&0<>yqZ9yScA`BzH+I^dt;{yl|%b-R;7*phat-t#x; z>xb{w#*H<_#olNzx;d7P9o*eEDx+(Y1o6R?q|+0gAQ*eK*GSU0`HsCxux|V^;`$La9|wr5&1-p@ zT}R{UI8>aI+}opgIxxI8QfmFIhI@W+&Q$}pJdMki)r=ZdUO@fiG_=64az<8MYSv}n zk9-Sr&5R8W5x-^F1=9O096VFMKnXhGb6BVc+VB7bUNf?!QV=Hfi+F6%0q zB2fn8p&lGwW&S?wrQ48UUkZrNn0!(+Ibgt&7plFO0Ue6Dzc^d_eqZjmuu6=N=AJe7 z$b!Mlxs~ojxM9UXQ5zoypY?5sJ1B0R2`DCiZ(HkdYJF&zD!N?G z`-O`#vo3Wy>h$QSDMXo$osP0fAf*??o9^1p?ZiHSJv*^}7KNl{lc5TwUMD{qL7%;l z%X#v>o{5>wknj!bGX8#u&_Dp0Mz0@GqL%ERo}ua-KN;ku|LldyeB#o*iNUt|WhJdg z-nlCXl1Vy2@&4&>9c>Lcc#X`aiSvDABXgl8v*-B7yZ`ZtUp$ArI?zyZa?1PwxlIUM9KYZ^WI!YKfF;jR~=0d0AdsgfjtjujxwyFaq<@97& zQLb5mf1iuj4UT_6L)YXRvn(Ed=1S3f&GI=QA6_M0nHF6UGz7mGBB9T*@3#1*&AlSA z?&^ST*K)p1^2YOqeY@jKSaajdUl~8?KB#-Zsq9VGy7pEm=ye@tNuexqTLHA7%MYWE zo*eG4Ghuzzc0g~BG!013UQ_!lB%q3-os@0G9(S-`HXQDA&PB|}u&WvmJ}G<_OZ(D7 z+g{#F+Ej7r3=u7h3MmRg{LGKkgZtU!f^#hRlY7<{76}%>xp#1&*aiC z@s^a^^3eVUje@t~M#b^w`99|A*$Zj5g1ZGO$+l+vsrZ+;-jkRn9vfvNKEnw5Y^pWq zH>PP5vvgsxGSr%MQBJYQ^?Y6*+)qf5Dyk{0sYADVvQ2~GS#k4xR>X<5Mx-{w_@ON@h09J5vM-|o7l%tM2NEJ+BQE|)8`sBB zEbFx934!Mw5cJe2#5sdk=@N=&&>!11C2iDj(LGbb0G)I^F9dFP{vK&wjAkM9%aJg5 z(c7ESkvjAkIl?OQF4tmv+nv{I)Ij3jN!@ydMLwTqoO+)7-%O^qy# z(}_6%V{E+=_imwPCmw||Bg+(S4O}sn2vetUpsGd*+{)^GiXK^vs_PRG@Sw<^c|n08 z<|w>mB0zbzQ)XmzWEa1w6LWUqNX~}y5o;oFz7%Yph{@~2UE}fN>+G&$9M0J=I@mw# zSHyKs|9Gro4~4PIMECOqfl!oXh*4o}gc*@)uK7+i`yNu@pAQA>ke{*wp;a=c3DWBa z)C|j|y}KWs1WyELO*PvsSMQcF5FHf}(iDz1)rH?t*}bC<;r)21UG>+1z;Cgu_-bY2 zg2E`FR*S!6CAXR2CBtmXv-QH|^D14`L`3Wnp3^dzi*_y0j+AQ;`^GxesqyPliMLBLH{AfTBd86tVFS{w{50 z-;4cHqF~%{7C?#NL}H`Tj;<_Tikm13tlKNS$8l)}_M#Ac@l(xAFC49?F25bSu6be6 z%{{{>DMDU?oZ9NIqpDi&5=GybR9Ig#l5`M#S_a=19zRSR5iJ9{;9YXdnzn#Eddm=_ zxWl`b9&SCCBB%}ritfj$4!^zPjSwI}M-T*_3ISdL>tX;fF|guyS%Cjt`UkCl5Ae^f mzr+2H0RQyyf6e?AutmbS7h9~!47A>PK46_aF-*shwBG@>X^0L0 literal 3146 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png index 38c2d58fb3908dd76b3f154855c0c079228312e5..3bbb99d4a186c03f44553edc3df32b77be705fbf 100644 GIT binary patch literal 6175 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 literal 5777 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 OKyse0elF{r5}E*q3KJ** diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index cb34be6b87249b8e9a8cd9c80db5f95f51b23674..37e6ddc39caac76358de4210988a78bd1e151013 100644 GIT binary patch literal 4447 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 TX`(0{00000NkvXXu0mjfppM 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 q%)FMp^h*lC83}V^By>*cqj~~$ + + + + + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml new file mode 100644 index 0000000000..084c876623 --- /dev/null +++ b/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png index 87c762874da2330f03dc296fd1072f393b413b1c..80c1e2c2bd57fd855597dde7559ec40e0e317b7d 100644 GIT binary patch delta 62 zcmYdFnxJVZEiFAIs@Rr+fkDdC#WAFU@$ErIULfy~!tdqVjPGh6y*)(0@=87;xr2TMN@~F$)#5j~3V^QRhYw5B|VM1&i7-GwAP}VY z4?v)@SAR`)HD%>4V+*ky0P{lrD+91r>p#2V#MCFoi`nRjkCSv8oGQhOLcq0#OD zunmny1HgYI&kgvt{do#A3F@al8tr)+%Q&m$W*3S3P^?es{a0 z+l|j{1562nNvo;MEYRBwgE6f5VbaAxGvtkr2h(E!2Wf$9#nZ)YGAfA}OiuM6Y)3Y- zCFbK3^J@jNtw=?0#h~$_FnfnkxEK4hRmp1Mz>P_f%5XOWA=z32Ewwg1IVjTyKhaB7r#gzXP<&n;tWAW=*qY? z34zZQ#v*O(npGJol-7uG)>O_p!YOw5&WjezVUqXhPW@nj;yQa{K!bLzqS zr9GkYyz=#-a6*NX3JE)cB7h|FQ$cd=w|N=WvE1K86U$kHbY@?pj3y%6dM4zJpt@-_ zu-Q^SJ+MAwl2n>oF1H1>Nv?mQ?4K8toyLr=3{bk_xSwi$_WF)#Siv`ld-FOOF490p z2!5Y1>NV=_CdAS-L{U0*^=J7Vm%adtVnwe|-;^fan9I*Gmv&=W@3t{Pxr0zN^vNoE z20`taDbhdwZvO+nY$Ul+*J?G{9(br~*;l8C?r);+4`ezw3>`mnrP1mEgh&BLP-2Xu z8a^p8P3K6^`?|v0XB)>AJ(EoDbZecs{BBBJ1J1{ooLab6%#(hoEO(Wf8xi};SFC5* zL^iK%-5#Ko(rR?)36VV=2Nk{Ig?EOeu>N@rGT^j$wernjxs=aCneHUTZhV5@+W|J) z0ZvG~WVIG!oN3y0d((%`L)A2Cb!Et*B%ea78eD%3)tXr}B78uXv*|7# z5K8oK3SMdsr)$~+-Z`6lE&Nkr=v+6To^u|2yE;HdSjQ65M42*c-KDu#Mn%Z0JrxoD$4L8w*CI9U z^6oNeo*#MC8aZJ$c5SL9azd1CMHNooj-0r@K6o(r!J@Bka#UKlU*x{MpXDdk|3)y8a(1ha;Hb5P)GaMPNr>bWg67xS zwtE2NobF-~eLyO&06@{gtKPm>-KVi;XuZ2b8ZI^>k%M>}B+nT}9nNJdY42!EZK@B8 zUfDAy+3Je9&J;oyqVCL^$ALT)uKt`dlJw1&?&0d*_wQTP!fb4Z*21|>2~;-3D0qB8 z??$rEy8Da~OfP6{q0^R})AbcvF~#)R)SQih{Pk;u-J#ru?X<&L*oiP9OI+I??Eg9i zPjt{66{cBGTf}e&V-kaJ-s%KUTXX`}tZPLU|z+=aFGK&E3Eil(Ax3_y*6-l9zBRP2n=KHP0_&~V3ztK zrngRbI9aJZJtU8fjdT-$!tV+^A8L_jpS09$JSf|jkW9??k5-4@LxY{k_TYRdFidA@ zZv^?+=Aw2;!cia1peVp(+SGzw9$29p*wI`N`i?uD?M5hf#h*PEK)kyB7Arb$qFWni zHPaCF?}Y*~_m{C-+2LcosClH%Tk+7~)tBZcDR?h}RKII34BK;c@jOi_i57wCXVzH0 zTDkvcW#h6TNj{99nwo4GX?%Y31^0y+UZNLW~MLhapCfH`2IXi`%WgQ6E8>;k3Oe znf3%Z>F~(9j^3jcBk|=Sl{*`ZH|40Yss_1IG(o2kX6tGm$({3G3>To&9@M_L1@50OJYl)uDRiG^>u616L5zTdR5Us zkl&@Zqm6fe;#chYGio*M!S0$sIM$^T#VngC4$x6^w+%h5R|QirRTh|lJ2;og)w0^p ziM~q-E9vD}fw{1Q1F@1iM*5T^3#BP2{B(>o-07BrLP-HMtVJRE3>-_aEULuGYuL)@ z1>F?{7Q+(7EJdD}e)W%Oc1Fnc^t=$CotP)84BO4WveOq)yO-MNSDwLmZ9;k53mOpin50 sNYsQv9}tPspKLxw{+s*HiQ&IgLb7C+Eg{z;^N&s0$==P5i41t~H#&E?D*ylh diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png index c96afea8cb2c1d279e3d9be1350a36a7999e29c4..4ca060e2499d5b06306f07da96c1970b3d4258bd 100644 GIT binary patch delta 2813 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 P00000NkvXXu0mjf!F#8Q delta 2676 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 P00000NkvXXu0mjf!F#8Q delta 2676 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 delta 899 zcmV-}1AP3h2bu?vB!6K^L_t(|0qntn00000fS~=U7pVdO0000000000000000001B z_Ui#gwj>I`aJAO9jc9E zWm$IIs@W73^j~;IVgChpwx$TIX?RbruWa)3Zi7ShknHFwy?=*;*o_yVYHW@laYEF3 zk9HyF(B}>A*V*jfD5B@F2mA33Ozk{j!%zijAudTAwEX*oK`X3;LCZDH^|9eO>%5W% zE&qjgomdR12E)ySwSR{Z4{0dwuCzH8mD`;WW%f%H;A+6>JulTb599tE-n}1#Aw}V! z*|7Gn1dHLu^?#UZf8y?}GMnpfHlk8*QVSag?xBXY|K2q9g>2rPf$LF^B`84$WPU9^ zgk(sOxbxWXt(P7izU}y-;oB`>n{|+5!)w8s!^ekhxq^4@Mg*iJJfb=@^GR_oq&iGi zv}4rnH@1!1T>?vN1vuY>-J*asZ|a{h0d&3svwvxiqXbd_E?YZ#|0SzNA6N!A ztd(8|<>+2L`oId-Tq*cI3eH_9+ykN$5S zkioM@^t%I5327rPSEi0nHVNf$V>7P!ciaibU*k`G`p1ORb+G;ze+s8-{~mwp3+~(W zbZv%IiGP90)H&(@d_PEKcwEu<6VKi9?Zopzu)djiK?MFd@!YNYohS8L=|bmDm)S5I zCb#tA;ls&(BR-hySBm67OsTSi^r)M_pPDDdW!NZDXP6@hd`qbe0SU8Jw zz4lQgL5jrPs!KAP_A4YeKJ-l42H_z{+mM7V%uLx^D28+p*ED!`H4Z^4!<&lCgmrCa z;ScF`JPA)v>3h<7z1GwXrfd*uAZ>(0+YG510~DDF>mHp!7^FAwIG)67kV0?)-6-=# z`g~K=YsYZ{Zhiel_xvbtzDTE|X=%7ak@=O_y~@D`Sny?4qYyFz00000000000000000000 ZFc&LNj7mkDp-%t+002ovPDHLkV1lG@ubuz^ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png index cc5996657ebe145c2c4feed8f937d6e7a6d11795..84db2bae4aa97c17248ca1e9c1b694319878af9e 100644 GIT binary patch delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfZ6Ibv delta 1607 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 Xmo^)8#gZN#00000NkvXXu0mjfZ6Ibv delta 1607 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 KJ2yJw$$tTjM3CG7 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png index df88da0c76ca7462cd8fe61798f851c7db5cfea2..31c9d1c36abcb51aa81678bd9b5a9810f2a817f1 100644 GIT binary patch literal 3948 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 O00003LJz>1?t))6+?&zwcj6 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 O0000)YyR1=Y$>83YO1 zpeZV1>0;W~))3W7ZLOskt*T`@F=xKahxa`*=gf!u;r`G6`EAd==iZy`<>?|Pqb>sg z0OYW)7#{!th}junNl_(u&ZP$ckR@U<4!()N1s+fu004{Ehktu08`%tV8slgRTl&1FV_&0<>yqZ9yScA`BzH+I^dt;{yl|%b-R;7*phat-t#x; z>xb{w#*H<_#olNzx;d7P9o*eEDx+(Y1o6R?q|+0gAQ*eK*GSU0`HsCxux|V^;`$La9|wr5&1-p@ zT}R{UI8>aI+}opgIxxI8QfmFIhI@W+&Q$}pJdMki)r=ZdUO@fiG_=64az<8MYSv}n zk9-Sr&5R8W5x-^F1=9O096VFMKnXhGb6BVc+VB7bUNf?!QV=Hfi+F6%0q zB2fn8p&lGwW&S?wrQ48UUkZrNn0!(+Ibgt&7plFO0Ue6Dzc^d_eqZjmuu6=N=AJe7 z$b!Mlxs~ojxM9UXQ5zoypY?5sJ1B0R2`DCiZ(HkdYJF&zD!N?G z`-O`#vo3Wy>h$QSDMXo$osP0fAf*??o9^1p?ZiHSJv*^}7KNl{lc5TwUMD{qL7%;l z%X#v>o{5>wknj!bGX8#u&_Dp0Mz0@GqL%ERo}ua-KN;ku|LldyeB#o*iNUt|WhJdg z-nlCXl1Vy2@&4&>9c>Lcc#X`aiSvDABXgl8v*-B7yZ`ZtUp$ArI?zyZa?1PwxlIUM9KYZ^WI!YKfF;jR~=0d0AdsgfjtjujxwyFaq<@97& zQLb5mf1iuj4UT_6L)YXRvn(Ed=1S3f&GI=QA6_M0nHF6UGz7mGBB9T*@3#1*&AlSA z?&^ST*K)p1^2YOqeY@jKSaajdUl~8?KB#-Zsq9VGy7pEm=ye@tNuexqTLHA7%MYWE zo*eG4Ghuzzc0g~BG!013UQ_!lB%q3-os@0G9(S-`HXQDA&PB|}u&WvmJ}G<_OZ(D7 z+g{#F+Ej7r3=u7h3MmRg{LGKkgZtU!f^#hRlY7<{76}%>xp#1&*aiC z@s^a^^3eVUje@t~M#b^w`99|A*$Zj5g1ZGO$+l+vsrZ+;-jkRn9vfvNKEnw5Y^pWq zH>PP5vvgsxGSr%MQBJYQ^?Y6*+)qf5Dyk{0sYADVvQ2~GS#k4xR>X<5Mx-{w_@ON@h09J5vM-|o7l%tM2NEJ+BQE|)8`sBB zEbFx934!Mw5cJe2#5sdk=@N=&&>!11C2iDj(LGbb0G)I^F9dFP{vK&wjAkM9%aJg5 z(c7ESkvjAkIl?OQF4tmv+nv{I)Ij3jN!@ydMLwTqoO+)7-%O^qy# z(}_6%V{E+=_imwPCmw||Bg+(S4O}sn2vetUpsGd*+{)^GiXK^vs_PRG@Sw<^c|n08 z<|w>mB0zbzQ)XmzWEa1w6LWUqNX~}y5o;oFz7%Yph{@~2UE}fN>+G&$9M0J=I@mw# zSHyKs|9Gro4~4PIMECOqfl!oXh*4o}gc*@)uK7+i`yNu@pAQA>ke{*wp;a=c3DWBa z)C|j|y}KWs1WyELO*PvsSMQcF5FHf}(iDz1)rH?t*}bC<;r)21UG>+1z;Cgu_-bY2 zg2E`FR*S!6CAXR2CBtmXv-QH|^D14`L`3Wnp3^dzi*_y0j+AQ;`^GxesqyPliMLBLH{AfTBd86tVFS{w{50 z-;4cHqF~%{7C?#NL}H`Tj;<_Tikm13tlKNS$8l)}_M#Ac@l(xAFC49?F25bSu6be6 z%{{{>DMDU?oZ9NIqpDi&5=GybR9Ig#l5`M#S_a=19zRSR5iJ9{;9YXdnzn#Eddm=_ zxWl`b9&SCCBB%}ritfj$4!^zPjSwI}M-T*_3ISdL>tX;fF|guyS%Cjt`UkCl5Ae^f mzr+2H0RQyyf6e?AutmbS7h9~!47A>PK46_aF-*shwBG@>X^0L0 literal 3361 zcmd5;S5#Bm77Z=*kVJt54GBsU#4ANXsR=>|`lz^dzL{vnS7NiJD zyELWu5*vbmASFRWFa{AZ5KvyY_kFy-=lgqSj6Kdcd#p9*nrrO2&Q3mUV=gHsCk6lj zBrPqlb^rh$c4vtIc{}b)=Dh%b#3xHE+JV5w>Z%rvHIV?cJ0>jLrAOVfn?e=K9Q?wb z?Oo=@{{KGtW%Wjz5r*9L2s8He>6@R^5?vz!HR_YU^jg_p^l+2)LHbuFrg-lsTdrvAjN3NSbS=;GJ1t*?-nc37zFS20(xN*;ZFct)0hAsDea!QZ;C@o0@yM>s<+w0d=2 zv;>VvTxui~$& zD5hLBhL;!2yCqc%3^^Fo6)2_lby1*WBNxM;FHJnrwL`4^aZ}!-nI!kT=X>02t_dNg z_tL8(&fJTULWOz4^6p$L(0R!u4UtsLJO-r~_-Oth-9GPBVm&V%KG9s=Y;!*+g#NiU zT%D-~UYv|zI8Sxdxza(%diaJ?GloXHURhyTu3h?d3Rl@F%0UuR3E6xJuV z$NUy%KRp7#8p0V9F}?1Ncg2j;9k98Od)wPS;S=&=$;_P8Y5~gu=6(kvOdo9B69%fs z&_h^4$<8hfrkaB?Z@R>Oga zwSF}7<@@dC%TFqDzKuq^9L*M9&^W=>uHs;p&kQl~@ za|nV^x#6lY&%!-FvV}_ELV}?Tz37=NlHnZt*ezcqh}U>K0zX_)DgG{%2-}5#h4S-i z4r2+6lJVnB@4lXBX^;vY>EmlbuaWq^Uy3m22wh+PCPvX5B19f$XuyHt{ve;v>t!a-_vwL#ykP-+K^%e123AA;R z<`tBjbz zIEA6ZEgqb@+$X*Q7K$Xw`NAV93EeA5#FevM=hZ2NdB`Xbm(4*chWm9H;~eBGDy%-e5o#EU)JVuxUS1e z$X?4qwr6iC0TTTlbVlLQmia>|PnB8&sdr~~GWJqpOz8Y9QOj>GjM~sDc@W#_bYa$g zcIloF8AVafr1)yS&yn;*mfFriR+~HTO}!n27aKA-qcfAaLvLT0d+5p=wRoTH?HEH(oIp@-pleH zN>-f!vF%rGlUJ&yB}aMp0GG-7&N{M3&}99wqsK#m9aT#k)4BEovW8)VZyd8bBa`Uc zOCguMPVPy?felN6DjqIg$D0M~L^7fWxb6M2;CpiZ$QwP!?wQ#XP_P2AN5Qn z>ydlUCdt>F>CH`S_|X@p8m}6Z6~4^3x1xn=PBCOk7uyF%KJpuB)%W^E@tM zV{YygDAuc7+@KA14ZG-dd~f2dl#umi30m#mXnNMH%qOPlEK=zgXZak+R!}SH&5L9_ zxx+2VW&(kOZf{0lZTnFt11`K5ik2iN{YfSqm^<`CZbzP~^H;(?H`8jNeZw;FNO>dn z3Qa3XjfQ~s-8mZ~oUL8brLWaWT2ABXNGTQw_Gu1i-nY+lKCN;#n1)b*W2LPn)7!_f z{S_wGOvA-;?c%Qe5MFz1HByjTKh#~In!Bug+1DCj7#?a(surlu7eFGy zTB)gp4~SMP11u~LP#wis_(;(lD1EQruA!D7c1HwlC&czQfxA4%-$p60*~1h5Aqr{l#gus8&-p7r45A=fi=rstI~@M1FxLqi_ZXF7o+$%mh1i|}a z!F&lKC@esMUj$;31o$so|3m2S0scGccesBCuv_Ifh5QcKe>4Tr+t=Y KHrNV`2k~FQkEZ1S diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png index d9c5832ad592ab73463ad4f62b895ae0434a369a..3bbb99d4a186c03f44553edc3df32b77be705fbf 100644 GIT binary patch literal 6175 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 literal 5831 zcmV;&7C7mNP)?cksuHy6?H4aX&j*k+87JCnyz7$V?K(m>MFkOzcS<2>_QM z!ac+b#0SK8#P7u4M3ZPUP5#>N{4*c$@7y!-H}FXQn=89(5MCBBu9ApJMH8@->^(99 z=ODu4#Fs?7pYSyv1Aw#LwcQxlg=FL}CJio6B3x-185!Ax1amqfKEsaD?m`p5{>}X3 za9?9ulcDM8{2u=e=~!8QcVls5a$|F2B)kry%;gm7HW2`e~#j`r~De<%jNFg2#-)9^&mor5YC1GaF+!= zTp=d&;<()9g76$NM;hH-$49gWBjS&8CB^TD23eY2E?iDHPwGZ8GJVeKi1d(Z710NaZhfr8kl!S%Bc&SD;L>tt!7ydq)?b>dkZ z5x!RO4BUyn0Z5i1`dZHVSGM@f4kCQ2;>k-y>1SmuXW>NI8l49bUsdtsDwM6^ z6ifWz|D`%SuHq?-6Fr59vk-;eZ1g+t5#bsYPtlyn+$hB37xw5W030XwdD{7-@X1Xl zqElHsVL>+v)9vI2S7DN(dcD3I!E;uCRTxDmHVVHj?g21;?7>a-cX1pqOz_+l zrth&2mgT{yma_U|ES}u^p@_wERB8Gi`Z$ia?57I_4gk2ha*r#Ne|SZ9cYj=n-NzWSvThny zxfe3dh1QcU)a#Yk`Birxb)nv`$O6JgoDZtM@1y%d#+V;!wK*5;<+-7Vd!GZ;eJamC zu9;4fSm8!-mc#e1I>SU+@vWI(uW0 zc)T%9UgqxjKR1AgSDmMwJ$$|Y{`++J@L?P6-@l(8ee_X^hzPgw6ivLBR-d+@R|z&W zd$0{3;ET>T`0C`zG{V?CZ2@uXR`_Bh`f~XC%h{9X4?p}s_mM!q{`xCrWTe}8=8n3G zmY%+-R|z&Wd$0{3gkSL0$&+c!$C~~9{evA1V9 zcqSwap}H9_QS%wE_69*WY}o8wcG+dZANUAg@!pw9>j|CKoiGL={0_yVR;a$x)6=M- zp!dM>=HX3pMv)wAAi@}2jQEO|9_+S6oXP@c#E*O|i<-B6lX207b1YOYC z&IW7>Kj0gDw8m%y<@|9w0|Nv5ne9xA>Whzm6j-VA92prw&p-b>9XxnY_u;l}+eRZt zjSmAB8qMqa|3;m_X&NO_i0xMvd{rtHoZfJ45lSZ zmI(Xs$%4aG^n+@U2RU*VbsvzQpI<0fU@NRRJU#pDvuW$rtzs3r
Pd;{YL&}*4* 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 literal 5831 zcmV;&7C7mNP)?cksuHy6?H4aX&j*k+87JCnyz7$V?K(m>MFkOzcS<2>_QM z!ac+b#0SK8#P7u4M3ZPUP5#>N{4*c$@7y!-H}FXQn=89(5MCBBu9ApJMH8@->^(99 z=ODu4#Fs?7pYSyv1Aw#LwcQxlg=FL}CJio6B3x-185!Ax1amqfKEsaD?m`p5{>}X3 za9?9ulcDM8{2u=e=~!8QcVls5a$|F2B)kry%;gm7HW2`e~#j`r~De<%jNFg2#-)9^&mor5YC1GaF+!= zTp=d&;<()9g76$NM;hH-$49gWBjS&8CB^TD23eY2E?iDHPwGZ8GJVeKi1d(Z710NaZhfr8kl!S%Bc&SD;L>tt!7ydq)?b>dkZ z5x!RO4BUyn0Z5i1`dZHVSGM@f4kCQ2;>k-y>1SmuXW>NI8l49bUsdtsDwM6^ z6ifWz|D`%SuHq?-6Fr59vk-;eZ1g+t5#bsYPtlyn+$hB37xw5W030XwdD{7-@X1Xl zqElHsVL>+v)9vI2S7DN(dcD3I!E;uCRTxDmHVVHj?g21;?7>a-cX1pqOz_+l zrth&2mgT{yma_U|ES}u^p@_wERB8Gi`Z$ia?57I_4gk2ha*r#Ne|SZ9cYj=n-NzWSvThny zxfe3dh1QcU)a#Yk`Birxb)nv`$O6JgoDZtM@1y%d#+V;!wK*5;<+-7Vd!GZ;eJamC zu9;4fSm8!-mc#e1I>SU+@vWI(uW0 zc)T%9UgqxjKR1AgSDmMwJ$$|Y{`++J@L?P6-@l(8ee_X^hzPgw6ivLBR-d+@R|z&W zd$0{3;ET>T`0C`zG{V?CZ2@uXR`_Bh`f~XC%h{9X4?p}s_mM!q{`xCrWTe}8=8n3G zmY%+-R|z&Wd$0{3gkSL0$&+c!$C~~9{evA1V9 zcqSwap}H9_QS%wE_69*WY}o8wcG+dZANUAg@!pw9>j|CKoiGL={0_yVR;a$x)6=M- zp!dM>=HX3pMv)wAAi@}2jQEO|9_+S6oXP@c#E*O|i<-B6lX207b1YOYC z&IW7>Kj0gDw8m%y<@|9w0|Nv5ne9xA>Whzm6j-VA92prw&p-b>9XxnY_u;l}+eRZt zjSmAB8qMqa|3;m_X&NO_i0xMvd{rtHoZfJ45lSZ zmI(Xs$%4aG^n+@U2RU*VbsvzQpI<0fU@NRRJU#pDvuW$rtzs3r
Pd;{YL&}*4* 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 OKyse0elF{r5}E*q3KJ** diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png index 1185ff2d8bfdae27c7dae650f37a239fd313e327..37e6ddc39caac76358de4210988a78bd1e151013 100644 GIT binary patch literal 4447 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png index af56c5bb929e43fbdf00bffaacb244fef55ed651..5857ff6fd276e303fec960d77e2215da4d98d939 100644 GIT binary patch literal 8589 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 TX`(0{00000NkvXXu0mjfpp7pseCuh{ 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 JPDHLkV1h_T{4M|h diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png index af56c5bb929e43fbdf00bffaacb244fef55ed651..5857ff6fd276e303fec960d77e2215da4d98d939 100644 GIT binary patch literal 8589 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 TX`(0{00000NkvXXu0mjfpp7pseCuh{ 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 JPDHLkV1h_T{4M|h From 1a3a12df1adbe0f6e5c4907015e920ae8b0b8af5 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 1 Oct 2025 17:33:14 +0000 Subject: [PATCH 29/63] chore: Release v5.42.0-dev.9 [skip ci] # [5.42.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.8...v5.42.0-dev.9) (2025-10-01) ### Bug Fixes * **Custom branding:** Update ReVanced logo sizing ([#6029](https://github.com/ReVanced/revanced-patches/issues/6029)) ([ae4b947](https://github.com/ReVanced/revanced-patches/commit/ae4b9474d3fb62528fc21397c19954d31605e9da)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4e3d56b77..4b468419c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.8...v5.42.0-dev.9) (2025-10-01) + + +### Bug Fixes + +* **Custom branding:** Update ReVanced logo sizing ([#6029](https://github.com/ReVanced/revanced-patches/issues/6029)) ([ae4b947](https://github.com/ReVanced/revanced-patches/commit/ae4b9474d3fb62528fc21397c19954d31605e9da)) + # [5.42.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.7...v5.42.0-dev.8) (2025-10-01) diff --git a/gradle.properties b/gradle.properties index be9ae46ef6..5e2632b9a5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.8 +version = 5.42.0-dev.9 From 9469604fe0db9bfa0dc6918af3acaa16006e8fbb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 22:15:52 +0400 Subject: [PATCH 30/63] chore(deps-dev): Bump semantic-release from 24.2.7 to 24.2.9 (#6040) --- package-lock.json | 42 ++++++++++++++++++++++++++++++++++++------ package.json | 2 +- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0637b7a453..537a7a4fb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "gradle-semantic-release-plugin": "^1.10.1", - "semantic-release": "^24.2.7" + "semantic-release": "^24.2.9" } }, "node_modules/@babel/code-frame": { @@ -6889,9 +6889,9 @@ "license": "MIT" }, "node_modules/semantic-release": { - "version": "24.2.7", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.7.tgz", - "integrity": "sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==", + "version": "24.2.9", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz", + "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, "license": "MIT", "dependencies": { @@ -6909,7 +6909,7 @@ "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", - "hook-std": "^3.0.0", + "hook-std": "^4.0.0", "hosted-git-info": "^8.0.0", "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", @@ -6921,7 +6921,7 @@ "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", - "semver-diff": "^4.0.0", + "semver-diff": "^5.0.0", "signale": "^1.2.1", "yargs": "^17.5.1" }, @@ -7045,6 +7045,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/hook-std": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz", + "integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/human-signals": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", @@ -7138,6 +7151,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/semver-diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-5.0.0.tgz", + "integrity": "sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==", + "deprecated": "Deprecated as the semver package now supports this built-in.", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", diff --git a/package.json b/package.json index 4ce37d34ee..b38c0f0b87 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,6 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "gradle-semantic-release-plugin": "^1.10.1", - "semantic-release": "^24.2.7" + "semantic-release": "^24.2.9" } } From e7a1706be4d3eb67ffa905ae4a088dc36f33562d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 22:16:40 +0400 Subject: [PATCH 31/63] chore(deps): Bump actions/setup-node from 4 to 5 (#6038) --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 607ff82932..5a87fdd405 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,7 +35,7 @@ jobs: run: ./gradlew :patches:buildAndroid clean - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 'lts/*' cache: 'npm' From aec17b93f7920932ea05f9753d57a64130fc27ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 22:18:24 +0400 Subject: [PATCH 32/63] chore(deps): Bump com.google.guava:guava from 33.4.0-jre to 33.5.0-jre (#6042) --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f55818425b..b3d9a0a352 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ annotation = "1.9.1" appcompat = "1.7.0" okhttp = "5.0.0-alpha.14" retrofit = "2.11.0" -guava = "33.4.0-jre" +guava = "33.5.0-jre" protobuf-javalite = "4.32.0" protoc = "4.32.0" protobuf = "0.9.5" From 6a799110d7c791c6940611bbcab69075ca70f627 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 1 Oct 2025 22:37:10 +0400 Subject: [PATCH 33/63] refactor(YouTube - Spoof video streams): Add 'supportsMultiAudioTracks' field --- .../music/patches/ForceOriginalAudioPatch.java | 2 +- .../shared/patches/ForceOriginalAudioPatch.java | 6 ++---- .../extension/shared/spoof/ClientType.java | 14 ++++++++++++++ .../youtube/patches/ForceOriginalAudioPatch.java | 2 +- .../shared/misc/audio/ForceOriginalAudioPatch.kt | 2 +- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java index 30a2cb8f2d..26589623e3 100644 --- a/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java +++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/ForceOriginalAudioPatch.java @@ -8,7 +8,7 @@ public class ForceOriginalAudioPatch { /** * Injection point. */ - public static void setPreferredLanguage() { + public static void setEnabled() { app.revanced.extension.shared.patches.ForceOriginalAudioPatch.setEnabled( Settings.FORCE_ORIGINAL_AUDIO.get(), Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java index 762a773525..8ae454e69a 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/ForceOriginalAudioPatch.java @@ -10,14 +10,12 @@ public class ForceOriginalAudioPatch { private static final String DEFAULT_AUDIO_TRACKS_SUFFIX = ".4"; - private static volatile boolean enabled = false; + private static volatile boolean enabled; public static void setEnabled(boolean isEnabled, ClientType client) { enabled = isEnabled; - if (isEnabled - && SpoofVideoStreamsPatch.spoofingToClientWithNoMultiAudioStreams() - && !client.useAuth) { + if (isEnabled && !client.useAuth && !client.supportsMultiAudioTracks) { // If client spoofing does not use authentication and lacks multi-audio streams, // then can use any language code for the request and if that requested language is // not available YT uses the original audio language. Authenticated requests ignore diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java index 96299faccc..cfd79b9725 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/ClientType.java @@ -31,6 +31,7 @@ public enum ClientType { "132.0.6808.3", "1.61.48", false, + false, "Android VR 1.61" ), /** @@ -50,6 +51,7 @@ public enum ClientType { "107.0.5284.2", "1.43.32", ANDROID_VR_1_61_48.useAuth, + ANDROID_VR_1_61_48.supportsMultiAudioTracks, "Android VR 1.43" ), /** @@ -69,6 +71,7 @@ public enum ClientType { "132.0.6779.0", "23.47.101", true, + false, "Android Studio" ), /** @@ -83,6 +86,7 @@ public enum ClientType { "0.1", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15", false, + false, "visionOS" ), /** @@ -107,6 +111,7 @@ public enum ClientType { "19.22.3", "com.google.ios.youtube/19.22.3 (iPad7,6; U; CPU iPadOS 17_7_10 like Mac OS X; " + Locale.getDefault() + ")", false, + true, "iPadOS" ); @@ -180,6 +185,11 @@ public enum ClientType { */ public final boolean useAuth; + /** + * If the client supports multiple audio tracks. + */ + public final boolean supportsMultiAudioTracks; + /** * Friendly name displayed in stats for nerds. */ @@ -200,6 +210,7 @@ public enum ClientType { @NonNull String cronetVersion, String clientVersion, boolean useAuth, + boolean supportsMultiAudioTracks, String friendlyName) { this.id = id; this.clientName = clientName; @@ -213,6 +224,7 @@ public enum ClientType { this.cronetVersion = cronetVersion; this.clientVersion = clientVersion; this.useAuth = useAuth; + this.supportsMultiAudioTracks = supportsMultiAudioTracks; this.friendlyName = friendlyName; Locale defaultLocale = Locale.getDefault(); @@ -238,6 +250,7 @@ public enum ClientType { String clientVersion, String userAgent, boolean useAuth, + boolean supportsMultiAudioTracks, String friendlyName) { this.id = id; this.clientName = clientName; @@ -248,6 +261,7 @@ public enum ClientType { this.clientVersion = clientVersion; this.userAgent = userAgent; this.useAuth = useAuth; + this.supportsMultiAudioTracks = supportsMultiAudioTracks; this.friendlyName = friendlyName; this.packageName = null; this.androidSdkVersion = null; diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java index 5540b670dc..ed65e7fbab 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ForceOriginalAudioPatch.java @@ -8,7 +8,7 @@ public class ForceOriginalAudioPatch { /** * Injection point. */ - public static void setPreferredLanguage() { + public static void setEnabled() { app.revanced.extension.shared.patches.ForceOriginalAudioPatch.setEnabled( Settings.FORCE_ORIGINAL_AUDIO.get(), Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt index 0f5d8f1acc..5c0d8c9078 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/audio/ForceOriginalAudioPatch.kt @@ -59,7 +59,7 @@ internal fun forceOriginalAudioPatch( mainActivityOnCreateFingerprint.method.addInstruction( 0, - "invoke-static { }, $subclassExtensionClassDescriptor->setPreferredLanguage()V" + "invoke-static { }, $subclassExtensionClassDescriptor->setEnabled()V" ) // Disable feature flag that ignores the default track flag From a62ee43441b197f5c8352ae373bb8919ad66f0bd Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Fri, 3 Oct 2025 00:05:23 +0400 Subject: [PATCH 34/63] fix(YouTube - Spoof video streams): Resolve playback dropping frames (#6051) --- .../shared/spoof/SpoofVideoStreamsPatch.java | 2 +- .../patches/spoof/SpoofVideoStreamsPatch.java | 22 ++++++------------- .../extension/youtube/settings/Settings.java | 2 +- ...oofStreamingDataSideEffectsPreference.java | 15 ++++++++----- .../resources/addresources/values/arrays.xml | 4 +++- .../resources/addresources/values/strings.xml | 1 + 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index 8275f9c71c..a1de3d0bec 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -39,7 +39,7 @@ public class SpoofVideoStreamsPatch { @Nullable private static volatile AppLanguage languageOverride; - private static volatile ClientType preferredClient = ClientType.ANDROID_VR_1_61_48; + private static volatile ClientType preferredClient = ClientType.ANDROID_VR_1_43_32; /** * @return If this patch was included during patching. diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java index da200ef670..e9672d1fff 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java @@ -18,28 +18,20 @@ public class SpoofVideoStreamsPatch { * Injection point. */ public static void setClientOrderToUse() { - final boolean forceAVC = Settings.FORCE_AVC_CODEC.get(); - - // VR 1.61 uses VP9/AV1, and cannot force AVC. ClientType client = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get(); - if (forceAVC && client == ANDROID_VR_1_61_48) { - client = ANDROID_VR_1_43_32; // Use VR 1.43 instead. + + + if (Settings.FORCE_AVC_CODEC.get() && client == ANDROID_VR_1_61_48) { + // VR 1.61 uses VP9/AV1, and cannot force AVC. Use 1.43 instead. + client = ANDROID_VR_1_43_32; } - List availableClients = forceAVC - ? List.of( + List availableClients = List.of( ANDROID_VR_1_43_32, VISIONOS, ANDROID_CREATOR, ANDROID_VR_1_61_48, - IPADOS) - : List.of( - ANDROID_VR_1_61_48, - VISIONOS, - ANDROID_CREATOR, - ANDROID_VR_1_43_32, - IPADOS - ); + IPADOS); app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse( availableClients, client); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index cfe87af71c..e8c21aca17 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -356,7 +356,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting EXTERNAL_BROWSER = new BooleanSetting("revanced_external_browser", TRUE, true); public static final BooleanSetting SPOOF_DEVICE_DIMENSIONS = new BooleanSetting("revanced_spoof_device_dimensions", FALSE, true, "revanced_spoof_device_dimensions_user_dialog_message"); - public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_61_48, true, parent(SPOOF_VIDEO_STREAMS)); + public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_43_32, true, parent(SPOOF_VIDEO_STREAMS)); public static final BooleanSetting DEBUG_PROTOBUFFER = new BooleanSetting("revanced_debug_protobuffer", FALSE, false, "revanced_debug_protobuffer_user_dialog_message", parent(BaseSettings.DEBUG)); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java index 9dee0b0c57..919aed6c61 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java @@ -83,12 +83,17 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference { String summary = str("revanced_spoof_video_streams_about_no_audio_tracks"); switch (clientType) { - case ANDROID_VR_1_61_48 -> - summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume"); case ANDROID_CREATOR -> - summary += '\n' + str("revanced_spoof_video_streams_about_no_av1") - + '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") - + '\n' + str("revanced_spoof_video_streams_about_no_force_original_audio"); + summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") + + '\n' + str("revanced_spoof_video_streams_about_no_av1") + + '\n' + str("revanced_spoof_video_streams_about_no_force_original_audio"); + case ANDROID_VR_1_43_32 -> + summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") + + '\n' + str("revanced_spoof_video_streams_about_no_av1"); + case ANDROID_VR_1_61_48 -> + summary = str("revanced_spoof_video_streams_about_dropped_frames") + + '\n' + summary + + '\n' + str("revanced_spoof_video_streams_about_no_stable_volume"); case IPADOS -> summary = str("revanced_spoof_video_streams_about_playback_failure") + '\n' + str("revanced_spoof_video_streams_about_no_av1"); diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index f89f52c2d7..b2fa4a885b 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -137,12 +137,14 @@ - Android VR + Android VR 1.43 + Android VR 1.61 Android Studio visionOS iPadOS + ANDROID_VR_1_43_32 ANDROID_VR_1_61_48 ANDROID_CREATOR VISIONOS diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index a23b530ae5..0bdd13f864 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1687,6 +1687,7 @@ Limitations: • Audio track menu is missing • No AV1 video codec • Stable volume is not available + • Playback may stutter or drop frames • Kids videos may not play when logged out or in incognito mode • Force original audio is not available From 26117e744ce0ef304dfdaad9c3ece053f9d7ba75 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 2 Oct 2025 20:09:02 +0000 Subject: [PATCH 35/63] chore: Release v5.42.0-dev.10 [skip ci] # [5.42.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.9...v5.42.0-dev.10) (2025-10-02) ### Bug Fixes * **YouTube - Spoof video streams:** Resolve playback dropping frames ([#6051](https://github.com/ReVanced/revanced-patches/issues/6051)) ([a62ee43](https://github.com/ReVanced/revanced-patches/commit/a62ee43441b197f5c8352ae373bb8919ad66f0bd)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b468419c8..ed6e0304a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.9...v5.42.0-dev.10) (2025-10-02) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Resolve playback dropping frames ([#6051](https://github.com/ReVanced/revanced-patches/issues/6051)) ([a62ee43](https://github.com/ReVanced/revanced-patches/commit/a62ee43441b197f5c8352ae373bb8919ad66f0bd)) + # [5.42.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.8...v5.42.0-dev.9) (2025-10-01) diff --git a/gradle.properties b/gradle.properties index 5e2632b9a5..836249d0a2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.9 +version = 5.42.0-dev.10 From b1511c732d30c85bb60415eab1a9dd7dee8a9558 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 10:53:07 +0400 Subject: [PATCH 36/63] chore: Sync translations (#6055) --- .../addresources/values-ar-rSA/strings.xml | 27 ++++++++++--------- .../addresources/values-az-rAZ/strings.xml | 1 + .../addresources/values-be-rBY/strings.xml | 1 + .../addresources/values-bg-rBG/strings.xml | 1 + .../addresources/values-bn-rBD/strings.xml | 1 + .../addresources/values-cs-rCZ/strings.xml | 1 + .../addresources/values-da-rDK/strings.xml | 1 + .../addresources/values-de-rDE/strings.xml | 1 + .../addresources/values-el-rGR/strings.xml | 1 + .../addresources/values-es-rES/strings.xml | 1 + .../addresources/values-et-rEE/strings.xml | 1 + .../addresources/values-fi-rFI/strings.xml | 3 ++- .../addresources/values-fil-rPH/strings.xml | 1 + .../addresources/values-fr-rFR/strings.xml | 1 + .../addresources/values-ga-rIE/strings.xml | 1 + .../addresources/values-hu-rHU/strings.xml | 1 + .../addresources/values-hy-rAM/strings.xml | 1 + .../addresources/values-in-rID/strings.xml | 1 + .../addresources/values-it-rIT/strings.xml | 1 + .../addresources/values-iw-rIL/strings.xml | 1 + .../addresources/values-ja-rJP/strings.xml | 1 + .../addresources/values-ko-rKR/strings.xml | 5 ++-- .../addresources/values-lt-rLT/strings.xml | 1 + .../addresources/values-lv-rLV/strings.xml | 1 + .../addresources/values-nl-rNL/strings.xml | 1 + .../addresources/values-pl-rPL/strings.xml | 1 + .../addresources/values-pt-rBR/strings.xml | 1 + .../addresources/values-pt-rPT/strings.xml | 1 + .../addresources/values-ro-rRO/strings.xml | 1 + .../addresources/values-ru-rRU/strings.xml | 1 + .../addresources/values-sk-rSK/strings.xml | 1 + .../addresources/values-sl-rSI/strings.xml | 1 + .../addresources/values-sq-rAL/strings.xml | 1 + .../addresources/values-sr-rCS/strings.xml | 1 + .../addresources/values-sr-rSP/strings.xml | 1 + .../addresources/values-sv-rSE/strings.xml | 1 + .../addresources/values-th-rTH/strings.xml | 1 + .../addresources/values-tr-rTR/strings.xml | 1 + .../addresources/values-uk-rUA/strings.xml | 1 + .../addresources/values-vi-rVN/strings.xml | 1 + .../addresources/values-zh-rCN/strings.xml | 1 + .../addresources/values-zh-rTW/strings.xml | 1 + 42 files changed, 58 insertions(+), 16 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index f62dfc7b24..a3488d272e 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -125,7 +125,7 @@ Second \"item\" text"
استخدام لغة الصوت الأصلية استخدام الصوت الافتراضي - لاستخدام هذه الميزة، غيّر \"تزوير تدفقات الفيديو\" إلى أي عميل باستثناء Android Studio + لاستخدام هذه الميزة، غيّر \'Spoof Video Streams إلى أي عميل باستثناء Android Studio
تصحيح الأخطاء @@ -637,9 +637,9 @@ Second \"item\" text" يتم عرض زر التعليقات - إخفاء الإبلاغ - تم إخفاء زر الإبلاغ - يتم عرض زر الإبلاغ + إخفاء إبلاغ + تم إخفاء زر إبلاغ + يتم عرض زر إبلاغ إخفاء ريمكس تم إخفاء زر ريمكس @@ -728,17 +728,17 @@ Second \"item\" text" القائمة المنبثقة إخفاء أو عرض عناصر قائمة المشغل المنبثقة - اخفاء التَرْجَمَة - تم إخفاء قائمة التَرْجَمَة - يتم عرض قائمة التَرْجَمَة + إخفاء الترجمة + تم إخفاء قائمة الترجمة + يتم عرض قائمة الترجمة - إخفاء الإعدادات الإضافية - تم إخفاء قائمة الإعدادات الإضافية - يتم عرض قائمة الإعدادات الإضافية + إخفاء إعدادات إضافية + تم إخفاء قائمة إعدادات إضافية + يتم عرض قائمة إعدادات إضافية - إخفاء مؤقت النوم - تم إخفاء قائمة مؤقت النوم - يتم عرض قائمة مؤقت النوم + إخفاء مؤقِّت إيقاف التشغيل + تم إخفاء قائمة مؤقِّت إيقاف التشغيل + يتم عرض قائمة مؤقِّت إيقاف التشغيل إخفاء تكرار الفيديو تم إخفاء قائمة تكرار الفيديو @@ -1610,6 +1610,7 @@ Second \"item\" text" • قائمة المسارات الصوتية مفقودة • لا يوجد ترميز الفيديو AV1 • مستوى الصوت الثابت غير متاح + • قد يتوقف التشغيل مؤقتًا أو تسقط الإطارات • قد لا يتم تشغيل الفيديوهات المخصصة للأطفال عند تسجيل الخروج أو عند استخدام وضع التصفح المتخفي • فرض الصوت الأصلي غير متاح diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 96b4fb1494..ddb61efcc5 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -1609,6 +1609,7 @@ Məhdudiyyətlər: • Səs treki menyusu çatışmır • AV1 video kodlayıcı yoxdur • Sabit səs yoxdur + • Oxutma kəsilə bilər və ya kadrlar düşə bilər • Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz • \"Orijinal səsi zorla\" əlçatmazdır diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 9e18c02420..935ec76ca9 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -1611,6 +1611,7 @@ Second \"item\" text" • Меню аўдыядарожкі адсутнічае • Няма відэакідавання AV1 • Стабільная гучнасць недаступная + • Прайграванне можа заікацца або прапускаць кадры • Дзіцячыя відэа могуць не прайгравацца ў стане выхаду з акаўнта або ў рэжыме інкогніта • Прымусовы арыгінальны аўдыё недаступны diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index e20e42b096..3ebb4c4536 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -1610,6 +1610,7 @@ Second \"item\" text" • Менюто за аудиозаписи липсва • Без AV1 видео кодек • Стабилният звук не е наличен + • Възпроизвеждането може да заеква или да пропуска кадри • Детските видеоклипове може да не се възпроизвеждат, когато сте излезли от профила си или в режим \"инкогнито\" • Принудителният оригинален звук не е наличен diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 3e6d1a701a..864d56a917 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -1606,6 +1606,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট • অডিও ট্র্যাক মেনু অনুপস্থিত • কোনো AV1 ভিডিও কোডেক নেই • স্থিতিশীল ভলিউম উপলব্ধ নেই + • প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে • লগআউট করা হলে বা ছদ্মবেশী মোডে বাচ্চাদের ভিডিও চলতে নাও পারে • মূল অডিও জোরপূর্বক উপলব্ধ নেই diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 10e706ea7d..c500e47c5e 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -1610,6 +1610,7 @@ Omezení: • Chybí nabídka zvukových stop • Žádný video kodek AV1 • Stabilní hlasitost není k dispozici + • Přehrávání se může sekat nebo ztrácet snímky • Dětská videa se nemusí přehrávat, když jste odhlášení nebo v anonymním režimu • Vynutit původní zvuk není k dispozici diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 7bc6b8c921..79182d6970 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -1612,6 +1612,7 @@ Begrænsninger: • Lydspormenu mangler • Intet AV1-videokodek • Stabil lydstyrke er ikke tilgængelig + • Afspilning kan hakke eller tabe billeder • Videoer til børn afspilles muligvis ikke, når du er logget ud eller i inkognitotilstand • Tving original lyd er ikke tilgængelig diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index edb4d484dd..b018f4faf2 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -1607,6 +1607,7 @@ Einschränkungen: • Audiotrack-Menü fehlt • Kein AV1-Videocodec • Stabile Lautstärke ist nicht verfügbar + • Die Wiedergabe kann stottern oder Bilder überspringen • Kinder-Videos werden möglicherweise nicht abgespielt, wenn du abgemeldet bist oder den Inkognito-Modus verwendest. • Originalton erzwingen ist nicht verfügbar diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 52b072bbaa..88f27c5b2f 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -1609,6 +1609,7 @@ Second \"item\" text" • Το μενού «Κομμάτι ήχου» λείπει • Δεν υπάρχει ο κωδικοποιητής βίντεο AV1 • Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη + • Η αναπαραγωγή μπορεί να κομπιάζει ή να χάνει καρέ • Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται αν είστε αποσυνδεδεμένοι ή σε λειτουργία ανώνυμης περιήγησης • Ο εξαναγκασμός αρχικής γλώσσας ήχου δεν είναι διαθέσιμος diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 8cdcce5c5e..05998beab7 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -1601,6 +1601,7 @@ Limitaciones: • Falta el menú de la pista de audio • Sin códec de vídeo AV1 • Volumen estable no disponible + • La reproducción podría tartamudear o perder fotogramas • Es posible que los vídeos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito • Forzar audio original no está disponible diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 3300b1aa9d..3ceaec10d6 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -1610,6 +1610,7 @@ Piirangud: • Heliraja menüü puudub • Puuduv AV1 videokoodek • Stabiilne helitugevus pole saadaval + • Taasesitus võib katkendlik olla või kaadreid vahele jätta • Video lastele ei pruugi taasesitada, kui olete välja logitud või inkognito režiimis • Sunni algne heli pole saadaval diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 995fb9ab89..4f9b72353a 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -109,7 +109,7 @@ Napauta jatka-painiketta ja salli optimoinnin muutokset." Naamioi videovirrat Naamioi asiakasohjelman videovirrat toisto-ongelmien estämiseksi Naamioi videovirrat - Naamioi asiakkaan videovirrat estääksesi toisto-ongelmat + Naamioi asiakasohjelman videovirrat toisto-ongelmien estämiseksi Naamioi videovirrat "Videovirrat on naamioitu @@ -1610,6 +1610,7 @@ Rajoitukset: • Ääniraitavalikko puuttuu • Ei AV1-videokoodekkia • Tasainen äänenvoimakkuus ei ole käytettävissä + • Toisto saattaa pätkiä tai pudottaa kuvia • Lasten videot eivät ehkä toistu, kun olet kirjautunut ulos tai incognito-tilassa • Pakota alkuperäinen ääni ei ole käytettävissä diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 4ba8009c26..cce1c246a0 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -1608,6 +1608,7 @@ Mga Limitasyon: • Nawawala ang menu ng audio track • Walang AV1 video codec • Hindi available ang stable volume + • Maaaring mag-stutter ang pag-playback o bumaba ang mga frame • Mga video ng mga bata ay maaaring hindi ma-play kapag naka-log out o nasa incognito mode • Ang Pilitin ang orihinal na audio ay hindi magagamit diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index bf4975277b..d4ea1ff123 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -1611,6 +1611,7 @@ Limitations : • Le menu Piste audio est absent • Codec vidéo AV1 indisponible • Le volume stable n\'est pas disponible + • La lecture peut saccader ou perdre des images • La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée • Forcer la langue audio d\'origine n\'est pas disponible diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index f508ed916c..fdc8de9769 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -1610,6 +1610,7 @@ Teorainneacha: • Tá an roghchlár rian fuaime in easnamh • Níl aon chóidéir físe AV1 • Níl toirt chobhsaí ar fáil + • D\'fhéadfadh an athsheinm bacadh nó frámaí a chailleadh • Videos faoi phaistí uaireanta nach imreoidh nuair a bhíonn tú logáilte amach nó i mod incognito • Níl Éigean fuaime bunaidh ar fáil diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index f4231656b6..058a2f9f85 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -1607,6 +1607,7 @@ Korlátozások: • Hiányzik az hangsáv menü • Nincs AV1 videokodek • Stabil hangerő nem elérhető + • A lejátszás akadozhat vagy képkockákat dobhat. • A gyermekeknek szóló videók nem játszódnak le, ha a felhasználó kijelentkezett, vagy inkognitómódban van. • Eredeti hang kényszerítése nem érhető el diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index ae7e3ad17d..bb723e17cf 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -1611,6 +1611,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի • Ձայնային ուղու մենյուն բացակայում է • Հեռացված բոլոր AV1 վիդեո կոդեկները • Կայուն ձայնի մակարդակը հասանելի չէ + • Նվագարկումը հնարավոր է ընդհատվի կամ բաց թողնի կադրեր Երեխաների տեսանյութերը կարող են չհամապատասխանել հետևյալ պահանջներին՝ եթե արտոնագրման խախտումներ կան։ • Բնօրինակ ձայնի պարտադրումը հասանելի չէ diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 88960c8e8d..088a6b07d9 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -1609,6 +1609,7 @@ Batasan: • Menu trek audio tidak ada • Tidak ada codec video AV1 • Volume stabil tidak tersedia + • Pemutaran mungkin tersendat atau melewatkan bingkai • Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran • Paksa audio asli tidak tersedia diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index eede11f607..65f0b05511 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -1609,6 +1609,7 @@ Limitazioni: • Manca il menu delle tracce audio • Nessun codec video AV1 • Il volume stabile non è disponibile + • La riproduzione potrebbe scattare o perdere fotogrammi • I video dei bambini potrebbero non essere riprodotti quando si è disconnessi o in modalità di navigazione in incognito • L\'audio originale forzato non è disponibile diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 5132fd24b4..14b253e798 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -1612,6 +1612,7 @@ Second \"item\" text" • תפריט ערוץ השמע חסר • אין קודק וידאו מסוג AV1 • עוצמת קול יציבה אינה זמינה + • ההפעלה עלולה לגמגם או להפיל פריימים • ייתכן שסרטוני Kids לא יופעלו כשאתה מנותק או במצב פרטי • כפיית שמע מקורי אינה זמינה diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index c8e96f360a..aac14f5d8b 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -1612,6 +1612,7 @@ Automotive レイアウト •「音声トラック」がフライアウト メニューに表示されない • AV1 コーデックが利用できない •「一定音量」が利用できない + • 再生が途切れたり、フレームがスキップされたりする場合があります。 • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある •「オリジナルの音声を強制的に使用」が利用できない diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 576a9e34bb..040d5e4cb9 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -321,7 +321,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 팟캐스트 살펴보기 섹션 숨기기 팟캐스트 살펴보기 섹션이 숨겨집니다 팟캐스트 살펴보기 섹션이 표시됩니다 - 정보 카드 숨기기 + 크리에이터 정보 카드 섹션 숨기기 크리에이터 정보 카드 섹션이 숨겨집니다 크리에이터 정보 카드 섹션이 표시됩니다 주요 개념 섹션 숨기기 @@ -615,7 +615,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 동작 버튼 플레이어 하단에서 동작 버튼을 숨기거나 표시할 수 있습니다 - 빛나는 \'좋아요\' / \'구독\' 비활성화하기 + 빛나는 \'좋아요\' / \'구독\' 버튼 비활성화하기 동영상에서 \'Like (좋아요)\' 또는 \'Subscribe (구독)\' 버튼이 언급되었을 경우에 해당 버튼에 빛나는 애니메이션을 적용하지 않습니다 동영상에서 \'Like (좋아요)\' 또는 \'Subscribe (구독)\' 버튼이 언급되었을 경우에 해당 버튼에 빛나는 애니메이션을 적용합니다 좋아요 & 싫어요 버튼 숨기기 @@ -1617,6 +1617,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" • 오디오 트랙 메뉴가 표시되지 않습니다 • AV1 코덱이 지원되지 않습니다 • 안정적인 볼륨을 사용할 수 없습니다 + • 재생이 끊기거나 프레임이 손실될 수 있습니다 • Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다 • 원본 오디오를 강제로 활성화할 수 없습니다 diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 3edfdb89af..0655defd0a 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -1611,6 +1611,7 @@ Apribojimai: • Trūksta garso takelio meniu • Nėra AV1 vaizdo kodeko • Stabili garso apimtis nepasiekiama + • Atkūrimas gali strigti arba praleisti kadrus • Vaikų vaizdo įrašai gali būti neatkuriami, kai atsijungiama arba naudojamas inkognito režimas • Priverstinai naudoti originalų garsą nepasiekiama diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index b63eb63162..c3d85901e0 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -1611,6 +1611,7 @@ Ierobežojumi: • Trūkst audio celiņa izvēlnes • Nav pieejams AV1 video kodeks • Nav pieejams stabils skaļums + • Atskaņošana var raustīties vai izlaist kadrus • Bērnu videoklipi var netikt atskaņoti, kad esat izrakstījies vai inkognito režīmā. • Piespiest oriģinālo skaņu nav pieejams diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index cdeb5a3820..f8310b78a3 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -1608,6 +1608,7 @@ Beperkingen: • Audiotrack-menu ontbreekt • Geen AV1-videocodec • Stabiel volume is niet beschikbaar + • Het afspelen kan haperen of frames overslaan • \"Kinder\"​-Video’s worden mogelijk niet afgespeeld wanneer u bent uitgelogd of de incognitomodus gebruikt • Oorspronkelijke audio forceren is niet beschikbaar diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 01af1a19e2..6faa4a5450 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -1606,6 +1606,7 @@ Ograniczenia: • Brakuje menu ścieżek audio • Žádný video kodek AV1 • Stabilna głośność nie jest dostępna + • Odtwarzanie może się zacinać lub gubić klatki • Filmy dla dzieci mogą nie być odtwarzane po wylogowaniu lub w trybie incognito • Wymuś oryginalny dźwięk jest niedostępny diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 1f2c6062c7..dab1f26cca 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -1607,6 +1607,7 @@ Limitações: • O menu da faixa de áudio está faltando • Sem codec de vídeo AV1 • Volume estável não está disponível + • A reprodução pode gaguejar ou perder quadros • Vídeos infantis podem não ser reproduzidos quando estiver desconectado ou no modo de navegação anônima • Forçar áudio original não está disponível diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index f9f95ef5fb..51259330af 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -1610,6 +1610,7 @@ Limitações: • O menu da faixa de áudio está faltando • Nenhum codec de vídeo AV1 • O volume estável não está disponível + • A reprodução pode gaguejar ou perder quadros • Vídeos infantis podem não ser reproduzidos quando desconectado ou no modo anônimo • Forçar áudio original não está disponível diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 9ff4295c73..4d6570aadd 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -1607,6 +1607,7 @@ Limitări: • Meniul pistei audio lipsește • Fara codec video AV1 • Volumul stabil nu este disponibil + • Redarea poate sacada sau pierde cadre • Copiii nu pot urmări videoclipuri atunci când sunt deconectați sau în modul incognito • Forțarea sunetului original nu este disponibilă diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index ff1d064dc7..76362f907d 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -1617,6 +1617,7 @@ Second \"item\" text" • Пункт \"Звуковая дорожка\" отсутствует • Отсутствует видеокодек AV1 • Постоянный уровень громкости недоступен + • Воспроизведение может зависать или пропускать кадры • Видео для детей могут не воспроизводиться при выходе из системы или в режиме инкогнито • Принудительная оригинальная звуковая дорожка недоступна diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 85b898e23a..a48be437db 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -1603,6 +1603,7 @@ Obmedzenia: • Chýba ponuka zvukovej stopy • Žiadny video kodek AV1 • Stabilná hlasitosť nie je dostupná + • Prehrávanie môže sekať alebo vynechávať snímky • Videá pre deti sa nemusia prehrávať, keď ste odhlásení alebo v režime inkognito • Vynútenie pôvodného zvuku nie je k dispozícii diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 8aa37376fc..f85bab4b27 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -1610,6 +1610,7 @@ Omejitve: • Meni z zvočnimi posnetki manjka • Brez kodeka videa AV1 • Stabilna glasnost ni na voljo + • Predvajanje se lahko zatika ali izpušča sličice • Posnetki za otroke se mogoče ne bodo predvajali, ko ste odjavljeni ali v načinu brez beleženja zgodovine • Vsili izvirni zvok ni na voljo diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index 7662dff532..a7df4ef550 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -1608,6 +1608,7 @@ Kufizimet: • Menuja e gjurmës audio mungon • Nuk ka codec video AV1 • Volumi i qëndrueshëm nuk është i disponueshëm + • Riprodhimi mund të ndërpritet ose të humbasë kornizat • Video për fëmijë mund të mos luajnë kur jeni jashtë llogarisë ose në modalitetin incognito • Detyro audio origjinale nuk është i disponueshëm diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index d6abc928d7..7f531a7756 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -1609,6 +1609,7 @@ Ograničenja: • Meni „Audio snimak” nedostaje • Nema video kodeka AV1 • Opcija „Ujednačena jačina zvuka” nije dostupna + • Reprodukcija može zastajkivati ili ispuštati kadrove • Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja • Prisiljavanje originalnog zvuka nije dostupno diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index f9ee56b6fc..62bc59052d 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1612,6 +1612,7 @@ Second \"item\" text" • Мени „Аудио снимак” недостаје • Нема видео кодека AV1 • Опција „Уједначена јачина звука” није доступна + • Репродукција може да сецка или да испушта кадрове • Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања • Присиљавање оригиналног звука није доступно diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index bcda81d7a9..662f075c1a 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -1609,6 +1609,7 @@ Begränsningar: • Menyn Ljudspår saknas • Ingen AV1-videokodek • Stabil volym är inte tillgängligt + • Uppspelningen kan hacka eller tappa bildrutor • Videor för barn kanske inte spelas upp när du är utloggad eller i inkognitoläge • Tvinga ursprungligt ljud är inte tillgängligt diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 723f37762c..9cb06ce49b 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -1612,6 +1612,7 @@ User id ของคุณเหมือนกับรหัสผ่าน • เมนูแทร็กเสียงหายไป • ไม่มีตัวแปลงสัญญาณวิดีโอ AV1 • ระดับเสียงคงที่ไม่พร้อมใช้งาน + • การเล่นอาจสะดุดหรือเฟรมตก • วิดีโอเด็กอาจไม่เล่นเมื่อลงชื่อออกหรืออยู่ในโหมดไม่ระบุตัวตน • บังคับใช้เสียงต้นฉบับไม่พร้อมใช้งาน diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 49a41930c3..54dc3841b9 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -1617,6 +1617,7 @@ Sınırlamalar: • Ses parçası menüsü eksik • AV1 video kodeği yok • Sabit ses mevcut değil + • Oynatma takılabilir veya kare atlayabilir • Çocuk videoları oturum açılmadığında veya gizli modda oynatılamayabilir • Orijinal sesi zorlama mevcut değil diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 72a911ff2e..44ecb133ff 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -1609,6 +1609,7 @@ Second \"item\" text" • Пункт меню \"Звукова доріжка\" відсутній • Відеокодек AV1 відсутній • Пункт меню \"Стабілізувати гучність\" недоступний + • Відтворення може заїкатися або пропускати кадри • Відео для дітей можуть не відтворюватися, якщо вийти з облікового запису або перейти в анонімний режим • Примусово оригінальна мова звукової доріжки\" недоступна diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 52f99d80c8..ade1fb052e 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -1616,6 +1616,7 @@ Hạn chế: • Trình đơn bản âm thanh bị thiếu • Không có codec video AV1 • Âm lượng ổn định không khả dụng + • Có thể gặp hiện tượng giật lag hoặc tụt fps khi phát video • Video dành cho trẻ em có thể không phát được khi đăng xuất hoặc ở chế độ ẩn danh • Buộc âm thanh gốc không khả dụng diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 02acaa3a2c..ca23c4f56b 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -1615,6 +1615,7 @@ Second \"item\" text" • 音轨菜单缺失 • 不支持 AV1 视频编解码器 • 稳定音量不可用 + • 播放可能会卡顿或掉帧 • 注销或使用无痕模式时,儿童视频可能无法播放 • 强制原始音频不可用 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index 3a72056b8d..0622ca1897 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -1620,6 +1620,7 @@ Second \"item\" text" • 音軌選單遺失 • 沒有 AV1 影片解碼器 • 穩定音量無法使用 + • 播放可能會卡頓或掉幀 • 在登出或無痕模式下,兒童影片可能無法播放 • 強制原始音訊不可用 From 6b2634691423f5ce25a28b3f2fbc420977b81748 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Fri, 3 Oct 2025 10:54:44 +0400 Subject: [PATCH 37/63] fix(YouTube): Resolve UI components not hiding for some users (#6054) --- .../patches/ReturnYouTubeDislikePatch.java | 8 ++-- .../youtube/patches/components/AdsFilter.java | 8 ++-- .../AdvancedVideoQualityMenuFilter.java | 2 +- .../patches/components/ButtonsFilter.java | 16 +++---- .../patches/components/CommentsFilter.java | 14 +++--- .../DescriptionComponentsFilter.java | 8 ++-- .../components/HideInfoCardsFilter.java | 2 +- .../components/KeywordContentFilter.java | 36 +++++++------- .../components/LayoutComponentsFilter.java | 48 +++++++++---------- .../components/PlaybackSpeedMenuFilter.java | 4 +- .../PlayerFlyoutMenuItemsFilter.java | 2 +- .../ReturnYouTubeDislikeFilter.java | 4 +- .../patches/components/ShortsFilter.java | 42 ++++++++-------- 13 files changed, 97 insertions(+), 97 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java index dbd1ad8d4c..f7c0bee2d3 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java @@ -131,11 +131,11 @@ public class ReturnYouTubeDislikePatch { String conversionContextString = conversionContext.toString(); - if (isRollingNumber && !conversionContextString.contains("video_action_bar.eml")) { + if (isRollingNumber && !conversionContextString.contains("video_action_bar.e")) { return original; } - if (conversionContextString.contains("segmented_like_dislike_button.eml")) { + if (conversionContextString.contains("segmented_like_dislike_button.e")) { // Regular video. ReturnYouTubeDislike videoData = currentVideoData; if (videoData == null) { @@ -153,12 +153,12 @@ public class ReturnYouTubeDislikePatch { } if (Utils.containsAny(conversionContextString, - "|shorts_dislike_button.eml", "|reel_dislike_button.eml")) { + "|shorts_dislike_button.e", "|reel_dislike_button.e")) { return getShortsSpan(original, true); } if (Utils.containsAny(conversionContextString, - "|shorts_like_button.eml", "|reel_like_button.eml")) { + "|shorts_like_button.e", "|reel_like_button.e")) { if (!Utils.containsNumber(original)) { Logger.printDebug(() -> "Replacing hidden likes count"); return getShortsSpan(original, false); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java index cb604c57b5..01f82f5cf5 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java @@ -105,17 +105,17 @@ public final class AdsFilter extends Filter { Settings.HIDE_VIEW_PRODUCTS_BANNER, "product_item", "products_in_video", - "shopping_overlay.eml" // Video player overlay shopping links. + "shopping_overlay.e" // Video player overlay shopping links. ); final var shoppingLinks = new StringFilterGroup( Settings.HIDE_SHOPPING_LINKS, - "shopping_description_shelf.eml" + "shopping_description_shelf.e" ); playerShoppingShelf = new StringFilterGroup( Settings.HIDE_CREATOR_STORE_SHELF, - "horizontal_shelf.eml" + "horizontal_shelf.e" ); playerShoppingShelfBuffer = new ByteArrayFilterGroup( @@ -131,7 +131,7 @@ public final class AdsFilter extends Filter { final var merchandise = new StringFilterGroup( Settings.HIDE_MERCHANDISE_BANNERS, "product_carousel", - "shopping_carousel.eml" // Channel profile shopping shelf. + "shopping_carousel.e" // Channel profile shopping shelf. ); final var selfSponsor = new StringFilterGroup( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java index fb64dd81d3..d2bbad012a 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdvancedVideoQualityMenuFilter.java @@ -14,7 +14,7 @@ public final class AdvancedVideoQualityMenuFilter extends Filter { public AdvancedVideoQualityMenuFilter() { addPathCallbacks(new StringFilterGroup( Settings.ADVANCED_VIDEO_QUALITY_MENU, - "quick_quality_sheet_content.eml-js" + "quick_quality_sheet_content.e" )); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java index 12775ed5f0..3ca59ea0b1 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java @@ -4,13 +4,13 @@ import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") final class ButtonsFilter extends Filter { - private static final String COMPACT_CHANNEL_BAR_PATH_PREFIX = "compact_channel_bar.eml"; - private static final String VIDEO_ACTION_BAR_PATH_PREFIX = "video_action_bar.eml"; - private static final String VIDEO_ACTION_BAR_PATH = "video_action_bar.eml"; + private static final String COMPACT_CHANNEL_BAR_PATH_PREFIX = "compact_channel_bar.e"; + private static final String VIDEO_ACTION_BAR_PATH_PREFIX = "video_action_bar.e"; + private static final String VIDEO_ACTION_BAR_PATH = "video_action_bar.e"; /** * Video bar path when the video information is collapsed. Seems to shown only with 20.14+ */ - private static final String COMPACTIFY_VIDEO_ACTION_BAR_PATH = "compactify_video_action_bar.eml"; + private static final String COMPACTIFY_VIDEO_ACTION_BAR_PATH = "compactify_video_action_bar.e"; private static final String ANIMATED_VECTOR_TYPE_PATH = "AnimatedVectorType"; private final StringFilterGroup likeSubscribeGlow; @@ -28,12 +28,12 @@ final class ButtonsFilter extends Filter { likeSubscribeGlow = new StringFilterGroup( Settings.DISABLE_LIKE_SUBSCRIBE_GLOW, - "animated_button_border.eml" + "animated_button_border.e" ); bufferFilterPathGroup = new StringFilterGroup( null, - "|ContainerType|button.eml" + "|ContainerType|button.e" ); addPathCallbacks( @@ -45,7 +45,7 @@ final class ButtonsFilter extends Filter { ), new StringFilterGroup( Settings.HIDE_DOWNLOAD_BUTTON, - "|download_button.eml" + "|download_button.e" ), new StringFilterGroup( Settings.HIDE_SAVE_BUTTON, @@ -53,7 +53,7 @@ final class ButtonsFilter extends Filter { ), new StringFilterGroup( Settings.HIDE_CLIP_BUTTON, - "|clip_button.eml" + "|clip_button.e" ) ); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java index 6264b2ab21..2af8d1a908 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java @@ -6,7 +6,7 @@ import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") final class CommentsFilter extends Filter { - private static final String COMMENT_COMPOSER_PATH = "comment_composer.eml"; + private static final String COMMENT_COMPOSER_PATH = "comment_composer.e"; private final StringFilterGroup chipBar; private final ByteArrayFilterGroup aiCommentsSummary; @@ -15,12 +15,12 @@ final class CommentsFilter extends Filter { public CommentsFilter() { var chatSummary = new StringFilterGroup( Settings.HIDE_COMMENTS_AI_CHAT_SUMMARY, - "live_chat_summary_banner.eml" + "live_chat_summary_banner.e" ); chipBar = new StringFilterGroup( Settings.HIDE_COMMENTS_AI_SUMMARY, - "chip_bar.eml" + "chip_bar.e" ); aiCommentsSummary = new ByteArrayFilterGroup( @@ -35,8 +35,8 @@ final class CommentsFilter extends Filter { var commentsByMembers = new StringFilterGroup( Settings.HIDE_COMMENTS_BY_MEMBERS_HEADER, - "sponsorships_comments_header.eml", - "sponsorships_comments_footer.eml" + "sponsorships_comments_header.e", + "sponsorships_comments_footer.e" ); var comments = new StringFilterGroup( @@ -52,7 +52,7 @@ final class CommentsFilter extends Filter { var createAShort = new StringFilterGroup( Settings.HIDE_COMMENTS_CREATE_A_SHORT_BUTTON, - "composer_short_creation_button.eml" + "composer_short_creation_button.e" ); emojiAndTimestampButtons = new StringFilterGroup( @@ -69,7 +69,7 @@ final class CommentsFilter extends Filter { var thanksButton = new StringFilterGroup( Settings.HIDE_COMMENTS_THANKS_BUTTON, - "super_thanks_button.eml" + "super_thanks_button.e" ); addPathCallbacks( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java index 5c0870cde3..0d727bcfde 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java @@ -29,12 +29,12 @@ final class DescriptionComponentsFilter extends Filter { aiGeneratedVideoSummarySection = new StringFilterGroup( Settings.HIDE_AI_GENERATED_VIDEO_SUMMARY_SECTION, - "cell_expandable_metadata.eml" + "cell_expandable_metadata.e" ); final StringFilterGroup askSection = new StringFilterGroup( Settings.HIDE_ASK_SECTION, - "youchat_entrypoint.eml" + "youchat_entrypoint.e" ); final StringFilterGroup attributesSection = new StringFilterGroup( @@ -65,7 +65,7 @@ final class DescriptionComponentsFilter extends Filter { macroMarkersCarousel = new StringFilterGroup( null, - "macro_markers_carousel.eml" + "macro_markers_carousel.e" ); macroMarkersCarouselGroupList.addAll( @@ -81,7 +81,7 @@ final class DescriptionComponentsFilter extends Filter { horizontalShelf = new StringFilterGroup( Settings.HIDE_ATTRIBUTES_SECTION, - "horizontal_shelf.eml" + "horizontal_shelf.e" ); cellVideoAttribute = new ByteArrayFilterGroup( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilter.java index 3c4c33d161..ca88f834f3 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilter.java @@ -9,7 +9,7 @@ public final class HideInfoCardsFilter extends Filter { addIdentifierCallbacks( new StringFilterGroup( Settings.HIDE_INFO_CARDS, - "info_card_teaser_overlay.eml" + "info_card_teaser_overlay.e" ) ); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java index eecf177663..8f9d99b6ec 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java @@ -79,10 +79,10 @@ final class KeywordContentFilter extends Filter { "search_vwc_description_transition_key", "g-high-recZ", // Text and litho components found in the buffer that belong to path filters. - "expandable_metadata.eml", - "thumbnail.eml", - "avatar.eml", - "overflow_button.eml", + "expandable_metadata.e", + "thumbnail.e", + "avatar.e", + "overflow_button.e", "shorts-lockup-image", "shorts-lockup.overlay-metadata.secondary-text", "YouTubeSans-SemiBold", @@ -94,16 +94,16 @@ final class KeywordContentFilter extends Filter { */ private final StringFilterGroup startsWithFilter = new StringFilterGroup( null, // Multiple settings are used and must be individually checked if active. - "home_video_with_context.eml", - "search_video_with_context.eml", - "video_with_context.eml", // Subscription tab videos. - "related_video_with_context.eml", + "home_video_with_context.e", + "search_video_with_context.e", + "video_with_context.e", // Subscription tab videos. + "related_video_with_context.e", // A/B test for subscribed video, and sometimes when tablet layout is enabled. - "video_lockup_with_attachment.eml", - "compact_video.eml", + "video_lockup_with_attachment.e", + "compact_video.e", "inline_shorts", "shorts_video_cell", - "shorts_pivot_item.eml" + "shorts_pivot_item.e" ); /** @@ -112,9 +112,9 @@ final class KeywordContentFilter extends Filter { @SuppressWarnings("FieldCanBeLocal") private final StringFilterGroup containsFilter = new StringFilterGroup( null, - "modern_type_shelf_header_content.eml", - "shorts_lockup_cell.eml", // Part of 'shorts_shelf_carousel.eml' - "video_card.eml" // Shorts that appear in a horizontal shelf. + "modern_type_shelf_header_content.e", + "shorts_lockup_cell.e", // Part of 'shorts_shelf_carousel.e' + "video_card.e" // Shorts that appear in a horizontal shelf. ); /** @@ -125,10 +125,10 @@ final class KeywordContentFilter extends Filter { * the buffer of the parent component was already searched and passed. */ private final StringTrieSearch exceptions = new StringTrieSearch( - "metadata.eml", - "thumbnail.eml", - "avatar.eml", - "overflow_button.eml" + "metadata.e", + "thumbnail.e", + "avatar.e", + "overflow_button.e" ); /** diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 852e55f940..9b1aa94dc6 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -76,18 +76,18 @@ public final class LayoutComponentsFilter extends Filter { communityPosts = new StringFilterGroup( Settings.HIDE_COMMUNITY_POSTS, "post_base_wrapper", // may be obsolete and no longer needed. - "text_post_root.eml", - "images_post_root.eml", - "images_post_slim.eml", // may be obsolete and no longer needed. - "images_post_root_slim.eml", - "text_post_root_slim.eml", - "post_base_wrapper_slim.eml", - "poll_post_root.eml", - "videos_post_root.eml", - "post_shelf_slim.eml", - "videos_post_responsive_root.eml", - "text_post_responsive_root.eml", - "poll_post_responsive_root.eml" + "text_post_root.e", + "images_post_root.e", + "images_post_slim.e", // may be obsolete and no longer needed. + "images_post_root_slim.e", + "text_post_root_slim.e", + "post_base_wrapper_slim.e", + "poll_post_root.e", + "videos_post_root.e", + "post_shelf_slim.e", + "videos_post_responsive_root.e", + "text_post_responsive_root.e", + "poll_post_responsive_root.e" ); final var subscribersCommunityGuidelines = new StringFilterGroup( @@ -149,7 +149,7 @@ public final class LayoutComponentsFilter extends Filter { final var channelLinksPreview = new StringFilterGroup( Settings.HIDE_LINKS_PREVIEW, - "attribution.eml" + "attribution.e" ); final var emergencyBox = new StringFilterGroup( @@ -190,8 +190,8 @@ public final class LayoutComponentsFilter extends Filter { final var playables = new StringFilterGroup( Settings.HIDE_PLAYABLES, - "horizontal_gaming_shelf.eml", - "mini_game_card.eml" + "horizontal_gaming_shelf.e", + "mini_game_card.e" ); // Playable horizontal shelf header. @@ -228,7 +228,7 @@ public final class LayoutComponentsFilter extends Filter { compactChannelBarInnerButton = new StringFilterGroup( null, - "|button.eml" + "|button.e" ); joinMembershipButton = new ByteArrayFilterGroup( @@ -248,13 +248,13 @@ public final class LayoutComponentsFilter extends Filter { final var videoRecommendationLabels = new StringFilterGroup( Settings.HIDE_VIDEO_RECOMMENDATION_LABELS, - "endorsement_header_footer.eml" + "endorsement_header_footer.e" ); channelProfile = new StringFilterGroup( null, - "channel_profile.eml", - "page_header.eml" + "channel_profile.e", + "page_header.e" ); channelProfileBuffer = new ByteArrayFilterGroupList(); channelProfileBuffer.addAll(new ByteArrayFilterGroup( @@ -269,15 +269,15 @@ public final class LayoutComponentsFilter extends Filter { horizontalShelves = new StringFilterGroup( Settings.HIDE_HORIZONTAL_SHELVES, - "horizontal_video_shelf.eml", - "horizontal_shelf.eml", - "horizontal_shelf_inline.eml", - "horizontal_tile_shelf.eml" + "horizontal_video_shelf.e", + "horizontal_shelf.e", + "horizontal_shelf_inline.e", + "horizontal_tile_shelf.e" ); ticketShelf = new ByteArrayFilterGroup( Settings.HIDE_TICKET_SHELF, - "ticket_item.eml" + "ticket_item.e" ); addPathCallbacks( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilter.java index fc2b78ceb5..d33dae8f28 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilter.java @@ -24,13 +24,13 @@ public final class PlaybackSpeedMenuFilter extends Filter { // 0.05x litho speed menu. var playbackRateSelectorGroup = new StringFilterGroup( Settings.CUSTOM_SPEED_MENU, - "playback_rate_selector_menu_sheet.eml-js" + "playback_rate_selector_menu_sheet.e" ); // Old litho based speed menu. oldPlaybackMenuGroup = new StringFilterGroup( Settings.CUSTOM_SPEED_MENU, - "playback_speed_sheet_content.eml-js"); + "playback_speed_sheet_content.e"); addPathCallbacks(playbackRateSelectorGroup, oldPlaybackMenuGroup); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java index 0cdf7b873e..1323f40570 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java @@ -38,7 +38,7 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { addPathCallbacks( videoQualityMenuFooter, - new StringFilterGroup(null, "overflow_menu_item.eml") + new StringFilterGroup(null, "overflow_menu_item.e") ); flyoutFilterGroupList.addAll( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilter.java index 49a623b848..58e3af5e6a 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilter.java @@ -72,8 +72,8 @@ public final class ReturnYouTubeDislikeFilter extends Filter { // But if swiping back to a previous video and liking/disliking, then only that single button reloads. // So must check for both buttons. addPathCallbacks( - new StringFilterGroup(null, "|shorts_like_button.eml"), - new StringFilterGroup(null, "|shorts_dislike_button.eml") + new StringFilterGroup(null, "|shorts_like_button.e"), + new StringFilterGroup(null, "|shorts_dislike_button.e") ); // After the button identifiers is binary data and then the video id for that specific short. diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java index 57e996f14d..f41f1e3a31 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java @@ -18,12 +18,12 @@ import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") public final class ShortsFilter extends Filter { private static final boolean HIDE_SHORTS_NAVIGATION_BAR = Settings.HIDE_SHORTS_NAVIGATION_BAR.get(); - private static final String REEL_CHANNEL_BAR_PATH = "reel_channel_bar.eml"; + private static final String REEL_CHANNEL_BAR_PATH = "reel_channel_bar.e"; /** * For paid promotion label and subscribe button that appears in the channel bar. */ - private static final String REEL_METAPANEL_PATH = "reel_metapanel.eml"; + private static final String REEL_METAPANEL_PATH = "reel_metapanel.e"; /** * Tags that appears when opening the Shorts player. @@ -74,7 +74,7 @@ public final class ShortsFilter extends Filter { // Use a different filter group for this pattern, as it requires an additional check after matching. shelfHeader = new StringFilterGroup( null, - "shelf_header.eml" + "shelf_header.e" ); addIdentifierCallbacks(shortsIdentifiers, shelfHeader); @@ -85,11 +85,11 @@ public final class ShortsFilter extends Filter { shortsCompactFeedVideo = new StringFilterGroup(null, // Shorts that appear in the feed/search when the device is using tablet layout. - "compact_video.eml", - // 'video_lockup_with_attachment.eml' is shown instead of 'compact_video.eml' for some users - "video_lockup_with_attachment.eml", + "compact_video.e", + // 'video_lockup_with_attachment.e' is shown instead of 'compact_video.e' for some users + "video_lockup_with_attachment.e", // Search results that appear in a horizontal shelf. - "video_card.eml"); + "video_card.e"); // Filter out items that use the 'frame0' thumbnail. // This is a valid thumbnail for both regular videos and Shorts, @@ -134,31 +134,31 @@ public final class ShortsFilter extends Filter { StringFilterGroup stickers = new StringFilterGroup( Settings.HIDE_SHORTS_STICKERS, - "stickers_layer.eml" + "stickers_layer.e" ); StringFilterGroup likeFountain = new StringFilterGroup( Settings.HIDE_SHORTS_LIKE_FOUNTAIN, - "like_fountain.eml" + "like_fountain.e" ); StringFilterGroup likeButton = new StringFilterGroup( Settings.HIDE_SHORTS_LIKE_BUTTON, - "shorts_like_button.eml", - "reel_like_button.eml" + "shorts_like_button.e", + "reel_like_button.e" ); StringFilterGroup dislikeButton = new StringFilterGroup( Settings.HIDE_SHORTS_DISLIKE_BUTTON, - "shorts_dislike_button.eml", - "reel_dislike_button.eml" + "shorts_dislike_button.e", + "reel_dislike_button.e" ); StringFilterGroup previewComment = new StringFilterGroup( Settings.HIDE_SHORTS_PREVIEW_COMMENT, // Preview comment that can popup while a Short is playing. // Uses no bundled icons, and instead the users profile photo is shown. - "participation_bar.eml" + "participation_bar.e" ); joinButton = new StringFilterGroup( @@ -173,20 +173,20 @@ public final class ShortsFilter extends Filter { paidPromotionButton = new StringFilterGroup( Settings.HIDE_PAID_PROMOTION_LABEL, - "reel_player_disclosure.eml" + "reel_player_disclosure.e" ); shortsActionBar = new StringFilterGroup( null, - "shorts_action_bar.eml", - "reel_action_bar.eml" + "shorts_action_bar.e", + "reel_action_bar.e" ); useSoundButton = new StringFilterGroup( Settings.HIDE_SHORTS_USE_SOUND_BUTTON, // First filter needed for "Use this sound" that can appear when viewing Shorts // through the "Short remixing this video" section. - "floating_action_button.eml", + "floating_action_button.e", // Second filter needed for "Use this sound" that can appear below the video title. REEL_METAPANEL_PATH ); @@ -209,13 +209,13 @@ public final class ShortsFilter extends Filter { videoActionButton = new StringFilterGroup( null, - // Can be simply 'button.eml', 'shorts_video_action_button.eml' or 'reel_action_button.eml' - "button.eml" + // Can be simply 'button.e', 'shorts_video_action_button.e' or 'reel_action_button.e' + "button.e" ); suggestedAction = new StringFilterGroup( null, - "suggested_action.eml" + "suggested_action.e" ); addPathCallbacks( From 0acba3024535f8e11ed4769da7171dbde553fd52 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 3 Oct 2025 06:57:20 +0000 Subject: [PATCH 38/63] chore: Release v5.42.0-dev.11 [skip ci] # [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03) ### Bug Fixes * **YouTube:** Resolve UI components not hiding for some users ([#6054](https://github.com/ReVanced/revanced-patches/issues/6054)) ([6b26346](https://github.com/ReVanced/revanced-patches/commit/6b2634691423f5ce25a28b3f2fbc420977b81748)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed6e0304a6..697e5e87c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03) + + +### Bug Fixes + +* **YouTube:** Resolve UI components not hiding for some users ([#6054](https://github.com/ReVanced/revanced-patches/issues/6054)) ([6b26346](https://github.com/ReVanced/revanced-patches/commit/6b2634691423f5ce25a28b3f2fbc420977b81748)) + # [5.42.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.9...v5.42.0-dev.10) (2025-10-02) diff --git a/gradle.properties b/gradle.properties index 836249d0a2..657e57e010 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.10 +version = 5.42.0-dev.11 From 963a4ef43fd513de7a2d7d019992f06b62fdcc10 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Fri, 3 Oct 2025 09:19:01 +0200 Subject: [PATCH 39/63] feat(Instagram): Add `Sanitize sharing links` patch (#5986) Co-authored-by: oSumAtrIX Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../privacy/SanitizeSharingLinksPatch.java | 15 +++++ .../patches/SanitizeSharingLinksPatch.java | 12 ++-- .../shared/privacy/LinkSanitizer.java | 60 +++++++++++++++++++ .../privacy/SanitizeSharingLinksPatch.java | 33 ++-------- patches/api/patches.api | 4 ++ .../instagram/misc/privacy/Fingerprints.kt | 23 +++++++ .../misc/privacy/SanitizeSharingLinksPatch.kt | 48 +++++++++++++++ .../tracking/url/SanitizeUrlQueryPatch.kt | 2 +- .../misc/privacy/SanitizeSharingLinksPatch.kt | 4 +- 9 files changed, 164 insertions(+), 37 deletions(-) create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java new file mode 100644 index 0000000000..b7a017e77f --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch.java @@ -0,0 +1,15 @@ +package app.revanced.extension.instagram.misc.privacy; + +import app.revanced.extension.shared.privacy.LinkSanitizer; + +@SuppressWarnings("unused") +public final class SanitizeSharingLinksPatch { + private static final LinkSanitizer sanitizer = new LinkSanitizer("igsh"); + + /** + * Injection point. + */ + public static String sanitizeSharingLink(String url) { + return sanitizer.sanitizeUrlString(url); + } +} diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java index 6952bdcd1c..d028997276 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/SanitizeSharingLinksPatch.java @@ -1,5 +1,6 @@ package app.revanced.extension.shared.patches; +import app.revanced.extension.shared.privacy.LinkSanitizer; import app.revanced.extension.shared.settings.BaseSettings; /** @@ -7,17 +8,18 @@ import app.revanced.extension.shared.settings.BaseSettings; */ @SuppressWarnings("unused") public final class SanitizeSharingLinksPatch { - private static final String NEW_TRACKING_PARAMETER_REGEX = ".si=.+"; - private static final String OLD_TRACKING_PARAMETER_REGEX = ".feature=.+"; + + private static final LinkSanitizer sanitizer = new LinkSanitizer( + "si", + "feature" // Old tracking parameter name, and may be obsolete. + ); /** * Injection point. */ public static String sanitize(String url) { if (BaseSettings.SANITIZE_SHARED_LINKS.get()) { - url = url - .replaceAll(NEW_TRACKING_PARAMETER_REGEX, "") - .replaceAll(OLD_TRACKING_PARAMETER_REGEX, ""); + url = sanitizer.sanitizeUrlString(url); } if (BaseSettings.REPLACE_MUSIC_LINKS_WITH_YOUTUBE.get()) { diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java new file mode 100644 index 0000000000..9cfa05c1b9 --- /dev/null +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/privacy/LinkSanitizer.java @@ -0,0 +1,60 @@ +package app.revanced.extension.shared.privacy; + +import android.net.Uri; + +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import app.revanced.extension.shared.Logger; + +/** + * Strips away specific parameters from URLs. + */ +public class LinkSanitizer { + + private final Collection parametersToRemove; + + public LinkSanitizer(String ... parametersToRemove) { + final int parameterCount = parametersToRemove.length; + if (parameterCount == 0) { + throw new IllegalArgumentException("No parameters specified"); + } + + // List is faster if only checking a few parameters. + this.parametersToRemove = parameterCount > 4 + ? Set.of(parametersToRemove) + : List.of(parametersToRemove); + } + + public String sanitizeUrlString(String url) { + try { + return sanitizeUri(Uri.parse(url)).toString(); + } catch (Exception ex) { + Logger.printException(() -> "sanitizeUrlString failure: " + url, ex); + return url; + } + } + + public Uri sanitizeUri(Uri uri) { + try { + Uri.Builder builder = uri.buildUpon().clearQuery(); + + for (String paramName : uri.getQueryParameterNames()) { + if (!parametersToRemove.contains(paramName)) { + for (String value : uri.getQueryParameters(paramName)) { + builder.appendQueryParameter(paramName, value); + } + } + } + + Uri sanitizedUrl = builder.build(); + Logger.printInfo(() -> "Sanitized url: " + uri + " to: " + sanitizedUrl); + + return sanitizedUrl; + } catch (Exception ex) { + Logger.printException(() -> "sanitizeUri failure: " + uri, ex); + return uri; + } + } +} diff --git a/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java b/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java index 55b78933dc..61cb977a2f 100644 --- a/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java +++ b/extensions/spotify/src/main/java/app/revanced/extension/spotify/misc/privacy/SanitizeSharingLinksPatch.java @@ -1,18 +1,11 @@ package app.revanced.extension.spotify.misc.privacy; -import android.net.Uri; - -import java.util.List; - -import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.privacy.LinkSanitizer; @SuppressWarnings("unused") public final class SanitizeSharingLinksPatch { - /** - * Parameters that are considered undesirable and should be stripped away. - */ - private static final List SHARE_PARAMETERS_TO_REMOVE = List.of( + private static final LinkSanitizer sanitizer = new LinkSanitizer( "si", // Share tracking parameter. "utm_source" // Share source, such as "copy-link". ); @@ -20,25 +13,7 @@ public final class SanitizeSharingLinksPatch { /** * Injection point. */ - public static String sanitizeUrl(String url) { - try { - Uri uri = Uri.parse(url); - Uri.Builder builder = uri.buildUpon().clearQuery(); - - for (String paramName : uri.getQueryParameterNames()) { - if (!SHARE_PARAMETERS_TO_REMOVE.contains(paramName)) { - for (String value : uri.getQueryParameters(paramName)) { - builder.appendQueryParameter(paramName, value); - } - } - } - - String sanitizedUrl = builder.build().toString(); - Logger.printInfo(() -> "Sanitized url " + url + " to " + sanitizedUrl); - return sanitizedUrl; - } catch (Exception ex) { - Logger.printException(() -> "sanitizeUrl failure with " + url, ex); - return url; - } + public static String sanitizeSharingLink(String url) { + return sanitizer.sanitizeUrlString(url); } } diff --git a/patches/api/patches.api b/patches/api/patches.api index 01e889e442..806d7a46e6 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -288,6 +288,10 @@ public final class app/revanced/patches/instagram/misc/links/OpenLinksExternally public static final fun getOpenLinksExternallyPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatchKt { + public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt { public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt new file mode 100644 index 0000000000..78ac35f85c --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt @@ -0,0 +1,23 @@ +package app.revanced.patches.instagram.misc.privacy + +import app.revanced.patcher.fingerprint + +internal val permalinkResponseJsonParserFingerprint = fingerprint { + strings("permalink", "PermalinkResponse") + custom { method, _ -> method.name == "parseFromJson" } +} + +internal val storyUrlResponseJsonParserFingerprint = fingerprint { + strings("story_item_to_share_url", "StoryItemUrlResponse") + custom { method, _ -> method.name == "parseFromJson" } +} + +internal val profileUrlResponseJsonParserFingerprint = fingerprint { + strings("profile_to_share_url", "ProfileUrlResponse") + custom { method, _ -> method.name == "parseFromJson" } +} + +internal val liveUrlResponseJsonParserFingerprint = fingerprint { + strings("live_to_share_url", "LiveItemLinkUrlResponse") + custom { method, _ -> method.name == "parseFromJson" } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt new file mode 100644 index 0000000000..c7b4d0f409 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt @@ -0,0 +1,48 @@ +package app.revanced.patches.instagram.misc.privacy + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch;" + +@Suppress("unused") +val sanitizeSharingLinksPatch = bytecodePatch( + name = "Sanitize sharing links", + description = "Removes the tracking query parameters from shared links.", +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + arrayOf( + permalinkResponseJsonParserFingerprint, + storyUrlResponseJsonParserFingerprint, + profileUrlResponseJsonParserFingerprint, + liveUrlResponseJsonParserFingerprint + ).forEach { fingerprint -> + fingerprint.method.apply { + val putSharingUrlIndex = indexOfFirstInstructionOrThrow( + fingerprint.stringMatches!!.first().index, + Opcode.IPUT_OBJECT + ) + + val sharingUrlRegister = getInstruction(putSharingUrlIndex).registerA + + addInstructions( + putSharingUrlIndex, + """ + invoke-static { v$sharingUrlRegister }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$sharingUrlRegister + """ + ) + } + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt index 26ed42660b..cfdb320e19 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt @@ -6,7 +6,7 @@ import app.revanced.patcher.patch.bytecodePatch @Suppress("unused") val sanitizeUrlQueryPatch = bytecodePatch( name = "Sanitize sharing links", - description = "Removes (tracking) query parameters from the URLs when sharing links.", + description = "Removes the tracking query parameters from shared links.", ) { compatibleWith("com.reddit.frontpage") diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt index ff74565c64..0954d4ed55 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt @@ -16,7 +16,7 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( name = "Sanitize sharing links", - description = "Removes the tracking query parameters from links before they are shared.", + description = "Removes the tracking query parameters from shared links.", ) { compatibleWith("com.spotify.music") @@ -24,7 +24,7 @@ val sanitizeSharingLinksPatch = bytecodePatch( execute { val extensionMethodDescriptor = "$EXTENSION_CLASS_DESCRIPTOR->" + - "sanitizeUrl(Ljava/lang/String;)Ljava/lang/String;" + "sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String;" val copyFingerprint = if (shareCopyUrlFingerprint.originalMethodOrNull != null) { shareCopyUrlFingerprint From 9441e7acb4817e12d1443d438ef6c448518bd614 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Fri, 3 Oct 2025 10:19:27 +0300 Subject: [PATCH 40/63] fix(Custom branding): Update ReVanced logo (#6049) --- .../revanced_header_logo_minimal_dark.png | Bin 3338 -> 3490 bytes .../revanced_header_logo_minimal_light.png | Bin 3123 -> 3101 bytes .../revanced_header_logo_minimal_dark.png | Bin 2111 -> 2240 bytes .../revanced_header_logo_minimal_light.png | Bin 1985 -> 1997 bytes .../revanced_header_logo_minimal_dark.png | Bin 4499 -> 4676 bytes .../revanced_header_logo_minimal_light.png | Bin 4270 -> 4216 bytes .../revanced_header_logo_minimal_dark.png | Bin 7477 -> 7648 bytes .../revanced_header_logo_minimal_light.png | Bin 7082 -> 6882 bytes .../revanced_header_logo_minimal_dark.png | Bin 8583 -> 7966 bytes .../revanced_header_logo_minimal_light.png | Bin 8180 -> 6895 bytes .../ic_app_icons_themed_youtube_music.xml | 4 ++-- ...ube_music_2024_q4_foreground_color_108.png | Bin 1467 -> 1447 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 2821 -> 2876 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 942 -> 943 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 1797 -> 1802 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 2013 -> 2000 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 3948 -> 4077 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 3217 -> 3163 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 6175 -> 6256 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 4447 -> 4429 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 8589 -> 8744 bytes ...daptive_monochrome_ic_youtube_launcher.xml | 4 ++-- ...daptive_monochrome_ic_youtube_launcher.xml | 4 ++-- ...veproduct_youtube_foreground_color_108.png | Bin 1467 -> 1447 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 2821 -> 2876 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 2821 -> 2876 bytes ...veproduct_youtube_foreground_color_108.png | Bin 942 -> 943 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 1797 -> 1802 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 1797 -> 1802 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2013 -> 2000 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 3948 -> 4077 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 3948 -> 4077 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3217 -> 3163 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 6175 -> 6256 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 6175 -> 6256 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4447 -> 4429 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 8589 -> 8744 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 8589 -> 8744 bytes 38 files changed, 6 insertions(+), 6 deletions(-) diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png index 1e53efb50c315aeb5ce417228edfb7098e902bfc..c2995578d9904564df539bb0c396aecc217b3d07 100644 GIT binary patch delta 3459 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 diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png index 0a1208b4361b07b73b2fd3d5c9bbc04c6da5fed8..9bd381fc75fd7e54e72e939c9487bd8b3de5e1fd 100644 GIT binary patch delta 3068 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 diff --git a/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_dark.png index f0100a34ddcd7d9b7575077172136b7b7e4194d4..834b0690b4a95d21620ea14877a238c6e00638a4 100644 GIT binary patch delta 2228 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 diff --git a/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png index fa4221c54ca83a93e9a7419dec4f1841f1d3dca7..e147d3f6bf33b0b41f9e806af3e6be67d73453fa 100644 GIT binary patch delta 1983 zcmV;w2SE7256usdB!84iL_t(|0qntn00000fS~=U7pVdO0001h*|iJUHny~l<0^-l zxnG@rx1rrKW8g9~Gc%Q$nOp5;W@ct)<}!0q4nO->bVfQF*-kccB_;Ax{gm;{@r>;E z?eWamMx6#a*A7nJHL>H%vn~+j+c+=Um?kUV1Q0@v#*2C0F77vKxZsmxHrH%l_XV zPZ7U0#cUSy-0xFUQxk&kXv<4Gn&1Pg0h*23MC|KB_SqgSD8X4^BE^$kOx7tWDM@MR z{7p;ohHYjHV}IR^z-%zt&mm)w;1Z9HXij30fN=Oq0+JAdmYQhmbp|fU$;mksuF^gS zps32p$x&|CT%{(bs36;;ysR#^hIMIdV@$(XyAjO3DrtuQ^KsaBP>#LWhy7-G6;>hv z|4SyL0-vHS+&Kp2*p6(p)Vzvv%tYWqvF5u!24Z7lRexGqs_naW>X_jrdS~bqtvdNG z{dVGVp<(∓L9t(2|BRWo2dJIo{3>7Wg>qcaR@nA_Ps%2*@aaJNH2N25rz%^BII? zfxHP6LZQ~VuLM$3Qp60QjT<-Wp(h{Fg`N}j_xW$>+q0e(8kR5eoTLXHe@L4*Zx-Vl z*!wX1Tz}6oycP3H2>(Hm(G$~A58*VplYxH7cNH@P8z9^PJDso&!dTe(e+)o3FEdDc zL|N;zF&KsLm!r@ho#88C=#Jiqhp)6pkr@|-cOWc6U_#+~*@d%(g@x&c8*Y$D;lGMB zr);TSzVLm#r+G&&S3zN+>iKumO*bhtG}Py%BY%4PX@aqE=V!<@<)z?p9EOY^aV(tN z2jK(Q83-BwHtTxh3&`>_PJokBunkXR1!^GUV`RZjF}{L~D!dL4?A(HNkg*Fhy)@y; z_!Tm?VrRgcfY0%ZeO(dIAmZdsyLa!_f~E76o7z(=F8f9+FaK6u(|T#%;@K)MFBkg| zvww!qOGdU|;-?A5!JQu<%rcLotj3Vpz8*p?`j~O2LO6tUIGF|E543>?b&#{_KOiHpO+cYW`@1X*2?^2E zsZ&)|RjKr>B%OZrQk`+ka;0S^>G0u0ntwihx){^geSQHNUVr1fiSe|cz&Uf6XcW`YU+njkSTQ67&+)z#ISFmaqBB7YMV z5tXR%RY4>wm7hv}@NcB_zZuK0Zb}cka|Z_uM14HRTTC&3>Ao z9yPA%`3t1EPwEFl%57E#ZhJrx%h*Ju;qM1Ma`umsuY zg0~@j2Pf_DCxmw}6vyLOvpfL((a|bU6@h85hCh8Y!5+lINj45! z$4G;WGhinaP9{M(WX2tf<1qq*(I1KE>Sup*1KtEQKst?Z*c8q0xxq8fJfqdCS8LU( zReJ8Z=d5!9-^{)ma=0x~%*?;7wpo4&QC;BOxXx zMuP?ol9M4rhKO}$yWjJH_kA4pD+p6y=RF92qJvqNheHr{;YHV_*nd5+GZwP!M-rSo z2H`hcg4<9I86({v2VR<>60$B)uYrtT@FI3VMxGh>3S_)*9#=s)Xnm~RB4|;D2_E!eDepF+2!txJu~3 z`9Td#A)C+aqlTMJT-Ua=1iwzcwCTSn^8X7Xnu-&j7MtL23n^rMbADXnG!XmX21iRz zun|fq<{wR+6&NEk_D^Pjvfw+|O2Vz+2#Puqf0-hC#Wvw@nqdq#l{j$=rqv}cFRvp7 z9>(l2j=zuMZ8+mmia(LRBlvEi(|_Bc0~r7S0DwXM*5~+E2$=!^0001hg#a-^x*x`V Ru}A;_002ovPDHLkV1fkAsdNAU delta 1971 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 diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png index ce0f1f9c788cfe567700a03fedf44717290b33ac..f9f9db247b2baa1c50048c8c56f9623d5c5a0df5 100644 GIT binary patch delta 4185 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 diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png index 26b48fad13a632bc4ab35a129d54a9adaedbd637..4bd24b995f300600b3e38d7f9a6c8764a1aad1c9 100644 GIT binary patch literal 7648 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 JGFh{4{|ARYkOu$& literal 7477 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 diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png index bb7f1f34c95122c8a519f3ad965a917a8435268b..f157928cd21ccd17411eb477546b5e8dee5aeb00 100644 GIT binary patch delta 6819 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 Rr5peN002ovPDHLkV1i0R*V6z1 delta 7021 zcmV-z8y!1<`eUE}D@l?nm3@Ei*C}21Q|Y!PeqXlEG{0{lBBHd_C5ob%0QOi<{Fizd zfJRl*K2-IoKZZY+h;$VqB5HrCI>=gK-Lu}8UEu?0mCEiY{IN=pxzayMlD0=gME(od z4*>u#gRB2GDLCd!KNO-U8X|3jh=`&nS_I%uFaX-EO6PIcS}d)Kh=_kfAYWCF1Nh<} z)c{DVO3&%5bt08Y6-dh>A|h3t1K>q?H;`t9kB;U_iy$JRPR_aY0N#f~Ae}2c*ALbP z5$P;VLqtTWRH_$%gXwlR(1g2$L&e3#y@iN~8mFkJs2_l{={g9SaF=i{KR>^}5D`(s z0}WRQ7De%)c}6yz%cl2tra37sw#@2NvirLn+HKK5Z+o-gouc$ z{Mp=tTo?qw`-6x4lRF}!|2hEJnM;EpxI@@2A{`}{5fM4(#sh!&X#L62J|;;rQCd!K zE3x7xlvt6~-|Ay^mGsxuf)&>g{<3!$uyG`58^?F;F~b+bILi=bT4r85%!!tnzvEkG zhA=ZTvy%lw=qSw0%#614++U>|$?>Tt?wKBGPVPtg8GEXFI!e6_u5Ls+wq32anHP5A z#!Z~X|I-_hiZXwfDE5wLG8j7Xi~;i*m;dhi8yr!xzv6ucyY9$lhO$!w@9Q`gq(fMb z+4vfnNDJ4?P0082ULJxI>0;6TaeNOuapR^jj#=na7LN*AG9VTOF`$|OIVB}Uv9Ym6 zTwI*EjfHOF=iY0}E3SMw#g|VB3T>FSXw$S!AHM!f->iQ_u*IN=uiH4ZS^o%yKt7%i z!&6!j=nq-=3c=?8upF|`3~t=mNh`?0s51AUdM=>m2DxW#24^O5sZpaw%F4>pV~;&1 zij2JFGgR-^YRal|haRm|9}NP-Ya3R+L-lT{YTBf2(+7Q-KIz-6g98_n^SNC`tOJ|& zcTk8FVE}(p5Kegp1rSR5CxYFsSvY0U{`LS4>)p6%0a+MU*8YO18O{b<3_Ko>I(F=+ zf`S5_KYw1QPoLIHFTQ9t>Wg)r)XA2^w7*GT?P}5sz3t&O`dSO`Dn{0$*m$nx&+qB(n}qycdeW5w=b3|B+&F5_ce6@(yHSPB8l} zIBn7HZd8FAH*PTq@WS!$oSIiaJLWXai=2NNDk>_HFJs4yl_%Px*pztneB?vzd^%f; zTaB`1=Tq70{>TT4p$$(=lxfqK!oos5|NQfcii(nx?}csi`w$j`-|$y_XyF5VihlS9 ziXcA*AY4)v$03xo3)MrgJ;x&kZrr%VAb@xn_FCj;@@3JYMdo5M zeLGqVI6BB-8%2ev7<`PYO&A)H3jApTtQKD>jU&tvG7Y-XR;O$&zt5-oSV0i2>+?AMg$yMmi#3ClQE40^)xS-`D@$ zRywlqA^KtjMq>azLnEZY$t2_c693M9(HS4232s0noJu?z;8lEw-sq36_!up46C&Yc zJg9)S_#8daAKmdWniSi4$}IE6fWhv06gmCin1qA`RjXD_+qP|!FWa_nQ}t@q6&df* zEjQn)VO%rFeKtqa+D*~)cGG__wS;NrcX=!`xcOk+eB&+h@LDE>Y5Vr=@@4DRt*TtP zvbk0ff(P(iqQJZmM#Uf&iyhoMu8FU(7H1#}=dlaDaW_hnyK%wKQOu37lh<&`qP_Wu zg1=P4XIO(X)@>PQu?vIn1Ux8BDq%X7VbOmq!Q5ikGb-R)Y{mI2Z1aCj_$yKoOlsgu ztixHz!UY_{NHl~8f#w$c8H;e*&-T8ELl})L2a19RPhuR7puo?2-HC7T9?E<%=neTe zc&=TMk&)`&y}OF%&wu_id+=8)!5gpU4cch-^9wccsW}?kex}B?pH-as8NXwh1!`Kq z6|YG!d;jmg`)S#NUirJ&3E6ZBqfireay4GT zYRINS3`K=NhcpbpMaYH=Wxg0N*yTCCHw_+@X=Vi9ci(+Fb?SfAW#{(O)6x~6953&6 z>H3QK1Cw9+mj*vITSK0nb2)xC<)uaXqH#~9U(0Kf;^a;DUUn_w`0?Yq>#n=ZEM)o& z$>TBkJTJ_O!RwHP?zmEJ#uO+>b4*+Q^CM)T14^5lu*uJV|N)5gVtW`k)XB!cyD@J86J_LP02-#UM2`^?I^4RCg%# z-6~?jgbDKH;>C-4>Zzy9o_w-5UUyV~NCTdmr-A7G%rENm%x{AEdf@Z()&IGC-Cpf} zv8;K`v(G+z*&K#ZqedwvCdTv?!aJF+#|>dr3|6aJEjv5-TSp%O}yYFGui#UQX* z$M-PE?GIHkpj~sZw|)EeX0CxR)2B~YQeu))(^8b29i^m*J@!S)+qnMF1G3QB&z|B@$U#MDX1^FX<{UENFVPqTIc$NS!XJf>ki(`R5&n`A zWZ`p*0Rvr22D$U0d_Dk2A7&ER{Q2|c%h|JM_4t1ik1H-VPN^A*s$8L#zIZNI9bQ?g zub!KWe06+fnLg(Tq2jI8m6nmLSeDJq%rphSmz(SmZ%yW9_C1%G+)37Suk~wz zWaNKF&c4U?$&)9K@5w-R2d&dcGRSDL19up_#Sp_Gff*QvIE=zKxGX&82I|6FeCFfV zAQJn8=ZN<5b@~>{!Z~cgJS@Xe+=mh@^iwi;;ClTZ@r#Wiq^~S`C!Gv>B8j+&pEUEN zIRYs~v^?&v9Y+F2;YAEZ0!~^a-)@j%s9}E+-HK^=9W$^?_+AHHGU(;N`2c!&XW+nr zDlsupCB>{+v-I#zWMqU2=gz-L^+D>TzDLy9Zd=v3Zrk|tVb!o&e-)lLyNZm6(DM(U zeDaBMh2GE>7Z<0W+lgynLcC8JNd`@DTUY_pLRjS@HB#3w0=W^A!s?95*d|qW6wZHJ z=pw8nS!XcpQAc?EZ(imtir}p9eh;BPo>r5oF&XSaXGG#(E>B_r zjzbB~3zOLqa^lnupf?J*z4kL0Ww4;&Ao8X#Jha_nRn%K}GKD0T0R=H%c>HcWCahRG zYS5#piyUr0+abt_Sp0>cA0`?qPac2!j_21UBA$KrS@r9$zpA7-d-kjfQD|g(2)9*UK0B9%P%YUm^^v1{$fAD$8+V$qRN+TtA_SJ zrG~^GSEWleXNW0_{unu2z4U+5OUgYaPMoNp)33ura?!eRsgMl5Ky5Vjq6wlAhuH?h z2noVu;tp|AR0{LeLGi*ytog!lMSqKZ6}yDjH0iNDkN?0l{ES90i7$k?jy8{&3{Ijn ztfD^>Z5AfXgeCGMFz?Sg8hP1^a2N$c> zKm9aWak=>TcohC+b*U=3=RYlc`6)TdRbPs~md9yV z1?|zJN3sU~>#x67IdbICyNLN5jcTg8(f{FxACxO}k0LfURzHVRiNNI{x}>pW@HhSo zc_Bp>EQNBwb&E0lhPW;)5e>6kDPsRDi9)@@?GpLJ1bbB(h>9lmikGWiffXNBCv0B&Gj6ZQ3;D9)kuA(vNlW{kmT3FZuXOpO%)^MKcdg5pA)9 z_6n-PDl%IXrMrNg*p3}O*oid;l}u*{@8y4Wj|twtgeszS4a#Sqg)(phhp_=4VF;Qa zAr+EAE|^9`o5|o+>tPeW$Lkg=+;;itXKOvG+F0hi6WQ!m0}ke7kduaPx092|yp|sR z;Y6 zS1giAh{43zOp8@1dEIv4TFIh$`NPm0&Mbf6Ih^hp%nwir>r57Rr#B4?y$!Y41oiK5D)QoQ zp|Pw8LQG)OERx_878NXaAsUZaG!FC9Su$uW3~k**YnyBS^B5%fSc}7BY9Y0vsqotO z(8lJ^<+fl>270dnjh)jCtX>*gw{Bf^_3Bmkvkvr}Lf*W2-RBf^=?cy)(3^kEoK9S> z!)+!6@H~TBxGFry99Ts?i~8~dY#wwUgTlxRyAfhhxNaaa;;=A8)XAVnbw?<~SHy7L z`LT4C4D#cQ#fG;GhQ$yU;1m{OGGb5`1w0Z&QHxqiGi^4=?NACiOzveZ%1C?w)2M)J zL7fbk7_CL4ch~6#mSGp25Wau^{`+K`&>A;xtXi~aq1cmT{f6Ih{RsuIgS|)A>_aUx7AEvV+3j=yUit&%8SntE$jg}YEW0Gj_~|%+BjnK zK{`tY8Sy=oR8z@^JML@P?Xj6F#A3DDMH{_?cikSd!0jC9+(OclN@0JTMtS=s(t|V^ zureo%JKv*$xZ`HnNADwWKkH!Y)~#yWwr$BanKfzBL?;8r?*lPJbd0%*umGQQR@>sN z+*zizR|M-&$YR)FDiXc?!tX{LOrnTz2YUo-gzo=5SVeswlR;%+@;VJC108Ll1ixC` zJe0H;V!NM0Lg|P^i`RdwZn6A%gqLf*j{SJq%g|s)D8WX9n}^Q09aPCcm^YZ}bTXh} zPdbZ0CxE1R1H%2!dV?Ah%6jN15DAO_PuD+$flUUP3|0h{g%nW+rGEdw1XM=}6hTGw zGCWSO6HFqzcs;Uslg3;~CI?Uu-l92vg-WN%ATPEUl)!!kHBo;8MNtWZaKxbEYL*nv z)7}gvxP&)R52a89xKA4xRdcA^Oh{03HhRg^@F-#I_Z3SgAXo^HQoe=a=(E$Sn zxF-QEDLQxVte2U(dIgT7*Cf|-aqc{WMizSyrr16^S#}mDJYG{W7yp83jDWJ~s@#wp zPatna7nDIklt+I@B;XcQ`b`Ep+Tb>nfpa)%ct-R?p}tWAT!S)j5yx@E#(Bv3;4Qiv z9#V4vbMXyU33ZTyHyJPtl8;7jcK~_^dcrs=DoQUMbsbux5o+JQeR|~)J%~U}9PeSC zA|j0>gKSu2apzUcpocLX%Fm9VDC|U4T!gY=wc(_72Dg9lXUTCK#YthgYkEuuneh&k zpUn~`phGY^l}em6F!Fl9>bLCnr%4b|X8sLfJ4JrcoLv{ZR7b=k%8hbcD&97HwOFNW=3k68%_@ zsH^D!2R48HlMMV*v@VLf@V^6*5GY=!Pd%G6XO5aXcdnL@kf4ecE2b-#@;QO%6&y#w zG?olu9cowVvNe2FzJ9sk?$snm*HT!=E^bTVPl}Q~-1{C1(L&#-?UxD3d zXV8_;1e1uyW_i3-oD6&%zC=AJLpzWMcB8w^9>PN`a~t;h0m_qbI$J5BA-s*;FpZ}2 zE^MR7g5JWUxa1VZAPjb+D&`BxOiKE*>)KEAe^%f4C8Dtci?GnmTD$i(oDK;!&dnX5wcr`xoxuPpm?BYJf3S6UWc8C#87{%!=GLznD5~@wqY`S?HOl5eSC@oI4>+s zK7bjhiHz_y%3~%D;fj~<`5#z;9>{{GSnctJaVibP{ zqX+6B4^kr{(C~lRy9XGtnkWju6Z}SvIp@x+){IjtsO>l@;?!nT#I_o%w%e!(ccU_@ zZF|zS&GRMC=6#&`Su83FhO3LV|IAt*sfzc$CxFXEC&f-x6fN_Wl$4ZSPDG@$Gqdpk z-gmZOP_)bworsA10$_)kb+)^LT~2>QL`wbqy61nAC(W!g1cF$ct|AR05fMp}Bn!aJ z)=CPZ1%EEPWo9`}L`1614Q&j`2WHk$9}PW9l4PtC5s{ji*$k4;&8(vZf)^xbxw;V% z5t4I?0z!ug1OVo``VkQk08>cbF|+m_2=0aurn-g^5s?tWZ~z7E@uhOnJQshO*+|zo zA|hgDDJ1t+NH(I)7G>shAIVhLG(<$id;fO`VLi#GX4cjp3q1`XZ0OUc&p)o|iHHb* zp(Kx)**7z5Yj*?RNS^TC4|B~+L`3@a>-Q(g#Q+Lg`_WPH^Z^u-ToUKawI~r0{h-#H z+CBhj z0Opz5Rsg#JoF{pWCcmt400000 LNkvXXu0mjf;{IIV diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png index acbabeaf970c198fc30e0e1868716e9e3d516d7f..4e65b42c65614abe0b648d43b02281900677c9ea 100644 GIT binary patch literal 7966 zcmcI}cTiJn^lbtGLJv*4B$P-|n)IH~1wjD?q=hC$I?|+t5Snz5UIax^kS5Yw=%CUR zDT4H-v;YdBzg+K~_ul;G{rk?GIdf+3*?WC!?XR8_cgH}RmWqQ4007YH>S!1N03;yd zI}S`vdD7Wh|56 znJEL;hQ(eNv;H?rl5Qq5^)o+J)0Ojf+kWiowSQhRKPWhS(S^ZauIA8Ru`uvN%2g@s5WY%Nu-`zYp5#o*iMr10LoZGyL zGYTId|1qqOL7{*EC>V^fR0Xx`G4WlbX+Lg>r^H+U0smk#N$rfEc)Hk)&&xby2BlMy z0MK*lL_4*VN+uktl3xB>fl~_t06eBgs6kd-C0n7l)s#zhRr8<#zy=ov4K-WgfewIX z>3zr$qZ|ML(ZaTRS&371K`yDDwvgoxXfqM}7$`ylgm7Kn10jDok|BJuBLM(36bkm? zOcrN*xNV#1Xv_AWNm%-)at3*U7&A$oEfvY%gxMmhjKGSzed%dsr={Hq)Axe02*6)@x@{+9$kuYG4y6&11X0h6yAhz#}ONV%I0q{hW1K(y78T<|XkrTaORK!37yCLVNfr zAQ$gTlnQ`>UWr6ap)V$pO69nH;-!%BH!H85rR8imv3CyCti>-KFV}9@xzE)9pL@4( zSN~i2_)3LB`lND3PH-6 z44jLzyjPT=0t^TVp-5sQ5jFW)th;qe)}$ko7E!`~ECJ%c+@n7WjkGPLzl>*o%vXLCTULe=yAfXxwiK@9e+8Be1MxOarjzUv)Xd=SG zF3$t#8v{@&JH6HR{YinpHyG5~!p=Er9}evYsv-y*QyFzPJ=VD^$qs4z@UeqjI7`5< z#qOAm(c;LsHqiO;3=23k8rLcms9{71T6|j~H-YD{3)k8a>DgKT@)v^*W78<83>zJ6 z3qC@b&b0>p*v(2TAT!-h{BkSDEa%4_8>jz|w&2MgYs|HkYxe&nYc#mnTklf07D=d0 zik_NgUYCp1i`3wi0Qnf%ax=Ajnyj#(Xvq|{`W2?Sq`Fuwt!b;faiQR?%55}GZo_d3OQv6;HYDl+p-D(}bX@l%m8su%GjFHgQMd}#JUBQAjD zUWs1T@Q>FH`CD@LQJ5>YdWP4M(iQw%H}6E0K4lg2*m8+oqmA%3PWhG`Z|Iv*ejO09 zyW%&ob?^c?J19!a7}o=dg~fX8mo!IG(05hpro)3iu&2MJJ!H+_5?sDncN8lTwC^zG zw=%%skbI!e1za>Mlt zWW3Uf(_cCKf@^Q7*SA5JSwd8XH6P0z^;*8`3J0bnm8tPGnNwD@P$iVA#r0d6W1WN+ z#n*L6YjMaF=DdK%^L8P|C~kFqoiSg$scyJkA#Y9uMjQ)XeCrS|2?Ye|X|-+l(wA3y z)#WxFVOO^~O5a2$MmZ@U`3_kccQ4LQyDLRZE746kG9c}DyPfnj5!(3E?bSqDP!z z_FU^JGiAWeY=qVJj71DH4HKT5kO!-_%P^G!edQLVO4V`s5`P^~owT(yuQ+&1GUEeW z9&om>EOGw$slEO#u8~)`uZ(+q-4b6L2Q*pSwRKQ2r$%K-hvyC2Nn)jVT>v3JCB;tV zS#)(sB_rHmF#|5~=MD@%b$!ySXx0u@`}A~O(^DOUrn#I&SySUmitE%uUBnv<*=5_L zJ?#g5-hcb({xW06%P4~%fPaoMo8?QBEa}J?(Guyn;Xui*C7kxg4orjEE)!Kp<-WQ5 za*3!@b@{#W`&YO3dxjEwHP??xP6t-UoHi#aY$u7G0&?TQhXqNH!1)-&toP&tvNfIV z$HxYt>Gf54nvnsnv`;ZF!u4PVJQP$8q})d;sMG8cv8F57bma5&s1km(VF;TA>{DQC zI)KS3@2Kkdfrt{pr6?KJ|%nAfz13wVT<=!=;Wu_Ve^>sE;e!D zZv!%72QwZyk*YnA4QY@)B_^^nlA^nknpG6nKGSYI;gN0ZW}C8+TM?seW7~!8Z1P=4 zvHI>gJ550n_O;bfy_+urKc9vpu0x+69JrfM7+puyk8*aOS!W@{h{(cY+`m) z&hUl=t&XzrIq8f+lPXTMPv&^uxJ&qa>$mhI8Cb{LT}e7OfK~kyz#kpi)N3EE$33t~ z`4ibbhPqFcdQ)XBz>+4SFP*9hT5t_a$H=dPW)-u>RdPtX27ZX=6jFg-u|dBT$PDZ) zS)yi8_2Er!cb#}g*<#%u5~p$bJ|JVvn{R01IJ8bH)0ekjmH6(t0S&+&+uG z3_H`KY+JVr9xIEH(q2=lm8-ACDqT4w&k^2|O@=r#VzO5z{@AoVsl(SXT{B?2b*YfK zeeFu!g$X71$KTQ+b7L>HqpB(%)KSHL^EZNQ8zJwEzm^KPSrEeo8IhEF)cJF>6g`s4 zL4Qbxn$<+th)}x|#(6sC&2+#9j1$w$k4%RgYu?HvuOi`QWi{uTm31?0lc849`ol)s z_E~h-Kv!Xc1+z@H$NQ_RiPu6Z%xfQ3ab@LGR(u^6 z3+ndHpps$!`W>$J#-s?ypLe#JWux$l)Gj#dA-F7(KGS*B=3ZC4xWSdS&c-LC?fh}N z?vk%g?quP-KAxMg_3uc)hJRww_CM^Fnp@e|*eEbe+n(8K(IS;1*k`{Sp59ccgn_K5 z7v-+$N8ipnv3XH(zan>WYOby{Zg0Dt@~Mhn0w;(#*KNr%jg{y!l|nFMq5`09T-<&G zx{3xn!<*2@-vX~lf;Z{&C0d#c!?dFgzpj7Q z-_ZTQAexup?H)Vzo~f|RlBY`xDK_CEs4HmbJj^1P#T;@E+Z#E)+k5SuCSIkOr&!gN z8CICG!GOU(S`2Sy{;JK<|~@VZxio;i(%rmBmuXLs|2o=4f(*OKad+rMl(|fX#CV2g3yy z&QwOUPNO1%8;c%p>LoGu4(q$FNO0zLYAq!vQZ^Q9y)NhhUbt#?1I^Q0}NUP_c`ZgVt*RO zcK6Cm4?Zc_2Jt+TCr+PznWldv*YTah$zDHCx3DqILhPrK_?MK|I(g3T;O1qEsv?D7 z+&t6rLn!E0AtHn3}};Tu8OqU2>df=tL7*pV1Ji z=%r~}YbS#K?YOeV$g%teP{VRpuz{RXg); zeyio%jlzGsy4P(#W8&R^E;M>H2B@jfxJe3U0f}v-shYT_he{j8rOFQN9DpN2u?v~@ z@Ls4gxyl({y`x{YQr7VIR*0F7RAmQlSK_5sBGtsrPTfWZ86=MWCd;Uh6?oa?Q|wBf zD&)XqfYs0$zFEh!*`~bo^NzKu0nobYYiwD;U@%O%n0}EO?$seJ;cp*7kTKH-KgcCi zDkA1B)CtFIziX#75~9Fyu(Lv_e!9bFL)S}6$fSGi`=R$Af%x!`FE*=Z9THZRktiNm z;954Ngbr&LaV*CYOU;=ylv`KrJmJ%VJ@f3aViB`yW-cjz@e)5ChJ=Kvmw5clJ{Wk- zSCHA^Q@~0{*t?QxeuWf1!&OuTyRxBqHjFLO_wJ%O--(xlEi{bJ=Qg(2AujvXA^q1D z6vFcdH>>+hEil#D8IZ5!$6(PQ5-(u+DR*vAEBD6NR3w2hX!rMbCdB2_759w9L6SIm)ygrdH!No$yB zM+)}f*FLq+p6@7j(e`e(b|aDE-&X#d^SxR15*sixK?K`5&&Fg><^{I;3g^pOq3$CN z0(`pN;J0@Qfc?AZhY7~Y$b}ODQm#)~Vyx}{hg;^EH=`$4dVhZHbK83F_(`0{!&=e{ z?VZ(%9C$4r<>B`H(E=##SO5I}?>vZZ7l_EoXsy-gI##FRzybqItonW9 zXCh5CX=0#1Yu~-5UcLZ&9A|J4un!<4*glljo$7N<(xgs?G=>?&l87)*do-4fEb?UB zQ9Q(B+#eBR%VH$iRE&izivpTP=Mib2qLEyWT*k2?bglluIcMYjycD+R7^eqa;$0pW zVH~d!VR#yZzv4XC^abO>*)%F4BRv9Q$z&`2=Q^G6!S$>kQvJN;<&+Vo{%?{DRV32R zxfT6!>$|fqA;%|#<>Wv1zTwlw6@8oKq%2DXLizS7J@1vsxAdoEW0OTuO0RCuQ8a<6 z@#J@tV4$~BJLiZ6rxF^ki--8LceZfS@GHabHGxaB!s4Hbn?C;$Gi4$%%+}$iP9Rq40_-vF0dIbE(h zPT~WFk7o-uQ+~E1>0$G9w4oEpdcviZD@(?9S@js4^CEjv?;nh2Gw#!)UDoz`$4{9l z>+U~XLnf{&Jl0W#AL+5q9H#_Y>`2Nm>^{t5#2{jyRn$l#-(ua`->gA8&BNNbe2Bw_2Bc-6|O3-iaXt zj+i%k72D+4rD^#qz?|1LY>9-=Z(UU0qo;jC7;N@^Qzu^3lHA}F z?YElDn8~EY_=`cSDGK7%`_v#BB_e0=lQ(1#WsR0=m}#eoyvMUW{STrM-E;olSOz|9 zm2%jb*~(Dfq?g;yY*X(`Z7ud~;)#|sRI%z~Q6tlolsSVv+-i)6Qt0#iXmy9|Eik&6t3eQe`45K;-d&*K6a3@LQrp;7Bo!Ed{)Mv96 z2LA5%I#smN?N~c{82%8Vp&0riAu*9B{UR-uxEkp1c>d&E*-R7)Xkf^_X3VQ<3wArY(?5dZj{EHIO(J8+Cr& z=>YeEw@upc7pvt44CExIe2zr>T2kv>r#vR zcq&!@(1kLW5wqTbLUKb4B+xO2k(ygpcS#Sp@dfh|p(pE0nIr((3Sc4F&sS_5?P5#) zC&fPbZcov`CygT{lDz`(NJ5sXpJ?Y>6zkt^3?aA}^K zkXxh7S}iM24!7zKJln=PfL7qMMz#CzaH*wPPaYT^j8MdQDO|ZB`LM#JyZAHBfPTdM zP|Rbx=eqI0oV)BtPbIcGg==Kc=)-Yb?mL7V>iy7V)Fn0EigE;7m@rLh`9MziE=m>h8vuzNeO zmQ$c(n|T6fk)yL&Mg4`x7QXxXvfP|SzKajKvxt@L+|Aa06<^$1*l1amHqXtV111;N zZ}s~l;)=i0-KtHYVDnIMoU)@P87Sft)_dfsLVd)bbXQ>Y%)+2Li@2jvdq`=}62a^? zQ-8ZiYe~ankS;&P0VjYhN>Q5pRnRm0cE>5|OJn^4>5AAJM&42his@Ica8{rrV1H=U zMG96@_Lh*x&Y&1?A_V`wQ$30{_Zx1CygW993_tduvmc0jAYRXi6?wxU1iKe|eci0F&R+R>j;4McLyiknU=kxs^fQiJt-&k3E7-WiuYw9daa=Zx}?v(*hZHvPKicpH&0rA8#>`=z)RuRh;lqI&Ov7I}`1p!3_{hfj;>x z0z4jE>uLPkVl?`-l1_dH#K<*i(13cWkuNSaZe*uQGKfiwNrCD6-go>ZQy7CAgBBPc zxZOd|L+V)Um1oPj#985WV~%xE)(W}s6T*+M$ts!Z&AI8M0aXmYXnm&SPYv71!KO4t zL%hnahQ>1AP3UNQ6?z)MeB%yFM33?pj9I3OgWy%_+XrA^%1M0ySBs#V!w>egsl&3A zd)9M=VJj>yUDV(yTkf-~Ew;Sek`A$82jZ6te`@wX4V|CFvtRVZl;cOSv-EN!st*O4 zt1(SCVoRI)){|?!^9?k3VJXclK9o@XqowPbMpwHh1-NRsvr4}9{25Rq3`Svbe4qpu zk8FJx?e?h;E?-5gXjj8MXB+Qc6j*>e9gxrBDG}UJw@r^fyN%cS9;2lxzgr;4?~K7( z@4avK*6h{g>~pzMd|!is#J>EOSX5hmEIv5BEN0K&DSYL%O5&q^jzw1DF2ju;$fvxR zvz=ZXQ~Kd|>af#b-#x6_U93Zf?xo}SHS@;Vx3RQkQRz~4C!aB!sqEo=-E$9uYMuTN zE3Z@;p5~Z+U(C^4vva0(%(!%KOfZD+hR3_HJtyigR(8BTwN@de*cLzWEQiuzx0<=8 zL4Pv`)R+rN$%9k9J)Y(0QsrUXvA{!vbO>mCK;DO05$B$X{uhtZqVW}LazEgY6YSyv zNc2gSuAIkMNxjIOw=bf#bXqlQxIw>JJ~L)r%dO#FW{tAA3aeJn9*C98t+t+$VSf@> zD15K%I#$re3;`ze`zV4u%%^6Zs(w?V6rR8S%DhIq>SuiA)Rs5pm6bPk*S^i=wW8-dT=UUfd$A@{~v08SDA^tL**Dcb#1tkHDuvjBSHQ zINga`*?o1FE?r9g;l%w@&2gF+#w%x8(Qr!L47p)A!0Fhfge;29&dydN1UEna8CDa5 z{Ou*Lpm4&26$~Hc16?}qUPZl=cmbd?WPjHdZ0J7o)Vu}3FkWLdv)AWh*88SQ@}2ux zePRy(qtnHZ!SlpF%7zF0x(7TUa>Ucv7R!YLm4=L7o7)JeE_nnZ1)aR^&i=%>lR`}r z%s&Wyv*8PdXTOZ7^Rlv&aw-g3d%Ui*pvQWauwF|o){2i+a^W!E`xo<$Xs16= zwPmGLxg#JT;OLpAjoyEaNs?d7Wz|3-0z1oiF15sCja7l0>Fbw(4{vA@=2`%|}Fg z4^cQ2O2V4{%tBqFnx@fd;g1xU-{lF>T%^<=eiJWTUHViVC5!hlH8tf+A%f(}6B+BM z9k=vr_Hg2ogsCE|aCygn6xem-!D&Q#zV<|kSJziZ4mElXaP?Gl5d~_hUgK&2Hqe3I z-#TUNMkK`se&`w&Bk=NG9jww;O!>$LqWu}sg`{(&Dx~e? z7k~+13tDm$z5mFD^f}4uhzj*AwPmKwp$zJ?kt~s`5Ie|Eg<_`Ip7MBLJPFaY!eyX`oSwL}C6HHZD>g literal 8583 zcmcIqZfWR&x4NI4F_wEwXC`buNw}f=(0t>Q~bcYH^OQSS`Qi32M9Rkuy z_rv%1KRokdu6Z+a^19F5b0+qQ_G4l~T0#H-h}Be;bO8Vx_kP_4#=oBf*8>>%QDKjKG=rPlR;v|rG-$mNWX>Dvkjg{$!2RoU|H51e^w)6Z5Msj z;kIFquZCf)xIgIsapZzII5`JcR=c0?=t2K#2Hv?U1*?C3d;>%MDarm7z)KI!6%WP#s_5-wkYl zz5v})eqvB{(rMs}xD;Sn9Ic}QmQ@o;sjC`0W-d#AnvHqv3T&7X0`9PkM&jcY^f|M{ zPx(~Oto-~CwoL<{d-XImhadM{wZ@*-<(iDvy(9(78u^<-oV?`(Hd~CQ06=2iy;ltS zH^4PL^4X}=<_mlVV0dIiOQmn16+vPpbv8RYTQ1xM9AYc_?%tC1;!I4pKC~SJ;8ot1 z7hy%!27EPNkTfu$#dbL#!%6JaYVP5pzJvv@I;l1jc(Ao;T7nJ8b=WSCqR(HQ5kGBJ zX*GD~23XkHab&xlHFG=pSH0IT2fAFE7ko~-6L}1(jjPT6-~f_8UX%R6+;8=lTHRN5 ztOL4~<;%8=MmffGs7~N)K+7YR#riC!CGJ?N{Vf~dYyDkfu=QjK9>5=mrgk*5I^Zd+ z_!@E>GgU_S#cbN$*EeQ$pJb<_aJsMvM&;zX#>9OqMeejm zFY-QK*?EZgF6LZwNPKJGlXSnCqhrO!eD(#B$X46{U5>PayU@Fv&AhRoF(H*XEFeGr zYBl58{%h6*04}`gZyUn0au6-00t%(x9p(u`M6{X1_*t4@A&L!3xYwj)5d`tAE%?AU z;-)pXXa<>F&U98abY%>nqrM|jOwRB%N}KnWV9XXQdt*i$6^0;7pSuK=<@UA>I}6w? z=Oi(0hmO{+5S6@i?}NrbBvBUcp$QOAGSkD;)97dAy5TuFbZ@ouew|3LvEkN|v)BwK zL9crwn7z@YEisog*gv$a$BaZdFgG9gZ0KgWcE#c-hCi}0TS%6^L)YGg$0UGOh1LQ> z1;?V(hoyX<+sIgIIZKxU#J^GNQ?qN?=&)^4-ehT3~LxgohHHCljS&$6Ysr) zAExqC#MuUdXn%9#HF{D;K9`R4O4+wEKAQMXpq6+NpAGq}iuezEoBF3H7{{YWj}jNa zSQCf^_)Lf=CyPY9vz&tk%7W4Q+EWE{fMz9Ob_aJ$mLPw3cXu!U{*7nS^b#v2L%=-3 zuMBavzkn4Jb4TILO?0dB*1J#J%v)F!?#+Y-Sra2UPx|1XEsw6=XyQl- z+s)CuBn~ZF)jw+_>>oQp_S^AMrI^j0pOEtf{BL!BVr@13+90g1v$r-3EypRm- z-kT#iRIUqccx*yKLa;u{55CF-5psp0MRtdhLEK73tO`*Hrld*L10(6kf(VS+eGo@- zBtXn{P4l1q$vrklwZp@<$2(&Rz(j?e$nv?i8{<+|^>78df1Eejb$&teha!1`O2FDf6R(>f^n+cd#u&}rBE?WB-8?*E3hD)WUAVXZYLgE=eEhM z_cko47IH{@5>uz&5%Y#`3U1Ro3z>CD;2CRuyH+!}6s}Xov`zBv2Qp5VtKYoN3eV5a zF9~B)VNCr}ocWwoxtH$cbJ-i-KE3yAEOnmz-D)CBQ%|Q8@s-%=|1&wE_6Ve%wFNNy z|63ocG#2@CdD9+vw%mTUh~uUy=rtg5Q7lE+o&KK4QYQLJ!V0;pfZ0?FA1(517BvQ< zJc0nmG7(HE6$RH5fKk@3@T;}MSRvM1)#RRCpZ?O92yp5eMX50*OAL!z@br0BH_H>Bn zSTK-9dTX(bdqH=d+X*f+wqx6L-)Lv-BO>v+J*ZFj=0F`C9fP`x-1%2fz&HglyCs&&ZZLr-#_;gN}C$`Y#6ow-1iLMe25js zf9@Oaz}A?&p*_50(5K#4fF_07Vs(ks1x`;06IuaQv@B$=sG;ocKpnOa#Z%CVZLtft z`)6G*1;`q-!jZ&0OXH)nv=vN>OJtJ_(4Fwr9iFr4d)_B*Irq?V&Pd5n36Z_229^e?v7!!SabH!VX%c-5~9=w0BNh;4QpTw)d zpE>Oy{_-Uy)=)No^lz;Uclf}nRA_G{z6i|Z{q8c|Dkvl*BuUEC4jmV#s{|@z!kT6C z0BPba;K-0+|E*21iuYA7HRvdSooZ|d$|^oWPEH+;b$+3?N0FSlhC$m&xu~#($X;nF z>u!1Wd5lX5rA0eCYm#2Iz}faO{yLF&2O51eNpAupxbUgBzAh?XN44-vW#~ZkFkS{M z9ujzWi)jsexklB4HrP-9M9=U$E|DNedg9q}wQsv#;${-_?67VI{T`%@^4y;+e={Ui z`aOwpUQm6kSe0&OOq}dtR1FGmB)z_tI?-&&hgX!Ff@D8@zm5$z2ga@X_2Ovr8^^W= zJd_-#eoqzL=cgbv{aLRpD6D1e!rYV5{ejG_GKKyt%mhtaiC5;3R{X0|&y!d)n$X9e zaT!p#BE?yQ&O7;G`#3f9bO|jV#;03Aoj$i6MXj2y^?SHm7o+>OU-yP#gHlqTUll6*eFs6x8c1%y+j}H4$Og=WB^J8dk2agU0(& zg;+;1^u@@tz-u(1gYvvK;7}q2v@+X{oHGaDN}|^B2W*R0-|3#IOXnBk1(0L^P_wjR z*kijeDn0P0>kGya$G_6mXnFAnCpf~dy55Boda%_Z@zp_4j~)pVn4yAYuGBu@Lp(C5 zq?Qdl)m(X7VNgZ*Erq@0#QPB3C*18@(c5z>W9c;1X{q~K4Bhz3f>_hJm2rcWnJcf8 z%n!dUnIxmPM!(`AIMzk)`fx?@d^wVo`dxH?#D0_(0RkG?Gq3eiem(Pacv*!{>HLyL zanqibad$7%hsti)jK-j+^z=fbnw42H&d4IEDo>36HAdWzpR>X^0SnN1?kq7@4SN2` zGLGvfKkUBH{5}Hl2<4^~v7=LeD%g+a&VaGPZKf)X`H^tqh##va9d7QlTjs%B!~3*p$;8TeRC2ae1CiJV*LBdGH=q{}{9c1PgFz2eZx*R%EO~UB!s)D(m z5y*b)|H(Z?Xx(K|7sD?pGnStsIDNWKU?dwl<-)N zSxG}-CuKJ83IZRwCrM8_FdcsTjQ{D%mrisEg9(-3u9xjh*VGtIhaPW1(?IhEcs8K6}{} zWZ{=MV>uykw1myKTpW3~4#H?}dECh7ZqW#rrZ6H^{Agc!Y$gelhylBZLddjK^+c6!Lenip56Lmek*+T#MK7FMBbnklo>YuZZ;SwOnr-rUew zqtO?7ZHuj7FtGnOD#`W;U$wOCBA?aiIs;bB<}Hg4D3lOj@kOF=TDrn(%6N{gK}2BQ zyo9CTEl2P>t^s?gYqG|r^?KI6fctCzJph>zr(omYbQ5~Q&w8RUv2mVE9sw>F8Z5a; z;^@&hw8rquV_zD}F*kn_UD3jon9v&GWBz6FSgWn)kq+oXw4xz@pVzWRFb)`N*55=l zbMQ7@D$rcCIyRXN{^Eg&Lb6!`1d7)zacrX!#Hwhq6#zNtvz~iSV73M+A~3C>vXay@ z$31F2j6q?>(FJR)X{kx^Mt>mKYpl5T7urMTD#{Aihmk$64wgEXem9iYTSgz#z(idj zZ;6S*Nr>%xBo>O7dwu3i&zr7j93toFL8Zif-y{DRQH>YcbgvC0@)qM11pSLmE5<>2 ziaVRphe-}zkB9b+HD{GO*Jw`A{8jOeDe~n}G(^0|G_vpVew&=-U`B>X_V`7*@LA50 zYR-iShe3AVv$I7n26&l~k(5cZO1tZ`7}w!N9@`clRG}~m{gx({u^vMqDV>`IS#3mu z9|##eGj<^Q?C2xE7zi~TbBi<7e(TpEm)qiJ_p4JE~*Y?kLXXJL1Mg7ITvhv}H*Ej(Eq6M=X1=XtkJ zc(dWYJ;0Wc(vz3|XNKMO3tO>oUOaiYMWKH(Sde7S&XW~~M+U6o$QpX>nu9b{RHM^- zN>HK*j(-i2txZy718Lia#r^0?<2BT^g6)aG610f0R0+4IZgDP8+8*2lzKEv%i62=I z>Y-Y|AD{4wLE{sx>r5@8D3R=eGAj%3N>LUnjL}ZGOHY~^e<&R~o}>!bvg-`%x5IBEC$bBx*S{7lLjMFdSMHbDrXwy1u{3o&PeCOJl~z3xJpZ zV^WM2zBycSJ-?f1r*$dZP>I{>y1qDyeU$mcX$yk=w<+mSILJoal|8KA{~|)D|GAyR ziM-@WSN*$f6AF}?PqgRf@jUArJCv(L z8L@20)b#mxV(APzU+2v~qf;xHr`fpP8+TZ9xaULm-@*r8&U}sTeMl0z+T+VLf}?rq|)+!qJ6QHig~$asA8XkhMY?6os#Uv35hzY zDnh~|V@vc_n^Cy`+{i_TjJeYx_qDqTIW}i`5-AVfTh;D49-NMgjT{Lc9AS7{?UO<7 z!q85GIzgMS5almDqj@sr0$2*t787rgL`hgF2AY8iIIq!Q+xIpz^Urr~iJw(q&_XLK zStNgjtYpjz5Jyes17L(}9*8CC=8{fRCY-zFTh%Q zXd=NOY_8O5y&vCP#5=tQj6zQV~6 z&DI1*bbBR#-^2zgFaB7$22F#5;BvB$u{`2xaR9RqD=vli`1yic zQ8MHuC;_4-@^nkaQ3zQpns70PC9786>$%@?Z(@Bbl&M^=)MxL>`R;6eGduo|kJwVa zc(Gj^Dsia3z_WcszN~*)M0i4@6Uw4tga9Flaq~sOnVs`A8nQcn&qsH?xlD1>ItuUW zKrKh93>ce>F)w$nq`Vc9LMAO(btW6%yOh9hwdSupXMHHDYxdTNF!lWL&J7V2|Fcw* z(JYY|`9Lu#!6xYVJv>tmBr+-Ff5mPTvWw3XZBj^gP;G!vvotMe-DC5ghk-Nx6*Vy% z-hWHlJg265;ybRc_p)Y#f0MGou1w5+&8Sx2ezu>v%j=-$yZyLAg7 ztmciPg(j*{ScQ2t(^5V~g+N0usJ zo-g10&jSk;6{TNiwPQ6NbAxvjvj~rB?-cSrD;z5)Q01_^(#a(bctM=3+mdCx({Acf zzAUUtILn+H>Q+}8v1#HJnu-E6w%6iVogj z$dW`pzSxrp)d4N5`Oi*O_?g=OY4p7HY3XEDhf1xy$!9}=XA7l*;(xw8oc4zI10w*A912$ujQr{wvwZd*SQQ;ii8d!wU+S_VtqR?op$Z3qddG z4wDL07kv9(IW7)$|Ky>YAO4Z0J0R1=7705ZwY;5a*4RE#krinR$r=@7p^2Z;qw(~( zOk2~T6^zLxPGNEQgH--E)yf73+XVidz~OkUPRAK*iosd^G!fNAVK7g3GX7fM;~}>X zc~HUrr)cd=p<$PjNU@pLx&Pb&4oK1a7?5f)R)`>s2|Zj!7^1>b@V@8ERlptuUmia_ zeN=0A3m2e+L|mh(m(^_57I-sBKjAsiWi7W#K)x#vEs{bn-ljS%d2ukUnr+mXtNwD& zXq-*C{+y-)*JZ{<4j62ReSacU;OO{`BcJU@75XVUy>Na{kaL1RMVM!^W}26dUkfgZ z4VW9-yR4JJ016Ku8PO-gcEg!@xhZKSxcmG2Ndo5b>KxA=5v1}Ok~mFOmK*7|c>E@` z8BC1@NB$M|(3*O`nB_lBL`jbV>c?3yo{`*BR5yt2$XL8k{3&Uo?>)8Ct5odMa1 zQgjec$PgWd6IVNRx#4FX2Op7Uj<{B`sNecmsARx#Sp?SuM%kHvtvI;Zfo&jhW?Z~K zrtKoJU$nic*wxpbi!j0R=e5x+@lsu7F9@xuy3OL(MhE5DvXbe_ArS*pElBtHeVGdQB9#{Ue4&@VZnP=ZN!yuaUDh` z!rmD(yB7N^H)ZSuuJrEX7wb8rY+o%i!n7j^E##7|5<|c4(98dL)ZYl_nW)Nr$?}&; zgP`du6Ho-e1)Hp=b z%sIh0bX=v9_)g6eK&A*XFV8uLq5FD{AIxzeS-`<=Z2Mnef-fGh{TCm&hKx>KqmVuY zy^PNzZDei8O~7>tiImC?GaQ)l%(hE+yC^1ua}ZC_Q{-FFhlysEAr6 zaG;8T94aoU3|n)?Dov@rahX%I(HG`EF~1_iwx5N8879eJ%RGVWtsH${)3$M$uFm6A zCw8oM9KC;&Qf*Q2A-u>sFnxzCbn(hQyOy4r(Cj^rB+e~mRZE5daN6hCf`2|qs-&cX z#)E~vHT9w)lxM80s}aEj;pFVp_TG=T*Vfjy)%`Yxvu5Ooz{LVszlmpxpwKbXiQKtN z$Yi=|TY!#Maend;sF)LBlDB!wR*UM?7mig@{_+%O!%@E2?gtBQT-Ar^$U0%XWOdu= zUSgHUp#ZEZIxq$2)wg_9S1j2&!k*Il#1z}y+??xK8N|g~GlvPfwNy=eZCn|;?`&vz^E*R^Qru$yu|ut69?2Q&>wGtx<0+mLxe9iDBy8hn-k{*g zi$O9;`gnmA^g@c zOJ%x^2MkJU^qb<_x3Nq^dARN-10%scDcblU6Os?39(O*ecU2z=!G(gw{5&&Kttw@B zl8l$MGL)F`{aFOpM<7CJNDhlDyXfBSuFS|C+B_@b4O5U)?p%6tpn3fIwF+xG%XSK5 ziO;gqFmm1yT4lti8X}BiZY2Er>x5hqWc*zn5zD(V^0Y2F{_29C_mD=~OJ5wR(73?x zxGWq}oWqqdhmwqIVPnL#SITH=wfY`Gwu+Upjtl6Hxu&2CzVzPWu4ZSJdZK%aN3R|O zWtt4E7rz*aw8K&d;zJ*^h@&q)b8VbGvMMOMVv2V_gN4S$C6v6!GaVSMn%#?=`+S$V ztX>-tI!1v-{P$%c#C`LXkLeMn(9=AXUAU&=vGV7f7T;g7WVkH*lA|VPNn5ecJ900o`}CkRMKoa+%_FoKZ$7BRWNF?uccQ zM_gs&K^}ouSKXc81{Q{$7p>1+PYb7-0Jyo$#xwHHf0`QKfi9#{P)oK7S7UnPdpzLM zPLy`x`*5#@gpyQcVd*Ijoqw8mSLrJb+*r zFW&bDc%j2jtF*Afn9aD+=*WVRvAVwM2Y}$rcM6-0{BYPA{!JDZVD#dJD~pwVmm$7S z|Jtk6BAl?aw6r-Kxz7&u`|SYG$>13ziLxh`OrQovJE9I@EKM8d54#N(tS>kL3uckh zqhmgltAJjjpgbqwkiDU8*Wv2Okow{-TbTxjCzPV2z_|NF2I#-wl?Sw(<@+w-3cHDzt3YNSQP{{g-E Bg^2(F diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png index 33dc2d29384eb600d141868125a797c63e7c5458..566290423ab4c06218fccc12e9913cd89817909b 100644 GIT binary patch literal 6895 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 literal 8180 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 diff --git a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml b/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml index 084c876623..72cd56f5a7 100644 --- a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml +++ b/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml @@ -9,9 +9,9 @@ android:translateY="89.6"> + android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/> + android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/> diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index 5c2cb369ce6ef6001f4532ae883ae1171ba752b0..93c925a28dd7233215f51ffdd0169fdad56ba10b 100644 GIT binary patch literal 1447 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 Wgw;hPcqq2pAl{xo0u3igH~s<0K%#a4 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png index 4ca060e2499d5b06306f07da96c1970b3d4258bd..c922a45568fb2c03b137fe2cfb01c43c5d408416 100644 GIT binary patch delta 2870 zcmV-63(53_7Q7aaBYz76Nkl(P1Qez?w*G7dAyK|sbkkO|qQ z@O7`~9^-28mR5`>87E8z+Ss_9JmCKdxhB{OXq#)2bwXXEl`;G(qDRS{i;s`*$O>;U z8e$@Y9E6Z&I)AcX zXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJTBp^A9LR%Q$ftn=2jY5Vu4nLh2jmJalOw9NRt^G%Qgd5|mD zcW%eRoLwc^bFmqLvD*_AVj#jQ# zt$$k4>C>m>4nOnEGa!zda)@p2b{GBB@7YpgbN9Qb8TSVf&p!LC$i{VAw{GodMLW&| z;&|br2=5u?tg^mt-8wPipMUI-Qc@D_-@jjEe)!>s#19x9_8>*jVP9Y07$Ya zTxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#Xzv~MH&Nr|5Zvw7Urw%+uWc~W< zuQ=u`f^yWLahdrcq&)QFvA}aqCVvPO2PI#OLTT>YxwD+Vq5TYc_dePy?^3GAgX(- zF|;~!2d%l`L&2)d?Q~u944GE+=+VQD^Vj|e#@PMn}#y?W^&2$k%JkB^TG z80DYf;NWCt@3bz0Fn8LtX@8R#dG6df9Fy}+8}y_p89Qjk$ggNJhgXyO-Ry=77cN|| z3(=I66kPebQ*-q*8dPc2Iyd5dTvAtCh(BB-Wrf-s=Nl*2H{!!W?G3V%?G+I5&i$tme} z%O+oa^_BGb`RAV@M=L=bO%3u9#H;+NeDaK@5EE}$wrm+)xpGBHKGt)J>N8@*2)p(R z7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4Rlx++xG<(GNqc*HCxa7n znGaxsw3T@y9)J9CF@O5Vkt2oXl%Ye1qGA~bhB&U9plmz}G!q2)F+rbL@o=zv_wJa5 zOVYjj?z{7ih%u>s>ZzxMoWq9?)3w)LYnG*Bp!g-`?ZS&;s^PzId!M?-K>)E7mbj8Hs8vntH+G}QQv%jiw_+<$YAjE^)|FND`?uw8Lb<^dYSgF^Di{qLHVk|G-!kvv=Yg59S(0-JHg85O z=c0G2@_!3d>N(hY*b19V`-WKnug$i_5@Z#71y3p$JHQzp9Cw1P#@tgHFN$V{SEx|S zsX`u}bvWiXq{Gu%xesVamT+mRPq+t{`=WuuEDuL6hg0IC6pT2|%G zN1{7IE1PX<0^1}pJFxjOqIgNR2l7!R{}ch_oPT9o`oJb-o8uckMc`dL??>@nuvONN zS@;IqIPZ+drzfzyP~T~|==gvaf>W9OF?_+( zc}cG#CuBv=8Ra>tj8L5)`nvLC*)ZOx@V+;a9V&uaF0fUwagI&B?~~2C_ES2C=_E%; z!hfrJyiZ~@!y*&AvAA-!(4<^GHiHtg2DMoVGeTYhDSPifVS$~dsRxV^1|ICFN;oERcu1=$&gVH6e^z$qI z-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4Yl>b42!v}Z zW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>omsJofKsDH_* z#|E|IFc`yk{WgAr`39HZ&l!KQ(FfQYj^hnC0Kahz=gUsVX3(`5b$Pn+a07*qoM6N<$f&_-3vH$=8 delta 2814 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 delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfTtsF0 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index 046bdd17f01c9661803996da511cc033c6493aa8..30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee 100644 GIT binary patch delta 1825 zcmZ{jc{JN;7srDn)?%zt1T)oXNZZt|2GMBB99v0?8l;qT=GeuWxAU_Uqo}kKVwuS( z+NQLrJ%TExr9w#QAc$10Ev*vNKJU+&e`lV*?(>}Ie$Tz%`?*3Tz7qAAHr?6LfsiP% zJZvBVfha)ltpx5A1}Qo~FRw!H*xv$rrfea-jd2$ttT7AVyNRYJz3XGiO}Z0J;WkV^w=i!Uo5t@g1cHCx@TAim9vuf-}{a;byVhyv}=ckq%jf zmh*e_-bk4;FYd2QHB2=Ss}9E{kv`I46)RYJ`^Z!Ks~-a1Px|5Nu$=5=Ks0zQ%KwG~ zePm$#v^>5ZOD8jZw>IbjT7LU)CjMM=;AHQ~M=Dl_#<`js=#q;UAMe)@*Ug=_xykd3 zHs5ro#i#}!Vabv-#2NLQeQ6g@zJmC>VL4rvdv70V0NvgVQ zz68kgibc|>aA648v3ceX{181_6GNMZVNNc;^`(%cd7g%|9edvM-WaP$)Yy@hSqHC# zaj@?hEY}zxJDfJ(Zee@!n==X2SqFtYD7Yd56x71R^H6nY`^ z)CUQ!L6=6H=71Hna;tUeXJ3qwRF(r>hZ$*R^R-d!Jio?pAuIFL#nHtfkKwNI67gRd zX#U&@+Q!&^J+XuG^5-`^MTNl4sg#crZIjDCd6&gRNrIq^Giri0a(B{b7-87xFE4spFC6p3s$a@yzId2nnvqVk zW7Gv|;87(>+12Q+$&F(RX7jw^6FirP=iSm2fmmoWt_ zgXjJzAJN%G{q&@6`dXioO0^tm>$Fo9r^;qvV2NLtvtKH3;^Y$q?tdGr6?wSUfmYK`d4B1%!Dn$G(wEW+{JHN4ew1+{RWR*ju9Jo=R=rD0yLJGJ6 zhW#u!D#7?AxUw`EPozl^N3RmS5a5fcTiHBVg`27_Qxqg>iPx4S%(wZE`Ael(#=g>! zfkv(!3>7T*EZ*fc5_SP>K8rw&QO3F$5fLc_KGH@AqS}HN+PPR^ByksX9gT*K-K&7Bk{}DpKcV&gcFP;Ay{%7Jp$}(!G VM-!&hGq}S_oX@*Cvd$6H{ttKgSsnlY delta 1742 zcmV;<1~K{258V%tBpakjL_t(|0qoNu0RR9D1flO=`j%o2K?GI-Pmw>0e}Wx*=Kx&S z7KP!dZS&c-ZNJz?ZQHipCaG<=Q`@#}JIQ+MIdkXiwa-m*{ePXWyz8EQ{?1>Xz2gFg zvB_l2ZT9K3ufOOwApg~0hg@dK$-I32+oXIJ_x3bB-!f(UKnf!B2f3D5qf8P3$jGwLZMZsWp_5`W9!xl|DbJ}af2WNgCk;;;jn0nT0 z#K#u*RhYd+YEH8`?2$1F1{;w~eao5SUZcjaGmaeLHs7&E{|fjv$;@?Bz9<;{mSn~m&28`2%`Fd@GGw{`6taiQ{HG39ti3bI#5p=&6b$BJFOiz7Y(C4md47{hEb*UqjU^j< zW0~Ki(gy3!%U&imSJ=GHkTD7dJCICeqqznC)9cL-m_fF6e`a09nyZjZduPcP1%qYT z2c+fzo7Hk|Nc@l-vw~*spA|ThY~-PNKg`Qzu-+`}UQ+XrE$>VjqhN3>$^2k6H#Kn1 zPtyWtlP#PQJo`t*T7M*&G0v7R3I^XInFXrZNx^gHO$?e#nd~BAt&2$JU1!V~1%s{~=46uaTb3Pl8 zOf%K&;IO5Y2Zb)BjJc$eu(syr_pw0~%sJKV3_io=e>9q%zp!Q7SxTq7TYtVx z^*c}w_LTXZ*boJCUi*_wh-$Wb__B|ChObCv$y$3wF8f?QtVe&A2t>hL!Dlpk#kNTE zox@g6=@Pz@taP$wO&c|PzMgZXj8QN+n`Ay#7A$;q#SRgx@33Ujd+owjJRz**Q<9nG zYWbpIfADLPnIg@%j#|^cb>vzyWyHF6nzc+NnXlX}e-sRR#gf@4l?996oVR)8x)aSK z*OSK6t*b7}FRbBlHks7y!k#Y_%vFsgnI6)7!^llxjiNS^M%`(~1YlQ0;e_*eZnu}~6SI!s(gY8JBrZitOcFS8e zW45NSWMOKpsLk(bu3ejC+PZqaC>SiG*(-LG%_hA^)!1!`Rb#eOTC2tENYGq2D|=Y8 z=c}AMWQ>BrB$D|}nvad$RVprS=Z(17o%D~lqNBH#)m+nyWD?yaUla_!NixfH?-3ch zf2(O^+%EdlsJLBCOk8t0$-LuE8KYouCCR)l7A*2u?uht3NB{KCuWPRL2Fa{&w|r4B z=tD9Iy7vf=-&65VO!U2W;s~xK2s-9;rFTW^>1kQ7~ASWLjs! zHQJI)9e2$a1%n0H8=C+4&28iV*e>MGe;K1-un);Z+wjq>-pJqG3kILC;lsB(NKFd+ z6!Q0kg29<2^OX&@$IL+Po>DOQCCSWA$9v8pnJnjz zm5GPY3?P|Eg9#+#FU$sz%qZmR=>>zYkjxrkcAb6;3^GQ+;Bu0A&tT>q zbDKCJ3I=~CnQ;a)6U-e$08ucgJD}zfTOrNs%drp5AEX0OFj$*pI;DAS7m}%kJW()c z-65e@*?eqX_OkVRz90$)dy!0Yf3^k5^g@m(7?eLygADe3pYEs>=ny|Jzo$7gRRIsEs>XXqF}HDdyn+o zXGqWufNYXO`IiX-MeZIh6(>y-)!XNF^AprmY00JQYuhtbN0uz`Z2p9+k2nK?| kgOe`@DUqclkxVxg6ir2^DZ=u66aWAK07*qoM6N<$f~6&9umAu6 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png index 31c9d1c36abcb51aa81678bd9b5a9810f2a817f1..8fb88d36762582d219d994be40074203324784d6 100644 GIT binary patch literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png index 3bbb99d4a186c03f44553edc3df32b77be705fbf..4ac235573a533f5aaba090ac7312cd7183bb781c 100644 GIT binary patch literal 6256 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png index 37e6ddc39caac76358de4210988a78bd1e151013..df2d7f0a47257593b3aa20d972880a3f3495fa1b 100644 GIT binary patch literal 4429 zcmd5=c{H2r){llzV-z)4#8^e6NX<&462&o7bCswmW;Iu+N>vd<#Z)~+dr?D=nVRZQ z+Ei;EqK9h4RJ5pSP2ZcZe|+Cs_ujScUw559-nE{0|Mv4dd+*=gd#(N4voJU2Vi#ct zfk0dsG|CDDVya_&Y!E;)V2)4#fq3~bC z^PjP_srIMK4u8m}eQJOCJb>C%{g_C8)fBMi^~~=avIY>W*Qm}p^i)`f`juC8-JaNN zwHu0`T2C$KzANFbj4~Ma&^Arn?+*6c*jp(WzooX)s8u}(u?WWX26_+g_^Pbwk(j9l z<8b!SkE|MOLfgvaIraqe#PWGE>!q-2^#0ivcr}Kf|FCygV8sl~z4Q&H;d8Qx&5*`Y ztBmsOxfwL$fgW$|Zz$}-xI`O|mR}t$sB|1YCGgs8xX4~X5%ToG3647ij=k7+x|F`9lW{NLN=e#d`6`3zr(aShMQ9hvbCH|MJ8w8muxH+WY+RZoDsqYMSyzsE_jU%nEQJ)ufi$*+F&h&b$cn2g0X#9M`4nM*9JVf`w)po-}C zbr&N==zo^s3iDs6(VxmfC@VaK5=@KgR|jNAf?~RL-DjAWxzoN1lggc4psq2X8aPaY42_m|(&i->*vf&LZ0t6(0GFSH!=f^KR!|AfcjAibrVz>QaO zcf1W1FG~{Fm*87|yf8df5ftLTi(9<)7lrO1IVb*rpaEFv66rO-} zUUqgzorw*Lv4@I-lU%g8Im0dEk+9kFj->55mWMH4av^STWkhLSk6A|IvQW{rActd% zjc5zKM&9(Gpxun9FXbU~422GNaS~Ek5h@;+7`3^3a`CMGs_0M*^`rP7a)~}`?&qO^ zQmXeHz7WSetb)jC53PN6Fx~O;$7^r;!w;@>S{?$oHJ_3jmjQ$>Jw={m$5L7qV|P6w zBM85h{pjOCU9V~_WYk}S7e#~$3R!BBu)SwtZEbfs_7k@59hvO7T}kHafsC3MfC!P= z0{xvQMinC=4b(@Odqn})EHj0?IgSJ^_eM8a>W;dusq|ATpbwZvkuN)8Z3=&w6xd@0 zsz?uAX2(7XZ-Uo)8iL*NP#{rDyL6aw(c&okw;z&ObG-AOK?JfxOeXB^C~${F_6H^u zo&o)kV|Z`l!1+WefgkE3bIt2~o@ZVqDaU$YC&pnA!DH&gu8oHROdU?9%s*ix)XZAo zOe`a&`7Knij*D+|E4bh7ng@;U!%zSdjoLy@2|m3BMFa27ws*juI``##-g4p^ieMu( zv2a5wM1lOXbP5_RhndqBZEWzVEUlUXA2^40E(BSNLgDdgkDiO~tE?||TUt7GKn46n z(NfJHn#Q;3-X62f-9q|Tek1>Wp423s4hb&3OkQ0}Cn}8pW6|cePtZf-mq~3 z_uk!5d0nFv^LVdQ;BdN$(I!J|{dKAF&wuz+f!`i$i|;%B?b_38l?tKhU-uoKZVaaA zPPCp2PrcF*xINgby7B4whHywb$6@9~G3``}8ZWUQR=wmH*CnI$)VZGgBd4^-xobUd z=yg;S%>h-A&=4=pgIGC!F4p?tt}OZ6^OkQpwTixajW?w^9L;}3_aFMbd^-@p;!0>Z z0u+5j;D@lKHUQEOF?i!+B;_y_GV?M2`$h^uO#t)y)2Wnco1Hs$tE!IH=Gie;D^X-E zr$&Wub80`QRTbK`0+oZ&!LMK=DIqo5?LT&ky_<_H$3}}LR3j)ayf=-7Tg8*5`!w+R zW|zs&&z5hx}vG!boQ z$z$y_z`A2jrgWYLxy2kcgIsH?kT>(u-9N?O7(TQ}#W|^Y{Z$pfTLG@P z!0-rq#t@f5>wM!|n_jQiXiwGj;#ar&tA732JN2WuES+w$quJ?VwC3(j?OXc%>ci3I zwDVoJBu9|wT$$ECuOmg@CHb~beQCGdePk02sd)X!Wn4c%*wJAyP=MY;k>Rdje+VDR zBZhn)2|lvZZZ2`N8C6~v^yh84=w?9fLtBLd?ye`JKW)FtR*%WCUcr%l-G8>-8h>nH zZCIi-5k}I)V{F5aA?H2;Ml`Lpd|8sOEImvtfou#?hm&T9P+86knU!nC1U2!qlSpyF z;^fk-ru7%{(Fv4GWC^%!9!&~WeYQ% zks5JDH_B)N{Bm@iQ+#g?-hV5fXVMJwYKyvdJn{?`{*zOe#G)!!rQnnJJa;kCR%7kKQio6>y%30PYF%~T*iV0 zsrAoc5V@MyN66~W_Zw9yT;j22UpG00L)J5w!x3V{CPQCNM(o6NGG=8TpPbfhT$o5U zst9}Ab(C$nvg-8)=UU{E3yoWvj0LDxhx+is<2cTGe3@Uv|itpSf1@C!a=9@0yFi&onuy5mur|28~I! z7(e?ulE*43+WSj_9#@45CY}|GR601c`h?^yf8VikIbZ$v^Ij2RI0IZjq_9YJ-eX~) z5%687pE3q#_rpf$Xf7-VO60-Vl(d9ofl|)}8j>A6EYH;)L~G)_dY#TZ!GVr}j|66l zpj6@O_%Us?xjR<14%vVh)_7oq({4F7-wyWn+`Sgz)x7&`h+_v& znvM(-b};1d9Tk+;NlYRiDZjiz{lMCS@7%Zcg4Qd6*r)TdwB67b+{YD@^WFpNr;FHC zLpgInoW|s0;!%S$4%x z%|s9efKGXoC*S(#`Y6W({#fIA*RgiiApQwWRS8Lx8Rl=e8`2mCO(pbC!edq5&*i-s zn|+Y0rGXvqqnr>51Z^oI-V{M;^(wcaq3xyM+wLWx_j{M?OKg%jy_X?Xg zoe7Jr_tl9L__f^s7;Mun7Yw32^SCOO6@hA`GGQ3)B-bBlSLRsVqeHUQkwaki%N*BJ zq=901CSqpLSin?Yxd>boYty!!30#zKTVD}=oR57NoRB|l*}{>#dPWRfU%4cO!em=k z$Vy_ics-OZ6sGL+uE$f1%`N~*m|uj2;@u<_UH!2i<&1b=4?#I%|y&|IgC1W9XjvKP(+L!T`^V4B*moupl}{5wluY(zC}fSsHkmMytYaxljpYm>l1dm`mKa3V%#6aA zsVrqHOV*6i2ic+@vSj&=@Av=T`Qu#Ixvu+p&ij7u*ZaPo9>gT#iL8pexv`P`9fXYD2=M{do zDCW&(Je;~Wh2)8ty0o5%v!5S^@@mgkTY{Z8kFBg~^M!95&uy@4<%9B&Yy}{g4>MJV ze#h?h6_3`vOuIG1=Lo&M*|^~W{d%<-^KnMy5C@Ty>-(=z+QOb8(ot?!uEwg<)AmVL z+KV7B;aZm(UMLfKFDSfrq;tkvqT28_>C|i}e*#ET)@Bq;FM;IP8 zhUlmhCS`UHskdD^BgSz)sxJXvuNcIg`1eEeT#>N$`M60YaNM)W6`hUjatZs*dr$b9b0Nf(JM|1(a`+LwwxmU|ZXeEn#v5!j%0*;W=%Rwdq|Er?}kBjKwX1y7vot_2wfJ5?Udb_gR* zxm^1YmT^!W*ew5V&7R-+VCVhzH>b5<+3SnU%g7^maWN19{*MJ!ED+^ODf3_cRHJPS_8wDG=m#VuiT9VbjYEeNYEbs ztaoXs=#~0azO_%JG{(c4Ll;$(v2f>51KuARv;|$GRH0fXaJeDU5mVON+~OlRx7)nF zD7#A!b?rfd%daA5hOfr5MFUybi(4XXELMV1>@jzRwC#c`ZQ1WW%}{xuBGAWnMn9$1 zKFQ_7JC{-(M6;G}ZE?hFqdpE_u(Fz`D_q;3a5)jzQ4UzSuhNn)hR#sS)MrD<>cJSx zz|KCs9~WC4H3B=`+|I*@s1s1V?lAguWX<3Fgp=S{f37Bh+-AgwXn)x-Hi{2;)@N%SjiireP)Ch4c@=f`tdLpBv`z}@M z#}Z!CqfrbTC_ffu!}Hy94Y1&LL-f_?#qsAsY#z!>ThYmjQ z()TL#CWY|Ddk*vY8!2~UtNeHCZaLb-$_e3~nMnC4-L7gGo}ckJb9Dj?v0~xQO#a(( zszgukR=SClA5@D;{J*mMmz1dsl{lr23X(^3>T z&TwnSnT*Qmq&9DD!ZI~wGBsnxdped1HsAbBGs*F=fYr7do$q*H5l9hpcI%HTdR1l} zN(-wZ*d)0|T#(B>iy(no#3vV(`!lVlod-j99FucwJ}meIckyCnqkCI$a+XUtxX61B z)ALSsri#xaU23W<;um{$3>Fsh*Gs75iYM~7OssGzu-6~Z5o0X8(r_~=ZETkIEPeR> zvl%!Rj&fS2lqpj!Rge(nU?BLIgb&YINKjnTKD@9rWDr&|N zUpD)N5(MDjyDT=F;Tdtv)E%%X|M255mY>#qeRAZ^Lb>jq^lg}CT`qMPQ)gv zLmt+d{je@C4S&`YLg>)GYeFfg*V=rOg-bQf^@ZV}C!KvBE6_iC{IQ(Z_qewfbOqgt z3@lDx&n{UbjH;GwWL1fZ!ZFqmT`ZZAi?$9xd3_~6y1n|OceR}Z#l2r^rkm}{&)x>i z@oOVg<)H=}hIh~;7Y~b&_4oAp_*@8dXZf9~}4m!mTwcPMS=hG*8Y#aW`9P!WAGphUCPwajpIz)w^0=IBJJQ*dAbx+UIymm!EIY>c%a+>?q=0QJiK zIJ?%u>SS(VsUY(`3ofDN5Zv1Ch)DAJfk8awT zmM&Ir2XR&}*}Vl}+jrnh2-o>ilrvdQJm;Op#@h@mOXp{2k5UNUQl($U%Fx3->E2J( zCeu0U*tqy2X=9?nCx6=RR?|9t!@u-SAXUC3Jnz^E1WAjSpwW-8MyhAcN%+L^diz`9 zj9)HYFVXzET@gI*aWS1$OnaG_#Uut?=T2U8v%Ba0$_yOOCH{)xedyhSw=dE4$M0{i7o5-F%4oH+ccGN_57^C3}X! z4G>K@JaPmv1)Q8G^*9me{;%hU6&9-2!X!kwC9gE#Wtv>(1Sy&of9P);(^+}6f<(*| z&`1T3NcfP;+fA>M=j00`JpOCr^0jv7vtOz&1cmM?VwDi`wZ|ctfYd$jid589vS(>N zgw1V^$K3`@`C~>6C&C@NaE0ih!tP-Xe>hKH_3g+aND$d-tKCx^*QEom?notJicig( zAM=`?UGn+vK_uks1zBgjumb)1kXuGg zfuJKnc(nT9AALl;3i^KeI~|pNjnaI<0}Wma87!?Xsh`|yyCTJHnhz)BY_#LtuPX(QIV*{Oq@}qcPE@? zDV$cI=TZ7hS|O&Cf{D^Kouw*^<({GHwO_TnCaq!}ro36csq$H3))X^4E9p}Qu8{i^ z*DsyAIkNAnVLzwu(`C}iLAwGYVaQ-s=bBA2C96i7-POFkx-wWlKPDyN^k0#OGdWC+Z~Jb#8KoqHmB#j}Nr{i@UZ%59i!j1E%L{ZO43E^A8b5qa z%oeOO!)Cj-4N3UaDsrzpg9$MA$9G9%_x>~znxlv?0mH}(74PG?*>lI3{}AYidFzTP z-9$1Zk`rCOv+t^lo~hAzLd+zFtZxmlb-9A&$He^vKJ8REwQ_KMvr1m$O#5iy$DTU^ z@B^nhTj`y2RgLnrax>mJfxM!k!wj$^;D_9+hDz50>R~3vUoUWUs*cW2$ijhu6Ji+y zY7y7g7tFDW?25s}lqm!%lY`BILW#B`dZ`N^lbFaWz@zofcjCJ|z;;LK3>en2VcsgG zFM7-`vm(spdWW=Vys#?58S`WAv?hX224_skov4}LC|o*$sQ4zvO;o8I!v{cZKgtOq zoNp}H(}%{<4ky@t0h+MXu^xLt04^!IR5`Ei#_k}FCd@g05XEnC_Gh1M+X~LM?U?82Y}>YN+qP}r?%b>7{ge84HnSfVgICG#!?LI6Rdsds zZ0{5@nM@{=$z(E_OeT}bWD~UlD1s6xkC757^0g9eGKsvr)KW`L=|tODBy}i>zsB;bs46F^&?u6fmLcr(a@7uu>;0^E@_!0aG{s9$G1re$8wtx7T zANia&_!_s{Yuan`J=V7OwD*o_dwHCrkxZhecmkV!_SvUF#9jbm+!P!RFa!0Ym{|B>&IAb0>rM z)x|%@Jr}rIMMmHZqL~h?#B}3+@GXc!DDZ#1FiF&8s>B?{ zw;>8)+wZqy;W14YfBdq%OlHfV;3umP$_n5p@HF@ntidR^-adoBUN*JZqLc=17W1hu;}YKLpZWMV14B03aTEZJk{yw=$Hv7b|3Ik z80`r~kV~qr!W21P!tMLcIp>@+rz|znUQctkKbhl6b42aFv%a-H)@YCn^THqC zO6}huBL6l<2!bO*ME(Y+Tb~E#q8+BFkCU+j_|OZ#sS#hPQA9ojJG6Q-APPZ^o5<1W~4+iS8=eqG&=iCr8|jD zi_UUu2PLIM4NQ4>vD(Xu`pF&*xQMo*QlbW?JSe~IiH`j>(NSMioFn`S_L_J~B=Hx~ zk;g0Qr*b1H9Urd;|woM65> zPN2mt*7ui!_&>-*zAvgSZT+yXuWwl`n#Ghk(MfB8Z`fh~WJU<$AEra!Ai%8`lu5PO z6c@KPL?`{0dGX5$euEQi>OQ+s$a~~3phGs{hEO@E^r%9F-+v+<+R|$vuM^$^I%5Ng zKc7y3z_*#7|K(2nwkIa|RpQUB6a2ouO`NHf)BWjW2V;$O5BWURvhfJ62I^oz@+#E(4Ex_=!$Mrs_TQaM~HtB6wL{4 zcH%E)r`*ZkNPUiR%j8<&72&?7mJXflHIt=D?=Hc0B9RcGCd>(XdV2QF#-y0y$I!M6 z4(_KqS9J>UA1B2>cXxNMoOUNDxvdGGA8p<*R37Dg;N_WSnyDkLn{X8-!O!qY{9-&# za3OU>(qR0;35tJ9<^5tDRG12x6YOkSqNY+|C5nFtd@{l4FEk2#-rL(dXIkb11^4B0 zmr4AhLF)t8x_Lk$4JFU5f*Nlm#5kzBRA`rEj{;16P{Zv-qu*|D^cPBn-a|!kILS^> z;x;BHsNOFc%zritU@mZ${|2BWS(%qQEQiMarmBxlT9 znJ5*)C~)_rfJ>5*`q;hA8|DJiK?k*UwLXxtMmivB_q;^(@$x@Ppd zinPn7WX*rqRz`oJvM5G@gDC!~+8X`QkpJ1c1|Z3jAbRMvcf&WWvCXx;%^jSzwr$(? zcCT&QwrykVnY_w~|1a>>5!d+DaS`#tRg;;WRrTs+{+jZ{s4H?;el!{l)U8_=R<2wL zM~)o%7l#iYhS8%(LqI@)==ex&01S&tgq?Nz$Qi`OB#6|A`w|!!2xG>KVPn7oV}mim zSjk!uV(tRBDpjgf#l~j2|9AgRojO5!dO8#p74gDiv4C2w<{j&!(!!<2jFA!UOlv-Y2(8txQR}01=EiDZ?cI-&SU4YP_9?V8u!X>*uL1|*lS-Eq6rBVqG z9z4JwSP);oeg%WUz&pNIgc0887Ey(s5&XUwjYddKO%;s=#tLI5_ZA6KbiG1yu!1X2 z0R>IUkGHosym|8me_T;4T)2>Td=Ih!Ug(!lh3*kXUSAe3UMv}h*RNj#`Bz6&oC4LV zRr`b4kQL6>{T0NBU9>1a*REZY{Ndlddj}B_5uC9eKX|}}<}=`_ekm0=-+VgS%<&^8 zCI;TWe=ivaj1?t~a(EXwj2B@xFP+K#YY-#yXsP-lug%NL6aC@y^YdZcxN+d&!A+hH z;d;1DsKrCWa#`aRv9W!)o?}1yG-1L7C@3fpjRD4}Lx&EuREKc^iF_Xx58 z=1|o0gS($ir@+mdHz6n}h%??-{@yy}Z0o=a=*wW#aJgaL#y2B+lAC4NJay#mA4UFP8m%qQI-L$aeE1-l3|qEr5uBrE-0yJCyhc{&9{a1Hy}Nep zlJpm2(xOER?s$4G!x`ihsDnA`7#hSJFC_T~(3<@0DRAo4DanMuVo_LF81Eb*+CZ>0 znFOcJ>*N5mh1kU3{tz1*D_Q|(as2pkw)jOOikQprcy^<96#c=j&!e<|@s*sMjFP8l zLKGGj!tB|zc_mRqVpt0}-g<*9U=C|8SOK3mZyx$0DgQE*k5&{imEm(FM=P@VYIpjB zPaM)re^}toe(u~kCIQ4-0-~d%dFSvVQscA+Bj8BlMweo8{bAs#;_v&3i;II7FJ4Ic zi6>%6NC@p;jNt;vAeG_zj-Wv}nSvZMz1Z6~1E3W{hYqz#7VOroo8TPv0&2r{qZJM& zZgL5>87)x9zowvlef##c$;W{M2U6cAjbPNEQOt&2!rt_!B-#CUxXTCcTCEmxb8{t= zUv#Icxm6gR&eki9whwZBdG4uyt=faoX-08)K zsZ*ySKbA@m(bj-?-#A#ITLL?iwmKEdS}lSYpJ+k5x_0df+1c5W_ne6nCyK|3zM|Nh zDpjh4*pCJ=^oJZTt=;UMPn1Nl0Zww4JaFKE;2hX=)+V71Y)jtmRQw+IyQptx&YZES z>$6$2X72WK1d#WG+Ate;NqcmDDj51R!5yDF*}8SBO+2}F?b^b0N~wj}PB|@sD)B zlfS>e+bsY_4t-O(a^F)3UM~lYTo^^AY%dux|+qP|vZDVcQ z#@idGqgK_O5tUPYQ2F|tyX<zCp1L_wA_8B`h0)g<42!spSe*NzKe?9<# z#jH#ocbJ`>ZQg$SZP9SHZrw_imGzfdwC`vR={MV4Tl{2$pr+qU)1iI+k|lkkKl98p z?pq!+13z-BN~H*a3X57LF(emB`}qK9R72oM7SmS;Kv1`QfyUViyykpzer zD2e8H*0{YUn2X`ETvjqaEw~82|ES(Yj?bi6s z0|=VQo-qNifZJ}nO(h>fW^{I`I{(8QHTG(Aap}UeVD9M4O}9?jj?dh8-+fi@j+%eR zb22Fqj>TesPsFiq17JT6%EN)5dtu}`ZUL1M-G2M+;#md%8)42ZSzyj9U9?*`yZ9-y z*S`l!bB|Q{47fj;^X)J92Yi7*cm&xnA>{xVIEi!WCNasm|Y3MD2TnctYV>kp#GiJ{l}mJn%qyH$kT?Qvq3YUd3t^%0^#mI(6(Oo(rE|^^O<_=DDSM+#ItVHrz6i5l)o= zfp9q77C*bZxb-nNH&@j$_RvEQQ3a;#t3wu@23d1<#TrLUEm>%~L-y2kw9TJCUlsiF zs6#K_051drfh>*z)CBl5GbRv^$Fp(Jt6n4kjGF4@MFacbgAXVPr8;w;VP~4@mFpZa zde8}~vr0=#%@<#MA->J5a3;}?){}1p_mV( zGBVA1|3(9Qb>U-Xa^?CuQF-8l<{vqGsm^-v!3V|nqTB$xXkI122gnBJk}Wg-oRS0z z8L1Zz`q--kpj!a)p=yX0`U(`WMF%r*q`n6xhSxc>U< zRl}~Z3I5m5S^~U}L|8%UE)WxddMZJHmn{Kmff@Shy#h#9rL|QPD~wVcc4Y|w5$6rm zv-NUAfB+B)27{eIfSr~Azb2uMKKf`?{r#LdbJF%)NSc~&e_>>cCyU{p_xt_-WC8?J zA%KrR)B>F~Yb^nO1?vA*{kN#W7ssb)M>jtI{PW`TXs{Q_wZDGW5&)G9+hD`(*p~gN z5+DpTPi}~@xZr{dM1w@7W?IG%qLWKimVNTcCrf8}wIQYj+p>>sTRjpzN(8_SaH}Q2 z?=gP-cvTp zv(aTHo=XLK6DLlr`wW`|`wV%kab&|lG*tp5${`wYGVCQwfV!(hH4-J3Rnv{3J{P4F zs^xtFX-`6TYZ*V_wqeK~mOn~HMSR81BpT%@I4*tV%EDNj|RqYj+K7G16*+!Bk zZWecQ{w;ps9Kd?mZbu;gha{Mq0DfjqD-htCx~Icg3>Ywg{CtrFixw?1IXOA1VOP&S z`>c2#26xr9v&@1QWPkwoknOS!``r-0#~*HqpV^53!v@01lIShB+@g|1kv~w?{A>Ds zFTVKVx}{GW04EfnGk7RgBOwVU<^r1IXRPfEb1YU{XK-gl^q)DoFMXWKc_l$=hepuD-i-BFv?_>Rc zssZZ6wi^~DPzNbAz$|Km#KIXi4seu2RdqWbee_Xs;)*UO`_5ZIT zn`PS#h!Uuv1T_I#Ar2_UxBvI`yFnJSXU|rZE?_0A>uJ;#6&23!Vg3IfkO7{^3Q$v7 z0g{!VIM9NU3N{XqCrU%YRBdbN-o5+phHq)M(qQb0i+*FzjYKE^Kc8$?tpEvuaF{FV zI>5iW&k{f-iHbP)+;hooB2ZkQ`pns9pDn+KErDLZ{(mzdEC;}HARJ^lsV(ILY+;<- zF$OnBEC<4Vj;32jqtX7jX5MqY1uW1ALq?lc zTyxDe^0Te{`4MW@#*(da?CMtsz(O1lWkz+zHS?5}L*?Za@?HTws4#BKm@&e0t^5fB ztb&bpV_S{t{eL+Q2=SpE@Q|ad94a@ntX#QLZ{%{#zm+}(`IFoq48b~wY?N&^r1$^j zI3SS^XiIJo*d}a^u~63ZsA`A~I_MzznO6Pz5Ho;Av;W@=2#rbOQMiE*A@24QA@R)1RQ-5>XAP-A9V79M^-y#(ALE|RlQH@V1D3o6W{ z%1^|j^T`(3CL6m@e_SQSS_7TYbyEi8|H1hduqZAr)=Q$?@zu9)U-@iX`S~Nh{f{79 z1lqVrez{JHH3ixOIq<=jfQ`0cUYPLAt5#K5wQ7}}^RH`sSqB^Z2isyZ*U2vzwLvi+ zJKYrl$YCl;)ZPNB@(BD6wMHt=w9+T)erEsN-Z=m{@@--KVaG-?$tbq7^K9F;ZI_>I z+qP}nwry)B|Mxpp_g0;{^?H@<;YrnRy)&Ke?>oA;JEB2Y*UfKefVi6BW!Qi!2lENb z0w;gokK8=}@|V9{7PtN{FMjchaY06#9>qLT3rv@b(|JJlsXJ1$kJ4sn}}&A=U*_P=FeaeG$$z z0~lw@z;Ab^tbUDX3W|{0&AI>Sez5i;Y(j|}6#5+e*KBQI7;NUxitl&O()mSGkb%Xh z55C^(Ea3MDC7}paR_mk``lppb#u=7A|KdjXJBgN{1WCW=C%))E{7%t%NJAOwjIN$4 zPUa2m*i^_k&C=)jq9G_l8s=l$@fkxyoPjd5F~LXZ2kc>5#;KM*eyei_%8-q<@r|J& zo`n@(3XPACUlvFI1Ou1}P6d0y+t0_w#;z>dfg-HHYz&QWEDfgb-8Z<6a2&a z0plcf|3B#+?<1Ol3askVC-%lShEix9s?a2@JzCP6nIHla|2eE7Jw>$Q@AQhl^oh3= z@>8KKRH20lUhYg_TO|x(Ah@RY4WbdKLe5Wp;w^pR-z?`B$cj*d4kmcNO@@qM;`1@I z(G3^8;@|8Re7Fb6A;^(Np%+(=AtWXd5cdw$I|znKz$);GO+-hbeue?(L47s*nP1D^?Q zAmxy6jBPq}s2Hd%4!`h`ADWPZlwa)H*G+E>lc6-^Toh=#p5Qx&b3|&RP9p#JUCrO- znzxSnF(KrRQUlpaR>H>8e?0oofH2@xuzG9Ybz-6FT&Ij5`Qor4NRbW0=c7% z4Ro(ye~6jj;IXat_PkE6rCd`-E);(_?mWsSNCzh95T382ByCva1vE zKT)n>(D0^B{Lv=xjd2$0-ULhy?!pQE@xkZ|tlp=G`zhD#o=W_6$f}0d#2?ids}X4i zD$tRpi3aKloY;@5l4yTq17n~|9y0bP*xGPq*XVYk3K>7@RMQ?4f0PN-V%a8?pe=Ax zd-Mg*U{v~dKPt6su&3+@Zd=3Oxi-&n^?ut?f=yU~xlgml1m^-~iE;E7OJ2V5!um*W(xRR&~ z=O^O47!&-%?lRjw{5h6$E{(3-;Ka4KpsV*g(11Lw!7|Li_?c~QFcXZyG%Tv-xa|7^ z=&^<3wq%1ZNH*|KqKnT6R_@3-c8%_r{7sidXJiCpN0&QtPANIx%sIZMiuytYa;oH+g^BnkJ=PaY!vdsW6N=D) zp34S(BGhe&R3DV53Ul!+Bb-6RSHk}fLFL0Vxwn^d>!N-S8c>8yNWlV3TfM(KC6OPM z>TFPkHgvraWHE*&?Nb=xzo%>jD|LK>`(Mu8rxE_WmGFf&ly%hiBTg%Mc6U^&vw`mo z3Q$wMK@X0L5r|?Rk*S615!{M0SeY~MHNKo9*}Ue2e>^C6YEbaCzK;5PJL0r#FbhkN zh71&;4qe|LxYFph)Uj`o&zka6Bi$z)g|&px_-d;2d(O>U-8{dqgx`ZY6d?m?Sc2KT zjrwMSa9rvqMG07gER>)T8i9*^EiU%6x#-`*2s^4g(k0U15Q=^qJPjTya|NH6mGEa^ z0!9zcgvZJvZ3LYWe2-9pHuSU+1Q7^j!GnmBZ$~)aML>TKvqNYI#UOs6L$u(1Gy8Wr zc6krHmxu74t|3irAbh`fr=n{7wNns2*z2GgApvRFgglg?4xP{p0-tSgNm=qoL{B4v zzRwxrFCaqm8A6B_>M%qY%Y6*3kMP1@zYi^XRpyi-51WvNgbDxf z8(|veU!^N504J5c{{~d&@D%v2aYcl4Fx?AzJXzQzcH_M|)M~q+ki=VEXV2-;Cg!Wj{XE zSz#kELrs-Qx@QpjjxB_DF)5qmvuqLLLy5l6K%B3WXpA{N&Cg$Rnd8U&{4;)*Jxjk8 zAq(!;zjA-~V;9N4>i+M0`C6})uL%#6?;+(3-}B;1>_Sh8zOTxgS|Iuj9qs)%(>J$A zL-=Nd^G0NaMMy$gWrhNjpbAaD+U!gb(hoQeTX24+Ef?csf3ARdug1vnItclCa0AEn z^qPkhhc}dc)wqhWnaZ{`)`+8Y;qT!EeGEq#yyI=*NO+4<>rc3V|75 z3T9y*mXsk@VFNOdg8~$x3>BzC4eHQ@7IXr70iA%BdTMeFs!)M46rlh)$iN1yD#0(o zJj}wB7X9f)dwZD~Mpe(?4dFAyG9)1dX;^~|*n|vZAqRP75>F|hs3<@la*%}#Y{CYt zK^jt!gk>M$mEe6%KRT4??PX?&Foe$#lQ0c4FbDIn086k82}r^Uq#S9*sw1sPIaVME z30Q_DSb%w$gBh5HNgv@O1V6m!?PX>N4H03AahMQP#+X(nnRU!XFe@l=3sXwu!gz$( z1HtdE=+3SBK!$&vL S`%7B@0000x+cDSC+O}=mwr$(qnch>$`IFk4c^))QCEvra`}V22RdsuM zW*M!?WHOmdCX>lzGMP*!ljT4j6i9KH6iA-06>F1810|y9YKGSQsqR+uOSeZd<*xvvVE8{pNGG11CN8(!KdH{@CW!Clt39oq|Dp?=3{=~ zb6)3b+-9$7ug&*Z%ih!8dw^{(j&L@TN%Ry?V6)9O+jvCm`60$lz+n*MmEdLY6$KpC zi4ypV?|r3h3)mQrF`sQ?xZTc)E{9gml{U5w< zP{QZ&xxmjH75Sdqc$#gqZF{AC(##-pkr6n9XeNRcnQq(%zNsWO3j7~0OcK?YvO!1j z+Yp6t+wZe|;XX~Qxc`|lS&r#I&KIi?%JSey@D%uS0KvN`93$uy131K=;3@9o^0v10k`Ti|5Y0msL|+Qij)YP6`w%(<_xT_j13xC|Pmh%5o7%*7jgSObIdWvw4|j*DsJ5Zl?fja?X@5;4kDi*<#1Nu*zN5X+*B;b z(+cjOm`b3}!)v$3@?)@%?D^TO}q zO6^}DBL7Il)qyiYME(M&*_emNq5-C;kAty2_`nOlrV(GMQA9of+t+(GP_9oyo;Aq8v<%M)B>uU;v#Duss$KdVoM7HT zoIs0P?C&oL@xQNpKNXZ++WJ99N5?W+G#jAJi9uQue9Zy-TLMZAe={BW8Ub$IpiQca zO>uE+0}Rry5`XHQ;8!@oChoHvxvWS290p`#UJxn+ogQ_F@cR#>LtA(aWVPVUVKCO0 z__OH*2z;CR`Y&_hw`*d8UnKs_I>E233Frjbiu_Ap5WbZ7v+V?MfUnxy+m~}rkc~b+ zcK%%zyef?81n=`Qj;UTJDDYxbGqAJINc_TU07dchpf#;0(B<7lsjdss9wGigP&6mF z$%#Loo^~gHBlS7jEt6}7SA^F!wRGqtubDIzy*mfzi9|w#nlLA5Yirvl9Yrz4kEv~G z?A(uooYg7BzbuM>YHe*@Dd|p7aF-^0PI>=OQG1m2z)Mr7PHjr+MYwV^;b(Xy{*fRj zxPUq$Nicrl1jWCF@_sP_N=${!33f6qQB#Sq0>$40K34P}C7K03Yj1C#BPsPj&V9Mu zrBxEY(E7kNt`5j0q2;+{(BqAS7y)IM3hf;4S%9ezdbsV_=(iO8tBg{ichOPojk6OJ zco~!9tK9Dw;$NEuPz#*tz5ys!R^+J;%kpE5)$IBRQQ`@6zk$^`3yg_X&!5r%rdp;x zLa7jDfxBh~ToRAe$3EUx!@^gHGG~FPwY7D}xTHdPralv}agQtdi#ip=&$hI*OmSBg zX_$>+&wm$1|9YafC}x2JDgLnyjsDn>$=Imp)%g*1;$PMRuTGmbZH7BpPSIavs}}f= zn`?@)BnhHxdw=JlZQHi(?y+s#wr$(CZQHhIVk6F(`pUxY&QsRM{p)xgQRimmjhj)4 zGN>_ekho};w?E4UEuG(|E^42M0{gv-~Ss-VmVLFPeDNeeE9G|7W?<_ z2PY>dCU$3BcetHCh70V#T$vrr*_montUot5m#0BF>IF7XBP{UJl-fT8lX%0^sjt1g zJ)A#(UX}pw-@k{vygVkhvRgcyO&tN()5lpfD8~x7cqad%q9UqIw)S)9&e1dC>2#PD zz+03;38r*}z9!%T7|x^f)3IYmc=zs|ED@G1TgGT%Z6yuNjA#j$GbUIxrbjfVT$$cy z#flZOHPbU`-@ZMMGeTsEP7!!%677%V*Wf?D!s7z)_xFb@SFXsC;lYCkke!{)#0J>7 z!@ksEa4vJAMPg6NQ1G*MW%AC?&xc2k9?8~x`SN9If_b$>Z=fS&Zwg1~8(L+!>T2?A zeU2M9PEiX_o;;a}(^b+!*Pv=}DsvK?&YWyfpqx4dRA%1(gz3|#E7m)F_;B7W(H6u_ zV>ZKI2`da&-722P9#T?L;Q90CvV?f@X&NA2&Vvt#mg zb#i-~p7JHT|b8V_X8un0_v?JD~ACrwZOzEYhT85!JvFYu`u?j^jajU|6* z>T{D?=6+6|JgG>Inl)>R#%8$2!tR_|X2-6anULZVC7NTsdi50R+qZ9@YUYE`4&99$ z{Y~Jj!Q~HKamca!VbHvJb9nRSjVwWS?AQTTR#r@`UZaCvXgO}rnQc~d3vWWXF!|Zq z+QObadt_^S_39NgXwX0{UyRWLc!np#(Z-NL^kd)PHq%t-zSS`J=IiULC=tj$EG;b+ zjSsT(h2@>Qpt59M>(;GPtgCb9&TK6IGH8P#+#p8& z(Cu7w)0^5BKtx0Y9el|Vg=CWCA(018Uye&20&DUXm=vQD2Y{=UvuI8<@%i@cTiKd! z-n>Z@plbY1;O3uy{^@2g86?Ob++K3kc+aO^uUE803B!gBll+Z*?`&9^zsRIWb5D^R z`5rZDlu|u(7)ayMYP>lD@cy9c#92ek1__rCk^Jec*6U7^l9J%Xix-N6V!^?|;)_V5 zhXINGVM)Palb~l@5723Jk~`Y<>(}LKp+i9WJF$2**rC)1j3Ukow?}-g_fPl%7r=TI zfA;vVMul6oY9$$;;Fbt8a^}Fof~7{qRP_BLoTbT2x?ZV{4I4J7`EyA+57>#E{lyTY z5#JE-2mfL38lWr5w)X$O_hQbpZQFL*c3#-FZChiv9gN+!ZQEwLhv$8}*U8GtBvt!V z_3edQ=dSe)yY>n8S7&?YHL?HQ0=;_mV(n%$jF@&zji^0N#D@OxM$x~aVAL`(FxxV==@D z;|?cJp3IsLUw{2Iy=hbLxkV*rmumgR(*OSaMi5b{o8b+FWSvszbLh~aZa+p*wn|Qw z%I{&%50HJ9(*9rIgs~@-7<>BkDXTN zSFgH3;!C+nCXRGBv4`b#2oL}QY;^(wP!UOW@oe?vqD6~LeSrq0TZ<1vzZai}t#JuH zfb$ztvYFv|6wX||dNo_!I(znPKJ@86j_^L((P*Cl(t)6v?7Rc)ULny34<4}HQ?+Z? zHg-m{=N7{oy)QlqU*{4GM$#*L)*OcC)vH&J4Sn9eecLdM>#mM)KtMo&L_gN91MCSw zl_Bt{lSZDeS+nM~%LvL8tSaWfaeY60{cB+cl3vA39ACn`dGpw>Hzp>=QKQu12tR`( z+>msbVA%nNqeu3W7X&$O-BEOOG=&RaYl1>{B*&s^jS_PsHi&sPLC?0YJ^;?OakC0W zxX_Knc6?#niQ^{6fdJh}hiP~->9idJc*CI>=(Mqi#flXZJ9g|aRjP!91ktZwKT|nH z@|6}-;lR$0+++)r5ckiUv!Ll2BSws1$+}^~29YnHY?yHZl2?X$+adtq1^9pfbDg;H z1>r*0tk}45BO6n1TBWC$3T2)ax!Dq?;O$?hT$rhBy#3jle?nwrq^TS?E{T{gD?`2P z5WoZQgGar}iIbnHnf%_pd+ZRcrcIlg5930$Xdfi7CPi(vgzil~5qWYJFqMsASFG~G zRO8?N?i&gEfppkH|4Pnu7(c6ISir6M96mQ6W zeHh@yhCazz$DeiF4Il}yUA9PiSnU%|EF}$susv=~0A`r(&6_t(mF&))JEBF47UokZ z5EhMS_?{RQy+a9YL#B`uZ7MS~G*mo#^vLvUyLj=UC|$a=BbVyQ=9r_<;q-|aVXFl2 z^7Zx2jL!)tZ+-mcn{QY%W7e!$e60~GI0qo6Kdi$}Q}he_MHJ3ok(IY_;X;*~e^!p0 z-vH;lyu9*~E?XhM|4YVr1qKG@gP_Y!CIANIvStvyiRBP2Q#3`j=-`ffjL~7Ys9$3U zD+i-m*pdzWf4jr3+^I?ax}Tq4Nl5_0|63t|H?@|50Joh?0638BU|Ez=D-D({h-%SJ z?Y|ZMI_^ysQJC_OH%|%H_Q#FG4){fB1Qp0RodEZc4X#AGEb;%ALZApEm4Tp#PG5XI zaNt1J+}N{ck3ykYR#5|C(O#YQiQb*|CjeNwBw&$V zh#dlW1HLGPqdK4$jwb*xefo6r1=x(M>=iIYxw2s*8V+yg&Iey15{a^6Me8Y2f z+G44Q?sDW6YKPEDBR*Ci6&1w}yE=LDWYRoSeFOXfKejRHGJIKIRRa9$9|ZVK6F_~= zKK_i7tO5nAh|s7lqAe;u^X0Fg@(i2!B21k+HR%~mfZzW?fPbkr!gvFIc(^JAC1?U9 z^$K952y231Asv4UV5~{e5{*SsWPEWWuzw!Iu2>Tcr5nk+)ieQKzyxX}%OQNM5Wt5X zf)7whJHg2Z&Z;EFX3m`H^0U#Y#-6)i!Ge@?{-O$RPJP+^)1gLGD0MZ1a*($J|ZfXJ~@4r2N{ybZR2BNq$ z55bu~n>TMx`K%_uT_nP)S~r0t0jQ@E1h|--02-r4jUuIEhiECABaGQ~`t)gbcyG!@ z9-06M;#@;LTNyh9@S=yjy}fgQ0LL`}Qm$G(cI+5eALNoolpZ~Lu#Pw0{(Q~9GmGKQ zdU|>mk_7O!LI4l>P&#zh>`qAljn6;-oV^8BtXM${`D~woS{|C?X>(?&CIBiKjzEXA zNL}`{N&sIVty3FfRBCeIc(T4gg$fmHpMlXUtnGj0$`zGiS59t-NeB2!o&J}Vk?8(J z0Nem8QW8KTckbLGHa3=hJI|j#-&RK!N-9|SL=NmN(4kM`p5X6EhXH?nRC-DR1ORDJ zPccUmz_2udt;?s%%_>!@*y={Zuq!t4RkLPI0~wkC$YU)e9R>od65!u>IFLrmA(S-4 zcr1zr){L^Zz_@YaEX&1$YgTT2e0=K9Yy2(e0!<|y#@~ZTr!5gcUK?-W8VNTZjHQ8H zylivInKNfZo;-P!Wfmz?L}|;5EWg%BeMI`-D1+!jIt&EZA%Gtcj86^Y-M|`fa%rPH zo25k^zp_k3b=Yk4x^?Sx=+it2_5^vX=A^@bzf}SxmO})|WY`5w0Arx`hc#EItrAHs zRu&b~?ccwjm4}Ts=CX7I=$h;Y4oWJ6kOZ)h3=0G@;j@v1LvYIBSQ<2Xgms4LjUEyb z!pcG`BWqHfJ9kdM{h6Uy$N}ty?q&x94U%9i0X!vpGJpW{jiG2tw=wN6^ICZpc-I~IZY|;v|{7v8f z=qfXnL4|lFOO`Z}p&j6)2+#~U6f1~Lf-$*(wD>gBoniba#VuR5uy5~)6DJzVSh8dZ z`~0$H%lNNHJHWpqcoQv?V1aB7fXN2G4QHY_1fMr2fJS(DI9s}a?K7!5!zgE9`+e`< zzc1?4sl$IQ+5x`m)r^FueW$&}I-1m^oY#TQX(F@@-c6k!({tU)%qGA_Lr8 zMu6VtBS3s4C=f_TNd@f(sNtiJK4KO6mtTH))hj?%r8{@-R5zP6xRK~&|5qWMMNcA8jTw_7B_C(VD}18*fT6FOgwz}kQ;WTL!as;(Cf(lmpbdqJHWgn z>@CAdnJFKjRv4#4qCfob11T@NyBBeP)%^oJbOBsq{6Dk20law!n0JIdr8k|?-`~F` zu9-Xf7T`f^NnyG$%FP4GHT8Z19sYcP+O=k+tI~J%ELbBmIH3DeNo;}-^^1pcTLUiodQT;3({n;qZpY(hMsQqwg1|U09&3%b= zngnX2O}M=RMk|-FtXu6IJp@-E`88J7|7YaFpZ3F{(hTzO@F)e=ol+x!o+Y|w%^J%D zu$1`H(VvUZ$qI?)kNxl`Zw3X(Lvn$2AJE}E0W>OCu1uRGm6e|w;!Bh$!OPb8OUC|} zkxok846ttgSTlpt1KDWz5(w}}-vT`H=g-fLI7~K8?)~@Q*Tb&Vo!=)2%(RiwpA4+| zSVCXqCZSh zEF+K;T{n?X{y+6Cpf>6-E-sEH#hD@|CPw%B{;$1r0CJ?;;`qakGgdN)?PTZKwr$%k zKijr#+qP}n)+FEiovPbar*2i(%TBhF!AaHc!|tHd{r?}`+v&k~e)fp|cNQ%|V)(_c z!576=UU~08fyCBvd%44_Fp3B4*!Bem?1g&D9X2AONA#D6 zUc5`R25Eoa|ELV0n_-;=a@;t7MGo@UW`c;YJwLzWhWBfW)^zkAuK68)BpQP?$U+H+ zK9N%BY~3(p7=3|7FS+66IifMh!5YNEMxUeZ1r}i&a?s*nzhGM=jI*`n!7X}y9c`V4 z9PGg2IBI|20D2;{8e{<);#*P*{pT!|LWXU4`wv?l?jqWPEUd!Z5Ve0~>jH7eK?TRY z2s69Vpj{f00MVBA}MW`~m zda5{?H`F`BsgPl%&+|n?P=o|5MX=*DvW7SXMQCDzkI)Yc{9#&#l|F8(a|?=)j&7c&To}Ruej{XS-7{mmIeZt$%r>3T^EZTuQY{Eh$jc)`Eu`Y$SpafO9ZvYeg z!}@{$gVp{2q<6fJXa-8KrAwa(8sErEp&ckgowW97NpEI?5KR2%u!i&$(F&AdC&JPv z`cgBD!>yU&h)amxGDGxQq1h#YZ1b(O$ z*ZvpoQ{C$N7RTu8{_*t#3$OvH$;nB1(+&1`Ur$binc!rJpUD3!K3?-Cq5-tf5KX`a zEWorLc^(G?==Fg`*o1Uo0#3w@!~|9jotU!c*Ie_PDeEDjk6 zGQka`98!(3O^1#TeYM5m7eVBQI%FWO7Q4pR^p0UNlz@zj0!`Nwe8)zl$8*$4*QL>HFacs@%!V>lWc;7XM#4-<1w;}lnK!hX^ySgm1`xt zIuZX9<(l17iN6YI)$p45!y02X zB27UFTGBMpKwW_o`%$kX8hG-mN(G%RZhQD)dp5yBMrlSB!*o4IaN1bK@wPL&uyO4)QU;=8( zTayjG7GwkX??|(O(U)@$=eXUR-(U^rc5-c;@Eed<53g7}gGDYgf!aGX4{NXuS*W>^ zs14^Q;=C9W{A2WYnb{+XRD>pcCEiUNl{T9?93)`>;^Dup|?G0vvDTu*}YL1J} z1VV=`6t^WCd_l5-`Xo9tLPX_`oMYGMen~#3U#@|w_lv68U4a-(9bEio0zDyGf=yKt z)m1jwlY2?2Lx1Hho(*pVqo)_OWEUsGf4XE~74_??=}PeZhh%i84^q z*?{T8)#biYjPN&I79Ge4Mo*VJa!x5Z-^@9_ri%JP2{NkWS%4Xv^hDPe#9$fXkc2$c zpyRSZmk4zmBGm`wQ-!&B2gnE(@s;rZLs0oJP44aG+`6dWfg0o?32|74nAQ6uD2ddl zRA+-CG@%_BK^9|Z(msU|{yVr4tkiK0?teLVpGNriR>BvWP}EUhjW|bE^4O?UWdqe4 zL6{%Nn=sX$KE`YP(%h;y9TU;$Pk z0V&8s71}|6;7X(0QpdhUo;4LrjdY)IBGwW-RSbb@TkL5`G7&kcSi`U=Br{Hp(ole!Zv-y#wYb>N=AwTKBlJ{xq)Vj!F%V;`bRR#gBHDHK6$V5p5SgPpwmC&}EX)J9HUB3*Kw+ebLK%<2^n?#>GnXZ8;Y~jjtm9juQSn z%)q2gc#ce2q>P|4g6a`U(1eaQf*=B+EO-!6^6d!cy9ns-es=H;q3Dk+vWE!XHM4)0 zW0&{9dwB@&=^C!7)xz&U6H2Pa-yT5tV6UTUgmp+j60%T)Dztnv2t3>1lCtEFh@M6S zeV;SLUqFNwWC$Tds6!HBEcY1NAi@iOkzWT>n8l; zZ-f{u!Yag7c@$)YnktceL!1^v$g|HRs>&^!vPeWT{cQyJJGpaB#HhDSfc%c%A@*;}@0MebW8s)?CC4V)LbTwaqe`5riuOU76Ngn;gqR8cxEsMW%W8b8 zv%;=thKeeabk87k9eW7xVp2BAvuqLLLy5l6K%B3WXpA{N&A-3qGRKek_s{sZ>{%g=hP{7iV5{0=E+_?;J5Vi!6}^j%fnR6Nn|>S(XVnXb7# z3BorcoHryZtiT2&RA$IQ0m@JhR-2tEe7YW|VGqvFwB=$v_U8(S_iBtBuY-`U2RCqB zPyS5)PQFIIR=x-JRNb!WXyjPbDs5doRWYX`eF8RMB_!IP*Mxuarbap|O!;Pjb%?_@ zB()(_hNwXU+JcA{A@3Qj>|P=*o|ArCpoKniwYO9_4z zmS6$qwCF9`+v`ltFsXWmzz{)(Sc46SLjty87m|>IG-Mzfm_$+V$SZP?g$$%21xeV2 zZAd^IHefA?@JjGOO+RU(x7Sc+2r)#EA!Z>4^RNg@uneoP2J5f^n-F&-6kCpjBJS9P z4OoXYScPR+f<>5z7|aF{K1A>)dV39T2Hy}NrkI8qL1m1XGRcBtF@yy{iCdUcA{VAZ z#O?`xq@uT%nZh%MGlybQF%`n3LVxcmU+5-wdmUCogqg$VydL3S8~*d{HRS7m9lfK3 TX`(0{00000NkvXXu0mjfpp + android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/> + android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/> diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml index 084c876623..72cd56f5a7 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml @@ -9,9 +9,9 @@ android:translateY="89.6"> + android:pathData="M250.09,13.49C251.39,10.51 251.11,7.08 249.33,4.36C247.55,1.64 244.52,0 241.27,0L228.81,0C226.08,0 223.61,1.62 222.51,4.11C211.54,29.1 153.63,160.99 134.29,205.04C133.2,207.54 130.73,209.15 128,209.15C125.27,209.15 122.8,207.54 121.7,205.04C102.36,160.99 44.46,29.1 33.49,4.11C32.39,1.62 29.92,0 27.19,0L14.73,0C11.48,0 8.45,1.64 6.67,4.36C4.89,7.08 4.61,10.51 5.91,13.49C26.64,60.8 95.56,218.1 109.63,250.24C111.17,253.74 114.63,256 118.45,256L137.55,256C141.37,256 144.83,253.74 146.36,250.24C160.44,218.1 229.36,60.8 250.09,13.49Z"/> + android:pathData="M135.14,123.87C133.67,126.43 130.94,128 128,128C125.05,128 122.33,126.43 120.85,123.87C105.89,97.97 71.44,38.28 56.48,12.37C55,9.82 55,6.68 56.48,4.12C57.95,1.57 60.68,-0 63.62,-0L192.37,-0C195.32,-0 198.04,1.57 199.52,4.12C200.99,6.68 200.99,9.82 199.52,12.37C184.56,38.28 150.1,97.97 135.14,123.87Z"/> diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png index 5c2cb369ce6ef6001f4532ae883ae1171ba752b0..93c925a28dd7233215f51ffdd0169fdad56ba10b 100644 GIT binary patch literal 1447 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 Wgw;hPcqq2pAl{xo0u3igH~s<0K%#a4 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png index 4ca060e2499d5b06306f07da96c1970b3d4258bd..c922a45568fb2c03b137fe2cfb01c43c5d408416 100644 GIT binary patch delta 2870 zcmV-63(53_7Q7aaBYz76Nkl(P1Qez?w*G7dAyK|sbkkO|qQ z@O7`~9^-28mR5`>87E8z+Ss_9JmCKdxhB{OXq#)2bwXXEl`;G(qDRS{i;s`*$O>;U z8e$@Y9E6Z&I)AcX zXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJTBp^A9LR%Q$ftn=2jY5Vu4nLh2jmJalOw9NRt^G%Qgd5|mD zcW%eRoLwc^bFmqLvD*_AVj#jQ# zt$$k4>C>m>4nOnEGa!zda)@p2b{GBB@7YpgbN9Qb8TSVf&p!LC$i{VAw{GodMLW&| z;&|br2=5u?tg^mt-8wPipMUI-Qc@D_-@jjEe)!>s#19x9_8>*jVP9Y07$Ya zTxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#Xzv~MH&Nr|5Zvw7Urw%+uWc~W< zuQ=u`f^yWLahdrcq&)QFvA}aqCVvPO2PI#OLTT>YxwD+Vq5TYc_dePy?^3GAgX(- zF|;~!2d%l`L&2)d?Q~u944GE+=+VQD^Vj|e#@PMn}#y?W^&2$k%JkB^TG z80DYf;NWCt@3bz0Fn8LtX@8R#dG6df9Fy}+8}y_p89Qjk$ggNJhgXyO-Ry=77cN|| z3(=I66kPebQ*-q*8dPc2Iyd5dTvAtCh(BB-Wrf-s=Nl*2H{!!W?G3V%?G+I5&i$tme} z%O+oa^_BGb`RAV@M=L=bO%3u9#H;+NeDaK@5EE}$wrm+)xpGBHKGt)J>N8@*2)p(R z7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4Rlx++xG<(GNqc*HCxa7n znGaxsw3T@y9)J9CF@O5Vkt2oXl%Ye1qGA~bhB&U9plmz}G!q2)F+rbL@o=zv_wJa5 zOVYjj?z{7ih%u>s>ZzxMoWq9?)3w)LYnG*Bp!g-`?ZS&;s^PzId!M?-K>)E7mbj8Hs8vntH+G}QQv%jiw_+<$YAjE^)|FND`?uw8Lb<^dYSgF^Di{qLHVk|G-!kvv=Yg59S(0-JHg85O z=c0G2@_!3d>N(hY*b19V`-WKnug$i_5@Z#71y3p$JHQzp9Cw1P#@tgHFN$V{SEx|S zsX`u}bvWiXq{Gu%xesVamT+mRPq+t{`=WuuEDuL6hg0IC6pT2|%G zN1{7IE1PX<0^1}pJFxjOqIgNR2l7!R{}ch_oPT9o`oJb-o8uckMc`dL??>@nuvONN zS@;IqIPZ+drzfzyP~T~|==gvaf>W9OF?_+( zc}cG#CuBv=8Ra>tj8L5)`nvLC*)ZOx@V+;a9V&uaF0fUwagI&B?~~2C_ES2C=_E%; z!hfrJyiZ~@!y*&AvAA-!(4<^GHiHtg2DMoVGeTYhDSPifVS$~dsRxV^1|ICFN;oERcu1=$&gVH6e^z$qI z-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4Yl>b42!v}Z zW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>omsJofKsDH_* z#|E|IFc`yk{WgAr`39HZ&l!KQ(FfQYj^hnC0Kahz=gUsVX3(`5b$Pn+a07*qoM6N<$f&_-3vH$=8 delta 2814 zcmVye;L0QTnRzTbW1o%p(z~u#T7Ozv9B>(gzZ2;M;2od} z*aaL0jvE{{c~z#)1hlz>ZP|xq9M#6ga{0TPL1JQJ5`-HL!R7&ae`rcikS;cpz#9=VG0o<5#OztpeP%W)voN zR3~jE#(r4GJjOX$=IT5-xw*Mfn9M>zh?JC+6HMz9mN_iq9GxUd2f})#91~cllT!cE zAmDN%Y8|wx!U>Yp@nP^zRAU>o#x89-hR>Z<20JwegMan6IALk9&^hYoK`M(4S>KL&`TFGe&BteS=o88;b&(zFj4-PFG9UcKh*EvlCE@Ns(5)u*$ zROWLf2!EYSb6$HKH?`S%(s_=ib#d)JhiMZ;u>I%^TmkS3hT%zRDcO5lOHHzL=ouf8fSmy3{(KmJ(C%gd!@PN}T!^o0D_ z`>*E=wqyIs%1Zg z@>Xvy4EyxyBPULrpfGay@L}oPxijDH|q`(c0V zS9g=v15l^e1Gx9 zER$9RZRDlif0N0B7oHLUoeF$lN z=!dny1UnXoc*ZUpH*VBBk9Coj4QMw+{&elKQ=)I%8?^3guf3*ytY5!ga3F6T%NyZ- zn$-{a5X?ZOx9nOyKm72+D%^M9eSaq{Tef7r6e4Wj)ALXA{B^5N!d*RHmx7!U)|2+_ z+sjWs{iJ=29zB}*b`bO)xCnIPMV(PFD*R;E&i#rju8<8IHfYGd_10TWS-M=-vcEhG zLLR;0Uy6sWTPYVe@2TzYy6Y}Ee*8Gw%g;amOmnkkhYu^N0v8dr%A<>-@PF{|M6kHs zE`qEf|MSm3*D{hcqQ@ID`lfdjL%Y7ne60ggwC$WZa~SUJAc&D{M@UGBE*SMsbaZq! z*xPRxLB>opBjX)OiWCrCxVLXCW!dm?|!EXy}f()%GFn2ElOZsrSuy(7erQS zUZ+l-su8ch{<`~` z35&>LrkaPXgx3A^(@#}R@${| z=LA7(_$bgy5D^A~-hX!Dn3W;_Pk;K83SU)Kb<&=SCx)9gZPGd~zWAawwA-~%{DAv* zH(qqB5rQy3$*FVbjvYIy@Wh}&gS3pe<(6BtjON9|HV4k9xfh#BF35>>vlK@wLM}XQR)77u)n{d=@SETK#y#Zg z*$x+mM~)m}K6me`U3P;6;n;N`xge|uX1?&=S*WRP>^G&7kb$;7pI6L!oNj*~rP47Zxm7pnv2LFTeb^@fMi^&9MmG75Yp7Rd1cD~opjD`@r4%3ezvc_M1au&RxN5`Q0>9BU{}seiZ>pI?`dd3oae7 z@x83+g5UWyzj{KMy!j&qKGC?4W+V9{NopkKrhjuJIhgw`l)-#Y!^e&<@Ur7vus;F= z?yq%v4cQ?Zat;{H$pvEV{GzWf9?Qld%|Y6e&JL5PJuYxHuyu~hyzjFHbM0g19A_sv zN)lhyLz)G&;UN>$Sk<|nw6l!+Cg<)Y~op8q%Vxrcw7MIPYWTL5R%_7XDGv{RH z7Fr+VSQnFVKqgRzNHG*<_isizx6=TZl2td&s$n1QKXbt`I2Ol5bQ;b%n7PEA`~J#) zZAvncq7pWLJ)+%oJ}Gb`N;Qk96%?sQuz$?dsfD}t2>a$3=D4ELjGd%f(?EX#CX%Xc zCR@hcGPG(m?(i~1y-hR&3P+rSDG|c9>;ru*WuNTZXiTmdGqN%KmXIEon7f$)6af_w z=pvZG2;B82@dR@gLhyUQj}Uqbv|%^ja3lDcc`Rcc)@2*EWgpZQ(`Tj`Bf=?S>~~mP z1_3cfkaV+yE(Xf6VQc}kq0n%wS7VRVh2UrAp{zCQu&!y7XZlDoeFoVZx}7I0(A@1< zAQ4D5rjc&6A(P1Qez?w*G7dAyK|sbkkO|qQ z@O7`~9^-28mR5`>87E8z+Ss_9JmCKdxhB{OXq#)2bwXXEl`;G(qDRS{i;s`*$O>;U z8e$@Y9E6Z&I)AcX zXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJTBp^A9LR%Q$ftn=2jY5Vu4nLh2jmJalOw9NRt^G%Qgd5|mD zcW%eRoLwc^bFmqLvD*_AVj#jQ# zt$$k4>C>m>4nOnEGa!zda)@p2b{GBB@7YpgbN9Qb8TSVf&p!LC$i{VAw{GodMLW&| z;&|br2=5u?tg^mt-8wPipMUI-Qc@D_-@jjEe)!>s#19x9_8>*jVP9Y07$Ya zTxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#Xzv~MH&Nr|5Zvw7Urw%+uWc~W< zuQ=u`f^yWLahdrcq&)QFvA}aqCVvPO2PI#OLTT>YxwD+Vq5TYc_dePy?^3GAgX(- zF|;~!2d%l`L&2)d?Q~u944GE+=+VQD^Vj|e#@PMn}#y?W^&2$k%JkB^TG z80DYf;NWCt@3bz0Fn8LtX@8R#dG6df9Fy}+8}y_p89Qjk$ggNJhgXyO-Ry=77cN|| z3(=I66kPebQ*-q*8dPc2Iyd5dTvAtCh(BB-Wrf-s=Nl*2H{!!W?G3V%?G+I5&i$tme} z%O+oa^_BGb`RAV@M=L=bO%3u9#H;+NeDaK@5EE}$wrm+)xpGBHKGt)J>N8@*2)p(R z7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4Rlx++xG<(GNqc*HCxa7n znGaxsw3T@y9)J9CF@O5Vkt2oXl%Ye1qGA~bhB&U9plmz}G!q2)F+rbL@o=zv_wJa5 zOVYjj?z{7ih%u>s>ZzxMoWq9?)3w)LYnG*Bp!g-`?ZS&;s^PzId!M?-K>)E7mbj8Hs8vntH+G}QQv%jiw_+<$YAjE^)|FND`?uw8Lb<^dYSgF^Di{qLHVk|G-!kvv=Yg59S(0-JHg85O z=c0G2@_!3d>N(hY*b19V`-WKnug$i_5@Z#71y3p$JHQzp9Cw1P#@tgHFN$V{SEx|S zsX`u}bvWiXq{Gu%xesVamT+mRPq+t{`=WuuEDuL6hg0IC6pT2|%G zN1{7IE1PX<0^1}pJFxjOqIgNR2l7!R{}ch_oPT9o`oJb-o8uckMc`dL??>@nuvONN zS@;IqIPZ+drzfzyP~T~|==gvaf>W9OF?_+( zc}cG#CuBv=8Ra>tj8L5)`nvLC*)ZOx@V+;a9V&uaF0fUwagI&B?~~2C_ES2C=_E%; z!hfrJyiZ~@!y*&AvAA-!(4<^GHiHtg2DMoVGeTYhDSPifVS$~dsRxV^1|ICFN;oERcu1=$&gVH6e^z$qI z-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4Yl>b42!v}Z zW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>omsJofKsDH_* z#|E|IFc`yk{WgAr`39HZ&l!KQ(FfQYj^hnC0Kahz=gUsVX3(`5b$Pn+a07*qoM6N<$f&_-3vH$=8 delta 2814 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 delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfTtsF0 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png index 84db2bae4aa97c17248ca1e9c1b694319878af9e..827bd124b1c75ebc815c52162695359ea3f62579 100644 GIT binary patch delta 1786 zcmV@eSy{trM_55TS{3U0kOqD8?9#7-brMXy}h<_;Ps=9(=I-wzzhfo zNXHxPmo_%|`ucvt)6|nUvUWfAkoVS%JPU8m_$)SO^NY4>K$fHk+RbGST96+rHp8h2 z7tk1A6xpO;ynn??$k~8TXO1{^1r*N^`@k}D5ew!jkz6|YaS2RbK;CbH;ACoG>y&_P zrZssLO0<-?8O`$`pH>c7JQE295#)@Ff}>Ht7pYPNRU$%g!1JKsi098-2juGs?Tuxd zpr9aPYZ2N3j6nYYQ-HZxgSC)hG&?D2n|yqH8p~Y2JAZwiWGCLR#`1j4nl9@FMXBU(+37@)33Rdev|r*x(Fs)g_Z);ZPoF*|$f#1Kib?SRD{$RZ zOK|=!ZGWP;GS&Bg|NVE`wQCoFz|5I5DS%yLWcGG+u+*GiVpR6_gt=IQwYzukra%7p z!_-)S8*Rqv%iL2cnI{qzqNx^u{|*>1fIfZtL=PT3pfqXHP_~#%w6xe1+EQlG4}mev zNt-q;J$(3(uy*j^!H{K6Mta3c{4QQ@A}!(cYkx^WL#6OKFv*gQgf-*FjkDyv00pMYB|iR=vjV#;QJ_$vLUi};-MC5UcP)u6)IF9^na!Ks}MD-vV(v$e-|S3!9uTJzb4GhpFcnP zELGrvi;GK0oC026Ug13O)KUdvV`E7^S@Z=5g;SA&qX|G8eH%A!6qbTD)YL}L_|Riy z7m8G)0MMdE3wrnN9pQvCXU_cHc#a%72xFMjtXVVksZxO7$iK%a;Ogoc#GMb+D1Q(Y z6-CHIpFe-5(W6I`T;rgPjDxYOSFch;L6EXU=wlybj>bX=)YVPl&W=(SITW*&|1e5Znqi)2UOZ2z~SC&xbpyR)CYvZ04*7 zZ}B=#&Vk%mDkT821PEaG`kOaz2xW5p`t=dGNS&ycRDHD&r343XD{%g*l;FJjF9*j9 zwN^lVv~}xN!il3?2GCx=em%z2d^-~E^U}%5DZTI>xtw<3Nn5qJN+M0ZeSiCwKpc4W z>J`zD=1iOdh=Guh5G~zD2Yh#>w6(Pj#I;Sn z##spXKLQ!R^;3&ak2w8HHa0dPKfBmNBOA6tM-8liy8%ueKwFd3_wexO29DtRtIsOF ztm)w-_E`m~^C&Kk#y&GbGk4;r|VCawc6TrHFVH-_GnPm3<>N_}89#e9ZD zAa4+^!Cv&~VIFhF1elgFOK2RR>H%>7j}g<`5u7O)b6gh><7Z9slC za|i<$OMWB30{C1wNB>+1OsF3?l#GLuj{pZ#UFWAk%?N=Xvf%e(Gk?t#`9>D@;Fr}v z?5UQ#>`qn;KdwP4@Ta}QI3am+5pd>^#+q-46J+xqm9UqxXG$%9W`#gkMl74RCvSF9 zC?dgNA_$O(Ut|mSV%fi859}3R|AwGf%<9AVm#?B7InZ`6iRTP+0+p}^Yas)&Ak$c$ z*U}o;#FpXBh_JFMu}sForppi#6g_rJlHYi|F|32)_k{b?h0A0NT5H`T$W4M?f?J)07*qoM6N<$f>Qo!1^@s6 delta 1781 zcmV!_+qP}nwr$(CZQI^= z|2h(+bbHJDVr&-vk=Lw z9_a7yuLW?Awp8X(VXiDC9vmDT859&$jjv-FTNxJ^_ZUwA+<&7D&(KHe8=2{f!1Zz~ zGl@z}W*uK&Fvvo@kj7SGFFDI)C{A3&xwvPcbs6W95cC zhJ=Lt$b$CD1e*c_13%zuuI1AiyB9L#vK1rGlQ(626vEm4;@)OpE}0^@Zz|`Y1o_cI z7_25jKw*5s+<&tF$6Bw1tQxR&W(liHpbUnP1JBGxE?BBWPMPJ$WHNb5LEbpQ$=t+N zNeSD;2J%WP(Ohsdr_O`?5AuY?HH%;pNzV91a7;JuMX3}?m4y%-aNRFB;+k6MfP5VW z$rqd~1~{N>Q$RpKL%}sg>vJb3vBIWT=e1fb8I48)B7Y(x=(F%h`or**IY3{G5#uqJ zIqL+j=e@kV++>^+Tc6!j$=taA`s=Uh`0?ZP;ll^2TD2;bh%wT+f}`kqkqK!6eM-d| zsX~Pc^#1*OI(hOWee=yXX5|CC!26~ea?XiL6E;`o#y%%H_36`xpupL)XGs&Tq0z>c zbiCN~G=DM1*ow3o4V^o8jxe@w-@cg3++08yZG`pZ+;dBnCjvV}ODfNoUw%oCA3vt& z&!1Dda^)yK>K9sBcmnMxIX5Nnv+-n%`kBxdV=(rsufDRhBE4WG;>6-6$`Y(!105_) z+!-@wkjZ4Cg$oywUZnC3AgwNzE-O zFu|I-U#3hMdh+B6y?*_ge*gV?Jwrtr#u;|2z6FHtksl?AUX+-&TG_t}*0*04gOGSUIN_aMD z(tjjE-_4shqxx8@z;2Pm^3&A?Ygb-WA&^2c|N85%6c(zXMnxu5&&t~gXi#W8w}lg| zfByV=`uOo9l`dV{+LajzeaYS3-7`S}Z*T8l_P||h6^M_&J(AJ?t2SVl9w{IWC#DB!tqQE^54-ZX(0)BpedVcWOS_M!B2M-=h zuBfy41O&=c;PG-*Qb-o2x%SFe)6V6a&MUXkMx6!7%)4CBUow(dU1kAELe z$c5FbS5stUWI{W_Wz(ijglGNx_ZRK9gwTD?0eyl3NC;Nof~^YV&!3;}-@i|9-n^lI z{`n`N9ry6ety{O`?SQpa=#qfWt*+CUaJUw^)vI zaw0dBZ6yG*270}oP*P#>e*OB<$dMxn_Zv5E6bqNN_$0OxoWL!>Inh>v>+08>9M6>S zLaSD-2zh`F+sl_P>D8-O)UaVgTi+dt@Okd$=Ju0_9{G0Kg*$Cl;wbs~=YOBm#fujS zmIqFqI)yT;#L*H8Y(w2idK6Fr97c_l2qR#~kRb^QG;7ujZAylZ3P^UObaZqK#j#C( zjI$P4tm5P20px`euO4Cj3l0trn$!;V(8z(k&|V=g2qSdv*(Iblz%mTr$i_z5jx<)yMP2IN;V2OYRr z^Nj!l>=}B_{@Iu?vp#T06$h3#fP=ZAlWI~kG>Ai<_^lA8oFa+mf`1HNtolQyt>oq5 zWXA~NJxDozwRaE}k_#6JX9;PHNkW`3H_NC1S(41$N`7X=gr1BTc5inUc3!54fXPe{ zAR~UBJ=}xmj)e@!%BY_qs3o@sFuvxaXnRhyZA{`R!;(ZLjKNsUfw?eedUak&Z$OA6 z!=Dl5@}h+9B-$C=>@;9h2BJDjAH`Z>Y> Xmo^)8#gZN#00000NkvXXu0mjfTtsF0 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png index 046bdd17f01c9661803996da511cc033c6493aa8..30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee 100644 GIT binary patch delta 1825 zcmZ{jc{JN;7srDn)?%zt1T)oXNZZt|2GMBB99v0?8l;qT=GeuWxAU_Uqo}kKVwuS( z+NQLrJ%TExr9w#QAc$10Ev*vNKJU+&e`lV*?(>}Ie$Tz%`?*3Tz7qAAHr?6LfsiP% zJZvBVfha)ltpx5A1}Qo~FRw!H*xv$rrfea-jd2$ttT7AVyNRYJz3XGiO}Z0J;WkV^w=i!Uo5t@g1cHCx@TAim9vuf-}{a;byVhyv}=ckq%jf zmh*e_-bk4;FYd2QHB2=Ss}9E{kv`I46)RYJ`^Z!Ks~-a1Px|5Nu$=5=Ks0zQ%KwG~ zePm$#v^>5ZOD8jZw>IbjT7LU)CjMM=;AHQ~M=Dl_#<`js=#q;UAMe)@*Ug=_xykd3 zHs5ro#i#}!Vabv-#2NLQeQ6g@zJmC>VL4rvdv70V0NvgVQ zz68kgibc|>aA648v3ceX{181_6GNMZVNNc;^`(%cd7g%|9edvM-WaP$)Yy@hSqHC# zaj@?hEY}zxJDfJ(Zee@!n==X2SqFtYD7Yd56x71R^H6nY`^ z)CUQ!L6=6H=71Hna;tUeXJ3qwRF(r>hZ$*R^R-d!Jio?pAuIFL#nHtfkKwNI67gRd zX#U&@+Q!&^J+XuG^5-`^MTNl4sg#crZIjDCd6&gRNrIq^Giri0a(B{b7-87xFE4spFC6p3s$a@yzId2nnvqVk zW7Gv|;87(>+12Q+$&F(RX7jw^6FirP=iSm2fmmoWt_ zgXjJzAJN%G{q&@6`dXioO0^tm>$Fo9r^;qvV2NLtvtKH3;^Y$q?tdGr6?wSUfmYK`d4B1%!Dn$G(wEW+{JHN4ew1+{RWR*ju9Jo=R=rD0yLJGJ6 zhW#u!D#7?AxUw`EPozl^N3RmS5a5fcTiHBVg`27_Qxqg>iPx4S%(wZE`Ael(#=g>! zfkv(!3>7T*EZ*fc5_SP>K8rw&QO3F$5fLc_KGH@AqS}HN+PPR^ByksX9gT*K-K&7Bk{}DpKcV&gcFP;Ay{%7Jp$}(!G VM-!&hGq}S_oX@*Cvd$6H{ttKgSsnlY delta 1742 zcmV;<1~K{258V%tBpakjL_t(|0qoNu0RR9D1flO=`j%o2K?GI-Pmw>0e}Wx*=Kx&S z7KP!dZS&c-ZNJz?ZQHipCaG<=Q`@#}JIQ+MIdkXiwa-m*{ePXWyz8EQ{?1>Xz2gFg zvB_l2ZT9K3ufOOwApg~0hg@dK$-I32+oXIJ_x3bB-!f(UKnf!B2f3D5qf8P3$jGwLZMZsWp_5`W9!xl|DbJ}af2WNgCk;;;jn0nT0 z#K#u*RhYd+YEH8`?2$1F1{;w~eao5SUZcjaGmaeLHs7&E{|fjv$;@?Bz9<;{mSn~m&28`2%`Fd@GGw{`6taiQ{HG39ti3bI#5p=&6b$BJFOiz7Y(C4md47{hEb*UqjU^j< zW0~Ki(gy3!%U&imSJ=GHkTD7dJCICeqqznC)9cL-m_fF6e`a09nyZjZduPcP1%qYT z2c+fzo7Hk|Nc@l-vw~*spA|ThY~-PNKg`Qzu-+`}UQ+XrE$>VjqhN3>$^2k6H#Kn1 zPtyWtlP#PQJo`t*T7M*&G0v7R3I^XInFXrZNx^gHO$?e#nd~BAt&2$JU1!V~1%s{~=46uaTb3Pl8 zOf%K&;IO5Y2Zb)BjJc$eu(syr_pw0~%sJKV3_io=e>9q%zp!Q7SxTq7TYtVx z^*c}w_LTXZ*boJCUi*_wh-$Wb__B|ChObCv$y$3wF8f?QtVe&A2t>hL!Dlpk#kNTE zox@g6=@Pz@taP$wO&c|PzMgZXj8QN+n`Ay#7A$;q#SRgx@33Ujd+owjJRz**Q<9nG zYWbpIfADLPnIg@%j#|^cb>vzyWyHF6nzc+NnXlX}e-sRR#gf@4l?996oVR)8x)aSK z*OSK6t*b7}FRbBlHks7y!k#Y_%vFsgnI6)7!^llxjiNS^M%`(~1YlQ0;e_*eZnu}~6SI!s(gY8JBrZitOcFS8e zW45NSWMOKpsLk(bu3ejC+PZqaC>SiG*(-LG%_hA^)!1!`Rb#eOTC2tENYGq2D|=Y8 z=c}AMWQ>BrB$D|}nvad$RVprS=Z(17o%D~lqNBH#)m+nyWD?yaUla_!NixfH?-3ch zf2(O^+%EdlsJLBCOk8t0$-LuE8KYouCCR)l7A*2u?uht3NB{KCuWPRL2Fa{&w|r4B z=tD9Iy7vf=-&65VO!U2W;s~xK2s-9;rFTW^>1kQ7~ASWLjs! zHQJI)9e2$a1%n0H8=C+4&28iV*e>MGe;K1-un);Z+wjq>-pJqG3kILC;lsB(NKFd+ z6!Q0kg29<2^OX&@$IL+Po>DOQCCSWA$9v8pnJnjz zm5GPY3?P|Eg9#+#FU$sz%qZmR=>>zYkjxrkcAb6;3^GQ+;Bu0A&tT>q zbDKCJ3I=~CnQ;a)6U-e$08ucgJD}zfTOrNs%drp5AEX0OFj$*pI;DAS7m}%kJW()c z-65e@*?eqX_OkVRz90$)dy!0Yf3^k5^g@m(7?eLygADe3pYEs>=ny|Jzo$7gRRIsEs>XXqF}HDdyn+o zXGqWufNYXO`IiX-MeZIh6(>y-)!XNF^AprmY00JQYuhtbN0uz`Z2p9+k2nK?| kgOe`@DUqclkxVxg6ir2^DZ=u66aWAK07*qoM6N<$f~6&9umAu6 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png index 31c9d1c36abcb51aa81678bd9b5a9810f2a817f1..8fb88d36762582d219d994be40074203324784d6 100644 GIT binary patch literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png index 3bbb99d4a186c03f44553edc3df32b77be705fbf..4ac235573a533f5aaba090ac7312cd7183bb781c 100644 GIT binary patch literal 6256 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png index 3bbb99d4a186c03f44553edc3df32b77be705fbf..4ac235573a533f5aaba090ac7312cd7183bb781c 100644 GIT binary patch literal 6256 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png index 37e6ddc39caac76358de4210988a78bd1e151013..df2d7f0a47257593b3aa20d972880a3f3495fa1b 100644 GIT binary patch literal 4429 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 TX`(0{00000NkvXXu0mjfpp Date: Fri, 3 Oct 2025 07:25:03 +0000 Subject: [PATCH 41/63] chore: Release v5.42.0-dev.12 [skip ci] # [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03) ### Bug Fixes * **Custom branding:** Update ReVanced logo ([#6049](https://github.com/ReVanced/revanced-patches/issues/6049)) ([9441e7a](https://github.com/ReVanced/revanced-patches/commit/9441e7acb4817e12d1443d438ef6c448518bd614)) ### Features * **Instagram:** Add `Sanitize sharing links` patch ([#5986](https://github.com/ReVanced/revanced-patches/issues/5986)) ([963a4ef](https://github.com/ReVanced/revanced-patches/commit/963a4ef43fd513de7a2d7d019992f06b62fdcc10)) --- CHANGELOG.md | 12 ++++++++++++ gradle.properties | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 697e5e87c8..e92508d4b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03) + + +### Bug Fixes + +* **Custom branding:** Update ReVanced logo ([#6049](https://github.com/ReVanced/revanced-patches/issues/6049)) ([9441e7a](https://github.com/ReVanced/revanced-patches/commit/9441e7acb4817e12d1443d438ef6c448518bd614)) + + +### Features + +* **Instagram:** Add `Sanitize sharing links` patch ([#5986](https://github.com/ReVanced/revanced-patches/issues/5986)) ([963a4ef](https://github.com/ReVanced/revanced-patches/commit/963a4ef43fd513de7a2d7d019992f06b62fdcc10)) + # [5.42.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.10...v5.42.0-dev.11) (2025-10-03) diff --git a/gradle.properties b/gradle.properties index 657e57e010..5586b7d240 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.11 +version = 5.42.0-dev.12 From a30a849e6ecd1c2456da79ff5fe06fab5a789de8 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 01:15:03 +0400 Subject: [PATCH 42/63] refactor: Extract shared patch names/descriptions (#6056) --- .../finanzonline/detection/root/RootDetectionPatch.kt | 6 ++++-- .../idaustria/detection/root/RootDetectionPatch.kt | 6 ++++-- .../misc/privacy/SanitizeSharingLinksPatch.kt | 6 ++++-- .../orfon/detection/root/RemoveRootDetectionPatch.kt | 6 ++++-- .../reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt | 6 ++++-- .../detection/root/RootDetectionPatch.kt | 6 ++++-- .../app/revanced/patches/shared/SharedPatchNames.kt | 11 +++++++++++ .../shared/misc/privacy/SanitizeSharingLinksPatch.kt | 9 +++++++-- .../spotify/misc/privacy/SanitizeSharingLinksPatch.kt | 6 ++++-- .../twitter/misc/links/SanitizeSharingLinksPatch.kt | 6 ++++-- 10 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt diff --git a/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt index e2b7b06167..c5ce1efe11 100644 --- a/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/finanzonline/detection/root/RootDetectionPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.finanzonline.detection.root import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION @Suppress("unused") val rootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION, ) { compatibleWith("at.gv.bmf.bmf2go") diff --git a/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt index 6c79650d98..07874bac7c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt @@ -1,12 +1,14 @@ package app.revanced.patches.idaustria.detection.root import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION import app.revanced.util.returnEarly @Suppress("unused") val rootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions and unlocked bootloader.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION ) { compatibleWith("at.gv.oe.app") diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt index c7b4d0f409..54d7e9c031 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt @@ -4,6 +4,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS import app.revanced.util.indexOfFirstInstructionOrThrow import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction @@ -13,8 +15,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith("com.instagram.android") diff --git a/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt index 5940833372..8669f6132b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt @@ -1,12 +1,14 @@ package app.revanced.patches.orfon.detection.root import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION import app.revanced.util.returnEarly @Suppress("unused") val removeRootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION ) { compatibleWith("com.nousguide.android.orftvthek") diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt index cfdb320e19..11bc79212b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/tracking/url/SanitizeUrlQueryPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.reddit.misc.tracking.url import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS @Suppress("unused") val sanitizeUrlQueryPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith("com.reddit.frontpage") diff --git a/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt index 43ebaa19f1..0c9fd90400 100644 --- a/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/serviceportalbund/detection/root/RootDetectionPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.serviceportalbund.detection.root import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION +import app.revanced.patches.shared.PATCH_NAME_REMOVE_ROOT_DETECTION @Suppress("unused") val rootDetectionPatch = bytecodePatch( - name = "Remove root detection", - description = "Removes the check for root permissions and unlocked bootloader.", + name = PATCH_NAME_REMOVE_ROOT_DETECTION, + description = PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION ) { compatibleWith("at.gv.bka.serviceportal") diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt new file mode 100644 index 0000000000..34b91a59c4 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt @@ -0,0 +1,11 @@ +package app.revanced.patches.shared + +// +// Names and descriptions used by different patches implementing the same feature. +// + +internal const val PATCH_NAME_REMOVE_ROOT_DETECTION = "Remove root detection" +internal const val PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION = "Removes the check for root permissions and unlocked bootloader." + +internal const val PATCH_NAME_SANITIZE_SHARING_LINKS = "Sanitize sharing links" +internal const val PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS = "Removes the tracking query parameters from shared links." diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt index 7a52c3d81d..2fe4d7e818 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/SanitizeSharingLinksPatch.kt @@ -10,6 +10,8 @@ import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting @@ -20,14 +22,17 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/patches/SanitizeSharingLinksPatch;" +/** + * Patch shared by YouTube and YT Music. + */ internal fun sanitizeSharingLinksPatch( block: BytecodePatchBuilder.() -> Unit = {}, executeBlock: BytecodePatchContext.() -> Unit = {}, preferenceScreen: BasePreferenceScreen.Screen, replaceMusicLinksWithYouTube: Boolean = false ) = bytecodePatch( - name = "Sanitize sharing links", - description = "Adds an option to remove the tracking query parameter from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { block() diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt index 0954d4ed55..4e4ad474cf 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/misc/privacy/SanitizeSharingLinksPatch.kt @@ -3,6 +3,8 @@ package app.revanced.patches.spotify.misc.privacy import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS import app.revanced.patches.spotify.misc.extension.sharedExtensionPatch import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstructionOrThrow @@ -15,8 +17,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from shared links.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith("com.spotify.music") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt index 24b4e127bc..7856bfe966 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/SanitizeSharingLinksPatch.kt @@ -2,11 +2,13 @@ package app.revanced.patches.twitter.misc.links import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS @Suppress("unused") val sanitizeSharingLinksPatch = bytecodePatch( - name = "Sanitize sharing links", - description = "Removes the tracking query parameters from links before they are shared.", + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, ) { compatibleWith( "com.twitter.android"( From ec0acc0f1339a106b08034df1117977b3d0dfc06 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 11:11:18 +0400 Subject: [PATCH 43/63] chore: Sync translations (#6069) --- .../addresources/values-ar-rSA/strings.xml | 306 +++++++++--------- .../addresources/values-az-rAZ/strings.xml | 24 +- .../addresources/values-fr-rFR/strings.xml | 2 +- .../addresources/values-ga-rIE/strings.xml | 158 ++++----- .../addresources/values-in-rID/strings.xml | 32 +- .../addresources/values-ja-rJP/strings.xml | 10 +- .../addresources/values-sr-rCS/strings.xml | 2 +- .../addresources/values-sr-rSP/strings.xml | 2 +- .../addresources/values-vi-rVN/strings.xml | 22 +- 9 files changed, 279 insertions(+), 279 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index a3488d272e..763ba32349 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -765,23 +765,23 @@ Second \"item\" text" يتم عرض قائمة المزيد من المعلومات إخفاء شاشة القفل - تم إخفاء قائمة قفل الشاشة - يتم عرض قائمة قفل الشاشة + تم إخفاء قائمة شاشة القفل + يتم عرض قائمة شاشة القفل إخفاء المقطع الصوتي تم إخفاء قائمة المقطع الصوتي يتم عرض قائمة المقطع الصوتي - "قائمة المسارات الصوتية مخفية + "تم إخفاء قائمة المقطع الصوتي -لعرض قائمة المسارات الصوتية، غيّر 'تزييف تدفقات الفيديو' إلى iPadOS" +لعرض قائمة المقطع الصوتي، غيّر 'Spoof video streams' إلى iPadOS" إخفاء المشاهدة في VR تم إخفاء قائمة المشاهدة في الوضع الافتراضي يتم عرض قائمة المشاهدة في الوضع الافتراضي إخفاء قائمة جودة الفيديو - قائمة جودة الفيديو مخفية - قائمة جودة الفيديو معروضة + تم إخفاء قائمة جودة الفيديو + يتم عرض قائمة جودة الفيديو إخفاء تذييل قائمة جودة الفيديو تم إخفاء تذييل قائمة جودة الفيديو يتم عرض تذييل قائمة جودة الفيديو @@ -791,18 +791,18 @@ Second \"item\" text" تم إخفاء زر التشغيل التلقائي يتم عرض زر التشغيل التلقائي - إخفاء زر التَرْجَمَة - تم إخفاء زر التَرْجَمَة - يتم عرض زر التَرْجَمَة + إخفاء زر الترجمة + تم إخفاء زر الترجمة + يتم عرض زر الترجمة إخفاء زر البث تم إخفاء زر البث يتم عرض زر البث إخفاء خلفية عناصر التحكم بالمشغل - خلفية عناصر تحكم المشغل مخفية - يتم عرض خلفية عناصر التحكم بالمشغل - إخفاء زري \"السابق\" و \"التالي\" - تم إخفاء الأزرار - يتم عرض الأزرار + تم إخفاء خلفية عناصر تحكم المشغل + يتم عرض خلفية عناصر تحكم المشغل + إخفاء أزرار السابق & التالي + تم إخفاء أزرار السابق & التالي + يتم عرض أزرار السابق & التالي إخفاء بطاقات شاشة النهاية @@ -829,37 +829,37 @@ Second \"item\" text" تم إخفاء شريط تقدم الفيديو يتم عرض شريط تقدم الفيديو - إخفاء شريط تقدم صور مصغرة للفيديو - شريط تقدم صور مصغرة للفيديو مخفي - شريط تقدم صور مصغرة للفيديو معروض + إخفاء شريط تقدم مصغرات الفيديو + تم إخفاء شريط تقدم مصغرات الفيديو + يتم عرض شريط تقدم مصغرات الفيديو مشغل Shorts - إخفاء أو إظهار مكونات مشغل Shorts + إخفاء أو عرض مكونات مشغل Shorts إخفاء Shorts في الصفحة الرئيسية - مخفية في الصفحة الرئيسية ومقاطع الفيديو ذات الصلة - معروضة في الصفحة الرئيسية ومقاطع الفيديو ذات الصلة + مخفي في موجز الصفحة الرئيسية والفيديوهات ذات الصلة + يُعرض في موجز الصفحة الرئيسية والفيديوهات ذات الصلة إخفاء Shorts في نتائج البحث - مخفية في نتائج البحث - تُعرض في نتائج البحث + مخفي في نتائج البحث + يُعرض في نتائج البحث - إخفاء Shorts في خلاصة الاشتراكات - مخفية في خلاصة الاشتراكات - معروضة في خلاصة الاشتراكات - إخفاء Shorts في سجل المشاهدة - مخفية في سجل المشاهدة - تُعرض في سجل المشاهدة - إخفاء زر Super Thanks - زر شراء Super Thanks مخفي - زر شراء Super Thanks معروض + إخفاء Shorts في موجز الاشتراكات + مخفي في موجز الاشتراكات + يُعرض في موجز الاشتراكات + إخفاء Shorts في السجلّ + مخفي في السجلّ + يُعرض في السجلّ + إخفاء زر شراء Super Thanks + تم إخفاء زر شراء Super Thanks + يتم عرض زر شراء Super Thanks إخفاء زر التأثير - زر التأثير مخفي - زر التأثير معروض + تم إخفاء زر التأثير + يتم عرض زر التأثير إخفاء زر الشاشة الخضراء تم إخفاء زر الشاشة الخضراء يتم عرض زر الشاشة الخضراء - إخفاء زر الهاشتاج + إخفاء زر هاشتاج تم إخفاء زر الهاشتاج يتم عرض زر الهاشتاج @@ -869,9 +869,9 @@ Second \"item\" text" إخفاء تسمية الموقع تم إخفاء تسمية الموقع يتم عرض تسمية الموقع - إخفاء زر \"مشاركات جديدة\" - تم إخفاء زر \"مشاركات جديدة\" - يتم عرض زر \"مشاركات جديدة\" + إخفاء زر المنشورات الجديدة + تم إخفاء زر المنشورات الجديدة + يتم عرض زر المنشورات الجديدة إخفاء أزرار واجهة التوقف تم إخفاء أزرار واجهة التوقف يتم عرض أزرار واجهة التوقف @@ -900,11 +900,11 @@ Second \"item\" text" تم إخفاء زر القادم يتم عرض زر القادم إخفاء زر استخدام هذا الصوت - زر استخدام هذا الصوت مخفي - زر استخدام هذا الصوت معروض - إخفاء زر استخدام هذا القالب - زر استخدام هذا القالب مخفي - زر استخدام هذا القالب ظاهر + تم إخفاء زر استخدام هذا الصوت + يتم عرض زر استخدام هذا الصوت + إخفاء زر استخدام النموذج + تم إخفاء زر استخدم هذا النموذج + يتم عرض زر استخدم هذا النموذج إخفاء التأثير الفوّار لـزر أعجبني تم إخفاء التأثير الفوّار لـزر أعجبني يتم عرض التأثير الفوّار لـزر أعجبني @@ -935,11 +935,11 @@ Second \"item\" text" تم إخفاء شريط القناة يتم عرض شريط القناة إخفاء عنوان الفيديو - عنوان الفيديو مخفي - عنوان الفيديو معروض + تم إخفاء عنوان الفيديو + يتم عرض عنوان الفيديو إخفاء تسمية بيانات التعريف الصوتية - تسمية بيانات تعريف الصوت مخفية - تسمية بيانات تعريف الصوت معروضة + تم إخفاء تسمية بيانات التعريف الصوتية + يتم عرض تسمية بيانات التعريف الصوتية إخفاء تسمية رابط الفيديو تم إخفاء تسمية رابط الفيديو يتم عرض تسمية رابط الفيديو @@ -956,9 +956,9 @@ Second \"item\" text" يتم عرض الفيديو المقترح في شاشة النهاية - إخفاء تراكب مقاطع الفيديو ذات الصلة - تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة مخفي - تراكب مقاطع الفيديو ذات الصلة في وضع ملء الشاشة معروض + إخفاء واجهة الفيديوهات ذات الصلة + تم إخفاء واجهة الفيديوهات ذات الصلة في ملء الشاشة + يتم عرض واجهة الفيديوهات ذات الصلة في ملء الشاشة إخفاء الطابع الزمني للفيديو @@ -991,7 +991,7 @@ Second \"item\" text" لم يعجبني غير متاح مؤقتًا (انتهت مهلة API) لم يعجبني غير متاح (الحالة %d) - مرات عدم الإعجاب غير متوفرة (حد واجهة برمجة تطبيقات العميل) + عدد مرات لم يعجبني غير متوفر (حد API للعميل) لم يعجبني غير متاح (%s) أعد تحميل الفيديو للتصويت بـ Return YouTube Dislike @@ -1000,31 +1000,31 @@ Second \"item\" text" يتم عرض لم يعجبني لا يتم عرض لم يعجبني عرض لم يعجني في فيديوهات Shorts - "يتم عرض مرات عدم الإعجاب في فيديوهات Shorts + "يتم عرض عدد مرات لم يعجبني في فيديوهات Shorts -التقييد: قد لا تظهر مرات عدم الإعجاب في وضع التصفح المتخفي" - لا يتم عرض مرات عدم الإعجاب في فيديوهات Shorts +التقييد: قد لا تظهر مرات لم يعجبني في وضع التصفح المتخفي" + لا يتم عرض مرات لم يعجبني على فيديوهات Shorts لم يعجبني كــ نسبة مئوية - يتم عرض مرات عدم الإعجاب كنسبة مئوية - يتم عرض مرات عدم الإعجاب كرقم + يعرض عدد لم يعجبني كـ نسبة مئوية + يتم عرض عدد لم يعجبني كـ رَقَم مقاس زر أعجبني زر أعجبني مصمم لأدنى عرض زر أعجبني مصمم لأفضل مظهر عرض الإعجابات المقدرة - يتم عرض عدد تقديري للإعجابات في مقاطع الفيديو التي تم تعطيل الإعجابات فيها + يتم عرض عدد تقديري للإعجابات في الفيديوهات التي تم تعطيل الإعجابات فيها لا يتم عرض عدد الإعجابات المقدرة عرض ملاحظة إذا كان API غير متاح يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike لا يتم عرض الملاحظة في حالة عدم توفر Return YouTube Dislike يتم توفير البيانات بواسطة the Return YouTube Dislike API. اضغط هنا لمعرفة المزيد - ReturnYouTubeDislike API إحصائيات هذا الجهاز + إحصائيات واجهة برمجيات ReturnYouTubeDislike لهذا الجهاز وقت استجابة API، متوسط وقت استجابة API، الحد الأدنى وقت استجابة API، الحد الأقصى - وقت استجابة API، الفيديو الأخير - غير متوفر مؤقتًا - حد معدل API للعميل ساري المفعول + وقت استجابة API، آخر فيديو + لم يعجبني غير متوفر مؤقتًا - حد معدل API للعميل ساري المفعول API جلب الأصوات وعدد الاتصالات لم يتم إجراء اتصالات الشبكة %d اتصالات شبكية أجريت @@ -1056,7 +1056,7 @@ Second \"item\" text" تمكين SponsorBlock - SponsorBlock مانِع الرُعَاة هو نظام جماعي لتخطي الأجزاء المُمِلَّة في مقاطع YouTube + مانع الرُعَاة هو نظام جماعي لتخطي الأجزاء المزعجة من فيديوهات YouTube المظهر عرض زر التصويت يتم عرض زر التصويت على المقطع @@ -1072,12 +1072,12 @@ Second \"item\" text" إخفاء زر التخطي بعد بضع ثوانٍ يتم عرض زر التخطي للمقطع بأكمله مدة زر التخطي - كم المدة لعرض أزرار التخطي والتخطي إلى التمييز قبل الإخفاء التلقائي - إظهار إشعار التراجع عن التخطي - يظهر إشعار عند تخطي مقطع تلقائيًا. انقر على الإشعار للتراجع عن التخطي - لا يتم عرض التوست - مدة توست التخطي - كم المدة لعرض رسالة التراجع عن التخطي المنبثقة + كم من الوقت يجب إظهار أزرار التخطي والتخطي للأبرز قبل إخفائها تلقائيًا + عرض التراجع عن التخطي + تظهر ملاحظة عند تخطي مقطع تلقائيًا. انقر على الملاحظة للتراجع عن التخطي + لا يتم عرض الملاحظة + مدة ملاحظة التخطي + المدة اللازمة لإظهار التراجع عن التخطي ثانية واحدة ثانيتان 3 ثوانٍ @@ -1089,19 +1089,19 @@ Second \"item\" text" 9 ثوانٍ 10 ثوانٍ عرض مدة الفيديو بدون المقاطع - يتم عرض طول الفيديو مطروحًا منه جميع المقاطع على شريط التقدم + يعرض مدة الفيديو ناقصًا منه جميع المقاطع على شريط التقدم يتم عرض مدة الفيديو كاملةً إنشاء مقاطع جديدة عرض زر إنشاء مقطع جديد يتم عرض زر إنشاء مقطع جديد لا يتم عرض زر إنشاء مقطع جديد تعديل تقديم او تأخير المقطع الجديد - أجزاء الثانية التي تتحرك فيها أزرار ضبط الوقت عند إنشاء مقاطع جديدة + أجزاء الثانية في الوقت الذي تتحرك فيها أزرار ضبط الوقت عند إنشاء مقاطع جديدة يجب أن تكون القيمة رقمًا موجبًا عرض الإرشادات - الإرشادات تحتوي على نصائح حول تقديم المقاطع - توجد إرشادات - من المستحسن قراءة الإرشادات لمانع الرعاة قبل تقديم أي مقطع + الإرشادات تتضمن قواعد ونصائح لإنشاء مقاطع جديدة + اتبع الإرشادات + من المستحسن قراءة الإرشادات لـ SponsorBlock قبل تقديم أي مقطع تمت قراءتها اعرضها لي عام @@ -1110,11 +1110,11 @@ Second \"item\" text" لا يتم عرض ملاحظة في حالة عدم توفر SponsorBlock تمكين تتبع مرات التخطي يُتيح لـ SponsorBlock Leaderboard معرفة مقدار الوقت الذي وفره المشاهدين، يتم إعلام الخادم في كل مرة تتخطى فيها مقطعًا - تم تعطيل تتبع مرات التخطي + تتبع عدد مرات التخطي غير مفعل الحد الأدنى لمدة المقطع لن يتم عرض المقاطع الأقصر من هذه القيمة (بالثواني) أو تخطيها المدة الزمنية غير صالحة - معرف المستخدم الفريد الخاص بك + معرف المستخدم User ID الفريد الخاص بك يجب أن يبقى هذا خاصًا. انه مثل كلمة المرور ولا ينبغي مشاركته مع أي شخص. إذا كان شخص ما يملك هذا، فيمكنه انتحال شخصيتك يجب أن يكون معرف المستخدم الخاص 30 حرفًا على الأقل تغيير عنوان API @@ -1147,11 +1147,11 @@ Second \"item\" text" فاصل زمني بدون محتوى فعلي. قد يكون توقفًا مؤقتًا، أو إطارًا ثابتًا، أو رسومًا متحركة متكررة. لا يتضمن انتقالات تحتوي على معلومات الخاتمة / تترات النهاية تتر النهاية أو عندما تظهر بطاقات نهاية YouTube، نهايات غير منطوقة. ليس للاستنتاجات مع المعلومات - مقدمة / تحيات + تحية / وداع مقاطع دعائية مروية للفيديو القادم، تحيات ووداعات. لا تشمل الأقسام التي تضيف محتوى إضافيًا معاينة / ملخص مجموعة من المقاطع التي توضح ما هو قادم أو ما حدث في الفيديو أو في مقاطع فيديو أخرى من السلسلة، حيث تتكرر جميع المعلومات في مكان آخر - استطراد / نكات + خارج الموضوع / نكات مشاهد أو نكات جانبية غير ضرورية لفهم المحتوى الرئيسي للفيديو. لا تشمل الأقسام التي توفر سياقًا أو تفاصيل خلفية الموسيقى: مقطع غير موسيقي فقط للاستخدام في المقاطع الموسيقية. أقسام المقاطع الموسيقية بدون موسيقى، والتي لم يتم تغطيتها بالفعل من قبل فئة أخرى @@ -1169,7 +1169,7 @@ Second \"item\" text" تخطي النظرة العامة تخطي النظرة العامة تخطي الملخص - تخطي الجزء الجانبي + تخطي مقطع غير ذي صلة تخطي غير الموسيقى تخطي المقطع تم تخطي الراعي @@ -1184,13 +1184,13 @@ Second \"item\" text" تم تخطي النظرة العامة تم تخطي النظرة العامة تم تخطي الملخص - تم تخطي الجزء الجانبي + تم تخطي مقطع غير ذي صلة تم تخطي جزء غير موسيقي تم تخطي المقطع الغير المرسل تم تخطي عدة مقاطع التخطي تلقائيًا التخطي تلقائيًا مرة واحدة - عرض زر \"التخطي\" + عرض زر التخطي عرض في شريط تقدم الفيديو تعطيل غير قادر على إرسال المقطع: الحالة: %s @@ -1241,14 +1241,14 @@ Second \"item\" text" الوقت المحدد غير صحيح إحصائيات - الإحصائيات غير متوفرة مؤقتًا (الواجهة غير متوفرة) + الإحصائيات غير متوفرة مؤقتًا (API معطل) جارٍ التحميل... تم تعطيل SponsorBlock اسم المستخدم الخاص بك: <b>%s</b> اضغط هنا لتغيير اسم المستخدم الخاص بك غير قادر على تغيير اسم المستخدم: الحالة: %1$d %2$s تم تغيير اسم المستخدم بنجاح - سمعتك هي <b>%.2f</b> + سمعتك <b>%.2f</b> لقد أنشأت <b>%s</b> مقطع اضغط هنا لعرض المقاطع الخاصة بك متصدرين SponsorBlock @@ -1264,14 +1264,14 @@ Second \"item\" text" الشفافية: اللون: لمحة - يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد ومشاهدة التنزيلات لمنصات أخرى + يتم توفير البيانات بواسطة SponsorBlock API. انقر هنا لمعرفة المزيد والتنزيل لمنصات أخرى شكل نموذج التخطيط الافتراضي الجوّال الجهاز اللوحي - السيارات + Automotive "التغييرات تشمل: تصميم الجهاز اللوحي @@ -1282,7 +1282,7 @@ Second \"item\" text" • يتم تنظيم الموجز حسب المواضيع والقنوات" - خِداع إصدار التطبيق + إصدار تطبيق وهمي تم تغيير اصدار التطبيق لم يتم تغيير اصدار التطبيق "سيتم تغيير إصدار التطبيق إلى إصدار قديم من YouTube. @@ -1305,7 +1305,7 @@ Second \"item\" text" استكشف الموضة & التجميل ألعاب - السّجل + السجلّ المكتبة الفيديوهات التي أعجبتني مباشر @@ -1325,7 +1325,7 @@ Second \"item\" text" تغيير صفحة البداية دائمًا "يتم تغيير صفحة البداية دائمًا -القيد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات" +التقييد: قد لا يعمل استخدام زر الرجوع على شريط الأدوات" يتم تغيير صفحة البداية فقط عند بدء تشغيل التطبيق @@ -1387,8 +1387,8 @@ Second \"item\" text" إخفاء أزرار التخطي للأمام والخلف تم إخفاء تخطي للأمام والخلف يتم عرض تخطي للأمام والخلف - الحجم الأولي - الحجم الأولي على الشاشة، بالبكسل + تهيئة الحجم + تهيئة الحجم على الشاشة، بالبكسل حجم البكسل يجب أن يكون بين %1$s و %2$s شفافية الواجهة قيمة الشفافية بين 0-100، حيث يكون 0 شفاف @@ -1406,16 +1406,16 @@ Second \"item\" text" يتم عرض لون شريط تقدم الفيديو الاصلي لون شريط تقدم الفيديو المخصص لون شريط التقدم - لون مميز لشريط التقدم المخصص - اللون المميز لشريط التقدم + لون تمييز شريط التقدم المخصص + لون تمييز شريط التقدم لون شريط التقدم غير صالح - شعار الرأس - افتراضي - عادي + علامة الشعار + الافتراضي + القياسي - ريـفانسد بسيط + ReVanced minimal مخصص @@ -1434,8 +1434,8 @@ Second \"item\" text" علامة التبويب أنت قوائم تشغيل المشغل والتوصيات نتائج البحث - المصّغرات الأصلية - DeArrow & المصّغرات الأصلية + المصغرات الأصلية + DeArrow & المصغرات الأصلية DeArrow & اللقطات الثابتة اللقطات الثابتة "يوفر DeArrow مصغرات فيديو من مصادر جماعية لفيديوهات YouTube. هذه المصغرات غالبًا ما تكون أكثر صلة من تلك المقدمة من YouTube @@ -1444,14 +1444,14 @@ Second \"item\" text" اضغط هنا لمعرفة المزيد عن DeArrow" عرض ملاحظة إذا كان API غير متاح - يتم عرض ملاحظة إذا كان DeArrow غير متوفر - لا يتم عرض ملاحظة إذا كان DeArrow غير متوفر - نقطة نهاية واجهة برمجة تطبيقات DeArrow - عنوان URL لنقطة نهاية ذاكرة التخزين المؤقت للصور المصغرة لـ DeArrow + يتم عرض ملاحظة إذا كان DeArrow غير متاح + لا يتم عرض ملاحظة إذا كان DeArrow غير متاح + DeArrow API Endpoint + عنوان URL لنقطة نهاية ذاكرة التخزين المؤقت لمصغرات DeArrow لقطات الفيديو الثابتة يتم التقاط اللقطات الثابتة من بداية/وسط/نهاية كل فيديو. هذه الصور مدمجة في YouTube ولا يتم استخدام أي واجهة برمجة تطبيقات خارجية - استخدم اللقطات الثابتة السريعة - استخدام اللقطات متوسطة الجودة. سيتم تحميل المُصغَّرات بشكل أسرع، ولكن البث المباشر و الفيديوهات التي لم يتم إصدارها أو القديمة جدًا قد تعرض مُصغَّرات فارغة + استخدام اللقطات الثابتة السريعة + استخدام اللقطات متوسطة الجودة. سيتم تحميل المصغرات بشكل أسرع، ولكن البث المباشر و الفيديوهات التي لم يتم إصدارها أو القديمة جدًا قد تعرض مصغرات فارغة استخدام لقطات الفيديو الثابتة بجودة عالية وقت الفيديو لأخذ اللقطات الثابتة منه بداية الفيديو @@ -1470,25 +1470,25 @@ Second \"item\" text" تجاهل - تفعيل تكرار الفيديو + تمكين تكرار الفيديو سيتم تكرار الفيديو لن يتم تكرار الفيديو - إظهار زر تكرار الفيديو - الزر ظاهر - الزر غير ظاهر + عرض زر تكرار الفيديو + يتم عرض الزر + لا يتم عرض الزر تكرار الفيديو قيد التشغيل تكرار الفيديو متوقف - محاكاة أبعاد الجهاز - "تم محاكاة أبعاد الجهاز + تزوير أبعاد الجهاز + "تم تزييف أبعاد الجهاز قد يتم فتح قفل جودة الفيديو العالية ولكن قد تواجه تقطعًا في تشغيل الفيديو وعمر بطارية أسوأ وتأثيرات جانبية غير معروفة" - "أبعاد الجهاز غير محاكاة + "أبعاد الجهاز غير مزيفة -يمكن أن يؤدي تفعيل هذا إلى فتح جودة أعلى للفيديو" +تفعيل هذا يمكن أن يفتح جودات فيديو أعلى" قد يؤدي تمكين هذا إلى تباطؤ تشغيل الفيديو وتدهور عمر البطارية وآثار جانبية غير معروفة. @@ -1496,19 +1496,19 @@ Second \"item\" text" تغيير الاهتزاز عند الضغط تعطيل الاهتزاز للفصول تم تعطيل الاهتزاز للفصول - تم تفعيل الاهتزاز للفصول + تم تمكين الاهتزاز للفصول تعطيل الاهتزاز عند التمرير الدقيق - تم تعطيل الاهتزاز الدقيق عند البحث - تم تفعيل الاهتزاز عند التمرير الدقيق - تعطيل الاهتزاز عند التراجع عن البحث - تم تعطيل الاهتزاز عند التراجع عن البحث - تم تمكين الاهتزاز عند التراجع عن البحث + تم تعطيل الاهتزاز الدقيق عند التمرير + تم تمكين الاهتزاز عند التمرير الدقيق + تعطيل اهتزاز التراجع عن التمرير + تم تعطيل اهتزاز التراجع عن التمرير + تم تمكين اهتزاز التراجع عن التمرير تعطيل الاهتزاز عند التكبير تم تعطيل الاهتزاز عند التكبير تم تمكين الاهتزاز عند التكبير - إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فأزل تثبيت MicroG ثم أعد تثبيته. + إذا قمت مؤخرًا بتغيير تفاصيل تسجيل الدخول إلى حسابك، فقم بإلغاء تثبيت MicroG وإعادة تثبيته. تجاوز إعادة توجيه URL @@ -1526,9 +1526,9 @@ Second \"item\" text" تذكر تغييرات جودة الفيديو تنطبق تغييرات الجودة على جميع الفيديوهات تنطبق تغييرات الجودة على الفيديو الحالي فقط - إظهار إشعار عند تغيير جودة الفيديو - يتم إظهار إشعار عند تغيير جودة الفيديو الافتراضية - لا يتم إظهار إشعار عند تغيير جودة الفيديو الافتراضية + عرض ملاحظة عند تغيير جودة الفيديو + يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية + لا يتم عرض ملاحظة عند تغيير جودة الفيديو الافتراضية جودة الفيديو الافتراضية على شبكة Wi-Fi جودة الفيديو الافتراضية على شبكة الجوَّال تذكر تغييرات جودة Shorts @@ -1543,36 +1543,36 @@ Second \"item\" text" عرض زر مربع حوار السرعة - الزر معروض. انقر مع الاستمرار لإعادة ضبط سرعة التشغيل إلى الوضع الافتراضي + يتم عرض الزر. انقر مع الاستمرار لإعادة ضبط سرعة التشغيل إلى الوضع الافتراضي لا يتم عرض الزر عرض زر جودة الفيديو - الزر معروض. انقر مع الاستمرار لإعادة تعيين الجودة إلى الافتراضي - الزر غير معروض + يتم عرض الزر. انقر مع الاستمرار لإعادة تعيين الجودة إلى الوضع الافتراضي + لا يتم عرض الزر قائمة سرعة التشغيل المخصصة يتم عرض قائمة سرعة التشغيل المخصصة لا يتم عرض قائمة سرعة التشغيل المخصصة استعادة قائمة سرعة التشغيل القديمة - قائمة السرعة القديمة معروضة - قائمة السرعة الحديثة معروضة + يتم عرض قائمة سرعة التشغيل القديمة + يتم عرض قائمة سرعة التشغيل الحديثة سرعة التشغيل المخصصة - إضافة أو تغيير سرعة التشغيل المخصصة + إضافة أو تغيير سرعات التشغيل المخصصة يجب أن تكون سرعات التشغيل المخصصة أقل من %s - سرعة التشغيل المخصصة غير صالحة + سرعات التشغيل المخصصة غير صالحة تلقائي سرعة النقر مع الاستمرار المخصصة سرعة التشغيل بين 0-8 - تذكر التغيرات في سرعة التشغيل + تذكر تغييرات سرعة التشغيل تطبيق تغييرات سرعة التشغيل على جميع الفيديوهات تطبيق تغييرات سرعة التشغيل فقط على الفيديو الحالي - إظهار إشعار عند تغيير سرعة التشغيل - يتم إظهار إشعار عند تغيير سرعة التشغيل الافتراضية - لا يتم عرض إشعار عند تغيير سرعة التشغيل الافتراضية. + عرض ملاحظة عند تغيير سرعة التشغيل + يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية + لا يتم عرض ملاحظة عند تغيير سرعة التشغيل الافتراضية سرعة التشغيل الافتراضية تغيير السرعة الافتراضية إلى: %s @@ -1604,10 +1604,10 @@ Second \"item\" text" تم تعطيل التمرير للتقديم أو الترجيع - الآثار الجانبية للتزوير + التأثيرات الجانبية للتزييف • عميل تجريبي وقد يتوقف عن العمل في أي وقت • قد يتوقف الفيديو عند 1:00، أو قد لا يكون متاحًا في بعض المناطق - • قائمة المسارات الصوتية مفقودة + • قائمة المقطع الصوتي مفقودة • لا يوجد ترميز الفيديو AV1 • مستوى الصوت الثابت غير متاح • قد يتوقف التشغيل مؤقتًا أو تسقط الإطارات @@ -1619,14 +1619,14 @@ Second \"item\" text" تم إخفاء نوع العميل في إحصاءات تقنية لغة بث الصوت - لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \"فرض لغة الصوت الأصلية\" + لتحديد لغة صوتية معينة، قم بإيقاف تشغيل \'فرض لغة الصوت الأصلية\' اختيار لغة البث غير متاح مع Android Studio - حول - إعلانات + لمحة + الإعلانات عام المشغل متنوعة @@ -1634,7 +1634,7 @@ Second \"item\" text" إخفاء إعلانات الفيديو تم إخفاء إعلانات الفيديو - تم عرض إعلانات الفيديو + يتم عرض إعلانات الفيديو تمكين التكرار الدائم @@ -1642,22 +1642,22 @@ Second \"item\" text" تم تعطيل التكرار الدائم - إخفاء زر الإرسال - زر الإرسال مخفي - زر الإرسال ظاهر + إخفاء زر البث + تم إخفاء زر البث + يتم عرض زر البث إخفاء شريط الفئات - شريط الفئات مخفي - شريط الفئات معروض + تم إخفاء شريط الفئات + يتم عرض شريط الفئات شريط التنقل إخفاء أزرار شريط التنقل أو تغييرها - إخفاء الرئيسية - زر \"الرئيسية\" مخفي - زر \"الرئيسية\" ظاهر + إخفاء الصفحة الرئيسية + تم إخفاء زر الصفحة الرئيسية + يتم عرض زر الصفحة الرئيسية إخفاء المقاطع زر \"المقتطفات\" مخفي @@ -1694,22 +1694,22 @@ Second \"item\" text" - منع الإعلانات الصوتية - تم منع الإعلانات الصوتية - تم إلغاء منع الإعلانات الصوتية + حظر الإعلانات الصوتية + تم حظر الإعلانات الصوتية + تم إلغاء حظر الإعلانات الصوتية - %s غير متوفر. قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. - قام خادم %s بإرجاع خطأ. قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. - منع إعلانات الفيديو المضمنة + %s غير متوفر، قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. + قام خادم %s بإرجاع خطأ، قد تظهر الإعلانات. حاول التبديل إلى خدمة منع إعلانات أخرى في الإعدادات. + حظر إعلانات الفيديو المضمنة معطّل Luminous Proxy PurpleAdBlock Proxy - منع إعلانات الفيديو - تم منع إعلانات الفيديو - تم إلغاء منع إعلانات الفيديو + حظر إعلانات الفيديو + تم حظر إعلانات الفيديو + يتم إلغاء حظر إعلانات الفيديو تم حذف الرسالة diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index ddb61efcc5..457b64433c 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -368,7 +368,7 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum Sİ söhbət xülasəsini gizlət Sİ söhbət xülasəsi gizlidir Sİ söhbət xülasəsi görünür - AI Ṣərhlər Xülasəsini Gizlət + AI şərhlər xülasəsini gizlət Sİ şərhlər xülasəsi gizlidir Sİ şərhlər xülasəsi görünür Kanal təlimatlarını gizlət @@ -405,19 +405,19 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum Yeni sətirlə ayrılmış filtr üçün element yol qurucusu sətirlərinin siyahısı Etibarsız fərdi filtr: %s Baxış sayını gizlət - Baxış sayı lentdə və axtarış nəticələrində gizlədilib - Baxış sayı lentdə və axtarış nəticələrində göstərilib + Baxış sayı axın və axtarış nəticələrində gizlidir + Baxış sayı axın və axtarış nəticələrində görünür "Məhdudiyyətlər: -• Shorts rəfləri, kanal səhifələri və axtarış nəticələri hələ də baxış saylarını göstərə bilər -• Bu funksiya avtomobil form faktoru ilə işləmir" - Yükləmə vaxtını gizlət - Yükləmə vaxtı lentdə və axtarış nəticələrində gizlədilib - Yükləmə vaxtı lentdə və axtarış nəticələrində göstərilir +• Shorts bölmələri, kanal səhifələri və axtarış nəticələri yenə də baxış sayını göstərə bilər +• Bu xüsusiyyət avtomobil forma göstərici ilə işləmir" + Yüklənilmə vaxtını gizlət + Yüklənilmə vaxtı axın və axtarış nəticələrində gizlidir + Yüklənilmə vaxtı axın və axtarış nəticələrində göstərilir "Məhdudiyyətlər: -• Shorts rəflərində, kanal səhifələrində və axtarış nəticələrində yükləmə vaxtları hələ də göstərilə bilər -• Bu funksiya avtomobil form faktoru ilə işləmir" +• Shorts bölmələri, kanal səhifələri və axtarış nəticələri yüklənilən vaxtı yenə də göstərə bilər +• Bu xüsusiyyət avtomobil forma göstərici ilə işləmir" Açar söz məzmununu gizlət Açar söz filtrləri ilə axtarış və axın videolarını gizlət Ev videolarını açar sözlərə görə gizlət @@ -869,7 +869,7 @@ Səs treki menyusunu göstərmək üçün \"Video yayımları saxtalaşdır\"ı Məkan etiketini gizlət Məkan etiketi gizlidir Məkan etiketi göstərilir - Yeni elanları gizlət düyməsi + Yeni elanlar düyməsini gizlət Yeni elanlar düyməsi gizlidir Yeni elanlar düyməsi göstərilir Dayandırma örtük düymələrini gizlət @@ -1609,7 +1609,7 @@ Məhdudiyyətlər: • Səs treki menyusu çatışmır • AV1 video kodlayıcı yoxdur • Sabit səs yoxdur - • Oxutma kəsilə bilər və ya kadrlar düşə bilər + • Oynatma qarışa bilər və ya kadrlar ötürülə bilər • Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz • \"Orijinal səsi zorla\" əlçatmazdır diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index d4ea1ff123..ae8e618fa6 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -1611,7 +1611,7 @@ Limitations : • Le menu Piste audio est absent • Codec vidéo AV1 indisponible • Le volume stable n\'est pas disponible - • La lecture peut saccader ou perdre des images + • Il est possible que la lecture soit saccadée ou que des images soient perdues • La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée • Forcer la langue audio d\'origine n\'est pas disponible diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index fdc8de9769..7854cfb81d 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -55,7 +55,7 @@ Second \"item\" text" Bain triail as eochairfhocal eile Cuardaigh le déanaí Bain as stair an chuardaigh? - Glan stair an chuardaigh + Glan stair chuardaigh An bhfuil tú cinnte gur mhaith leat stair chuardaigh go léir a ghlanadh? Leideanna Cuardaigh "• Tapáil cosán chun dul chuige @@ -106,14 +106,14 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta." Lean ar aghaidh - Sruthanna físeán spoof - Spoof na sruthanna físeáin cliant chun saincheisteanna athsheinm a chosc - Sruthanna físeáin bréige - Déan bréagú ar shruthanna físeáin an chliaint chun saincheisteanna athsheinm a chosc - Sruthanna físeán spoof - "Tá sruthanna físeáin bréagaithe + Sruthanna físe bréige + Déan sruthanna físe an chliaint a fhalsú chun fadhbanna athsheinm a chosc + Sruthanna físe bréige + Déan sruthanna físe an chliaint a fhalsú chun fadhbanna athsheinm a chosc + Sruthanna físe bréige + "Déantar sruthanna físe a bhréagnú -Má tá tú i do úsáideoir YouTube Premium, seans nach mbeidh an socrú seo ag teastáil" +Mura bhfuil tú i d’úsáideoir YouTube Premium, b’fhéidir nach mbeidh an socrú seo ag teastáil" "Ní dhéantar sruthanna físeáin a bhréagnú Seans nach n-oibreoidh an t-athsheinm" @@ -230,8 +230,8 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp Tá seilf íomhá i dtorthaí cuardaigh i bhfolach Taispeántar seilf íomhánna i dtorthaí cuardaigh Folaigh na poist is déanaí - Tá postanna is déanaí i bhfolach - Taispeántar na postálacha is déanaí + Tá na poist is déanaí i bhfolach + Taispeántar na poist is déanaí Folaigh seinmliostaí meascán Tá seinmliostaí measctha i bhfolach Taispeántar seinmliostaí measctha @@ -248,9 +248,9 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp Taispeántar na heilimintí inseinnte - Folaigh cnaipe \'Taispeáin tuilleadh\' + Folaigh an cnaipe \'Taispeáin níos mó\' Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh i bhfolach - Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh taispeánta + Cnaipe \'Taispeáin níos mó\' sna torthaí cuardaigh thaispeánta Folaigh suirbhéanna Tá suirbhéanna i bhfolach Tá suirbhéanna taispeánta @@ -1467,7 +1467,7 @@ Brúigh anseo chun tuilleadh eolais a fháil faoi DeArrow" Ní thaispeántar fógraí ar thosú Taispeáin fógraí ar thosú Theip ar nascadh le soláthraí fógraí - Díbhunaigh + Díbhe Cumasaigh físeán lúbtha @@ -1476,44 +1476,44 @@ Brúigh anseo chun tuilleadh eolais a fháil faoi DeArrow" Taispeáin an cnaipe físeáin lúbtha - Tá an cnaipe ar taispeáint + Taispeántar an cnaipe Níl an cnaipe ar taispeáint Tá físeán lúbtha ar siúl Tá físeán lúbtha as siúl - Toisí feiste spoof - "Toisí gléise spoofed + Toisí gléas a fhalsú + "Toisí na ngléasanna falsaithe -D'fhéadfadh go gcuirfí caighdeáin físeáin níos airde ar fáil ach d'fhéadfá stuttering athsheinm físeáin, saol ceallraí níos measa, agus fo-iarsmaí anaithnid a fháil" - "Níl toisí gléise spoofed +D’fhéadfadh cáilíochtaí físe níos airde a bheith díghlasáilte ach d’fhéadfadh go mbeadh stad ar athsheinm físe, saol ceallraí níos measa, agus fo-iarsmaí anaithnide agat" + "Toisí na ngléasanna gan falsaithe -Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" - D\'fhéadfadh sé seo a bheith ina chúis le stuttering athsheinm físe, saol ceallraí níos measa, agus fo-iarmhairtí anaithnid. +D’fhéadfadh cáilíochtaí físe níos airde a bheith díghlasáilte ach d’fhéadfadh go mbeadh stad ar athsheinm físe, saol ceallraí níos measa, agus fo-iarsmaí anaithnide agat" + Is féidir go mbeidh stad ar athsheinm físe, saolré na ceallraí níos measa, agus fo-iarsmaí anaithnide mar thoradh air seo. - Aiseolas haptach - Athraigh aiseolas haptach - Díchumasaigh haptics caibidlí - Tá haptics caibidlí díchumasaithe - Tá haptics caibidlí cumasaithe - Díchumasaigh haptics beacht cuardaigh - Tá haptics beachtais díchumasaithe - Tá haptics beacht cuardaigh cumasaithe - Díchumasaigh haptics díthurais - Tá haptics díthurais díchumasaithe - Tá haptics díthurais cumasaithe - Díchumasaigh súmáil haptics - Tá súmáil haptics díchumasaithe - Tá súmáil haptics cumasaithe + Aiseolas haiptice + Athraigh aiseolas haiptice + Díchumasaigh haiptice caibidlí + Tá haiptice caibidlí díchumasaithe + Tá haiptice caibidlí cumasaithe + Díchumasaigh haiptice beacht cuardaigh + Tá haiptice cuardaigh chruinne díchumasaithe + Tá haiptice cuardaigh chruinn cumasaithe + Díchumasaigh haiptice cuardaigh agus cealaithe + Tá haiptice cuardaigh cealaithe díchumasaithe + Tá haiptice cuardaigh cealaithe cumasaithe + Díchumasaigh haiptice súmála + Tá haiptice súmála díchumasaithe + Tá haiptice súmála cumasaithe Má d’athraigh tú sonraí logála isteach do chuntais le déanaí, ansin díshuiteáil agus athshuiteáil MicroG. - Atreoracha seachbhóthar URL - Seachnaítear atreoruithe URL - Ní chuirtear athsheoltaí URL + Seachain atreoruithe URL + Déantar atreoruithe URL a sheachaint + Ní dhéantar seachaint ar atreoruithe URL Oscail naisc sa bhrabhsála @@ -1523,14 +1523,14 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Uathoibríoch - Cuimhnigh athruithe ar cháilíocht + Cuimhnigh athruithe ar cháilíocht físe Baineann athruithe cáilíochta le gach físeán Ní bhaineann athruithe cáilíochta ach leis an bhfíseán reatha - Taispeáin fógra beag ar athruithe cáilíochta físe + Taispeáin tósta ar athruithe cáilíochta físe Taispeántar fógra beag nuair a athraítear cáilíocht réamhshocraithe an fhíseáin Ní thaispeántar fógra beag nuair a athraítear cáilíocht réamhshocraithe an fhíseáin - Cáilíocht físe réamhshocraithe ar líonra - Cáilíocht físe réamhshocraithe ar líonra + Cáilíocht físe réamhshocraithe ar líonra Wi-Fi + Cáilíocht físe réamhshocraithe ar líonra soghluaiste Cuimhnigh ar athruithe cáilíochta Shorts Baineann athruithe ar an gcáilíocht le gach Shorts Ní bhaineann athruithe ar an gcáilíocht ach leis an Short reatha @@ -1538,7 +1538,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Cáilíocht réamhshocraithe Shorts ar líonra soghluaiste soghluaiste Wi-Fi - Athraigh cáilíocht réamhshocraithe %1$s go dtí: %2$s + Athraíodh cáilíocht réamhshocraithe %1$s go: %2$s Athraíodh cáilíocht Shorts %1$s go: %2$s @@ -1548,22 +1548,22 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Taispeáin cnaipe cáilíochta físeáin - Tá cnaipe le feiceáil. Tapáil agus coinnigh chun cáilíocht a athshocrú mar réamhshocrú - Níl cnaipe le feiceáil + Taispeántar an cnaipe. Tapáil agus coinnigh síos chun an caighdeán a athshocrú go dtí an caighdeán réamhshocraithe + Ní thaispeántar an cnaipe Roghchlár luas athsheinm saincheaptha Taispeántar roghchlár luais saincheaptha Ní thaispeántar roghchlár luais saincheaptha - Athchóirigh an seanchalafort luais athsheinm - Tá an seanchalafort luais taispeánta - Tá an calafort luais nua-aimseartha taispeánta + Athchóirigh an sean-roghchlár luas athsheinm + Taispeántar an sean-roghchlár luais + Taispeántar roghchlár luais nua-aimseartha Luas athsheinm saincheaptha Cuir leis nó athraigh na luasanna athsheinm saincheaptha Ní mór luas saincheaptha a bheith níos lú ná %s Luasanna athsheinm saincheaptha neamhbhailí Uathoibríoch - Luas tap is agus greim + Luas saincheaptha tapála agus coinnigh Luas athsheinm eatarthu 0-8 @@ -1577,12 +1577,12 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Athraigh luas réamhshocraithe go: %s -

Díchumasú físeán HDR

-

Tá físeán HDR díchumasaithe

-

Tá físeán HDR arna chumhachtú

+ Díchumasaigh físeán HDR + Tá físeán HDR díchumasaithe + Tá físeán HDR cumasaithe Fórsa AVC (H.264) Éigeantar an códóir físeáin go AVC (H.264) - Cinntear an códóir físeáin go huathoibríoch + Cinntear an cóideac físe go huathoibríoch "Sochair: • Féadfaidh sé saolré na ceallraí a fheabhsú • Féadfaidh sé réitigh físeáin atá in easnamh a chur ar ais ar ghléasanna níos sine @@ -1604,22 +1604,22 @@ Teorainneacha: Níl sleamhnán le lorg cumasaithe
- Fo-iarsmaí bréagaíochta + Fo-éifeachtaí a fhalsúa • Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith • Is féidir go stopfaidh an físeán ag 1:00, nó b\'fhéidir nach mbeidh sé ar fáil i réigiúin áirithe • Tá an roghchlár rian fuaime in easnamh - • Níl aon chóidéir físe AV1 + • Níl aon cóideac físe AV1 • Níl toirt chobhsaí ar fáil • D\'fhéadfadh an athsheinm bacadh nó frámaí a chailleadh - • Videos faoi phaistí uaireanta nach imreoidh nuair a bhíonn tú logáilte amach nó i mod incognito + • Seans nach seinnfear físeáin do pháistí nuair a bhíonn siad logáilte amach nó i mód go hanaithnid - • Níl Éigean fuaime bunaidh ar fáil + • Níl an fuaim bhunaidh iallach ar fáil Taispeáin i Staitisticí do nerds Taispeántar cineál an chliaint i Staitisticí do nerds Tá an cliant curtha i bhfolach i Staitisticí do nerds Teanga an tsrutha fuaime - Chun teanga fuaime shonrach a roghnú, múch \'Cuir iallach ar bhunteanga fuaime\' + Chun teanga fuaime ar leith a roghnú, múch \'Fórsaigh teanga fuaime bhunaidh\' Níl roghnú theanga an tsrutha ar fáil le Android Studio
@@ -1638,13 +1638,13 @@ Teorainneacha:
Cumasaigh athdhéanamh buan - Tá athdhéanamh buan cumasaithe - Tá athdhéanamh buan díchumasaithe + Tá athrá buan cumasaithe + Tá athrá buan díchumasaithe Folaigh an cnaipe teilgthe Tá an cnaipe teilgthe i bhfolach - Tá an cnaipe teilgthe ar taispeáint + Taispeántar an cnaipe teilgthe Folaigh an barra catagóirí @@ -1657,29 +1657,29 @@ Teorainneacha: Folaigh Baile Tá cnaipe Baile folaithe - Tá cnaipe Baile taispeánta + Taispeántar an cnaipe baile Folaigh Samplaí - Tá cnaipe Samplaí folaithe - Tá cnaipe Samplaí taispeánta + Tá cnaipe na samplaí i bhfolach + Taispeántar cnaipe na samplaí - Folaigh Scrúdaigh - Tá cnaipe Fionnachtana folaithe - Tá cnaipe Fionnachtana taispeánta + Folaigh Iniúchadh + Tá an cnaipe iniúchadh i bhfolach + Taispeántar an cnaipe iniúchadh Folaigh Leabharlann - Tá cnaipe Leabharlann folaithe - Tá cnaipe Leabharlann taispeánta + Tá cnaipe na leabharlainne i bhfolach + Taispeántar cnaipe na leabharlainne - Folaigh Uasghrádaigh - Tá cnaipe Uasghrádú folaithe - Tá cnaipe Uasghrádú taispeánta + Folaigh an tUasghrádú + Tá an cnaipe uasghrádaithe i bhfolach + Taispeántar an cnaipe uasghrádaithe Folaigh barra nascleanúna - Tá barra nascleanúna folaithe - Tá barra nascleanúna taispeánta + Tá an barra nascleanúna i bhfolach + Taispeántar barra nascleanúna Folaigh lipéid cnaipí nascleanúna - Tá lipéid folaithe - Tá lipéid taispeánta + Tá lipéid i bhfolach + Taispeántar lipéid Folaigh an lipéad \'Faigh Music Premium\' @@ -1696,7 +1696,7 @@ Teorainneacha: Cuir bac ar fógraí fuaime Cuirtear bac ar fhógraí fuaime - Déantar fógraí fuaime díbhocáilte + Tá fógraí fuaime díbhlocáilte %s neamh-infheidhme, d\'fhéadfadh go dtaispeánfadh fógraí. Bain triail as seirbhís blocála fógraí a athrú sna socruithe. @@ -1715,11 +1715,11 @@ Teorainneacha: Teachtaireacht scriosta Taispeáin teachtaireachtaí scriosta Ná taispeáin teachtaireachtaí scriosta - Folaigh teachtaireachtaí scriosta taobh thiar de spoiler - Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe + Folaigh teachtaireachtaí scriosta taobh thiar a fhalsúa + Taispeáin teachtaireachtaí scriosta mar théacs trasnaithe amach - Tóg Pointí Cainte go huathoibríoch + Éiligh Pointí Cainéil go huathoibríoch Éilítear Pointí Cainéal go huathoibríoch Ní éilítear Pointí Cainéal go huathoibríoch diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 088a6b07d9..54a548f0e7 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -22,18 +22,18 @@ Second \"item\" text" Pemeriksaan gagal - Buka situs resminya + Buka situs resmi Abaikan - <h5>Aplikasi ini tampaknya tidak dipatch oleh Anda.</h5><br>Aplikasi ini mungkin tidak berfungsi dengan baik, <b>bisa berbahaya atau bahkan membahayakan untuk digunakan</b>.<br><br>Pemeriksaan ini berarti bahwa aplikasi ini telah dipatch sebelumnya atau diperoleh dari orang lain:<br><br><small>%1$s</small><br>Sangat disarankan untuk <b>mencopot pemasangan aplikasi ini dan mempatchnya sendiri</b> guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.<p><br>Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali. - Dipatch pada perangkat yang berbeda - Tidak dipasang oleh ReVanced Manager - Dipatch lebih dari 10 menit yang lalu - Dipatch %s hari yang lalu + <h5>Aplikasi ini tampaknya tidak ditambal oleh Anda.</h5><br>Aplikasi ini mungkin tidak bisa berfungsi dengan baik, <b>bisa berbahaya atau bahkan membahayakan untuk digunakan</b>.<br><br>Pemeriksaan ini berarti bahwa aplikasi ini telah ditambal sebelumnya atau diperoleh dari orang lain:<br><br><small>%1$s</small><br>Sangat disarankan untuk <b>mencopot pemasangan aplikasi ini dan menambalnya sendiri</b> guna memastikan Anda menggunakan aplikasi yang tervalidasi dan aman.<p><br>Jika diabaikan, peringatan ini hanya akan ditampilkan dua kali. + Ditambal pada perangkat yang berbeda + Tidak terpasang oleh ReVanced Manager + Ditambal lebih dari 10 menit yang lalu + Ditambal %s hari yang lalu Tanggal pembuatan APK rusak Peringatan - Riwayat tontonan Anda tidak disimpan.<br><br>Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.<br><br>Untuk memperbaikinya, masukkan daftar putih <b>s.youtube.com</b> atau matikan semua pemblokir DNS dan proksi. + Riwayat tontonan Anda tidak sedanh disimpan.<br><br>Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.<br><br>Untuk memperbaikinya, masukkan ke daftar putih <b>s.youtube.com</b> atau matikan semua pemblokir iklan DNS dan proksi. Jangan tampilkan lagi @@ -48,7 +48,7 @@ Second \"item\" text" Impor Salin Pengaturan ReVanced diatur ke bawaan - Mengimpor setelan %d + Setelan %d terimpor Impor gagal: %s Pengaturan pencarian Tidak ada hasil yang ditemukan untuk \'%s\' @@ -62,12 +62,12 @@ Second \"item\" text" • Tekan lama pada pengaturan untuk menelusuri ke jalur tersebut • Tekan Enter untuk menyimpan kueri pencarian ke riwayat • Pencarian mengabaikan huruf besar/kecil dan tanda baca -• Pengaturan orang tua muncul di atas pengaturan anak yang dinonaktifkan" +• Pengaturan utama muncul di atas pengaturan sampingan yang dinonaktifkan" Riwayat pencarian kosong Untuk menyimpan riwayat pencarian, ketik kueri pencarian dan tekan Enter - Tampilkan pengaturan riwayat pencarian - Pengaturan riwayat pencarian ditampilkan - Pengaturan riwayat pencarian tidak ditampilkan + Tampilkan riwayat pencarian setelan + Riwayat pencarian setelan ditampilkan + Riwayat pencarian setelan tidak ditampilkan Tampilkan ikon pengaturan ReVanced Ikon pengaturan ditampilkan Ikon pengaturan tidak ditampilkan @@ -1609,7 +1609,7 @@ Batasan: • Menu trek audio tidak ada • Tidak ada codec video AV1 • Volume stabil tidak tersedia - • Pemutaran mungkin tersendat atau melewatkan bingkai + • Pemutaran mungkin tersendat-sendat atau terjadi penurunan kualitas gambar • Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran • Paksa audio asli tidak tersedia @@ -1658,9 +1658,9 @@ Batasan: Tombol Beranda disembunyikan Tombol Beranda ditampilkan - Sembunyikan Cuplikan - Tombol Cuplikan disembunyikan - Tombol Cuplikan ditampilkan + Sembunyikan Sampel + Tombol Sampel disembunyikan + Tombol Sampel ditampilkan Sembunyikan Jelajahi Tombol Jelajahi disembunyikan diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index aac14f5d8b..c4084ad6eb 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -508,7 +508,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が 「動画の URL をコピー」ボタンを表示 ボタンがプレーヤー オーバーレイに表示されます。タップすると動画の URL が、長押しするとタイムスタンプ付きの URL がそれぞれコピーされます ボタンはプレーヤー オーバーレイに表示されません - 「動画のタイムスタンプ付き URL をコピー」ボタンを表示 + 「タイムスタンプ付き URL をコピー」ボタンを表示 ボタンがプレーヤー オーバーレイに表示されます。タップするとタイムスタンプ付きの URL が、長押しするとタイムスタンプなしの URL がそれぞれコピーされます ボタンはプレーヤー オーバーレイに表示されません @@ -1483,7 +1483,7 @@ Automotive レイアウト 動画のループ再生がオフになっています - デバイスの画面サイズを偽装する + デバイスの画面サイズを偽装 "デバイスの画面サイズは偽装されています より高画質な映像がアンロックされる可能性がありますが、動画のカクつき、バッテリー寿命の悪化、予期せぬ副作用が @@ -1586,8 +1586,8 @@ Automotive レイアウト ビデオ コーデックは強制的に AVC (H.264) になります ビデオ コーデックは自動的に決定されます "利点: -• バッテリー寿命を延ばすことができる -• 古いデバイスで失われた動画解像度を復元できる +• バッテリー寿命が延びる可能性がある +• 古いデバイスで失われた動画解像度を復元できる可能性がある 制限事項: • 最大解像度が 1080p @@ -1612,7 +1612,7 @@ Automotive レイアウト •「音声トラック」がフライアウト メニューに表示されない • AV1 コーデックが利用できない •「一定音量」が利用できない - • 再生が途切れたり、フレームがスキップされたりする場合があります。 + • 再生がカクつく、またはコマ落ちが発生する場合がある • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある •「オリジナルの音声を強制的に使用」が利用できない diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 7f531a7756..9f4a490a1c 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -1609,7 +1609,7 @@ Ograničenja: • Meni „Audio snimak” nedostaje • Nema video kodeka AV1 • Opcija „Ujednačena jačina zvuka” nije dostupna - • Reprodukcija može zastajkivati ili ispuštati kadrove + • Reprodukcija može zastajkivati ili preskakati kadrove • Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja • Prisiljavanje originalnog zvuka nije dostupno diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 62bc59052d..b1198cc439 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1612,7 +1612,7 @@ Second \"item\" text" • Мени „Аудио снимак” недостаје • Нема видео кодека AV1 • Опција „Уједначена јачина звука” није доступна - • Репродукција може да сецка или да испушта кадрове + • Репродукција може застајкивати или прескакати кадрове • Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања • Присиљавање оригиналног звука није доступно diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index ade1fb052e..5ff8a78233 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -58,13 +58,13 @@ Second \"item\" text" Xóa lịch sử tìm kiếm Bạn có chắc chắn muốn xóa tất cả lịch sử tìm kiếm không? Mẹo tìm kiếm - "• Nhấn vào một đường dẫn để điều hướng đến đó -• Nhấn giữ một cài đặt để điều hướng đến đó -• Nhấn Enter để lưu truy vấn tìm kiếm vào lịch sử + "• Nhấn vào một đường dẫn để đi đến đó +• Nhấn giữ một cài đặt để đi đến đó +• Nhấn Enter để lưu từ khoá tìm kiếm vào lịch sử • Tìm kiếm bỏ qua chữ hoa/thường và dấu câu -• Cài đặt cha xuất hiện phía trên cài đặt con bị vô hiệu hóa" - Lịch sử tìm kiếm trống - Để lưu lịch sử tìm kiếm, nhập truy vấn tìm kiếm và nhấn Enter +• Cài đặt lớn nằm phía trên cài đặt nhỏ bị vô hiệu hóa" + Lịch sử tìm kiếm đang trống + Để lưu lịch sử tìm kiếm, nhập từ khoá tìm kiếm và nhấn Enter Hiện lịch sử tìm kiếm cài đặt Lịch sử tìm kiếm cài đặt đã được hiển thị Lịch sử tìm kiếm cài đặt không được hiển thị @@ -157,8 +157,8 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Tham số truy vấn theo dõi bị loại bỏ khỏi các liên kết được chia sẻ Tham số truy vấn theo dõi không bị loại bỏ khỏi các liên kết được chia sẻ Thay đổi liên kết chia sẻ thành youtube.com - Liên kết được chia sẻ sử dụng youtube.com - Liên kết được chia sẻ sử dụng music.youtube.com + Liên kết chia sẻ bắt đầu bằng youtube.com + Liên kết chia sẻ bắt đầu bằng music.youtube.com @@ -1481,11 +1481,11 @@ Nhấn vào đây để tìm hiểu thêm về DeArrow" Video sẽ không lặp lại
- Hiện nút video lặp lại + Hiện nút lặp lại video Nút được hiển thị Nút không được hiển thị - Video lặp lại đang bật - Video lặp lại đang tắt + Lặp lại video đang bật + Lặp lại video đang tắt Giả mạo kích thước thiết bị From 19949e1695cc252ff0f94a33b6e3fb62e967d7fd Mon Sep 17 00:00:00 2001 From: Dawid Krajcarz <80264606+drobotk@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:11:41 +0200 Subject: [PATCH 44/63] fix(Spotify): Change `Hide Create button` patch to default off (#6067) --- .../spotify/layout/hide/createbutton/HideCreateButtonPatch.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt index 5149514791..4bb03fa068 100644 --- a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt @@ -17,7 +17,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = @Suppress("unused") val hideCreateButtonPatch = bytecodePatch( name = "Hide Create button", - description = "Hides the \"Create\" button in the navigation bar." + description = "Hides the \"Create\" button in the navigation bar. The latest app targets do not need this patch.", + use = false ) { compatibleWith("com.spotify.music") From 5ed092bb7dfbfd868b528fe5f49cdf6585552572 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 07:14:51 +0000 Subject: [PATCH 45/63] chore: Release v5.42.0-dev.13 [skip ci] # [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07) ### Bug Fixes * **Spotify:** Change `Hide Create button` patch to default off ([#6067](https://github.com/ReVanced/revanced-patches/issues/6067)) ([19949e1](https://github.com/ReVanced/revanced-patches/commit/19949e1695cc252ff0f94a33b6e3fb62e967d7fd)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e92508d4b2..a48f5721ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07) + + +### Bug Fixes + +* **Spotify:** Change `Hide Create button` patch to default off ([#6067](https://github.com/ReVanced/revanced-patches/issues/6067)) ([19949e1](https://github.com/ReVanced/revanced-patches/commit/19949e1695cc252ff0f94a33b6e3fb62e967d7fd)) + # [5.42.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.11...v5.42.0-dev.12) (2025-10-03) diff --git a/gradle.properties b/gradle.properties index 5586b7d240..6293cff5ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.12 +version = 5.42.0-dev.13 From 20c413120bad97af6121718e76b22a1b5540aa44 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Tue, 7 Oct 2025 13:40:37 +0200 Subject: [PATCH 46/63] feat(Instagram): Add `Custom share domain` patch (#5998) --- .../domain/ChangeLinkSharingDomainPatch.java | 33 ++++++++++++ .../privacy/SanitizeSharingLinksPatch.java | 15 ++++++ patches/api/patches.api | 8 +++ .../misc/privacy/SanitizeSharingLinksPatch.kt | 50 +++---------------- .../misc/share/EditShareLinksPatch.kt | 31 ++++++++++++ ...PermalinkResponseJsonParserFingerprint.kt} | 2 +- .../domain/ChangeLinkSharingDomainPatch.kt | 42 ++++++++++++++++ .../misc/share/domain/Fingerprint.kt | 16 ++++++ .../privacy/SanitizeSharingLinksPatch.kt | 33 ++++++++++++ .../patches/shared/SharedPatchNames.kt | 3 ++ .../links/ChangeLinkSharingDomainPatch.kt | 6 ++- 11 files changed, 192 insertions(+), 47 deletions(-) create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java create mode 100644 extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt rename patches/src/main/kotlin/app/revanced/patches/instagram/misc/{privacy/Fingerprints.kt => share/PermalinkResponseJsonParserFingerprint.kt} (93%) create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java new file mode 100644 index 0000000000..77eea7e847 --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.java @@ -0,0 +1,33 @@ +package app.revanced.extension.instagram.misc.share.domain; + +import android.net.Uri; +import app.revanced.extension.shared.Logger; + +@SuppressWarnings("unused") +public final class ChangeLinkSharingDomainPatch { + + private static String getCustomShareDomain() { + // Method is modified during patching. + throw new IllegalStateException(); + } + + /** + * Injection point. + */ + public static String setCustomShareDomain(String url) { + try { + Uri uri = Uri.parse(url); + Uri.Builder builder = uri + .buildUpon() + .authority(getCustomShareDomain()) + .clearQuery(); + + String patchedUrl = builder.build().toString(); + Logger.printInfo(() -> "Domain change from : " + url + " to: " + patchedUrl); + return patchedUrl; + } catch (Exception ex) { + Logger.printException(() -> "setCustomShareDomain failure with " + url, ex); + return url; + } + } +} diff --git a/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java new file mode 100644 index 0000000000..9b3aa6347a --- /dev/null +++ b/extensions/instagram/src/main/java/app/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch.java @@ -0,0 +1,15 @@ +package app.revanced.extension.instagram.misc.share.privacy; + +import app.revanced.extension.shared.privacy.LinkSanitizer; + +@SuppressWarnings("unused") +public final class SanitizeSharingLinksPatch { + private static final LinkSanitizer sanitizer = new LinkSanitizer("igsh"); + + /** + * Injection point. + */ + public static String sanitizeSharingLink(String url) { + return sanitizer.sanitizeUrlString(url); + } +} diff --git a/patches/api/patches.api b/patches/api/patches.api index 806d7a46e6..c12b7a9bd3 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -292,6 +292,14 @@ public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLi public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatchKt { + public static final fun getChangeLinkSharingDomainPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatchKt { + public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt { public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt index 54d7e9c031..9e5930af8c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt @@ -1,50 +1,12 @@ package app.revanced.patches.instagram.misc.privacy -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch -import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS -import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS -import app.revanced.util.indexOfFirstInstructionOrThrow -import com.android.tools.smali.dexlib2.Opcode -import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction - -private const val EXTENSION_CLASS_DESCRIPTOR = - "Lapp/revanced/extension/instagram/misc/privacy/SanitizeSharingLinksPatch;" +@Deprecated( + "Patch was moved to a different package", + ReplaceWith("app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch") +) @Suppress("unused") -val sanitizeSharingLinksPatch = bytecodePatch( - name = PATCH_NAME_SANITIZE_SHARING_LINKS, - description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, -) { - compatibleWith("com.instagram.android") - - dependsOn(sharedExtensionPatch) - - execute { - arrayOf( - permalinkResponseJsonParserFingerprint, - storyUrlResponseJsonParserFingerprint, - profileUrlResponseJsonParserFingerprint, - liveUrlResponseJsonParserFingerprint - ).forEach { fingerprint -> - fingerprint.method.apply { - val putSharingUrlIndex = indexOfFirstInstructionOrThrow( - fingerprint.stringMatches!!.first().index, - Opcode.IPUT_OBJECT - ) - - val sharingUrlRegister = getInstruction(putSharingUrlIndex).registerA - - addInstructions( - putSharingUrlIndex, - """ - invoke-static { v$sharingUrlRegister }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$sharingUrlRegister - """ - ) - } - } - } +val sanitizeSharingLinksPatch = bytecodePatch { + dependsOn(app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch) } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt new file mode 100644 index 0000000000..b6d968c652 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/EditShareLinksPatch.kt @@ -0,0 +1,31 @@ +package app.revanced.patches.instagram.misc.share + +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod +import app.revanced.util.indexOfFirstInstruction +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +context(BytecodePatchContext) +internal fun editShareLinksPatch(block: MutableMethod.(index: Int, register: Int) -> Unit) { + val fingerprintsToPatch = arrayOf( + permalinkResponseJsonParserFingerprint, + storyUrlResponseJsonParserFingerprint, + profileUrlResponseJsonParserFingerprint, + liveUrlResponseJsonParserFingerprint + ) + + for (fingerprint in fingerprintsToPatch) { + fingerprint.method.apply { + val putSharingUrlIndex = indexOfFirstInstruction( + permalinkResponseJsonParserFingerprint.stringMatches!!.first().index, + Opcode.IPUT_OBJECT + ) + + val sharingUrlRegister = getInstruction(putSharingUrlIndex).registerA + + block(putSharingUrlIndex, sharingUrlRegister) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/PermalinkResponseJsonParserFingerprint.kt similarity index 93% rename from patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt rename to patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/PermalinkResponseJsonParserFingerprint.kt index 78ac35f85c..9e0d8e64d2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/PermalinkResponseJsonParserFingerprint.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.instagram.misc.privacy +package app.revanced.patches.instagram.misc.share import app.revanced.patcher.fingerprint diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt new file mode 100644 index 0000000000..1e476b73b4 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatch.kt @@ -0,0 +1,42 @@ +package app.revanced.patches.instagram.misc.share.domain + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.stringOption +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.patches.instagram.misc.share.editShareLinksPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN +import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN +import app.revanced.util.returnEarly + +@Suppress("unused") +val changeLinkSharingDomainPatch = bytecodePatch( + name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN, + description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN, + use = false +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + val customDomainHost by stringOption( + key = "domainName", + default = "imginn.com", + title = "Domain name", + description = "The domain name to use when sharing links." + ) + + getCustomShareDomainFingerprint.method.returnEarly(customDomainHost!!) + + editShareLinksPatch { index, register -> + addInstructions( + index, + """ + invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->setCustomShareDomain(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$register + """ + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt new file mode 100644 index 0000000000..1337520001 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/domain/Fingerprint.kt @@ -0,0 +1,16 @@ +package app.revanced.patches.instagram.misc.share.domain + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/instagram/misc/share/domain/ChangeLinkSharingDomainPatch;" + +internal val getCustomShareDomainFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { method, classDef -> + method.name == "getCustomShareDomain" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt new file mode 100644 index 0000000000..a73099a225 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/share/privacy/SanitizeSharingLinksPatch.kt @@ -0,0 +1,33 @@ +package app.revanced.patches.instagram.misc.share.privacy + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch +import app.revanced.patches.instagram.misc.share.editShareLinksPatch +import app.revanced.patches.shared.PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS +import app.revanced.patches.shared.PATCH_NAME_SANITIZE_SHARING_LINKS + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/instagram/misc/share/privacy/SanitizeSharingLinksPatch;" + +@Suppress("unused") +val sanitizeSharingLinksPatch = bytecodePatch( + name = PATCH_NAME_SANITIZE_SHARING_LINKS, + description = PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS, +) { + compatibleWith("com.instagram.android") + + dependsOn(sharedExtensionPatch) + + execute { + editShareLinksPatch { index, register -> + addInstructions( + index, + """ + invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->sanitizeSharingLink(Ljava/lang/String;)Ljava/lang/String; + move-result-object v$register + """ + ) + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt index 34b91a59c4..39e3e8cf5d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt @@ -9,3 +9,6 @@ internal const val PATCH_DESCRIPTION_REMOVE_ROOT_DETECTION = "Removes the check internal const val PATCH_NAME_SANITIZE_SHARING_LINKS = "Sanitize sharing links" internal const val PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS = "Removes the tracking query parameters from shared links." + +internal const val PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN = "Change link sharing domain" +internal const val PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN = "Replaces the domain name of shared links." diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt index 982fdb5a4f..db33e715b6 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/links/ChangeLinkSharingDomainPatch.kt @@ -6,6 +6,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch import app.revanced.patcher.patch.stringOption +import app.revanced.patches.shared.PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN +import app.revanced.patches.shared.PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN import app.revanced.patches.shared.misc.mapping.get import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.mapping.resourceMappings @@ -29,8 +31,8 @@ private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/twitter/patches/li @Suppress("unused") val changeLinkSharingDomainPatch = bytecodePatch( - name = "Change link sharing domain", - description = "Replaces the domain name of Twitter links when sharing them.", + name = PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN, + description = PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN ) { dependsOn( changeLinkSharingDomainResourcePatch, From 277a8b6b4752b0691d9455e1308450be9be46485 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 11:45:19 +0000 Subject: [PATCH 47/63] chore: Release v5.42.0-dev.14 [skip ci] # [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07) ### Features * **Instagram:** Add `Custom share domain` patch ([#5998](https://github.com/ReVanced/revanced-patches/issues/5998)) ([20c4131](https://github.com/ReVanced/revanced-patches/commit/20c413120bad97af6121718e76b22a1b5540aa44)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a48f5721ec..e7f0d56938 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07) + + +### Features + +* **Instagram:** Add `Custom share domain` patch ([#5998](https://github.com/ReVanced/revanced-patches/issues/5998)) ([20c4131](https://github.com/ReVanced/revanced-patches/commit/20c413120bad97af6121718e76b22a1b5540aa44)) + # [5.42.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.12...v5.42.0-dev.13) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 6293cff5ff..01b1b9f2e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.13 +version = 5.42.0-dev.14 From 2154d89242fd8d7f7460145d5d35a4f1986944a3 Mon Sep 17 00:00:00 2001 From: brosssh <44944126+brosssh@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:37:20 +0200 Subject: [PATCH 48/63] feat(Instagram): Add `Enable developer menu` patch (#6043) --- patches/api/patches.api | 4 ++ .../misc/devmenu/EnableDeveloperMenuPatch.kt | 37 +++++++++++++++++++ .../instagram/misc/devmenu/Fingerprints.kt | 12 ++++++ 3 files changed, 53 insertions(+) create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index c12b7a9bd3..79abfd5ab7 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -280,6 +280,10 @@ public final class app/revanced/patches/instagram/hide/stories/HideStoriesKt { public static final fun getHideStoriesPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatchKt { + public static final fun getEnableDeveloperMenuPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/extension/SharedExtensionPatchKt { public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt new file mode 100644 index 0000000000..4f594478dd --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMenuPatch.kt @@ -0,0 +1,37 @@ +package app.revanced.patches.instagram.misc.devmenu + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.Utils.trimIndentMultiline +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstructionReversedOrThrow +import app.revanced.util.returnEarly +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +@Suppress("unused") +val enableDeveloperMenuPatch = bytecodePatch( + name = "Enable developer menu", + description = """ + Enables the developer menu, which can be found at the bottom of settings menu with name 'Internal Settings'. + + It is recommended to use this patch with an alpha/beta Instagram release. Patching a stable release works, but the developer menu shows the developer flags as numbers and does not show a human readable description. + """.trimIndentMultiline(), + use = false +) { + compatibleWith("com.instagram.android") + + execute { + with(clearNotificationReceiverFingerprint.method) { + indexOfFirstInstructionReversedOrThrow(clearNotificationReceiverFingerprint.stringMatches!!.first().index) { + val reference = getReference() + Opcode.INVOKE_STATIC == opcode && + reference?.parameterTypes?.size == 1 && + reference.parameterTypes.first() == "Lcom/instagram/common/session/UserSession;" && + reference.returnType == "Z" + }.let { index -> + navigate(this).to(index).stop().returnEarly(true) + } + } + } +} + diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt new file mode 100644 index 0000000000..8b84606f00 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/devmenu/Fingerprints.kt @@ -0,0 +1,12 @@ + +package app.revanced.patches.instagram.misc.devmenu + +import app.revanced.patcher.fingerprint + +internal val clearNotificationReceiverFingerprint = fingerprint { + custom { method, classDef -> + method.name == "onReceive" && + classDef.type == "Lcom/instagram/notifications/push/ClearNotificationReceiver;" + } + strings("NOTIFICATION_DISMISSED") +} From fe16433f20991129f98485eb6aa04f8f6c584686 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 12:42:11 +0000 Subject: [PATCH 49/63] chore: Release v5.42.0-dev.15 [skip ci] # [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07) ### Features * **Instagram:** Add `Enable developer menu` patch ([#6043](https://github.com/ReVanced/revanced-patches/issues/6043)) ([2154d89](https://github.com/ReVanced/revanced-patches/commit/2154d89242fd8d7f7460145d5d35a4f1986944a3)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7f0d56938..0f23c7e465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07) + + +### Features + +* **Instagram:** Add `Enable developer menu` patch ([#6043](https://github.com/ReVanced/revanced-patches/issues/6043)) ([2154d89](https://github.com/ReVanced/revanced-patches/commit/2154d89242fd8d7f7460145d5d35a4f1986944a3)) + # [5.42.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.13...v5.42.0-dev.14) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 01b1b9f2e2..adf346b95d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.14 +version = 5.42.0-dev.15 From f03256c471e1ee6a12267c1b56b531ca8f89278c Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:15:37 +0400 Subject: [PATCH 50/63] fix(YouTube - Spoof video streams): Add "Allow Android VR AV1" setting (#6071) --- .../shared/spoof/SpoofVideoStreamsPatch.java | 15 +++++---- .../patches/spoof/SpoofVideoStreamsPatch.java | 18 ++++++---- .../extension/youtube/settings/Settings.java | 8 +++++ ...oofStreamingDataSideEffectsPreference.java | 10 ++---- patches/api/patches.api | 5 --- .../misc/spoof/SpoofVideoStreamsPatch.kt | 18 ++++------ .../misc/spoof/SpoofVideoStreamsPatch.kt | 20 +++++++---- .../misc/spoof/SpoofVideoStreamsPatch.kt | 33 +++++++++---------- .../resources/addresources/values/arrays.xml | 4 +-- .../resources/addresources/values/strings.xml | 9 ++++- 10 files changed, 76 insertions(+), 64 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java index a1de3d0bec..53664881b7 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/SpoofVideoStreamsPatch.java @@ -19,6 +19,14 @@ import app.revanced.extension.shared.spoof.requests.StreamingDataRequest; @SuppressWarnings("unused") public class SpoofVideoStreamsPatch { + + public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability { + @Override + public boolean isAvailable() { + return BaseSettings.SPOOF_VIDEO_STREAMS.get() && !preferredClient.useAuth; + } + } + /** * Domain used for internet connectivity verification. * It has an empty response body and is only used to check for a 204 response code. @@ -321,11 +329,4 @@ public class SpoofVideoStreamsPatch { return videoFormat; } - - public static final class AudioStreamLanguageOverrideAvailability implements Setting.Availability { - @Override - public boolean isAvailable() { - return BaseSettings.SPOOF_VIDEO_STREAMS.get() && !preferredClient.useAuth; - } - } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java index e9672d1fff..eaf2f3e14b 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java @@ -8,29 +8,35 @@ import static app.revanced.extension.shared.spoof.ClientType.VISIONOS; import java.util.List; +import app.revanced.extension.shared.settings.Setting; import app.revanced.extension.shared.spoof.ClientType; import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") public class SpoofVideoStreamsPatch { + public static final class SpoofClientAv1Availability implements Setting.Availability { + @Override + public boolean isAvailable() { + return Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.isAvailable() + && Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ANDROID_VR_1_43_32; + } + } + /** * Injection point. */ public static void setClientOrderToUse() { ClientType client = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get(); - - if (Settings.FORCE_AVC_CODEC.get() && client == ANDROID_VR_1_61_48) { - // VR 1.61 uses VP9/AV1, and cannot force AVC. Use 1.43 instead. - client = ANDROID_VR_1_43_32; + if (client == ANDROID_VR_1_43_32 && Settings.SPOOF_VIDEO_STREAMS_AV1.get()) { + client = ANDROID_VR_1_61_48; } List availableClients = List.of( + ANDROID_CREATOR, ANDROID_VR_1_43_32, VISIONOS, - ANDROID_CREATOR, - ANDROID_VR_1_61_48, IPADOS); app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.setClientsToUse( diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index e8c21aca17..d131cfee22 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -21,6 +21,7 @@ import static app.revanced.extension.youtube.patches.MiniplayerPatch.MiniplayerT import static app.revanced.extension.youtube.patches.OpenShortsInRegularPlayerPatch.ShortsPlayerType; import static app.revanced.extension.youtube.patches.SeekbarThumbnailsPatch.SeekbarThumbnailsHighQualityAvailability; import static app.revanced.extension.youtube.patches.components.PlayerFlyoutMenuItemsFilter.HideAudioFlyoutMenuAvailability; +import static app.revanced.extension.youtube.patches.spoof.SpoofVideoStreamsPatch.SpoofClientAv1Availability; import static app.revanced.extension.youtube.patches.theme.ThemePatch.SplashScreenAnimationStyle; import static app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController.SponsorBlockDuration; import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.IGNORE; @@ -357,6 +358,8 @@ public class Settings extends BaseSettings { public static final BooleanSetting SPOOF_DEVICE_DIMENSIONS = new BooleanSetting("revanced_spoof_device_dimensions", FALSE, true, "revanced_spoof_device_dimensions_user_dialog_message"); public static final EnumSetting SPOOF_VIDEO_STREAMS_CLIENT_TYPE = new EnumSetting<>("revanced_spoof_video_streams_client_type", ClientType.ANDROID_VR_1_43_32, true, parent(SPOOF_VIDEO_STREAMS)); + public static final BooleanSetting SPOOF_VIDEO_STREAMS_AV1 = new BooleanSetting("revanced_spoof_video_streams_av1", FALSE, true, + "revanced_spoof_video_streams_av1_user_dialog_message", new SpoofClientAv1Availability()); public static final BooleanSetting DEBUG_PROTOBUFFER = new BooleanSetting("revanced_debug_protobuffer", FALSE, false, "revanced_debug_protobuffer_user_dialog_message", parent(BaseSettings.DEBUG)); @@ -524,6 +527,11 @@ public class Settings extends BaseSettings { SPOOF_APP_VERSION.resetToDefault(); } + // VR 1.61 is not selectable in the settings, and it's selected by spoof stream patch if needed. + if (SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ClientType.ANDROID_VR_1_61_48) { + SPOOF_VIDEO_STREAMS_CLIENT_TYPE.resetToDefault(); + } + // RYD requires manually migrating old settings since the lack of // a "revanced_" on the old setting causes duplicate key exceptions during export. SharedPrefCategory revancedPrefs = Setting.preferences; diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java index 919aed6c61..bf66edbd4c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SpoofStreamingDataSideEffectsPreference.java @@ -87,13 +87,9 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference { summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") + '\n' + str("revanced_spoof_video_streams_about_no_av1") + '\n' + str("revanced_spoof_video_streams_about_no_force_original_audio"); - case ANDROID_VR_1_43_32 -> - summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume") - + '\n' + str("revanced_spoof_video_streams_about_no_av1"); - case ANDROID_VR_1_61_48 -> - summary = str("revanced_spoof_video_streams_about_dropped_frames") - + '\n' + summary - + '\n' + str("revanced_spoof_video_streams_about_no_stable_volume"); + // VR 1.61 is not exposed in the UI and should never be reached here. + case ANDROID_VR_1_43_32, ANDROID_VR_1_61_48 -> + summary += '\n' + str("revanced_spoof_video_streams_about_no_stable_volume"); case IPADOS -> summary = str("revanced_spoof_video_streams_about_playback_failure") + '\n' + str("revanced_spoof_video_streams_about_no_av1"); diff --git a/patches/api/patches.api b/patches/api/patches.api index 79abfd5ab7..d45ee2c762 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1026,11 +1026,6 @@ public final class app/revanced/patches/shared/misc/settings/preference/TextPref public fun serialize (Lorg/w3c/dom/Document;Lkotlin/jvm/functions/Function1;)Lorg/w3c/dom/Element; } -public final class app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatchKt { - public static final fun spoofVideoStreamsPatch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch; - public static synthetic fun spoofVideoStreamsPatch$default (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch; -} - public final class app/revanced/patches/shared/misc/spoof/UserAgentClientSpoofPatchKt { public static final fun userAgentClientSpoofPatch (Ljava/lang/String;)Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt index b01f74ccab..93c2944804 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofVideoStreamsPatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.music.misc.spoof -import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.music.misc.extension.sharedExtensionPatch @@ -16,12 +15,13 @@ import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPref import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.shared.misc.spoof.spoofVideoStreamsPatch -private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;" - val spoofVideoStreamsPatch = spoofVideoStreamsPatch( - fixMediaFetchHotConfigChanges = { true }, - fixMediaFetchHotConfigAlternativeChanges = { is_8_11_or_greater && !is_8_15_or_greater }, + extensionClassDescriptor = "Lapp/revanced/extension/music/patches/spoof/SpoofVideoStreamsPatch;", + mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, + fixMediaFetchHotConfig = { true }, + fixMediaFetchHotConfigAlternative = { is_8_11_or_greater && !is_8_15_or_greater }, fixParsePlaybackResponseFeatureFlag = { is_7_33_or_greater }, + block = { dependsOn( sharedExtensionPatch, @@ -38,6 +38,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( ) ) }, + executeBlock = { addResources("music", "misc.fix.playback.spoofVideoStreamsPatch") @@ -51,10 +52,5 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( ) ) ) - - musicActivityOnCreateFingerprint.method.addInstruction( - 0, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setClientOrderToUse()V" - ) } -) \ No newline at end of file +) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index c03e8022ce..7c1c58410d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -1,5 +1,6 @@ package app.revanced.patches.shared.misc.spoof +import app.revanced.patcher.Fingerprint import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels @@ -36,11 +37,13 @@ internal const val EXTENSION_CLASS_DESCRIPTOR = private lateinit var buildRequestMethod: MutableMethod private var buildRequestMethodUrlRegister = -1 -fun spoofVideoStreamsPatch( - block: BytecodePatchBuilder.() -> Unit = {}, - fixMediaFetchHotConfigChanges: BytecodePatchBuilder.() -> Boolean = { false }, - fixMediaFetchHotConfigAlternativeChanges: BytecodePatchBuilder.() -> Boolean = { false }, +internal fun spoofVideoStreamsPatch( + extensionClassDescriptor: String, + mainActivityOnCreateFingerprint: Fingerprint, + fixMediaFetchHotConfig: BytecodePatchBuilder.() -> Boolean = { false }, + fixMediaFetchHotConfigAlternative: BytecodePatchBuilder.() -> Boolean = { false }, fixParsePlaybackResponseFeatureFlag: BytecodePatchBuilder.() -> Boolean = { false }, + block: BytecodePatchBuilder.() -> Unit = {}, executeBlock: BytecodePatchContext.() -> Unit = {}, ) = bytecodePatch( name = "Spoof video streams", @@ -53,6 +56,11 @@ fun spoofVideoStreamsPatch( execute { addResources("shared", "misc.fix.playback.spoofVideoStreamsPatch") + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static { }, $extensionClassDescriptor->setClientOrderToUse()V" + ) + // region Enable extension helper method used by other patches patchIncludedExtensionMethodFingerprint.method.returnEarly(true) @@ -308,14 +316,14 @@ fun spoofVideoStreamsPatch( // region turn off stream config replacement feature flag. - if (fixMediaFetchHotConfigChanges()) { + if (fixMediaFetchHotConfig()) { mediaFetchHotConfigFingerprint.method.insertLiteralOverride( MEDIA_FETCH_HOT_CONFIG_FEATURE_FLAG, "$EXTENSION_CLASS_DESCRIPTOR->useMediaFetchHotConfigReplacement(Z)Z" ) } - if (fixMediaFetchHotConfigAlternativeChanges()) { + if (fixMediaFetchHotConfigAlternative()) { mediaFetchHotConfigAlternativeFingerprint.method.insertLiteralOverride( MEDIA_FETCH_HOT_CONFIG_ALTERNATIVE_FEATURE_FLAG, "$EXTENSION_CLASS_DESCRIPTOR->useMediaFetchHotConfigReplacement(Z)Z" diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt index 0131c9e599..2192f80162 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/spoof/SpoofVideoStreamsPatch.kt @@ -1,6 +1,5 @@ package app.revanced.patches.youtube.misc.spoof -import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.shared.misc.settings.preference.ListPreference import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference @@ -16,9 +15,20 @@ import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint -private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch;" - val spoofVideoStreamsPatch = spoofVideoStreamsPatch( + extensionClassDescriptor = "Lapp/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch;", + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + fixMediaFetchHotConfig = { + is_19_34_or_greater + }, + fixMediaFetchHotConfigAlternative = { + // In 20.14 the flag was merged with 20.03 start playback flag. + is_20_10_or_greater && !is_20_14_or_greater + }, + fixParsePlaybackResponseFeatureFlag = { + is_20_03_or_greater + }, + block = { compatibleWith( "com.google.android.youtube"( @@ -35,16 +45,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( versionCheckPatch ) }, - fixMediaFetchHotConfigChanges = { - is_19_34_or_greater - }, - fixMediaFetchHotConfigAlternativeChanges = { - // In 20.14 the flag was merged with 20.03 start playback flag. - is_20_10_or_greater && !is_20_14_or_greater - }, - fixParsePlaybackResponseFeatureFlag = { - is_20_03_or_greater - }, + executeBlock = { addResources("youtube", "misc.fix.playback.spoofVideoStreamsPatch") @@ -61,6 +62,7 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( summaryKey = null, tag = "app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference" ), + SwitchPreference("revanced_spoof_video_streams_av1"), ListPreference( key = "revanced_spoof_video_streams_language", // Language strings are declared in Setting patch. @@ -72,10 +74,5 @@ val spoofVideoStreamsPatch = spoofVideoStreamsPatch( ) ) ) - - mainActivityOnCreateFingerprint.method.addInstruction( - 0, - "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setClientOrderToUse()V" - ) } ) diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index b2fa4a885b..3faa7cdbeb 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -137,15 +137,13 @@ - Android VR 1.43 - Android VR 1.61 + Android VR Android Studio visionOS iPadOS ANDROID_VR_1_43_32 - ANDROID_VR_1_61_48 ANDROID_CREATOR VISIONOS IPADOS diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 0bdd13f864..2461191bbf 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1681,13 +1681,20 @@ Limitations: Slide to seek is not enabled + Allow Android VR AV1 + "Video codec is AVC (H.264), VP9, or AV1 + +Playback may stutter or drop frames" + Video codec is AVC (H.264) or VP9 + "Enabling this setting may use software AV1 decoding. + +Video playback with AV1 may stutter or drop frames." Spoofing side effects • Experimental client and may stop working anytime • Video may stop at 1:00, or may not be available in some regions • Audio track menu is missing • No AV1 video codec • Stable volume is not available - • Playback may stutter or drop frames • Kids videos may not play when logged out or in incognito mode • Force original audio is not available From bb222d7a26fb0641c47bda5af016fe908ca89a2a Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 15:19:06 +0000 Subject: [PATCH 51/63] chore: Release v5.42.0-dev.16 [skip ci] # [5.42.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.15...v5.42.0-dev.16) (2025-10-07) ### Bug Fixes * **YouTube - Spoof video streams:** Add "Allow Android VR AV1" setting ([#6071](https://github.com/ReVanced/revanced-patches/issues/6071)) ([f03256c](https://github.com/ReVanced/revanced-patches/commit/f03256c471e1ee6a12267c1b56b531ca8f89278c)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f23c7e465..4942f73a77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.15...v5.42.0-dev.16) (2025-10-07) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Add "Allow Android VR AV1" setting ([#6071](https://github.com/ReVanced/revanced-patches/issues/6071)) ([f03256c](https://github.com/ReVanced/revanced-patches/commit/f03256c471e1ee6a12267c1b56b531ca8f89278c)) + # [5.42.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.14...v5.42.0-dev.15) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index adf346b95d..577bf84ab5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.15 +version = 5.42.0-dev.16 From 63be54dd0921ffff588334cbd2b0174772816d55 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:39:54 +0400 Subject: [PATCH 52/63] chore: Remove unneeded binary compatibility for code that was never released to main --- patches/api/patches.api | 4 ---- .../misc/privacy/SanitizeSharingLinksPatch.kt | 12 ------------ 2 files changed, 16 deletions(-) delete mode 100644 patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt diff --git a/patches/api/patches.api b/patches/api/patches.api index d45ee2c762..c85acef50f 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -292,10 +292,6 @@ public final class app/revanced/patches/instagram/misc/links/OpenLinksExternally public static final fun getOpenLinksExternallyPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } -public final class app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatchKt { - public static final fun getSanitizeSharingLinksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; -} - public final class app/revanced/patches/instagram/misc/share/domain/ChangeLinkSharingDomainPatchKt { public static final fun getChangeLinkSharingDomainPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt deleted file mode 100644 index 9e5930af8c..0000000000 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/privacy/SanitizeSharingLinksPatch.kt +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.patches.instagram.misc.privacy - -import app.revanced.patcher.patch.bytecodePatch - -@Deprecated( - "Patch was moved to a different package", - ReplaceWith("app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch") -) -@Suppress("unused") -val sanitizeSharingLinksPatch = bytecodePatch { - dependsOn(app.revanced.patches.instagram.misc.share.privacy.sanitizeSharingLinksPatch) -} From f51b260d1d7d365e4dad047a39445279c4f8d907 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:40:18 +0400 Subject: [PATCH 53/63] chore: Sync translations (#6073) --- .../resources/addresources/values-ar-rSA/strings.xml | 9 ++++++++- .../resources/addresources/values-az-rAZ/strings.xml | 9 ++++++++- .../resources/addresources/values-be-rBY/strings.xml | 9 ++++++++- .../resources/addresources/values-bg-rBG/strings.xml | 9 ++++++++- .../resources/addresources/values-bn-rBD/strings.xml | 9 ++++++++- .../resources/addresources/values-cs-rCZ/strings.xml | 9 ++++++++- .../resources/addresources/values-da-rDK/strings.xml | 9 ++++++++- .../resources/addresources/values-de-rDE/strings.xml | 9 ++++++++- .../resources/addresources/values-el-rGR/strings.xml | 9 ++++++++- .../resources/addresources/values-es-rES/strings.xml | 7 ++++++- .../resources/addresources/values-et-rEE/strings.xml | 9 ++++++++- .../resources/addresources/values-fi-rFI/strings.xml | 9 ++++++++- .../resources/addresources/values-fil-rPH/strings.xml | 9 ++++++++- .../resources/addresources/values-fr-rFR/strings.xml | 9 ++++++++- .../resources/addresources/values-ga-rIE/strings.xml | 9 ++++++++- .../resources/addresources/values-hu-rHU/strings.xml | 9 ++++++++- .../resources/addresources/values-hy-rAM/strings.xml | 9 ++++++++- .../resources/addresources/values-in-rID/strings.xml | 9 ++++++++- .../resources/addresources/values-it-rIT/strings.xml | 9 ++++++++- .../resources/addresources/values-iw-rIL/strings.xml | 9 ++++++++- .../resources/addresources/values-ja-rJP/strings.xml | 9 ++++++++- .../resources/addresources/values-ko-rKR/strings.xml | 9 ++++++++- .../resources/addresources/values-lt-rLT/strings.xml | 9 ++++++++- .../resources/addresources/values-lv-rLV/strings.xml | 9 ++++++++- .../resources/addresources/values-nl-rNL/strings.xml | 9 ++++++++- .../resources/addresources/values-pl-rPL/strings.xml | 9 ++++++++- .../resources/addresources/values-pt-rBR/strings.xml | 9 ++++++++- .../resources/addresources/values-pt-rPT/strings.xml | 9 ++++++++- .../resources/addresources/values-ro-rRO/strings.xml | 9 ++++++++- .../resources/addresources/values-ru-rRU/strings.xml | 9 ++++++++- .../resources/addresources/values-sk-rSK/strings.xml | 9 ++++++++- .../resources/addresources/values-sl-rSI/strings.xml | 9 ++++++++- .../resources/addresources/values-sq-rAL/strings.xml | 9 ++++++++- .../resources/addresources/values-sr-rCS/strings.xml | 9 ++++++++- .../resources/addresources/values-sr-rSP/strings.xml | 9 ++++++++- .../resources/addresources/values-sv-rSE/strings.xml | 9 ++++++++- .../resources/addresources/values-th-rTH/strings.xml | 9 ++++++++- .../resources/addresources/values-tr-rTR/strings.xml | 9 ++++++++- .../resources/addresources/values-uk-rUA/strings.xml | 9 ++++++++- .../resources/addresources/values-vi-rVN/strings.xml | 9 ++++++++- .../resources/addresources/values-zh-rCN/strings.xml | 9 ++++++++- .../resources/addresources/values-zh-rTW/strings.xml | 9 ++++++++- 42 files changed, 334 insertions(+), 42 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 763ba32349..e05f29d234 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -1604,13 +1604,20 @@ Second \"item\" text" تم تعطيل التمرير للتقديم أو الترجيع + السماح لـ Android VR AV1 + "برنامج ترميز الفيديو هو AVC (H.264) أو VP9 أو AV1 + +قد يحدث تقطيع أو فقدان للإطارات أثناء التشغيل" + برنامج ترميز الفيديو هو AVC (H.264) أو VP9 + "قد يؤدي تمكين هذا الإعداد إلى استخدام فك ترميز AV1 برمجيًا. + +قد يتلعثم تشغيل الفيديو بتقنية AV1 أو يفقد بعض الإطارات." التأثيرات الجانبية للتزييف • عميل تجريبي وقد يتوقف عن العمل في أي وقت • قد يتوقف الفيديو عند 1:00، أو قد لا يكون متاحًا في بعض المناطق • قائمة المقطع الصوتي مفقودة • لا يوجد ترميز الفيديو AV1 • مستوى الصوت الثابت غير متاح - • قد يتوقف التشغيل مؤقتًا أو تسقط الإطارات • قد لا يتم تشغيل الفيديوهات المخصصة للأطفال عند تسجيل الخروج أو عند استخدام وضع التصفح المتخفي • فرض الصوت الأصلي غير متاح diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 457b64433c..f5362e7e39 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -1603,13 +1603,20 @@ Məhdudiyyətlər: Axtarmaq üçün sürüşdürmə aktiv deyil + Android VR AV1-ə icazə ver + "Video kodek AVC (H.264), VP9 və ya AV1-dir + +Oxutma kəsilə bilər və ya kadrlar atıla bilər" + Video kodek AVC (H.264) və ya VP9-dur + "Bu ayarı aktivləşdirmək proqram təminatı AV1 dekodlaşdırmasından istifadə edə bilər. + +AV1 ilə video oxutma kəsilə bilər və ya kadrlar atıla bilər." Saxtakarlıq yan təsirləri • Təcrübi qəbuledici və hər vaxt işləməyi dayandıra bilər • Video 01:00-da dayana bilər və ya bəzi bölgələrdə mövcud olmaya bilər • Səs treki menyusu çatışmır • AV1 video kodlayıcı yoxdur • Sabit səs yoxdur - • Oynatma qarışa bilər və ya kadrlar ötürülə bilər • Giriş edilməyəndə və ya gizli rejimdə uşaq videoları oynadıla bilməz • \"Orijinal səsi zorla\" əlçatmazdır diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 935ec76ca9..96a3e1206b 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -1605,13 +1605,20 @@ Second \"item\" text" Слайд для пошуку не ўключаны + Дазволіць Android VR AV1 + "Відэакодэк — AVC (H.264), VP9 або AV1 + +Праграмаванне можа заікацца або прапускаць кадры" + Відэакодэк — AVC (H.264) або VP9 + "Уключэнне гэтай налады можа выкарыстоўваць праграмнае дэкадаванне AV1. + +Прайграванне відэа з AV1 можа заікацца або прапускаць кадры." Пабочныя эфекты падробкі • Эксперыментальны кліент і можа спыніць працу ў любы час • Відэа можа спыніцца на 1:00, ці можа быць недаступным у некаторых рэгіёнах • Меню аўдыядарожкі адсутнічае • Няма відэакідавання AV1 • Стабільная гучнасць недаступная - • Прайграванне можа заікацца або прапускаць кадры • Дзіцячыя відэа могуць не прайгравацца ў стане выхаду з акаўнта або ў рэжыме інкогніта • Прымусовы арыгінальны аўдыё недаступны diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 3ebb4c4536..074bc17b64 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -1604,13 +1604,20 @@ Second \"item\" text" Слайд за превъртане е деактивиран + Разрешаване на Android VR AV1 + "Видеокодекът е AVC (H.264), VP9 или AV1 + +Възпроизвеждането може да заеква или да пропуска кадри" + Видеокодекът е AVC (H.264) или VP9 + "Разрешаването на тази настройка може да използва софтуерно AV1 декодиране. + +Възпроизвеждането на видео с AV1 може да заеква или да пропуска кадри." Странични ефекти от подменянето • Експериментален клиент и може да спре да работи по всяко време • Видеото може да спре на 1:00 или може да не е налично в някои региони • Менюто за аудиозаписи липсва • Без AV1 видео кодек • Стабилният звук не е наличен - • Възпроизвеждането може да заеква или да пропуска кадри • Детските видеоклипове може да не се възпроизвеждат, когато сте излезли от профила си или в режим \"инкогнито\" • Принудителният оригинален звук не е наличен diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 864d56a917..ed6a3d48e7 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -1600,13 +1600,20 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট ভিডিওর নির্দিষ্ট অংশে যেতে টানুন সক্রিয় করা হয়নি + অ্যান্ড্রয়েড VR AV1 অনুমতি দিন + "ভিডিও কোডেক হল AVC (H.264), VP9, অথবা AV1 + +প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে" + ভিডিও কোডেক হল AVC (H.264) অথবা VP9 + "এই সেটিংটি চালু করলে সফটওয়্যার AV1 ডিকোডিং ব্যবহার হতে পারে। + +AV1 সহ ভিডিও প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে।" স্পুফিংয়ের পার্শ্বপ্রতিক্রিয়া • পরীক্ষামূলক ক্লায়েন্ট এবং যেকোনো সময় কাজ করা বন্ধ করতে পারে • ভিডিও ১:০০ মিনিটে বন্ধ হতে পারে, অথবা কিছু অঞ্চলে উপলব্ধ নাও হতে পারে • অডিও ট্র্যাক মেনু অনুপস্থিত • কোনো AV1 ভিডিও কোডেক নেই • স্থিতিশীল ভলিউম উপলব্ধ নেই - • প্লেব্যাক আটকে যেতে পারে বা ফ্রেম বাদ দিতে পারে • লগআউট করা হলে বা ছদ্মবেশী মোডে বাচ্চাদের ভিডিও চলতে নাও পারে • মূল অডিও জোরপূর্বক উপলব্ধ নেই diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index c500e47c5e..c061911e47 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -1604,13 +1604,20 @@ Omezení: Posun pro hledání není povolen + Povolit Android VR AV1 + "Video kodek je AVC (H.264), VP9 nebo AV1 + +Přehrávání se může zasekávat nebo přeskakovat snímky" + Video kodek je AVC (H.264) nebo VP9 + "Povolení tohoto nastavení může využívat softwarové dekódování AV1. + +Přehrávání videa s AV1 se může sekat nebo vypadávat snímky." Vedlejší účinky maskování • Experimentální klient a může kdykoli přestat fungovat • Video se může zastavit v 1:00 nebo nemusí být dostupné v některých oblastech • Chybí nabídka zvukových stop • Žádný video kodek AV1 • Stabilní hlasitost není k dispozici - • Přehrávání se může sekat nebo ztrácet snímky • Dětská videa se nemusí přehrávat, když jste odhlášení nebo v anonymním režimu • Vynutit původní zvuk není k dispozici diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 79182d6970..9ceec5b9cb 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -1606,13 +1606,20 @@ Begrænsninger: Dias til søgning er ikke aktiveret + Tillad Android VR AV1 + "Videocodec er AVC (H.264), VP9 eller AV1 + +Afspilning kan hakke eller miste billeder" + Videocodec er AVC (H.264) eller VP9 + "Aktivering af denne indstilling kan bruge software AV1-afkodning. + +Videoafspilning med AV1 kan hakke eller tabe billeder." Bivirkninger ved spoofing • Eksperimentel klient og kan stoppe med at fungere når som helst • Videoen kan stoppe ved 1:00, eller er muligvis ikke tilgængelig i visse regioner • Lydspormenu mangler • Intet AV1-videokodek • Stabil lydstyrke er ikke tilgængelig - • Afspilning kan hakke eller tabe billeder • Videoer til børn afspilles muligvis ikke, når du er logget ud eller i inkognitotilstand • Tving original lyd er ikke tilgængelig diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index b018f4faf2..a4e4f4dc1a 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -1601,13 +1601,20 @@ Einschränkungen: Slide zum Suchen ist nicht aktiviert + Android VR AV1 zulassen + "Video-Codec ist AVC (H.264), VP9 oder AV1 + +Die Wiedergabe kann stottern oder Frames verlieren" + Video-Codec ist AVC (H.264) oder VP9 + "Durch Aktivierung dieser Einstellung kann Software-AV1-Decodierung verwendet werden. + +Die Videowiedergabe mit AV1 kann stottern oder Bilder überspringen." Nebenwirkungen des Spoofings • Experimenteller Client und kann jederzeit aufhören zu funktionieren • Video kann um 1:00 Uhr stoppen oder ist möglicherweise in einigen Regionen nicht verfügbar • Audiotrack-Menü fehlt • Kein AV1-Videocodec • Stabile Lautstärke ist nicht verfügbar - • Die Wiedergabe kann stottern oder Bilder überspringen • Kinder-Videos werden möglicherweise nicht abgespielt, wenn du abgemeldet bist oder den Inkognito-Modus verwendest. • Originalton erzwingen ist nicht verfügbar diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 88f27c5b2f..8c1f816470 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -1603,13 +1603,20 @@ Second \"item\" text" Η χειρονομία συρσίματος για αναζήτηση στη γραμμή προόδου είναι απενεργοποιημένη + Να επιτρέπεται το Android VR AV1 + "Ο κωδικοποιητής βίντεο είναι AVC (H.264), VP9 ή AV1 + +Η αναπαραγωγή ενδέχεται να κολλήσει ή να χάσει καρέ" + Ο κωδικοποιητής βίντεο είναι AVC (H.264) ή VP9 + "Η ενεργοποίηση αυτής της ρύθμισης ενδέχεται να χρησιμοποιήσει αποκωδικοποίηση AV1 λογισμικού. + +Η αναπαραγωγή βίντεο με AV1 ενδέχεται να έχει διακοπές ή να χάνει καρέ." Παρενέργειες παραποίησης • Πειραματικός πελάτης και μπορεί να σταματήσει να λειτουργεί ανά πάσα στιγμή • Το βίντεο μπορεί να σταματήσει στο 1:00 ή να μην είναι διαθέσιμο σε ορισμένες περιοχές • Το μενού «Κομμάτι ήχου» λείπει • Δεν υπάρχει ο κωδικοποιητής βίντεο AV1 • Η λειτουργία «Σταθερή ένταση» δεν είναι διαθέσιμη - • Η αναπαραγωγή μπορεί να κομπιάζει ή να χάνει καρέ • Τα βίντεο για παιδιά ενδέχεται να μην αναπαράγονται αν είστε αποσυνδεδεμένοι ή σε λειτουργία ανώνυμης περιήγησης • Ο εξαναγκασμός αρχικής γλώσσας ήχου δεν είναι διαθέσιμος diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 05998beab7..e2808ffe4b 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -1595,13 +1595,18 @@ Limitaciones: Slide to seek no está activado + Permitir Android VR AV1 + "El códec de video es AVC (H.264), VP9 o AV1 + +La reproducción puede tartamudear o perder fotogramas" + El códec de video es AVC (H.264) o VP9 + "Habilitar esta configuración puede usar la decodificación de software AV1.\n\nLa reproducción de video con AV1 puede tartamudear o perder fotogramas." Efectos secundarios de la falsificación • El cliente es experimental y puede dejar de funcionar en cualquier momento • El video puede detenerse en 1:00, o puede no estar disponible en algunas regiones • Falta el menú de la pista de audio • Sin códec de vídeo AV1 • Volumen estable no disponible - • La reproducción podría tartamudear o perder fotogramas • Es posible que los vídeos infantiles no se reproduzcan cuando se cierra la sesión o se está en modo incógnito • Forzar audio original no está disponible diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 3ceaec10d6..7072527635 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -1604,13 +1604,20 @@ Piirangud: Libistamine otsimiseks on keelatud + Luba Android VR AV1 + "Videokodek on AVC (H.264), VP9 või AV1 + +Taasesitus võib hakata kokutama või kaotada kaadreid" + Videokodek on AVC (H.264) või VP9 + "Selle seade lubamine võib kasutada tarkvara AV1 dekodeerimist. + +AV1-ga videotaasesitus võib hakitud olla või kaadreid vahele jätta." Võltsimise kõrvalmõjud • Eksperimentaalne klient ja võib igal ajal töötamast lakata • Video võib peatuda kell 1:00 või ei pruugi olla teatud piirkondades saadaval • Heliraja menüü puudub • Puuduv AV1 videokoodek • Stabiilne helitugevus pole saadaval - • Taasesitus võib katkendlik olla või kaadreid vahele jätta • Video lastele ei pruugi taasesitada, kui olete välja logitud või inkognito režiimis • Sunni algne heli pole saadaval diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 4f9b72353a..04220491f1 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -1604,13 +1604,20 @@ Rajoitukset: Kelaus liu\'uttamalla ei ole käytössä + Salli Android VR AV1 + "Videokoodekki on AVC (H.264), VP9 tai AV1 + +Toisto voi nykiä tai pudottaa kehyksiä" + Videokoodekki on AVC (H.264) tai VP9 + "Tämän asetuksen ottaminen käyttöön saattaa käyttää ohjelmistopohjaista AV1-dekoodausta. + +AV1-videon toisto saattaa pätkiä tai pudottaa kuvia." Naamioimisen sivuvaikutukset • Kokeellinen asiakasohjelma, joka saattaa lakata toimimasta milloin tahansa • Video saattaa pysähtyä aikaan 1:00, tai ei välttämättä ole saatavilla joillakin alueilla • Ääniraitavalikko puuttuu • Ei AV1-videokoodekkia • Tasainen äänenvoimakkuus ei ole käytettävissä - • Toisto saattaa pätkiä tai pudottaa kuvia • Lasten videot eivät ehkä toistu, kun olet kirjautunut ulos tai incognito-tilassa • Pakota alkuperäinen ääni ei ole käytettävissä diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index cce1c246a0..13a99b5af4 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -1602,13 +1602,20 @@ Mga Limitasyon: Hindi pinagana ang slide to seek + Payagan ang Android VR AV1 + "Ang video codec ay AVC (H.264), VP9, o AV1 + +Maaaring mag-stutter o mag-drop ng frames ang playback" + Ang video codec ay AVC (H.264) o VP9 + "Ang pagpapagana sa setting na ito ay maaaring gumamit ng software AV1 decoding. + +Maaaring mag-stutter o mag-drop ng frames ang pag-playback ng video na may AV1." Mga epekto ng pagpapanggap • Pang-eksperimentong kliyente at maaaring huminto sa paggana anumang oras • Maaaring huminto ang video sa 1:00, o maaaring hindi available sa ilang rehiyon • Nawawala ang menu ng audio track • Walang AV1 video codec • Hindi available ang stable volume - • Maaaring mag-stutter ang pag-playback o bumaba ang mga frame • Mga video ng mga bata ay maaaring hindi ma-play kapag naka-log out o nasa incognito mode • Ang Pilitin ang orihinal na audio ay hindi magagamit diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index ae8e618fa6..88b85b6265 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -1605,13 +1605,20 @@ Limitations : Glisser pour rechercher est désactivé + Autoriser Android VR AV1 + "Le codec vidéo est AVC (H.264), VP9 ou AV1 + +La lecture peut saccader ou perdre des images" + Le codec vidéo est AVC (H.264) ou VP9 + "L'activation de ce paramètre peut utiliser le décodage AV1 logiciel. + +La lecture vidéo avec AV1 peut saccader ou perdre des images." Effets secondaires de la falsification • Client expérimental, peut cesser de fonctionner à tout moment • Les vidéos sont susceptibles de s\'arrêter à 1:00, ou de ne pas être disponibles dans certaines régions • Le menu Piste audio est absent • Codec vidéo AV1 indisponible • Le volume stable n\'est pas disponible - • Il est possible que la lecture soit saccadée ou que des images soient perdues • La lecture des vidéos pour enfants peut ne pas fonctionner lorsque vous êtes déconnecté ou en mode navigation privée • Forcer la langue audio d\'origine n\'est pas disponible diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 7854cfb81d..6141389a05 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -1604,13 +1604,20 @@ Teorainneacha: Níl sleamhnán le lorg cumasaithe + Ceadaigh Android VR AV1 + "Is é an códac físeáin AVC (H.264), VP9, nó AV1 + +D'fhéadfadh go mbeadh fadhbanna le hathsheinm nó go gcaillfí frámaí" + Is é an códac físeáin AVC (H.264) nó VP9 + "Má chumasaítear an socrú seo, d'fhéadfadh sé díchódú bogearraí AV1 a úsáid. + +D'fhéadfadh athsheinm físe AV1 leacadh nó frámaí a scaoileadh." Fo-éifeachtaí a fhalsúa • Cliant turgnamhach é seo agus féadfaidh sé stop a chur ag obair ag am ar bith • Is féidir go stopfaidh an físeán ag 1:00, nó b\'fhéidir nach mbeidh sé ar fáil i réigiúin áirithe • Tá an roghchlár rian fuaime in easnamh • Níl aon cóideac físe AV1 • Níl toirt chobhsaí ar fáil - • D\'fhéadfadh an athsheinm bacadh nó frámaí a chailleadh • Seans nach seinnfear físeáin do pháistí nuair a bhíonn siad logáilte amach nó i mód go hanaithnid • Níl an fuaim bhunaidh iallach ar fáil diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 058a2f9f85..bc71281b59 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -1601,13 +1601,20 @@ Korlátozások: A csúsztatás a kereséshez nincs engedélyezve + Android VR AV1 engedélyezése + "A videó kodek AVC (H.264), VP9 vagy AV1 + +A lejátszás akadozhat vagy képkockákat ejthet" + A videokodek AVC (H.264) vagy VP9 + "Ennek a beállításnak az engedélyezése szoftveres AV1 dekódolást használhat. + +Az AV1-es videólejátszás akadozhat vagy képkockákat ejthet." Hamisítás mellékhatásai • Kísérleti kliens, és bármikor leállhat • A videó megállhat 1:00-nál, vagy előfordulhat, hogy egyes régiókban nem elérhető • Hiányzik az hangsáv menü • Nincs AV1 videokodek • Stabil hangerő nem elérhető - • A lejátszás akadozhat vagy képkockákat dobhat. • A gyermekeknek szóló videók nem játszódnak le, ha a felhasználó kijelentkezett, vagy inkognitómódban van. • Eredeti hang kényszerítése nem érhető el diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index bb723e17cf..d4e4b4c862 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -1605,13 +1605,20 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Սահելը համար ընտրելը անջատված է + Թույլատրել Android VR AV1 + "Տեսակոդեկը AVC (H.264), VP9 կամ AV1 է + +Նվագարկումը կարող է կանգ առնել կամ կորցնել կադրեր" + Տեսակոդեկը AVC (H.264) կամ VP9 է + "Այս կարգավորումը միացնելը կարող է օգտագործել AV1 ծրագրային ապակոդավորում: + +AV1-ով տեսանյութի նվագարկումը կարող է ընդհատվել կամ կորցնել կադրեր:" Կեղծելու կողմնակի ազդեցություններ • Փորձնական հաճախորդ է և կարող է ցանկացած պահի դադարել աշխատել • Տեսանյութը կարող է դադարել 1:00-ին կամ հասանելի չլինել որոշ տարածաշրջաններում • Ձայնային ուղու մենյուն բացակայում է • Հեռացված բոլոր AV1 վիդեո կոդեկները • Կայուն ձայնի մակարդակը հասանելի չէ - • Նվագարկումը հնարավոր է ընդհատվի կամ բաց թողնի կադրեր Երեխաների տեսանյութերը կարող են չհամապատասխանել հետևյալ պահանջներին՝ եթե արտոնագրման խախտումներ կան։ • Բնօրինակ ձայնի պարտադրումը հասանելի չէ diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 54a548f0e7..db621a6735 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -1603,13 +1603,20 @@ Batasan: Geser untuk mencari tidak diaktifkan + Izinkan Android VR AV1 + "Codec video adalah AVC (H.264), VP9, atau AV1 + +Pemutaran mungkin tersendat atau kehilangan bingkai" + Codec video adalah AVC (H.264) atau VP9 + "Mengaktifkan pengaturan ini mungkin menggunakan decoding AV1 perangkat lunak. + +Pemutaran video dengan AV1 mungkin tersendat atau kehilangan bingkai." Efek samping pemalsuan • Klien eksperimental dan dapat berhenti berfungsi kapan saja • Video mungkin berhenti pada 1:00, atau mungkin tidak tersedia di beberapa wilayah • Menu trek audio tidak ada • Tidak ada codec video AV1 • Volume stabil tidak tersedia - • Pemutaran mungkin tersendat-sendat atau terjadi penurunan kualitas gambar • Video anak-anak mungkin tidak dapat diputar saat keluar atau dalam mode penyamaran • Paksa audio asli tidak tersedia diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 65f0b05511..509208cec0 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -1603,13 +1603,20 @@ Limitazioni: Scorri per avanzare non è abilitato + Consenti Android VR AV1 + "Il codec video è AVC (H.264), VP9 o AV1 + +La riproduzione potrebbe subire interruzioni o perdere fotogrammi" + Il codec video è AVC (H.264) o VP9 + "Abilitando questa impostazione potrebbe essere utilizzata la decodifica AV1 via software. + +La riproduzione video con AV1 potrebbe rallentare o perdere fotogrammi." Effetti collaterali della falsificazione • Client sperimentale e potrebbe smettere di funzionare in qualsiasi momento • Il video potrebbe interrompersi all\'1:00, o potrebbe non essere disponibile in alcune regioni • Manca il menu delle tracce audio • Nessun codec video AV1 • Il volume stabile non è disponibile - • La riproduzione potrebbe scattare o perdere fotogrammi • I video dei bambini potrebbero non essere riprodotti quando si è disconnessi o in modalità di navigazione in incognito • L\'audio originale forzato non è disponibile diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 14b253e798..5bc713abba 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -1606,13 +1606,20 @@ Second \"item\" text" החלק כדי לדלג אינו מופעל + אפשר Android VR AV1 + "מקודד וידאו הוא AVC (H.264), VP9, או AV1 + +ההפעלה עשויה לגמגם או לדלג על פריימים" + מקודד וידאו הוא AVC (H.264) או VP9 + "הפעלת הגדרה זו עשויה להשתמש בפענוח תוכנה של AV1. + +הפעלת וידאו עם AV1 עלולה לגרום לגמגום או לדלוג על פריימים." תופעות לוואי של התחזות • לקוח ניסיוני ועשוי להפסיק לפעול בכל עת • הווידאו עשוי להיעצר בדקה 1:00, או ייתכן שלא יהיה זמין באזורים מסוימים • תפריט ערוץ השמע חסר • אין קודק וידאו מסוג AV1 • עוצמת קול יציבה אינה זמינה - • ההפעלה עלולה לגמגם או להפיל פריימים • ייתכן שסרטוני Kids לא יופעלו כשאתה מנותק או במצב פרטי • כפיית שמע מקורי אינה זמינה diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index c4084ad6eb..6bfffc2bc3 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -1606,13 +1606,20 @@ Automotive レイアウト スライドによるシークは無効です。プレーヤー画面を左右にスライドしても、前後にシークしません + Android VR AV1 を許可する + "ビデオコーデックはAVC (H.264)、VP9、またはAV1です + +再生中に途切れたり、フレームがドロップすることがあります" + ビデオコーデックはAVC (H.264) またはVP9です + "この設定を有効にすると、ソフトウェアAV1デコードが使用される可能性があります。 + +AV1での動画再生は、途切れたりフレームが落ちたりする場合があります。" 偽装による副作用 • 実験的なクライアントであり、いつでも動作しなくなる可能性がある • 動画が 01:00 で停止する、または一部の地域で利用できない可能性がある •「音声トラック」がフライアウト メニューに表示されない • AV1 コーデックが利用できない •「一定音量」が利用できない - • 再生がカクつく、またはコマ落ちが発生する場合がある • ログアウト時またはシークレット モード時に、子ども向け動画が再生されない可能性がある •「オリジナルの音声を強制的に使用」が利用できない diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 040d5e4cb9..cc83dbb368 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -1611,13 +1611,20 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" 슬라이드하여 탐색을 비활성화합니다 + Android VR AV1 허용 + "비디오 코덱은 AVC (H.264), VP9 또는 AV1입니다 + +재생이 끊기거나 프레임이 떨어질 수 있습니다" + 비디오 코덱은 AVC (H.264) 또는 VP9입니다 + "이 설정을 활성화하면 소프트웨어 AV1 디코딩을 사용할 수 있습니다. + +AV1을 사용한 비디오 재생 시 끊김 또는 프레임 드롭이 발생할 수 있습니다." 변경에 따른 부작용 • 실험용 클라이언트이며 언제든지 작동이 중단될 수 있습니다 • 동영상이 1:00에 멈출 수 있으며, 일부 지역에서는 이용이 불가능할 수 있습니다 • 오디오 트랙 메뉴가 표시되지 않습니다 • AV1 코덱이 지원되지 않습니다 • 안정적인 볼륨을 사용할 수 없습니다 - • 재생이 끊기거나 프레임이 손실될 수 있습니다 • Kids 동영상은 로그인을 하지 않았거나 시크릿 모드에서는 재생되지 않을 수 있습니다 • 원본 오디오를 강제로 활성화할 수 없습니다 diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 0655defd0a..f9ec6a0321 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -1605,13 +1605,20 @@ Apribojimai: Slinkimas, kad ieškotumėte, neišjungtas + Leisti Android VR AV1 + "Vaizdo kodekas yra AVC (H.264), VP9 arba AV1 + +Gali strigti arba praleisti kadrus" + Vaizdo kodekas yra AVC (H.264) arba VP9 + "Įjungus šį nustatymą, gali būti naudojamas programinės įrangos AV1 dekodavimas. + +Vaizdo įrašo atkūrimas su AV1 gali strigti arba praleisti kadrus." Klastojimo šalutiniai efektai • Eksperimentinis klientas ir bet kada gali nustoti veikti • Vaizdo įrašas gali sustoti ties 1:00 arba gali būti nepasiekiamas kai kuriuose regionuose • Trūksta garso takelio meniu • Nėra AV1 vaizdo kodeko • Stabili garso apimtis nepasiekiama - • Atkūrimas gali strigti arba praleisti kadrus • Vaikų vaizdo įrašai gali būti neatkuriami, kai atsijungiama arba naudojamas inkognito režimas • Priverstinai naudoti originalų garsą nepasiekiama diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index c3d85901e0..3c7c46ff66 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -1605,13 +1605,20 @@ Ierobežojumi: Slīdēšana, lai meklētu, nav iespējota + Atļaut Android VR AV1 + "Video kodeks ir AVC (H.264), VP9 vai AV1 + +Atskaņošana var raustīties vai izlaist kadrus" + Video kodeks ir AVC (H.264) vai VP9 + "Šī iestatījuma iespējošana var izmantot programmatūras AV1 dekodēšanu. + +AV1 video atskaņošana var raustīties vai izlaist kadrus." Viltotu straumju blakusparādības • Eksperimentāls klients un jebkurā brīdī var pārtraukt darbu • Video var apstāties pulksten 1:00 vai nebūt pieejams dažos reģionos • Trūkst audio celiņa izvēlnes • Nav pieejams AV1 video kodeks • Nav pieejams stabils skaļums - • Atskaņošana var raustīties vai izlaist kadrus • Bērnu videoklipi var netikt atskaņoti, kad esat izrakstījies vai inkognito režīmā. • Piespiest oriģinālo skaņu nav pieejams diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index f8310b78a3..e04887afff 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -1602,13 +1602,20 @@ Beperkingen: Schuiven om te zoeken is niet ingeschakeld + Sta Android VR AV1 toe + "Videocodec is AVC (H.264), VP9 of AV1 + +Afspelen kan haperen of frames overslaan" + Videocodec is AVC (H.264) of VP9 + "Het inschakelen van deze instelling kan gebruikmaken van softwarematige AV1-decodering. + +Het afspelen van video met AV1 kan haperen of frames overslaan." Spoofing-neveneffecten • Experimentele client en kan elk moment stoppen met werken • Video kan stoppen om 1:00, of is mogelijk niet beschikbaar in sommige regio\'s • Audiotrack-menu ontbreekt • Geen AV1-videocodec • Stabiel volume is niet beschikbaar - • Het afspelen kan haperen of frames overslaan • \"Kinder\"​-Video’s worden mogelijk niet afgespeeld wanneer u bent uitgelogd of de incognitomodus gebruikt • Oorspronkelijke audio forceren is niet beschikbaar diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 6faa4a5450..9a08c81d02 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -1600,13 +1600,20 @@ Ograniczenia: Przesuń, aby przeszukiwać nie jest włączony + Zezwól na Android VR AV1 + "Kodek wideo to AVC (H.264), VP9 lub AV1 + +Odtwarzanie może się zacinać lub gubić klatki" + Kodek wideo to AVC (H.264) lub VP9 + "Włączenie tego ustawienia może używać programowego dekodowania AV1. + +Odtwarzanie wideo z AV1 może powodować zacinanie się lub gubienie klatek." Skutki uboczne fałszowania • Eksperymentalny klient i może przestać działać w każdej chwili • Wideo może zatrzymać się o 1:00 lub może być niedostępne w niektórych regionach • Brakuje menu ścieżek audio • Žádný video kodek AV1 • Stabilna głośność nie jest dostępna - • Odtwarzanie może się zacinać lub gubić klatki • Filmy dla dzieci mogą nie być odtwarzane po wylogowaniu lub w trybie incognito • Wymuś oryginalny dźwięk jest niedostępny diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index dab1f26cca..3b07fe7001 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -1601,13 +1601,20 @@ Limitações: Gesto na barra de busca está desativado + Permitir Android VR AV1 + "O codec de vídeo é AVC (H.264), VP9 ou AV1 + +A reprodução pode engasgar ou perder quadros" + O codec de vídeo é AVC (H.264) ou VP9 + "Ativar esta configuração pode usar decodificação de software AV1. + +A reprodução de vídeo com AV1 pode gaguejar ou perder quadros." Efeitos colaterais da falsificação • Cliente experimental e pode parar de funcionar a qualquer momento • O vídeo pode parar em 1:00, ou pode não estar disponível em algumas regiões • O menu da faixa de áudio está faltando • Sem codec de vídeo AV1 • Volume estável não está disponível - • A reprodução pode gaguejar ou perder quadros • Vídeos infantis podem não ser reproduzidos quando estiver desconectado ou no modo de navegação anônima • Forçar áudio original não está disponível diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 51259330af..f974231f3e 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -1604,13 +1604,20 @@ Limitações: Deslize para procurar não está habilitado + Permitir Android VR AV1 + "O codec de vídeo é AVC (H.264), VP9 ou AV1 + +A reprodução pode gaguejar ou perder quadros" + O codec de vídeo é AVC (H.264) ou VP9 + "Ativar esta configuração pode usar descodificação AV1 por software. + +A reprodução de vídeo com AV1 pode apresentar soluços ou perder quadros." Efeitos colaterais da falsificação • Cliente experimental e pode parar de funcionar a qualquer momento • O vídeo pode parar em 1:00, ou pode não estar disponível em algumas regiões • O menu da faixa de áudio está faltando • Nenhum codec de vídeo AV1 • O volume estável não está disponível - • A reprodução pode gaguejar ou perder quadros • Vídeos infantis podem não ser reproduzidos quando desconectado ou no modo anônimo • Forçar áudio original não está disponível diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 4d6570aadd..48bfb037e7 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -1601,13 +1601,20 @@ Limitări: Slide pentru a căuta nu este activat + Permite Android VR AV1 + "Codecul video este AVC (H.264), VP9 sau AV1 + +Redarea poate sacada sau pierde cadre" + Codecul video este AVC (H.264) sau VP9 + "Activarea acestei setări poate folosi decodarea software AV1. + +Redarea video cu AV1 poate sacada sau pierde cadre." Efecte secundare ale simulării • Client experimental și se poate opri din funcționare oricând • Videoclipul se poate opri la 1:00, sau poate să nu fie disponibil în unele regiuni • Meniul pistei audio lipsește • Fara codec video AV1 • Volumul stabil nu este disponibil - • Redarea poate sacada sau pierde cadre • Copiii nu pot urmări videoclipuri atunci când sunt deconectați sau în modul incognito • Forțarea sunetului original nu este disponibilă diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 76362f907d..7f2ba6f8ce 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -1611,13 +1611,20 @@ Second \"item\" text" Перемотка видео слайдом отключена (ускорение видео \"2x\" при нажатии и удержании включено) + Разрешить Android VR AV1 + "Видеокодек: AVC (H.264), VP9 или AV1 + +Воспроизведение может зависать или пропускать кадры" + Видеокодек: AVC (H.264) или VP9 + "Включение этой настройки может использовать программное декодирование AV1. + +Воспроизведение видео с AV1 может прерываться или пропускать кадры." Побочные эффекты подмены • Клиент экспериментальный и может перестать работать в любое время • Видео может остановиться на 1:00 или может быть недоступно в некоторых регионах • Пункт \"Звуковая дорожка\" отсутствует • Отсутствует видеокодек AV1 • Постоянный уровень громкости недоступен - • Воспроизведение может зависать или пропускать кадры • Видео для детей могут не воспроизводиться при выходе из системы или в режиме инкогнито • Принудительная оригинальная звуковая дорожка недоступна diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index a48be437db..15dd6f3a8b 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -1597,13 +1597,20 @@ Obmedzenia: Nie je povolené posúvanie + Povoliť Android VR AV1 + "Videokodek je AVC (H.264), VP9 alebo AV1 + +Prehrávanie sa môže sekať alebo môžu vypadávať snímky" + Videokodek je AVC (H.264) alebo VP9 + "Povolenie tohto nastavenia môže použiť softvérové AV1 dekódovanie. + +Prehrávanie videa s AV1 môže sekať alebo vynechávať snímky." Vedľajšie účinky podvrhnutia • Experimentálny klient a môže kedykoľvek prestať fungovať • Video sa môže zastaviť o 1:00, alebo nemusí byť dostupné v niektorých regiónoch • Chýba ponuka zvukovej stopy • Žiadny video kodek AV1 • Stabilná hlasitosť nie je dostupná - • Prehrávanie môže sekať alebo vynechávať snímky • Videá pre deti sa nemusia prehrávať, keď ste odhlásení alebo v režime inkognito • Vynútenie pôvodného zvuku nie je k dispozícii diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index f85bab4b27..c0b902a88a 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -1604,13 +1604,20 @@ Omejitve: Drsno iskanje ni omogočeno + Dovoli Android VR AV1 + "Video kodek je AVC (H.264), VP9 ali AV1 + +Predvajanje se lahko zatika ali izpušča sličice" + Video kodek je AVC (H.264) ali VP9 + "Omogočanje te nastavitve lahko uporablja programsko dekodiranje AV1. + +Predvajanje videa z AV1 se lahko zatika ali izpušča sličice." Stranski učinki ponarejanja • Eksperimentalni odjemalec in lahko kadar koli preneha delovati • Video se lahko ustavi ob 1:00, ali pa morda ne bo na voljo v nekaterih regijah • Meni z zvočnimi posnetki manjka • Brez kodeka videa AV1 • Stabilna glasnost ni na voljo - • Predvajanje se lahko zatika ali izpušča sličice • Posnetki za otroke se mogoče ne bodo predvajali, ko ste odjavljeni ali v načinu brez beleženja zgodovine • Vsili izvirni zvok ni na voljo diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index a7df4ef550..541bd7c657 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -1602,13 +1602,20 @@ Kufizimet: Rrëshqitja për kërkim nuk është e aktivizuar + Lejo Android VR AV1 + "Kodeku i videos është AVC (H.264), VP9, ose AV1 + +Luajtja mund të bllokojë ose të humbasë korniza" + Kodeku i videos është AVC (H.264) ose VP9 + "Aktivizimi i këtij cilësimi mund të përdorë dekodimin softuerik AV1. + +Luajtja e videos me AV1 mund të ngecë ose të humbasë korniza." Efektet anësore të falsifikimit • Klient eksperimental dhe mund të ndalojë së funksionuari në çdo kohë • Videoja mund të ndalojë në 1:00, ose mund të mos jetë e disponueshme në disa rajone • Menuja e gjurmës audio mungon • Nuk ka codec video AV1 • Volumi i qëndrueshëm nuk është i disponueshëm - • Riprodhimi mund të ndërpritet ose të humbasë kornizat • Video për fëmijë mund të mos luajnë kur jeni jashtë llogarisë ose në modalitetin incognito • Detyro audio origjinale nuk është i disponueshëm diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 9f4a490a1c..2a67499e80 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -1603,13 +1603,20 @@ Ograničenja: Prevlaćenje za premotavanje nije omogućeno + Dozvoli Android VR AV1 + "Video kodek je AVC (H.264), VP9 ili AV1 + +Reprodukcija može da secka ili gubi okvire" + Video kodek je AVC (H.264) ili VP9 + "Omogućavanje ovog podešavanja može koristiti softversko AV1 dekodiranje. + +Reprodukcija video zapisa sa AV1 može seckati ili ispuštati frejmove." Neželjeni efekti lažiranja • Eksperimentalni klijent i može prestati da radi bilo kada • Video se može zaustaviti u 1:00 ili možda neće biti dostupan u nekim regionima • Meni „Audio snimak” nedostaje • Nema video kodeka AV1 • Opcija „Ujednačena jačina zvuka” nije dostupna - • Reprodukcija može zastajkivati ili preskakati kadrove • Videi za decu se možda neće puštati kada ste odjavljeni ili u režimu bez arhiviranja • Prisiljavanje originalnog zvuka nije dostupno diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index b1198cc439..76d8678fe1 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1606,13 +1606,20 @@ Second \"item\" text" Превлачење за премотавање није омогућено + Дозволи Андроид VR AV1 + "Видео кодек је AVC (H.264), VP9 или AV1 + +Репродукција може сецкати или испуштати кадрове" + Видео кодек је AVC (H.264) или VP9 + "Омогућавање ове поставке може користити софтверско AV1 декодирање. + +Репродукција видеа са AV1 може успорити или испуштати кадрове." Нежељени ефекти лажирања • Експериментални клијент и може престати да ради било када • Видео се може зауставити на 1:00 или можда неће бити доступан у неким регионима • Мени „Аудио снимак” недостаје • Нема видео кодека AV1 • Опција „Уједначена јачина звука” није доступна - • Репродукција може застајкивати или прескакати кадрове • Видеи за децу се можда неће пуштати када сте одјављени или у режиму без архивирања • Присиљавање оригиналног звука није доступно diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 662f075c1a..e5dbeb6714 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -1603,13 +1603,20 @@ Begränsningar: Dra för att söka är inaktiverat + Tillåt Android VR AV1 + "Videokodeken är AVC (H.264), VP9 eller AV1 + +Uppspelningen kan hacka eller tappa bildrutor" + Videokodeken är AVC (H.264) eller VP9 + "Aktivering av denna inställning kan använda programvarubaserad AV1-avkodning. + +Videouppspelning med AV1 kan hacka eller tappa bildrutor." Bieffekter av förfalskning • Experimentell klient och kan sluta fungera när som helst • Videor kan stanna vid 1:00 eller kanske inte är tillgängliga i vissa regioner • Menyn Ljudspår saknas • Ingen AV1-videokodek • Stabil volym är inte tillgängligt - • Uppspelningen kan hacka eller tappa bildrutor • Videor för barn kanske inte spelas upp när du är utloggad eller i inkognitoläge • Tvinga ursprungligt ljud är inte tillgängligt diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 9cb06ce49b..e67f747f5e 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -1606,13 +1606,20 @@ User id ของคุณเหมือนกับรหัสผ่าน เลื่อนเพื่อค้นหาไม่ได้เปิดใช้งาน + อนุญาต Android VR AV1 + "ตัวแปลงสัญญาณวิดีโอคือ AVC (H.264), VP9 หรือ AV1 + +การเล่นอาจกระตุกหรือเฟรมตก" + ตัวแปลงสัญญาณวิดีโอคือ AVC (H.264) หรือ VP9 + "การเปิดใช้งานการตั้งค่านี้อาจใช้ซอฟต์แวร์ถอดรหัส AV1 + +การเล่นวิดีโอด้วย AV1 อาจกระตุกหรือเฟรมตก" ผลข้างเคียงของการปลอมแปลง • ไคลเอนต์ทดลองและอาจหยุดทำงานได้ตลอดเวลา • วิดีโออาจหยุดที่ 1:00 หรืออาจไม่สามารถรับชมได้ในบางภูมิภาค • เมนูแทร็กเสียงหายไป • ไม่มีตัวแปลงสัญญาณวิดีโอ AV1 • ระดับเสียงคงที่ไม่พร้อมใช้งาน - • การเล่นอาจสะดุดหรือเฟรมตก • วิดีโอเด็กอาจไม่เล่นเมื่อลงชื่อออกหรืออยู่ในโหมดไม่ระบุตัวตน • บังคับใช้เสียงต้นฉบับไม่พร้อมใช้งาน diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 54dc3841b9..c5c12c3c0e 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -1611,13 +1611,20 @@ Sınırlamalar: Kaydırarak sardırma etkin değil + Android VR AV1\'e İzin Ver + "Video kodeği AVC (H.264), VP9 veya AV1'dir + +Oynatma takılabilir veya kare atlayabilir" + Video kodeği AVC (H.264) veya VP9\'dur + "Bu ayarı etkinleştirmek yazılım tabanlı AV1 kod çözmeyi kullanabilir. + +AV1 ile video oynatma takılabilir veya kare atlayabilir." Taklit yan etkileri • Deneysel istemci ve her an çalışmayı durdurabilir • Video 1:00\'da durabilir veya bazı bölgelerde kullanılamayabilir • Ses parçası menüsü eksik • AV1 video kodeği yok • Sabit ses mevcut değil - • Oynatma takılabilir veya kare atlayabilir • Çocuk videoları oturum açılmadığında veya gizli modda oynatılamayabilir • Orijinal sesi zorlama mevcut değil diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 44ecb133ff..1c7e081216 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -1603,13 +1603,20 @@ Second \"item\" text" Перемотку пересуванням вимкнено\n\nУвімкнено поведінку нового інтерфейсу прискорення \"2х >>\" при утриманні на екрані + Дозволити Android VR AV1 + "Відеокодек: AVC (H.264), VP9 або AV1 + +Відтворення може затинатися або пропускати кадри" + Відеокодек: AVC (H.264) або VP9 + "Увімкнення цього параметра може використовувати програмне декодування AV1. + +Відтворення відео з AV1 може заїкатися або пропускати кадри." Побічні ефекти підміни • Експериментальний клієнт, який може припинити працювати будь-якої миті • Відео може зупинитися на 1:00, або може бути недоступним у деяких регіонах • Пункт меню \"Звукова доріжка\" відсутній • Відеокодек AV1 відсутній • Пункт меню \"Стабілізувати гучність\" недоступний - • Відтворення може заїкатися або пропускати кадри • Відео для дітей можуть не відтворюватися, якщо вийти з облікового запису або перейти в анонімний режим • Примусово оригінальна мова звукової доріжки\" недоступна diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 5ff8a78233..419cf71025 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -1610,13 +1610,20 @@ Hạn chế: Vuốt để tua không được bật + Cho phép Android VR AV1 + "Bộ giải mã video là AVC (H.264), VP9 hoặc AV1 + +Quá trình phát có thể bị giật hoặc bỏ khung hình" + Bộ giải mã video là AVC (H.264) hoặc VP9 + "Bật cài đặt này có thể sử dụng giải mã AV1 bằng phần mềm. + +Phát lại video bằng AV1 có thể bị giật hoặc bỏ khung hình." Hạn chế khi giả mạo • Ứng dụng khách đang trong giai đoạn thử nghiệm và có thể ngừng hoạt động bất cứ lúc nào • Video có thể dừng ở 1:00, hoặc có thể không khả dụng ở một số khu vực • Trình đơn bản âm thanh bị thiếu • Không có codec video AV1 • Âm lượng ổn định không khả dụng - • Có thể gặp hiện tượng giật lag hoặc tụt fps khi phát video • Video dành cho trẻ em có thể không phát được khi đăng xuất hoặc ở chế độ ẩn danh • Buộc âm thanh gốc không khả dụng diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index ca23c4f56b..1f3c17fd65 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -1609,13 +1609,20 @@ Second \"item\" text" 滑动拖动进度条未启用 + 允许 Android VR AV1 + "视频编解码器为 AVC (H.264)、VP9 或 AV1 + +播放可能会卡顿或掉帧" + 视频编解码器为 AVC (H.264) 或 VP9 + "启用此设置可能会使用软件 AV1 解码。 + +使用 AV1 播放视频可能会卡顿或丢帧。" 欺骗的副作用 • 实验性客户端,可能随时停止工作 • 视频可能会在 1:00 停止,或者在某些地区可能无法播放 • 音轨菜单缺失 • 不支持 AV1 视频编解码器 • 稳定音量不可用 - • 播放可能会卡顿或掉帧 • 注销或使用无痕模式时,儿童视频可能无法播放 • 强制原始音频不可用 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index 0622ca1897..ac8c7ea915 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -1614,13 +1614,20 @@ Second \"item\" text" 未啟用滑動預覽 + 允許 Android VR AV1 + "視訊轉碼器為 AVC (H.264)、VP9 或 AV1 + +播放可能會卡頓或掉幀" + 視訊轉碼器為 AVC (H.264) 或 VP9 + "啟用此設定可能會使用軟體 AV1 解碼。 + +AV1 視訊播放可能會卡頓或掉幀。" 欺騙的副作用 • 實驗性用戶端,隨時可能停止運作 • 影片可能會在 1:00 停止,或在某些地區無法播放 • 音軌選單遺失 • 沒有 AV1 影片解碼器 • 穩定音量無法使用 - • 播放可能會卡頓或掉幀 • 在登出或無痕模式下,兒童影片可能無法播放 • 強制原始音訊不可用 From bd4ba2dae85ee6fd8d7e6078c3de775ca336e0b6 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 19:41:32 +0400 Subject: [PATCH 54/63] fix(YouTube - Force original audio): Change patch to default on (#6070) --- .../java/app/revanced/extension/youtube/settings/Settings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index d131cfee22..747a4f048f 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -56,7 +56,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting ADVANCED_VIDEO_QUALITY_MENU = new BooleanSetting("revanced_advanced_video_quality_menu", TRUE); public static final BooleanSetting DISABLE_HDR_VIDEO = new BooleanSetting("revanced_disable_hdr_video", FALSE); public static final BooleanSetting FORCE_AVC_CODEC = new BooleanSetting("revanced_force_avc_codec", FALSE, true, "revanced_force_avc_codec_user_dialog_message"); - public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, true); + public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", TRUE, true); public static final IntegerSetting VIDEO_QUALITY_DEFAULT_WIFI = new IntegerSetting("revanced_video_quality_default_wifi", -2); public static final IntegerSetting VIDEO_QUALITY_DEFAULT_MOBILE = new IntegerSetting("revanced_video_quality_default_mobile", -2); public static final BooleanSetting REMEMBER_VIDEO_QUALITY_LAST_SELECTED = new BooleanSetting("revanced_remember_video_quality_last_selected", FALSE); From 64d22a9c31639e8df1be966269e448f8fb95b60f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 15:46:50 +0000 Subject: [PATCH 55/63] chore: Release v5.42.0-dev.17 [skip ci] # [5.42.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.16...v5.42.0-dev.17) (2025-10-07) ### Bug Fixes * **YouTube - Force original audio:** Change patch to default on ([#6070](https://github.com/ReVanced/revanced-patches/issues/6070)) ([bd4ba2d](https://github.com/ReVanced/revanced-patches/commit/bd4ba2dae85ee6fd8d7e6078c3de775ca336e0b6)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4942f73a77..c0a4a57421 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.16...v5.42.0-dev.17) (2025-10-07) + + +### Bug Fixes + +* **YouTube - Force original audio:** Change patch to default on ([#6070](https://github.com/ReVanced/revanced-patches/issues/6070)) ([bd4ba2d](https://github.com/ReVanced/revanced-patches/commit/bd4ba2dae85ee6fd8d7e6078c3de775ca336e0b6)) + # [5.42.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.15...v5.42.0-dev.16) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 577bf84ab5..f85091c925 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.16 +version = 5.42.0-dev.17 From a50f3b5177808f07d84041c946caccb5a08ad387 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:21:12 +0300 Subject: [PATCH 56/63] feat(Custom branding): Add in-app settings to change icon and name (#6059) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../extension/shared/GmsCoreSupport.java | 28 +- .../shared/patches/CustomBrandingPatch.java | 136 ++++++ .../shared/settings/BaseSettings.java | 4 + .../preference/ReVancedAboutPreference.java | 22 +- patches/api/patches.api | 1 + .../layout/branding/CustomBrandingPatch.kt | 30 +- .../patches/music/misc/gms/Constants.kt | 2 + .../branding/BaseCustomBrandingPatch.kt | 434 +++++++++++++----- .../shared/layout/branding/Fingerprints.kt | 13 + .../shared/layout/theme/BaseThemePatch.kt | 2 +- .../patches/shared/misc/gms/Fingerprints.kt | 25 +- .../shared/misc/gms/GmsCoreSupportPatch.kt | 36 +- .../misc/spoof/SpoofVideoStreamsPatch.kt | 2 +- .../layout/branding/CustomBrandingPatch.kt | 59 +-- .../branding/header/ChangeHeaderPatch.kt | 20 +- .../hide/shorts/HideShortsComponentsPatch.kt | 5 +- .../patches/youtube/misc/gms/Constants.kt | 2 + .../kotlin/app/revanced/util/ResourceUtils.kt | 14 +- .../resources/addresources/values/arrays.xml | 88 ++++ .../resources/addresources/values/strings.xml | 25 +- .../revanced_header_logo_minimal_dark.png | Bin 3490 -> 3354 bytes .../revanced_header_logo_minimal_light.png | Bin 3101 -> 2986 bytes .../revanced_header_logo_minimal_dark.png | Bin 2240 -> 2126 bytes .../revanced_header_logo_minimal_light.png | Bin 1997 -> 1924 bytes .../revanced_header_logo_minimal_dark.png | Bin 4676 -> 4506 bytes .../revanced_header_logo_minimal_light.png | Bin 4216 -> 4048 bytes .../revanced_header_logo_minimal_dark.png | Bin 7648 -> 7384 bytes .../revanced_header_logo_minimal_light.png | Bin 6882 -> 6540 bytes .../revanced_header_logo_minimal_dark.png | Bin 7966 -> 7457 bytes .../revanced_header_logo_minimal_light.png | Bin 6895 -> 6735 bytes .../revanced_adaptive_background_minimal.xml | 2 + .../revanced_adaptive_background_rounded.xml | 2 + .../revanced_adaptive_background_scaled.xml | 2 + .../revanced_adaptive_foreground_minimal.xml | 36 ++ .../revanced_adaptive_foreground_rounded.xml | 50 ++ .../revanced_adaptive_foreground_scaled.xml | 36 ++ .../revanced_adaptive_monochrome_custom.xml} | 8 +- .../revanced_adaptive_monochrome_minimal.xml} | 8 +- .../revanced_adaptive_monochrome_rounded.xml | 22 + .../revanced_adaptive_monochrome_scaled.xml} | 0 .../revanced_launcher_custom.xml | 7 + .../revanced_launcher_minimal.xml | 7 + .../revanced_launcher_rounded.xml | 7 + .../revanced_launcher_scaled.xml | 7 + .../revanced_adaptive_background_custom.png | Bin 0 -> 94 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 1276 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 92 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 858 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 98 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 1747 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 108 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 2771 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 118 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 3930 bytes ...ube_music_2024_q4_background_color_108.png | Bin 98 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 1447 -> 0 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 2876 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 92 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 943 -> 0 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 1802 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 100 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 2000 -> 0 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 4077 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 108 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 3163 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 6256 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 118 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 4429 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 8744 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 98 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 1447 -> 0 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 2876 -> 0 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 2876 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 92 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 943 -> 0 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 1802 -> 0 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 1802 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 100 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2000 -> 0 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 4077 -> 0 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 4077 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 108 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3163 -> 0 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 6256 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 6256 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 118 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4429 -> 0 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 8744 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 8744 -> 0 bytes 89 files changed, 925 insertions(+), 217 deletions(-) create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml rename patches/src/main/resources/custom-branding/{youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml => drawable/revanced_adaptive_monochrome_custom.xml} (90%) rename patches/src/main/resources/custom-branding/{youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml => drawable/revanced_adaptive_monochrome_minimal.xml} (90%) create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml rename patches/src/main/resources/custom-branding/{music/drawable/ic_app_icons_themed_youtube_music.xml => drawable/revanced_adaptive_monochrome_scaled.xml} (100%) create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java index 978ee7131a..993634eaba 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java @@ -31,9 +31,6 @@ import app.revanced.extension.shared.ui.CustomDialog; @SuppressWarnings("unused") public class GmsCoreSupport { - private static final String PACKAGE_NAME_YOUTUBE = "com.google.android.youtube"; - private static final String PACKAGE_NAME_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music"; - private static final String GMS_CORE_PACKAGE_NAME = getGmsCoreVendorGroupId() + ".android.gms"; private static final Uri GMS_CORE_PROVIDER @@ -53,6 +50,20 @@ public class GmsCoreSupport { @Nullable private static volatile Boolean DONT_KILL_MY_APP_MANUFACTURER_SUPPORTED; + private static String getOriginalPackageName() { + return null; // Modified during patching. + } + + /** + * @return If the current package name is the same as the original unpatched app. + * If `GmsCore support` was not included during patching, this returns true; + */ + public static boolean isPackageNameOriginal() { + String originalPackageName = getOriginalPackageName(); + return originalPackageName == null + || originalPackageName.equals(Utils.getContext().getPackageName()); + } + private static void open(String queryOrLink) { Logger.printInfo(() -> "Opening link: " + queryOrLink); @@ -113,11 +124,10 @@ public class GmsCoreSupport { // Verify the user has not included GmsCore for a root installation. // GmsCore Support changes the package name, but with a mounted installation // all manifest changes are ignored and the original package name is used. - String packageName = context.getPackageName(); - if (packageName.equals(PACKAGE_NAME_YOUTUBE) || packageName.equals(PACKAGE_NAME_YOUTUBE_MUSIC)) { + if (isPackageNameOriginal()) { Logger.printInfo(() -> "App is mounted with root, but GmsCore patch was included"); - // Cannot use localize text here, since the app will load - // resources from the unpatched app and all patch strings are missing. + // Cannot use localize text here, since the app will load resources + // from the unpatched app and all patch strings are missing. Utils.showToastLong("The 'GmsCore support' patch breaks mount installations"); // Do not exit. If the app exits before launch completes (and without @@ -250,8 +260,8 @@ public class GmsCoreSupport { }; } - // Modified by a patch. Do not touch. private static String getGmsCoreVendorGroupId() { - return "app.revanced"; + // Modified during patching. + throw new IllegalStateException(); } } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java new file mode 100644 index 0000000000..79a4d54849 --- /dev/null +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java @@ -0,0 +1,136 @@ +package app.revanced.extension.shared.patches; + +import android.content.ComponentName; +import android.content.Context; +import android.content.pm.PackageManager; + +import java.util.ArrayList; +import java.util.List; + +import app.revanced.extension.shared.GmsCoreSupport; +import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; +import app.revanced.extension.shared.settings.BaseSettings; + +/** + * Patch shared by YouTube and YT Music. + */ +@SuppressWarnings("unused") +public class CustomBrandingPatch { + + // Important: In the future, additional branding themes can be added but all existing and prior + // themes cannot be removed or renamed. + // + // This is because if a user has a branding theme selected, then only that launch alias is enabled. + // If a future update removes or renames that alias, then after updating the app is effectively + // broken and it cannot be opened and not even clearing the app data will fix it. + // In that situation the only fix is to completely uninstall and reinstall again. + // + // The most that can be done is to hide a theme from the UI and keep the alias with dummy data. + public enum BrandingTheme { + /** + * Original unpatched icon. Must be first enum. + */ + ORIGINAL("revanced_original"), + ROUNDED("revanced_rounded"), + MINIMAL("revanced_minimal"), + SCALED("revanced_scaled"), + /** + * User provided custom icon. Must be the last enum. + */ + CUSTOM("revanced_custom"); + + public final String themeAlias; + + BrandingTheme(String themeAlias) { + this.themeAlias = themeAlias; + } + + private String packageAndNameIndexToClassAlias(String packageName, int appIndex) { + if (appIndex <= 0) { + throw new IllegalArgumentException("App index starts at index 1"); + } + return packageName + '.' + themeAlias + '_' + appIndex; + } + } + + /** + * Injection point. + * + * The total number of app name aliases, including dummy aliases. + */ + private static int numberOfPresetAppNames() { + // Modified during patching. + throw new IllegalStateException(); + } + + /** + * Injection point. + */ + @SuppressWarnings("ConstantConditions") + public static void setBranding() { + try { + if (GmsCoreSupport.isPackageNameOriginal()) { + Logger.printInfo(() -> "App is root mounted. Cannot dynamically change app icon"); + return; + } + + Context context = Utils.getContext(); + PackageManager pm = context.getPackageManager(); + String packageName = context.getPackageName(); + + BrandingTheme selectedBranding = BaseSettings.CUSTOM_BRANDING_ICON.get(); + final int selectedNameIndex = BaseSettings.CUSTOM_BRANDING_NAME.get(); + ComponentName componentToEnable = null; + ComponentName defaultComponent = null; + List componentsToDisable = new ArrayList<>(); + + for (BrandingTheme theme : BrandingTheme.values()) { + // Must always update all aliases including custom alias (last index). + final int numberOfPresetAppNames = numberOfPresetAppNames(); + + // App name indices starts at 1. + for (int index = 1; index <= numberOfPresetAppNames; index++) { + String aliasClass = theme.packageAndNameIndexToClassAlias(packageName, index); + ComponentName component = new ComponentName(packageName, aliasClass); + if (defaultComponent == null) { + // Default is always the first alias. + defaultComponent = component; + } + + if (index == selectedNameIndex && theme == selectedBranding) { + componentToEnable = component; + } else { + componentsToDisable.add(component); + } + } + } + + if (componentToEnable == null) { + // User imported a bad app name index value. Either the imported data + // was corrupted, or they previously had custom name enabled and the app + // no longer has a custom name specified. + Utils.showToastLong("Custom branding reset"); + BaseSettings.CUSTOM_BRANDING_ICON.resetToDefault(); + BaseSettings.CUSTOM_BRANDING_NAME.resetToDefault(); + + componentToEnable = defaultComponent; + componentsToDisable.remove(defaultComponent); + } + + for (ComponentName disable : componentsToDisable) { + // Use info logging because if the alias status become corrupt the app cannot launch. + Logger.printInfo(() -> "Disabling: " + disable.getClassName()); + pm.setComponentEnabledSetting(disable, + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); + } + + ComponentName componentToEnableFinal = componentToEnable; + Logger.printInfo(() -> "Enabling: " + componentToEnableFinal.getClassName()); + pm.setComponentEnabledSetting(componentToEnable, + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0); + } catch (Exception ex) { + Logger.printException(() -> "setBranding failure", ex); + } + } +} diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index 1eff30361d..3bc16e313c 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -2,6 +2,7 @@ package app.revanced.extension.shared.settings; import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; +import static app.revanced.extension.shared.patches.CustomBrandingPatch.BrandingTheme; import static app.revanced.extension.shared.settings.Setting.parent; import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.AudioStreamLanguageOverrideAvailability; @@ -40,4 +41,7 @@ public class BaseSettings { public static final BooleanSetting REPLACE_MUSIC_LINKS_WITH_YOUTUBE = new BooleanSetting("revanced_replace_music_with_youtube", FALSE); public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false); + + public static final EnumSetting CUSTOM_BRANDING_ICON = new EnumSetting<>("revanced_custom_branding_icon", BrandingTheme.ORIGINAL, true); + public static final IntegerSetting CUSTOM_BRANDING_NAME = new IntegerSetting("revanced_custom_branding_name", 1, true); } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java index be14e4a635..4f4d3ef928 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java @@ -5,6 +5,7 @@ import static app.revanced.extension.shared.Utils.dipToPixels; import static app.revanced.extension.shared.requests.Route.Method.GET; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; @@ -125,6 +126,8 @@ public class ReVancedAboutPreference extends Preference { { setOnPreferenceClickListener(pref -> { + Context context = pref.getContext(); + // Show a progress spinner if the social links are not fetched yet. if (!AboutLinksRoutes.hasFetchedLinks() && Utils.isNetworkConnected()) { // Show a progress spinner, but only if the api fetch takes more than a half a second. @@ -137,17 +140,18 @@ public class ReVancedAboutPreference extends Preference { handler.postDelayed(showDialogRunnable, delayToShowProgressSpinner); Utils.runOnBackgroundThread(() -> - fetchLinksAndShowDialog(handler, showDialogRunnable, progress)); + fetchLinksAndShowDialog(context, handler, showDialogRunnable, progress)); } else { // No network call required and can run now. - fetchLinksAndShowDialog(null, null, null); + fetchLinksAndShowDialog(context, null, null, null); } return false; }); } - private void fetchLinksAndShowDialog(@Nullable Handler handler, + private void fetchLinksAndShowDialog(Context context, + @Nullable Handler handler, Runnable showDialogRunnable, @Nullable ProgressDialog progress) { WebLink[] links = AboutLinksRoutes.fetchAboutLinks(); @@ -164,7 +168,17 @@ public class ReVancedAboutPreference extends Preference { if (handler != null) { handler.removeCallbacks(showDialogRunnable); } - if (progress != null) { + + // Don't continue if the activity is done. To test this tap the + // about dialog and immediately press back before the dialog can show. + if (context instanceof Activity activity) { + if (activity.isFinishing() || activity.isDestroyed()) { + Logger.printDebug(() -> "Not showing about dialog, activity is closed"); + return; + } + } + + if (progress != null && progress.isShowing()) { progress.dismiss(); } new WebViewDialog(getContext(), htmlDialog).show(); diff --git a/patches/api/patches.api b/patches/api/patches.api index c85acef50f..15b955acb8 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1919,6 +1919,7 @@ public final class app/revanced/util/ResourceUtilsKt { public static final fun forEachChildElement (Lorg/w3c/dom/Node;Lkotlin/jvm/functions/Function1;)V public static final fun insertFirst (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V public static final fun iterateXmlNodeChildren (Lapp/revanced/patcher/patch/ResourcePatchContext;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static final fun removeFromParent (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; } public final class app/revanced/util/resource/ArrayResource : app/revanced/util/resource/BaseResource { diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt index 530e981303..6f0f460263 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt @@ -4,6 +4,10 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patches.music.misc.gms.Constants.MUSIC_MAIN_ACTIVITY_NAME +import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME +import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint +import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch import app.revanced.patches.shared.misc.mapping.get import app.revanced.patches.shared.misc.mapping.resourceMappingPatch @@ -50,24 +54,18 @@ private val disableSplashAnimationPatch = bytecodePatch { } } -private const val APP_NAME = "YT Music ReVanced" - @Suppress("unused") val customBrandingPatch = baseCustomBrandingPatch( - defaultAppName = APP_NAME, - appNameValues = mapOf( - "YT Music ReVanced" to APP_NAME, - "Music ReVanced" to "Music ReVanced", - "Music" to "Music", - "YT Music" to "YT Music", - ), - resourceFolder = "custom-branding/music", - iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_music_2024_q4_background_color_108", - "adaptiveproduct_youtube_music_2024_q4_foreground_color_108", - "ic_launcher_release", - ), - monochromeIconFileNames = arrayOf("ic_app_icons_themed_youtube_music.xml"), + addResourcePatchName = "music", + originalLauncherIconName = "ic_launcher_release", + originalAppName = "@string/app_launcher_name", + originalAppPackageName = MUSIC_PACKAGE_NAME, + copyExistingIntentsToAliases = false, + numberOfPresetAppNames = 5, + mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, + mainActivityName = MUSIC_MAIN_ACTIVITY_NAME, + activityAliasNameWithIntents = MUSIC_MAIN_ACTIVITY_NAME, + preferenceScreen = PreferenceScreen.GENERAL, block = { dependsOn(disableSplashAnimationPatch) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt index f4114a00b2..39dda22aa2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt @@ -1,6 +1,8 @@ package app.revanced.patches.music.misc.gms object Constants { + internal const val MUSIC_MAIN_ACTIVITY_NAME = "com.google.android.apps.youtube.music.activities.MusicActivity" + internal const val REVANCED_MUSIC_PACKAGE_NAME = "app.revanced.android.apps.youtube.music" internal const val MUSIC_PACKAGE_NAME = "com.google.android.apps.youtube.music" } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt index d865b2081c..d8356aee03 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt @@ -1,173 +1,387 @@ package app.revanced.patches.shared.layout.branding +import app.revanced.patcher.Fingerprint +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.ResourcePatch import app.revanced.patcher.patch.ResourcePatchBuilder import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch import app.revanced.patcher.patch.stringOption +import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.ListPreference import app.revanced.util.ResourceGroup import app.revanced.util.Utils.trimIndentMultiline import app.revanced.util.copyResources +import app.revanced.util.findElementByAttributeValueOrThrow +import app.revanced.util.removeFromParent +import app.revanced.util.returnEarly +import org.w3c.dom.Element +import org.w3c.dom.Node +import org.w3c.dom.NodeList import java.io.File -import java.nio.file.Files import java.util.logging.Logger -private const val REVANCED_ICON = "ReVanced*Logo" // Can never be a valid path. - -internal val mipmapDirectories = arrayOf( +private val mipmapDirectories = arrayOf( // Target app does not have ldpi icons. - "mdpi", - "hdpi", - "xhdpi", - "xxhdpi", - "xxxhdpi", -).map { "mipmap-$it" }.toTypedArray() + "mipmap-mdpi", + "mipmap-hdpi", + "mipmap-xhdpi", + "mipmap-xxhdpi", + "mipmap-xxxhdpi" +) -private fun formatResourceFileList(resourceNames: Array) = resourceNames.joinToString("\n") { "- $it" } +private val iconStyleNames = arrayOf( + "rounded", + "minimal", + "scaled" +) -/** - * Attempts to fix unescaped and invalid characters not allowed for an Android app name. - */ -private fun escapeAppName(name: String): String? { - // Remove ASCII control characters. - val cleanedName = name.filter { it.code >= 32 } +private const val ORIGINAL_USER_ICON_STYLE_NAME = "original" +private const val CUSTOM_USER_ICON_STYLE_NAME = "custom" - // Replace invalid XML characters with escaped equivalents. - val escapedName = cleanedName - .replace("&", "&") // Must be first to avoid double-escaping. - .replace("<", "<") - .replace(">", ">") - .replace(Regex("(?, - resourceFolder: String, - iconResourceFileNames: Array, - monochromeIconFileNames: Array, - block: ResourcePatchBuilder.() -> Unit = {}, + addResourcePatchName: String, + originalLauncherIconName: String, + originalAppName: String, + originalAppPackageName: String, + copyExistingIntentsToAliases: Boolean, + numberOfPresetAppNames: Int, + mainActivityOnCreateFingerprint: Fingerprint, + mainActivityName: String, + activityAliasNameWithIntents: String, + preferenceScreen: BasePreferenceScreen.Screen, + block: ResourcePatchBuilder.() -> Unit, executeBlock: ResourcePatchContext.() -> Unit = {} ): ResourcePatch = resourcePatch( name = "Custom branding", - description = "Applies a custom app name and icon. Defaults to \"$defaultAppName\" and the ReVanced logo.", - use = false, + description = "Adds options to change the app icon and app name. " + + "Branding cannot be changed for mounted (root) installations." ) { - val iconResourceFileNamesPng = iconResourceFileNames.map { "$it.png" }.toTypedArray() - - val appName by stringOption( - key = "appName", - default = defaultAppName, - values = appNameValues, + val customName by stringOption( + key = "customName", title = "App name", - description = "The name of the app.", + description = "Custom app name." ) - val iconPath by stringOption( - key = "iconPath", - default = REVANCED_ICON, - values = mapOf("ReVanced Logo" to REVANCED_ICON), - title = "App icon", + val customIcon by stringOption( + key = "customIcon", + title = "Custom icon", description = """ - The icon to apply to the app. + Folder with images to use as a custom icon. - If a path to a folder is provided, the folder must contain the following folders: - - ${formatResourceFileList(mipmapDirectories)} - - Each of these folders must contain the following files: - - ${formatResourceFileList(iconResourceFileNamesPng)} + The folder must contain one or more of the following folders, depending on the DPI of the device: + ${mipmapDirectories.joinToString("\n") { "- $it" }} - Optionally, a 'drawable' folder with the monochrome icon files: - - ${formatResourceFileList(monochromeIconFileNames)} - """.trimIndentMultiline(), + Each of the folders must contain all of the following files: + ${USER_CUSTOM_ADAPTIVE_FILE_NAMES.joinToString("\n")} + + Optionally, the path can contain a 'drawable' folder with the monochrome icon file: + $USER_CUSTOM_MONOCHROME_NAME + """.trimIndentMultiline() ) block() + dependsOn( + addResourcesPatch, + bytecodePatch { + execute { + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setBranding()V" + ) + + numberOfPresetAppNamesExtensionFingerprint.method.returnEarly(numberOfPresetAppNames) + } + } + ) + + finalize { + val useCustomName = customName != null + val useCustomIcon = customIcon != null + + if (setOrGetFallbackPackageName(originalAppPackageName) == originalAppPackageName) { + if (useCustomName || useCustomIcon) { + Logger.getLogger(this::class.java.name).warning( + "Custom branding does not work with root installation. No changes applied." + ) + } + return@finalize + } + + preferenceScreen.addPreferences( + if (useCustomName) { + ListPreference( + key = "revanced_custom_branding_name", + entriesKey = "revanced_custom_branding_name_custom_entries", + entryValuesKey = "revanced_custom_branding_name_custom_entry_values" + ) + } else { + ListPreference("revanced_custom_branding_name") + }, + if (useCustomIcon) { + ListPreference( + key = "revanced_custom_branding_icon", + entriesKey = "revanced_custom_branding_icon_custom_entries", + entryValuesKey = "revanced_custom_branding_icon_custom_entry_values" + ) + } else { + ListPreference("revanced_custom_branding_icon") + } + ) + } + execute { - val mipmapIconResourceGroups = mipmapDirectories.map { directory -> - ResourceGroup( - directory, - *iconResourceFileNamesPng, + addResources("shared", "layout.branding.baseCustomBrandingPatch") + addResources(addResourcePatchName, "layout.branding.customBrandingPatch") + + val useCustomName = customName != null + val useCustomIcon = customIcon != null + + iconStyleNames.forEach { style -> + copyResources( + "custom-branding", + ResourceGroup( + "drawable", + "$LAUNCHER_ADAPTIVE_BACKGROUND_PREFIX$style.xml", + "$LAUNCHER_ADAPTIVE_FOREGROUND_PREFIX$style.xml", + "$LAUNCHER_ADAPTIVE_MONOCHROME_PREFIX$style.xml" + ), + ResourceGroup( + "mipmap-anydpi", + "$LAUNCHER_RESOURCE_NAME_PREFIX$style.xml" + ) ) } - val iconPathTrimmed = iconPath!!.trim() - if (iconPathTrimmed == REVANCED_ICON) { - // Replace mipmap icons with preset patch icons. - mipmapIconResourceGroups.forEach { groupResources -> - copyResources(resourceFolder, groupResources) - } + // Copy template user icon, because the aliases must be added even if no user icon is provided. + copyResources( + "custom-branding", + ResourceGroup( + "mipmap-anydpi", + "$LAUNCHER_RESOURCE_NAME_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.xml", + ), + ResourceGroup( + "drawable", + "$LAUNCHER_ADAPTIVE_MONOCHROME_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.xml", + ) + ) - // Replace monochrome icons. - monochromeIconFileNames.forEach { fileName -> - copyResources( - resourceFolder, - ResourceGroup("drawable", fileName) + // Copy template icon png files. + mipmapDirectories.forEach { dpi -> + copyResources( + "custom-branding", + ResourceGroup( + dpi, + "$LAUNCHER_ADAPTIVE_BACKGROUND_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.png", + "$LAUNCHER_ADAPTIVE_FOREGROUND_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.png", + ) + ) + } + + if (useCustomIcon) { + // Copy user provided files + val iconPathFile = File(customIcon!!.trim()) + + if (!iconPathFile.exists()) { + throw PatchException( + "The custom icon path cannot be found: " + iconPathFile.absolutePath ) } - } else { - val filePath = File(iconPathTrimmed) + + if (!iconPathFile.isDirectory) { + throw PatchException( + "The custom icon path must be a folder: " + iconPathFile.absolutePath + ) + } + + val sourceFolders = iconPathFile.listFiles { file -> file.isDirectory } + ?: throw PatchException("The custom icon path contains no subfolders: " + + iconPathFile.absolutePath) + val resourceDirectory = get("res") + var copiedFiles = false - // Replace - mipmapIconResourceGroups.forEach { groupResources -> - val groupResourceDirectoryName = groupResources.resourceDirectoryName - val fromDirectory = filePath.resolve(groupResourceDirectoryName) - val toDirectory = resourceDirectory.resolve(groupResourceDirectoryName) + // For each source folder, copy the files to the target resource directories. + sourceFolders.forEach { dpiSourceFolder -> + val targetDpiFolder = resourceDirectory.resolve(dpiSourceFolder.name) + if (!targetDpiFolder.exists()) return@forEach - groupResources.resources.forEach { iconFileName -> - Files.write( - toDirectory.resolve(iconFileName).toPath(), - fromDirectory.resolve(iconFileName).readBytes(), - ) + val customFiles = dpiSourceFolder.listFiles { file -> + file.isFile && file.name in USER_CUSTOM_ADAPTIVE_FILE_NAMES + }!! + + if (customFiles.size > 0 && customFiles.size != USER_CUSTOM_ADAPTIVE_FILE_NAMES.size) { + throw PatchException("Must include all required icon files " + + "but only found " + customFiles.map { it.name }) + } + + customFiles.forEach { imgSourceFile -> + val imgTargetFile = targetDpiFolder.resolve(imgSourceFile.name) + imgSourceFile.copyTo(target = imgTargetFile, overwrite = true) + + copiedFiles = true } } - // Copy all monochrome icons if provided. - monochromeIconFileNames.forEach { fileName -> - val replacementMonochrome = filePath.resolve("drawable").resolve(fileName) - if (replacementMonochrome.exists()) { - Files.write( - resourceDirectory.resolve("drawable").resolve(fileName).toPath(), - replacementMonochrome.readBytes(), - ) - } + // Copy monochrome if it provided. + val monochromeRelativePath = "drawable/$USER_CUSTOM_MONOCHROME_NAME" + val monochromeFile = iconPathFile.resolve(monochromeRelativePath) + if (monochromeFile.exists()) { + monochromeFile.copyTo( + target = resourceDirectory.resolve(monochromeRelativePath), + overwrite = true + ) + copiedFiles = true + } + + if (!copiedFiles) { + throw PatchException("Could not find any replacement images in " + + "patch option path: " + iconPathFile.absolutePath) } } - // Change the app name. - escapeAppName(appName!!)?.let { escapedAppName -> - val newValue = "android:label=\"$escapedAppName\"" + document("AndroidManifest.xml").use { document -> + // Create launch aliases that can be programmatically selected in app. + fun createAlias( + aliasName: String, + iconMipmapName: String, + appNameIndex: Int, + useCustomName: Boolean, + enabled: Boolean, + intents: NodeList + ): Element { + val label = if (useCustomName) { + if (customName == null) { + "Custom" // Dummy text, and normally cannot be seen. + } else { + customName!! + } + } else if (appNameIndex == 1) { + // Indexing starts at 1. + originalAppName + } else { + "@string/revanced_custom_branding_name_entry_$appNameIndex" + } + val alias = document.createElement("activity-alias") + alias.setAttribute("android:name", aliasName) + alias.setAttribute("android:enabled", enabled.toString()) + alias.setAttribute("android:exported", "true") + alias.setAttribute("android:icon", "@mipmap/$iconMipmapName") + alias.setAttribute("android:label", label) + alias.setAttribute("android:targetActivity", mainActivityName) - val manifest = get("AndroidManifest.xml") - val original = manifest.readText() - val replacement = original - // YouTube - .replace("android:label=\"@string/application_name\"", newValue) - // YT Music - .replace("android:label=\"@string/app_launcher_name\"", newValue) + // Copy all intents from the original alias so long press actions still work. + if (copyExistingIntentsToAliases) { + for (i in 0 until intents.length) { + alias.appendChild( + intents.item(i).cloneNode(true) + ) + } + } else { + val intentFilter = document.createElement("intent-filter").apply { + val action = document.createElement("action") + action.setAttribute("android:name", "android.intent.action.MAIN") + appendChild(action) - if (original == replacement) { - Logger.getLogger(this::class.java.name).warning( - "Could not replace manifest app name" + val category = document.createElement("category") + category.setAttribute("android:name", "android.intent.category.LAUNCHER") + appendChild(category) + } + alias.appendChild(intentFilter) + } + + return alias + } + + val intentFilters = document.childNodes.findElementByAttributeValueOrThrow( + "android:name", + activityAliasNameWithIntents + ).childNodes + + val application = document.getElementsByTagName("application").item(0) as Element + + for (appNameIndex in 1 .. numberOfPresetAppNames) { + fun aliasName(name: String): String = ".revanced_" + name + '_' + appNameIndex + + val useCustomNameLabel = (useCustomName && appNameIndex == numberOfPresetAppNames) + + // Original icon. + application.appendChild( + createAlias( + aliasName = aliasName(ORIGINAL_USER_ICON_STYLE_NAME), + iconMipmapName = originalLauncherIconName, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = (appNameIndex == 1), + intentFilters + ) + ) + + // Bundled icons. + iconStyleNames.forEachIndexed { index, style -> + application.appendChild( + createAlias( + aliasName = aliasName(style), + iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + style, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = false, + intentFilters + ) + ) + } + + // User provided custom icon. + // + // Must add all aliases even if the user did not provide a custom icon of their own. + // This is because if the user installs with an option, then repatches without the option, + // the alias must still exist because if it was previously enabled and then it's removed + // the app will become broken and cannot launch. Even if the app data is cleared + // it still cannot be launched and the only fix is to uninstall the app. + // To prevent this, always include all aliases and use dummy data if needed. + application.appendChild( + createAlias( + aliasName = aliasName(CUSTOM_USER_ICON_STYLE_NAME), + iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + CUSTOM_USER_ICON_STYLE_NAME, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = false, + intentFilters + ) ) } - manifest.writeText(replacement) + // Remove the main action from the original alias, otherwise two apps icons + // can be shown in the launcher. Can only be done after adding the new aliases. + intentFilters.findElementByAttributeValueOrThrow( + "android:name", + "android.intent.action.MAIN" + ).removeFromParent() } - executeBlock() // Must be after the main code to rename the new icons for YouTube 19.34+. + executeBlock() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt new file mode 100644 index 0000000000..c46cb1a883 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt @@ -0,0 +1,13 @@ +package app.revanced.patches.shared.layout.branding + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal val numberOfPresetAppNamesExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("I") + parameters() + custom { method, classDef -> + method.name == "numberOfPresetAppNames" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt index de070fb89f..40fb779806 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt @@ -79,7 +79,7 @@ internal val darkThemeBackgroundColorOption = stringOption( */ internal fun baseThemePatch( extensionClassDescriptor: String, - block: BytecodePatchBuilder.() -> Unit = {}, + block: BytecodePatchBuilder.() -> Unit, executeBlock: BytecodePatchContext.() -> Unit = {} ) = bytecodePatch( name = "Theme", diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt index b5f613d541..27eebb8ab0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt @@ -1,16 +1,11 @@ package app.revanced.patches.shared.misc.gms import app.revanced.patcher.fingerprint +import app.revanced.patches.shared.misc.gms.EXTENSION_CLASS_DESCRIPTOR import com.android.tools.smali.dexlib2.AccessFlags const val GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME = "getGmsCoreVendorGroupId" -internal val gmsCoreSupportFingerprint = fingerprint { - custom { _, classDef -> - classDef.endsWith("GmsCoreSupport;") - } -} - internal val googlePlayUtilityFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) returns("I") @@ -28,3 +23,21 @@ internal val serviceCheckFingerprint = fingerprint { parameters("L", "I") strings("Google Play Services not available") } + +internal val gmsCoreSupportFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { method, classDef -> + method.name == "getGmsCoreVendorGroupId" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} + +internal val originalPackageNameExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { methodDef, classDef -> + methodDef.name == "getOriginalPackageName" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt index ef8743fda4..fb773457f8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt @@ -1,10 +1,18 @@ package app.revanced.patches.shared.misc.gms import app.revanced.patcher.Fingerprint -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.instructions import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction -import app.revanced.patcher.patch.* +import app.revanced.patcher.patch.BytecodePatchBuilder +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.patch.Option +import app.revanced.patcher.patch.Patch +import app.revanced.patcher.patch.ResourcePatchBuilder +import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.resourcePatch +import app.revanced.patcher.patch.stringOption import app.revanced.patches.all.misc.packagename.changePackageNamePatch import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName import app.revanced.patches.all.misc.resources.addResources @@ -12,7 +20,8 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.shared.misc.gms.Constants.ACTIONS import app.revanced.patches.shared.misc.gms.Constants.AUTHORITIES import app.revanced.patches.shared.misc.gms.Constants.PERMISSIONS -import app.revanced.util.* +import app.revanced.util.getReference +import app.revanced.util.returnEarly import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction21c import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -23,6 +32,8 @@ import com.android.tools.smali.dexlib2.util.MethodUtil import org.w3c.dom.Element import org.w3c.dom.Node +internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/GmsCoreSupport;" + private const val PACKAGE_NAME_REGEX_PATTERN = "^[a-z]\\w*(\\.[a-z]\\w*)+\$" /** @@ -201,19 +212,18 @@ fun gmsCoreSupportPatch( googlePlayUtilityFingerprint.method.returnEarly(0) } + // Set original and patched package names for extension to use. + originalPackageNameExtensionFingerprint.method.returnEarly(fromPackageName) + // Verify GmsCore is installed and whitelisted for power optimizations and background usage. - mainActivityOnCreateFingerprint.method.apply { - addInstructions( - 0, - "invoke-static/range { p0 .. p0 }, Lapp/revanced/extension/shared/GmsCoreSupport;->" + - "checkGmsCore(Landroid/app/Activity;)V", - ) - } + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->" + + "checkGmsCore(Landroid/app/Activity;)V" + ) // Change the vendor of GmsCore in the extension. - gmsCoreSupportFingerprint.classDef.methods - .single { it.name == GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME } - .replaceInstruction(0, "const-string v0, \"$gmsCoreVendorGroupId\"") + gmsCoreSupportFingerprint.method.returnEarly(gmsCoreVendorGroupId!!) executeBlock() } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index 7c1c58410d..7395c3983d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -43,7 +43,7 @@ internal fun spoofVideoStreamsPatch( fixMediaFetchHotConfig: BytecodePatchBuilder.() -> Boolean = { false }, fixMediaFetchHotConfigAlternative: BytecodePatchBuilder.() -> Boolean = { false }, fixParsePlaybackResponseFeatureFlag: BytecodePatchBuilder.() -> Boolean = { false }, - block: BytecodePatchBuilder.() -> Unit = {}, + block: BytecodePatchBuilder.() -> Unit, executeBlock: BytecodePatchContext.() -> Unit = {}, ) = bytecodePatch( name = "Spoof video streams", diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index ca028c4388..2294ef9b20 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -1,38 +1,28 @@ package app.revanced.patches.youtube.layout.branding import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch -import app.revanced.patches.shared.layout.branding.mipmapDirectories -import java.nio.file.Files - -private const val APP_NAME = "YouTube ReVanced" - -private val youtubeIconResourceFileNames_19_34 = mapOf( - "adaptiveproduct_youtube_foreground_color_108" to "adaptiveproduct_youtube_2024_q4_foreground_color_108", - "adaptiveproduct_youtube_background_color_108" to "adaptiveproduct_youtube_2024_q4_background_color_108", -) +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_MAIN_ACTIVITY_NAME +import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_PACKAGE_NAME +import app.revanced.patches.youtube.misc.settings.PreferenceScreen +import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint @Suppress("unused") val customBrandingPatch = baseCustomBrandingPatch( - defaultAppName = APP_NAME, - appNameValues = mapOf( - "YouTube ReVanced" to APP_NAME, - "YT ReVanced" to "YT ReVanced", - "YT" to "YT", - "YouTube" to "YouTube", - ), - resourceFolder = "custom-branding/youtube", - iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_background_color_108", - "adaptiveproduct_youtube_foreground_color_108", - "ic_launcher", - "ic_launcher_round", - ), - monochromeIconFileNames = arrayOf( - "adaptive_monochrome_ic_youtube_launcher.xml", - "ringo2_adaptive_monochrome_ic_youtube_launcher.xml" - ), + addResourcePatchName = "youtube", + originalLauncherIconName = "ic_launcher", + originalAppName = "@string/application_name", + originalAppPackageName = YOUTUBE_PACKAGE_NAME, + copyExistingIntentsToAliases = true, + numberOfPresetAppNames = 5, + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + mainActivityName = YOUTUBE_MAIN_ACTIVITY_NAME, + activityAliasNameWithIntents = "com.google.android.youtube.app.honeycomb.Shell\$HomeActivity", + preferenceScreen = PreferenceScreen.GENERAL_LAYOUT, block = { + dependsOn(sharedExtensionPatch) + compatibleWith( "com.google.android.youtube"( "19.34.42", @@ -41,20 +31,5 @@ val customBrandingPatch = baseCustomBrandingPatch( "20.14.43", ) ) - }, - - executeBlock = { - val resourceDirectory = get("res") - - mipmapDirectories.forEach { directory -> - val targetDirectory = resourceDirectory.resolve(directory) - - youtubeIconResourceFileNames_19_34.forEach { (old, new) -> - val oldFile = targetDirectory.resolve("$old.png") - val newFile = targetDirectory.resolve("$new.png") - - Files.write(newFile.toPath(), oldFile.readBytes()) - } - } } ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt index fa02fcc296..26a10aacf2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt @@ -136,8 +136,21 @@ val changeHeaderPatch = resourcePatch( ) if (custom != null) { - val sourceFolders = File(custom!!).listFiles { file -> file.isDirectory } - ?: throw PatchException("The provided path is not a directory: $custom") + val customFile = File(custom!!) + if (!customFile.exists()) { + throw PatchException("The custom icon path cannot be found: " + + customFile.absolutePath + ) + } + + if (!customFile.isDirectory) { + throw PatchException("The custom icon path must be a folder: " + + customFile.absolutePath) + } + + val sourceFolders = customFile.listFiles { file -> file.isDirectory } + ?: throw PatchException("The custom icon path contains no subfolders: " + + customFile.absolutePath) val customResourceFileNames = getLightDarkFileNames(CUSTOM_HEADER_RESOURCE_NAME) @@ -166,7 +179,8 @@ val changeHeaderPatch = resourcePatch( } if (!copiedFiles) { - throw PatchException("No custom header images found in the provided path: $custom") + throw PatchException("No custom header images found in " + + "the provided path: " + customFile.absolutePath) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index f94b27099b..de715d06c2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -27,6 +27,7 @@ import app.revanced.util.forEachLiteralValueInstruction import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.indexOfFirstLiteralInstruction +import app.revanced.util.removeFromParent import app.revanced.util.returnLate import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.MethodReference @@ -127,7 +128,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { ) if (hideShortsAppShortcut == true) { - shortsItem.parentNode.removeChild(shortsItem) + shortsItem.removeFromParent() } } @@ -138,7 +139,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { ) if (hideShortsWidget == true) { - shortsItem.parentNode.removeChild(shortsItem) + shortsItem.removeFromParent() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt index c532c57d4a..19f0454bad 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt @@ -1,6 +1,8 @@ package app.revanced.patches.youtube.misc.gms internal object Constants { + internal const val YOUTUBE_MAIN_ACTIVITY_NAME = "com.google.android.apps.youtube.app.watchwhile.MainActivity" + const val YOUTUBE_PACKAGE_NAME = "com.google.android.youtube" const val REVANCED_YOUTUBE_PACKAGE_NAME = "app.revanced.android.youtube" } \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt index 61d7be3502..b2d8ba287f 100644 --- a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt +++ b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt @@ -14,6 +14,13 @@ import java.nio.file.StandardCopyOption private val classLoader = object {}.javaClass.classLoader +/** + * Removes a node from its parent. + * + * @return The node that was removed (object this method was called on). + */ +fun Node.removeFromParent() : Node = parentNode.removeChild(this) + /** * Returns a sequence for all child nodes. */ @@ -70,8 +77,13 @@ fun ResourcePatchContext.copyResources( for (resourceGroup in resources) { resourceGroup.resources.forEach { resource -> val resourceFile = "${resourceGroup.resourceDirectoryName}/$resource" + val stream = inputStreamFromBundledResource(sourceResourceDirectory, resourceFile) + if (stream == null) { + throw IllegalArgumentException("Could not find resource: $resourceFile " + + "in directory: $sourceResourceDirectory") + } Files.copy( - inputStreamFromBundledResource(sourceResourceDirectory, resourceFile)!!, + stream, targetResourceDirectory.resolve(resourceFile).toPath(), StandardCopyOption.REPLACE_EXISTING, ) diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index 3faa7cdbeb..980f0c20c5 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -1,5 +1,33 @@ + + + @string/revanced_custom_branding_icon_entry_1 + @string/revanced_custom_branding_icon_entry_2 + @string/revanced_custom_branding_icon_entry_3 + @string/revanced_custom_branding_icon_entry_4 + + + ORIGINAL + ROUNDED + MINIMAL + SCALED + + + @string/revanced_custom_branding_icon_entry_1 + @string/revanced_custom_branding_icon_entry_2 + @string/revanced_custom_branding_icon_entry_3 + @string/revanced_custom_branding_icon_entry_4 + @string/revanced_custom_branding_icon_entry_5 + + + ORIGINAL + ROUNDED + MINIMAL + SCALED + CUSTOM + + @string/revanced_language_DEFAULT @@ -123,6 +151,36 @@ + + + + @string/app_launcher_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + + + 1 + 2 + 3 + 4 + + + + @string/app_launcher_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + @string/revanced_custom_branding_name_entry_5 + + + 1 + 2 + 3 + 4 + 5 + + Android VR @@ -135,6 +193,36 @@ + + + + @string/application_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + + + 1 + 2 + 3 + 4 + + + + @string/application_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + @string/revanced_custom_branding_name_entry_5 + + + 1 + 2 + 3 + 4 + 5 + + Android VR diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 2461191bbf..1b464b3829 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -19,6 +19,19 @@ Second \"item\" text" --> + + App name + + Custom + App icon + Original + ReVanced + + ReVanced minimal + ReVanced scaled + + Custom + Checks failed Open official website @@ -1484,13 +1497,18 @@ Swipe to expand or close" The accent color of the seekbar Invalid seekbar color value + + YouTube ReVanced + YT ReVanced + YT + Header logo Default Regular Premium ReVanced - + ReVanced minimal Custom @@ -1708,6 +1726,11 @@ Video playback with AV1 may stutter or drop frames." + + YT Music ReVanced + Music ReVanced + Music + About Ads diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png index c2995578d9904564df539bb0c396aecc217b3d07..bf0c300aabcf468b11a15ffa63cc768ef2f01e45 100644 GIT binary patch delta 3352 zcmV+z4d?Qr8=4xBBYzCxNklF}lRNph3)ZUux5z!rFJlr(A5Du~PK?d|QU{C^i=z(8PNU;qrhC5-(q zgf|g}!RSdaI5?OD#WOySK>TBb8}N76prD`>%Fhl124K+1fQbm7NCvM-E)M+t7F-VI zP<}!fFpvPo+XH-N!T5EF0?(f@Q%v;r^>tSa82CwifTS?mjrs+kPY}tICl}#q_!GGm z0|w%`FOUU>dw)Y6#lJb#a$m!DsHnt87%%|i%nT!aWW5OV&km}yT|tRYFkm1cARrKi zd7X*iM~LA)m|cl4Fkk@d_H{o>1bmqUU*x>MzrUMeYZx#9V{G*!MZhT>XozsKVgW>y z0Q8HAi3v1A-|N?}J1XB8qTJXz-o1P0t0xZ;dB^4v?SEDbX!Wf-? z=`84Mt0mDuJ+lGCLT+wugzFO&loZc_J~GK2bPe>TfTTg>=j%tVuC9dg$&$#_`a>*q zmb}jsust!K)q%Ss71zFbfNJkI$ZZ3I$RG#c%jiI8lJB!6)awu1VTbWM83G} zAZ?6;5Js3uyOX7RiojE2q%Vv3Ip8kvD7Xn617_8++^MKhcL^z7bEzCReAX7i`U5-& zih4JK6Tm_mWtIZ_s?176c2QAL?eQFn{C_8j=p>&11{>%wyu3(15#d(#op*w>F_@IK zFe}<4U43vFxF0+Mt^#`@E=WhcCBV7hZty7Dy&7RF@Ynbtgrj<$WNdL#h71|#{rmTH z_}F3c_w}d6)tAtgCfjLk!*#T&@n#Ce3=!;;oR)?xC4rJ9OOltDmu{z7+*3a2YazkjwkL`$3Qq(536r8;@rQkqPuC@egTcJJOz9v&XT zxOJBgMx#C1zJU-r%0iGv zQG4)NBd`G25IoKDeg;#qyltgjsk{n9czAeDX@u*|@=hZLbvf1@OPp5fk|CVMT|(es zP6+CfrXM&M?{L9{K{>Jf4S%Kh&)_`N-A7&OL`m_jVucOvmEwK_tAT~U&Zzqdi#rcG zvU+PtdA}h2M9dz-mum{{wz&{sbor#&K=&5vh7B8p0a1>enJG=G0@SztWy+Vc0R<-Z zre{x|(bcP030F2^ooqei4s#=&LRf+zBf_jIGlNCsX&8TRU}Yo$-+!~X-5O^A&smzG zEPpESGm9G{wQ&FwSd?fNi^~M|6o!Sk6(-(qEGzdN7%U4x-nEjJZI_85R;2&_`)?vV zALk-KP?qP1AR4py2ym`iZW(FNm~PU4VM2nDS75Wj9zJ6rs44p$NOQubLV!^hvgQy? zEO)9`uTBCpXUrf+Cx1uEoTV(ex_MB?jvYv#XV0GG;^JcMm5UZSg%Ayffe|XhHKyBg ztc*rd+;CMyxnhY?Jquqt;d#3>)$eC<2c%fISEESu|%RXXU@=@H*Y9Snl$9;=|aA~K6L*41$y=B6{Sv{ zTFeO63ZeeDI7dKQfnib^W27_@s-QTcCBwPQkNt%c&Emqrw9K%-$Uclba*O<8goa^! zA_-Et88n3O9DjkQj@_ze>gQFY&%4H9YjYd#PqaA_jFAu}qWHG9nzyj@S|c^;C}dM1 z!0^(+=srucg6^%<4jnp>K%YK+NZ3KGTD3@E+O%oHskZvM1%y^k=Zp{qeo>7ki~tEO zO*n3INI&@Ys~rj`*;HP+p9R$0q;J_w zwofB(xA<_NHq2Tfh*3XVwruqFE#6f{g$fnmFL-{ zn14-5Qw#hIUIUkaWlZgqNK3S}(sHSWR(dr)ooq)u;orar4@vE9B;{=^Z9>dc z^Olu%jl`_xCkbe{+TPRPbTKHfayRpOfrirH!}ynj&-eI}|`2BL`pUtT8@^|0pd|#^S(a~k z>U`&gQodmDy3V{^O)Mj4lTHYc*-8jvR%iqvSZ%;U47g7u?jni5tzH(P9V0DV`tn4l zzGa;@gQb(F+ZSx~4HF};^yNB={D0sVjW6UqILg8~Ks{n$Ge}zv;bf2xy|{CYpe7eO zW{k}It`U2mcN#*-CzaXGM4Hh;fEsNG1E&hnn#h+7TxG_9?}E*=ep!gPNnoT#-Ya}- z7<5%^1UrnzCv5OjO+Fhufe`$3+~cD1>O?muua?zriiwZ|Y8qpW5!~!l75MdU$XnSKp^8 zHYI9G#>&fX1U6CArqbw}OkjWTPrUbL@Ne~OBfE}Wq{83`FjVcYp$$zX+l#S-L_yK<_B|gA_0T|_2808QD;XcBDm3RaL1`@$2 z*Fp?Gawa&3pMV-aV~k%g0EgENM!NHRi$N{_Dwbr)m3RyT#(x45s$PlyF3TaYWeWx? z@f`*Xz)**ZyFcG*c2I>SxY+oo;SKz34s=0qr!ZhEX9)fuhMa=9s(&d4eqtDcr~)J2 zgfNW%uQ@9DnSdZS{%CMN^0tOk?4n|dpsK2> is;a80s;a80ssMoJArU<2+t3jJ00002J_~ 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 P00000NkvXXu0mjf0{ol; diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png index 9bd381fc75fd7e54e72e939c9487bd8b3de5e1fd..7434d79a54dde9383a4efb3b4dc22dce8e72beff 100644 GIT binary patch delta 2952 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 delta 3068 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 delta 2228 zcmV;l2ut_Q5Wo?TB!7oVL_t(|0qntn00000fS~=U7pVdO0001h*|iGTNOC259A@V1 zznL5bmzkM)kC~a7nVFfHnVFfHd6~mW{a4a!sbqCJxo9G3qH*+OyIihrS3OftdLWgR zm8BOK7gy!y=Z{oqxwN!2qn8gmmeSJF(u<0U_C~;;M*c4#D1VDW%fJ%gS?Xl=vf;;4 zVPWCE2<~qsB_#rwz!M|{+qM2D`W(;;h8|10#3P`OIe`y`Aq2{gNB61_oBde`;)e`o zx4^z17Zem^N1q2`X=9M!m2MNj0IP|>)~m3&2@pjowhElA!Lz}HOmcH`rLYKjVZI;G zMjhz7M8Ilrs(;_JL}a7(_Vz5~*%pv>Ya0=f4beA;b~f!mXA^Cw-bT?FBgb!>Mbvm+ zUS2r@*QootB|v$3xr8giQjnJ~m1QB>x^#1~P+1|`R7Z6!5ooIs1o@x)JPf1=_#0RW ztOnKqYei%g^3Q?eOrW|-f@f*(B0n9-Phq2)M$jHc$ z2@@vB;$=%^@|f}R!l={a$643OS2L~@g_d6&b-GL*HC|L_;>3yC$M1Y_k64|9+$s^>GKE2y`*Bd;?A8sxOqn6?qdsqxxIdwqPIz8U1H#?DsS9|*a+Mkhf; zYLO2Fas%{oRi~+`saD@3An@tX8$kaQ0n0g#xqlHO0Rq?G2F@ZeF;NaY@IcX2RZ}hJ zO}tzl-|1!GCAnbIl~P$%CGGe-_~3&jAt9l|t0OR=BN8+>HxG5%ih(8$bh42T0$vxB zxCMmhtc_9rhVs*_O%Uxkt`fhaEspkf0e&*Jn$Z3d@~{cOxu`D&E&`sky1*^&z6{y^ zz<t&!KE8{)71-4PhdWume7Rh7 z`2`X#=qFe0{()S*$A?l;*k3NV^julFa;3nAt{NR)8PUFL011XW%+E(#qa}gPEI4yL zWov;CfYq%3fGnMMFQM!M=Xq~Zek1D(g?|Zl>rwyRIQkhNBnr2gP4rH$YcX+cD`HsfHm6Tm;WQQS3Ltce<`*gL%?1j&Ow^PdGAvGv{`EZq3i(4_6CH@Z-(<8LxKH(>%G;2xHv_E!-n0e_bJgIyB1 zh>MGp>#n;_mMvQ*+1VMAm6a|_moAkXZn#0)y7C3_5I+*oA?@x>L6>bk;ZwK21SINz zVr<_@*;A}P&iZ3UXA1`1wbO3SDV78;I$PEP%GdDbaR5!M0@6D2HOBgO7sk>D*vr^U zcYOD3PpkyfJNb&+wEgzm%c4b#L{qg zfLGWPxpB}%z&KzUFcBCD4AC=#(O*PzE#ql^G5hZ6T^G^zI%P|N^MFafSfJG<0pIZ@ z=l$og|7y0Q$hv>&|v)|pvXB0$IL z%yzC`YrWZToLNSD>FDR}-_y+vVmD!ONdSG91oI6E5|M|@WIord7`vkF7vOnb^^Wvr zILh1DXQO^839%vaN`GNO+bN!&UMK0d$dZ7E!xuZ-64KMtW%%&n;-!%zN2-kNf#-pj zeXc$w+~@UNG0w;{fn{|3t;R_^nv?Rk(0K&;&&E+ZIplcGIn}@AwSE8n_i-8+I`VN~ zN8o&_x+J)c{a@~Y1Z#jC%I-EMUPYfLylsxx#?83j|7i|~kAFk&Rr8*&=t@O<4+@i( zf$M-36!i!R=92`0$j;7|qmMpXjydKSEqC=7#RYy}3;`htCc2+@%|NT|70h0{ydZ!8 zhx(B0Ku6ELoooj*J48`J{9son)Ngi4WVak1X!9sbf!-s2=M|vB%;sudLtVYcfJ|pX zyx^nPz~X|Q_VKBd7r|?>hs5rJHd^#+xF6St+(C`0UnLj;RNJ&B7a_?Wd#3Z zQ0000m_yX5ERS5UY$-fI9}D=#lknHibNEy`DFewNY-vICe8EDNm5%~h~{ znXaK3HgSUIBP_;JEW>g$KLPh52menl#}a&v?(k-NEXG`vBVO}17UNpPE)?tLV5b2Z zK+Vm~8nyklYALPOQMKFZ;OY?p%mR zLHG&X5U=?L!dM% z6?wguCHy$e4}!F>eA2eOS0Vf~2G*oq5KY8a@6W)ojwB`w#gNU#YgTQU8ql zTW6njw%8`@Eh9hU@Gwnq5xn^g!gc0#8cbt=^_U8w1C1cg9uQWc7;dhEFdE&k89E_j z8h<(SC-U^AR$6=-h| z=VAzRQ4KfGL3q=;Ls$agP_wKX{_yzOaVut+5Egac0?pknuF~QHXaSbXog< z4PgTMBORwe#$L!pN08><1)b=yE?R%Ij#q{57=#5IVkEf46e^@XefsE*JMPdAKYXjy zj69{L=jprezR_KG-4$5JHjzex%fd84C)T0eOlACzzMg-`UpNvc;{-ejVV-r%^nWIV z7tQNxbV2aLP8|-yt#}73A)MoBf_BgOy%926kcoB($HUHEsD%$FKm+PMks<~ zuo+~GfSn6A#7MAnG@lXpd_KMU>Z^L{si*YB6Hn;%*IyUQqI!&sUBWcM9Vo}9_z=P` zaMJ^0Abf;j*aIXnURs9VZ(;W&4>{r#IlG@ zV2)i9<%MAzWY`yzPe7Q09Jo0bH)3drd+84_2f}`E^Cg7a;bt?ejIs$TtR@&`mQ9B6 ziPey`n1~-R6ayf1;V8Iiz<&cc7^&!sDG=U+nIBaZ5UzloPaupzFSD!)s~{}E>-YgO9)g_%K+j(Lz#1&6!^8K0WhYay((PHU$^#+SGoe}6&7?Xhlxy`yOY z3M!rn1TY`%CyM(x!Sg$WYhcF@8OOrSHkbf;JdED3(;u>Y06R690a<>>hn{B_heB9` zEV!wJjGf@-8ni=}x!4_U((y9n@hAGj&Yh6Q5(xKfh))oIinb9DZ3Fyl&gsE20De@! zn^yQy2Ro_Q3m4%u41YwhbVD0Pz>jixQ-I@e84iRG1@NO34#|ffZRiO%J`9B)S+G-u z6L1L*K|X?|8K>bQ?1nxFmPVX~^DqRJ@MAN?Hryo);QF8)rjYB;9HYH}r;$z~arbfZ z5z&96DEv2!XsV-}MB?|mg%q-DeZE}cHW0@+(TV#c8etU09Byrj8uh!M=@>?UZJmuH ziSR{{6pDH-#+o7r#X4ae&2RyC4XMt?mqebVfQF*-kccB_;Ax{gm;{@r>;E z?eWamMx6#a*A7nJHL>H%vn~+j+c+=Um?kUV1Q0@v#*2C0F77vKxZsmxHrH%l_XV zPZ7U0#cUSy-0xFUQxk&kXv<4Gn&1Pg0h*23MC|KB_SqgSD8X4^BE^$kOx7tWDM@MR z{7p;ohHYjHV}IR^z-%zt&mm)w;1Z9HXij30fN=Oq0+JAdmYQhmbp|fU$;mksuF^gS zps32p$x&|CT%{(bs36;;ysR#^hIMIdV@$(XyAjO3DrtuQ^KsaBP>#LWhy7-G6;>hv z|4SyL0-vHS+&Kp2*p6(p)Vzvv%tYWqvF5u!24Z7lRexGqs_naW>X_jrdS~bqtvdNG z{dVGVp<(∓L9t(2|BRWo2dJIo{3>7Wg>qcaR@nA_Ps%2*@aaJNH2N25rz%^BII? zfxHP6LZQ~VuLM$3Qp60QjT<-Wp(h{Fg`N}j_xW$>+q0e(8kR5eoTLXHe@L4*Zx-Vl z*!wX1Tz}6oycP3H2>(Hm(G$~A58*VplYxH7cNH@P8z9^PJDso&!dTe(e+)o3FEdDc zL|N;zF&KsLm!r@ho#88C=#Jiqhp)6pkr@|-cOWc6U_#+~*@d%(g@x&c8*Y$D;lGMB zr);TSzVLm#r+G&&S3zN+>iKumO*bhtG}Py%BY%4PX@aqE=V!<@<)z?p9EOY^aV(tN z2jK(Q83-BwHtTxh3&`>_PJokBunkXR1!^GUV`RZjF}{L~D!dL4?A(HNkg*Fhy)@y; z_!Tm?VrRgcfY0%ZeO(dIAmZdsyLa!_f~E76o7z(=F8f9+FaK6u(|T#%;@K)MFBkg| zvww!qOGdU|;-?A5!JQu<%rcLotj3Vpz8*p?`j~O2LO6tUIGF|E543>?b&#{_KOiHpO+cYW`@1X*2?^2E zsZ&)|RjKr>B%OZrQk`+ka;0S^>G0u0ntwihx){^geSQHNUVr1fiSe|cz&Uf6XcW`YU+njkSTQ67&+)z#ISFmaqBB7YMV z5tXR%RY4>wm7hv}@NcB_zZuK0Zb}cka|Z_uM14HRTTC&3>Ao z9yPA%`3t1EPwEFl%57E#ZhJrx%h*Ju;qM1Ma`umsuY zg0~@j2Pf_DCxmw}6vyLOvpfL((a|bU6@h85hCh8Y!5+lINj45! z$4G;WGhinaP9{M(WX2tf<1qq*(I1KE>Sup*1KtEQKst?Z*c8q0xxq8fJfqdCS8LU( zReJ8Z=d5!9-^{)ma=0x~%*?;7wpo4&QC;BOxXx zMuP?ol9M4rhKO}$yWjJH_kA4pD+p6y=RF92qJvqNheHr{;YHV_*nd5+GZwP!M-rSo z2H`hcg4<9I86({v2VR<>60$B)uYrtT@FI3VMxGh>3S_)*9#=s)Xnm~RB4|;D2_E!eDepF+2!txJu~3 z`9Td#A)C+aqlTMJT-Ua=1iwzcwCTSn^8X7Xnu-&j7MtL23n^rMbADXnG!XmX21iRz zun|fq<{wR+6&NEk_D^Pjvfw+|O2Vz+2#Puqf0-hC#Wvw@nqdq#l{j$=rqv}cFRvp7 z9>(l2j=zuMZ8+mmia(LRBlvEi(|_Bc0~r7S0DwXM*5~+E2$=!^0001hg#a-^x*x`V Ru}A;_002ovPDHLkV1g_xsW$)s diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_dark.png index 8586ec0363f7c8bf509752fd51e9d98aff3e6339..b33a7c41fe14e964da5846dc36c67bc56978ec31 100644 GIT binary patch delta 4472 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 delta 4628 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 KMNUMnLSTYc>7X6} diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png index f9f9db247b2baa1c50048c8c56f9623d5c5a0df5..d1d98ed2dde3fd73a9fa5edaacef028525fba4a2 100644 GIT binary patch delta 4029 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 LW`;HTE|LEOo?Y%R diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png index 4bd24b995f300600b3e38d7f9a6c8764a1aad1c9..f189bbd385ae8a2b2592b94fbb8bab31e147022a 100644 GIT binary patch delta 7296 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 JGFh{4{|ARYkOu$& diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png index f157928cd21ccd17411eb477546b5e8dee5aeb00..725e73c23ebe05ea2afe4f4c024b0475c3f0ee2d 100644 GIT binary patch delta 6472 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 i0UeP+FBt#;0PsKi8#$s{S^rW10000G) delta 6817 zcmV;S8eZj$GvYOnBN`g1Nkl3LBGO$mUb9zoU-MS;LGvXP z3Vllu1TH_FCL%5${B<4yIH8$kt$*zWATUIfxrlQBBGO;87{DDru>WC@k34_64FI>@ zeQ5f-`!wlCL`22K#dUO$9ws8^G;hkL@Jy75fP<^wYHBA!pBou01*@efHRuGCV7a6sDEkGrUd}j zi^wa#s3xQ0i|HMJjqb4;A|gsG06j(IRs?ecnKGAfM@0G=A|gtNiU1~Ro<&dsnKqa3 z62N3*Oa((kL@}!jV0i>{1DQUTuu6YdGekrb{nkPvvNiLIAmT#U6~!i~L_}0tT3Q=G z*smnciMZziV7DtdLqtUX)_;E?v4*wAL>Exd?Kv z5CAN5&(#nS(eD6^bpvLumw||U1~A4D5z)^?q>biDt`tE8h42JGd!rN)5dmnRxfDSW zn#UEjHjv=D2?A-;7+*TgPaW#y~6n~fvGd0Z2%qcT7 za~sYkM`7Mln3*{_2$dU7io0bBGyLuwtCptf+PC(2q&cmB(x*)(w%_3U`#pO+e*8jE zvH>0A2`Gm#r;ARap@&at5d=`ug#c0zgQCcXNKZbLuy{NrklVxO)#^D*gdaanQV;=) z_fs5lT=LQpt}?$*kbe{X{@7PuKc&{A=k!4w57Ey!jCB}>j)+GjCI#DZ+(JuukuetA zKY@{O5!}Uj^yGgN<@-N=DNj$+M^A# zJ<+x&XBSZvyt?%D(@+>}$DPQ9NJ=hDhb#<5sENkMkcA%boN4!~tKU4cao=^y>ceTx{ey$%9by z1QaG$k&akIQf|X#C<}W~0HLH4PD5Gv%EhqWkDp$Ug&8?*RM3r%@Jy(kX?%RV1`Zsk zAAkH&$B!S^=6}tbRiQ!!#U{q9W%=6L)p58ox=qmM-Nw1Xy4u}gxLQ`I%{CLnw}-W9 z(UR*jMR+kVEkj zPd@pig0p({YQ@IJiu>ZlwTot6e{Lea7yxOAq%4Ijya>06!WPKF0Qm9a7Xz0+TUnWo z?>lo;5bDU_o_p@m<;$04X7}#h3Y1D!Vp5XQnmnY8{_}N|j{S&3N0HHQfkriXSc%C= zDj6uLoqs!b%FLB3S9ITf_lf)9)l|`U*PomJlVWfR^${s~46?8uZc`U$pe%fYityvd zF9t5ZZTyfIg}^+RTe@^sTEguvj1UouiMl=_9a? z)^!`N+U2Sn+oI?g+cvXz?_P0PYH=UDJk|7}Fn<<<&3GQKSa=z4U>bJgDr6%ak&;R{ z0c9Z*Rl@LmE<}F#@#7Z*m%m)L(W_#>wv1_-C!ToXPt!NFp(627x~on9+vwS|XYi=NXsc$;nxbv5zl3(&_%Z$P z6obKVnul#h2xrh8ZW4{Acnp8V6imlxynld>NQRR<@9}}&GWZS3!p{z-$)eB*4A8DA3=@^UG&V8jxPpucKs;^SAY1w zyu$WWv}jQc9XeFku3eLvIdkTSj#V*sV$<|AlH* zwWVT{;*4pa*|TTM3~gxm@ZpMziZVw9Ub>3@5mXEc;C&DGj;moP4&p3i;Q}%-8I6#g zG{QxjQA_|%@&K+uS@;+7!Y<`85Pt`7)^c0GIb`B3w0AH%ERU7=2=D#w1MCPoo>3Mf z@C7c|J?A)v=MjfcQWZmR2iWO1nW^jXrlwp#L<^uekn62PMlEd)~yv6AE%^ZNqVIDlYd%y`xY&_ zWerwaSYs^nc#CJ1TrAmGw^gfF#;K%czWVAbHE7Vl92JDa_{b>+Mn*ywMj|^Yj2H1O z4wd-ML*eZd;!v{!OEM&rr2;HN`r{Hm6OSrr=DPG|9M~Hp6v!itQ0r z3?76mWT$YI!ZIjC>ro1J`3q#>Z^&*^am?m}+zeKE4VR!0Z9xEbsegg5pkVkFZ{Zin zr9BQi$>LZ5h3F7kJD7%=f-6u6K15wONgeEg+{n?zfa#VbI?#RLxT?hT0tMs;+3i-srm*sA;>Cg|L z2(rqfkcVa=w~JzM74pD4*_^sbzsk$WAI_ALN2x4A|?fM@RQ< zxQYP>r$r~K88c=mIHN|5Qgn2*G3^rwr0R*T<23P}-5PV}4u6fg0|2+}(UV;#C{VJL zu`I^~l$MsJ;LMyk(`W)(cvckk8^ZmUvJ+#T3JcmeO!B*JX`f0IDI zBMF?%Hh(11pHKjC7vAwD_*_grI&FX2^-?RM! zb>o@V;yi_T9lGv+Hrh39Le8Rzughn`4lc3JQKF z)D96I`bDUUx)=B7C9$%ovPx(6UrMOSR4nBfcr+adRbB6P8H6YYA_Nxqp23tLRy3<# zy??qIF=B)|eE6_Zuw~1ZX^}ZSkW&cgRFy~x;_*~UI)B_B4kpmgNr~s_&zx-%5)#zX zrArmeIo9aWqjd>uAdB7*rbK}Z77=VLmGB>Pylf`HxtQ56k1*1(Qf32FVRW9~tHun> zTL|ZeAx!sz&n&qvVHDw+5YOya3?iJhVt>4$eS~gdkU=H}Vn4e?I7T6%KSR8V!B;}k zzokLd)j)4PN4VBoOj4MHWwI=}bx!C@gGS8D2|ME5GngC1LN+>{uLsm0e)!?I-hgrA z#_1WqvrSz}5MSJSq?$JVA2n^lzv|*Pqn+RB&-6B0&Z4leP{ABcqNYuo>SG7B9DnBA zD3HOcXm0A^gYIy@C*p;a!U!)g$;4lUq^N9ibnG zNrXZRsg(+ZZRWXtkNdyT)swYJWlqJ0n!e z`xZinEAaQ3h-Y2h~pA8x`$l2DNfKEwC(Z>vODa-{WT($HG zLYZO=#G47z;rb8afNj!{cz;wOu#&0#IFGQ8iNPoM?6-)y_AkO%yC4D59WxNmeh&j5 zLPH|PiewP};P@gN{_q&?C!ZnxD=jIf95`Q$nO|rckkzXY+0`VWQpMiZww(B8$+%vTOSBcqW7K zfsg^9tA|>)Y^k!dvwx3k8tdM@d&u%o{kyJRyB;S!k&~07TD5AWkA>|5BZKiJlnlNi zoG$3JycyJ*3PNJ`dS>582xUSftT+2?e~56tMQ7@BLP#M9GT3K1AP*%JFcmUhyNkKr zUl3!DwA~ueyLBi;rQF>@w{}H>jolK@)kH%e#HJz#S)$^;`+x3JZhPvfr?h9_p6TnK zoiNZ7PduUA_P_%V2+|W#L4kf&C5#N#qspeXK?BmK1Qh@d2r>LFdK;!hw3b*YV!xL1 zc;pro5KA(E=VWX>nOx701g||Rc@j~u`vQ8m@(2S6ZhI`k_nQ{aoa!I&~cBiS66BE124{Ws4T66B5T!X*%1jpH-9+$VUjr ze4rS7Ofa!ZLU<;UC?X^Z$=hYjm%Y8GQsh>+{*2>pcn4VMfS#IM))-h=wtl9fs*MH z%(dL*N${>?R753mZYwmMd1Lum7(kvur*?P33sE40lL@BQ#gYu}ki#Ysx4VQ2wl-jNiTnQC5n9n5Z$;{S& zbbWz)3j$^h1<8&_3^ay5M?(2ZpJd~MrHl+_Fn`yZ1A>jTT`N?oH9+2~k_m)&t4s)a zl_KVT6DC-dZe%uWv(3cbx1nxK*hL0N4^TYm=#kc=g;#{?2=EGSqm0Rhw$28Z`c85wjV zX%TKdh=)Nc6v|?7Llo5pMrekKG z#e|548hBJk86m#Y4eQQxOBoq7AZ!&H-hav(iXnc0nf-@&PkW*&tD%P=&JeVep0pg0 z`xDM3R5eL^3NjK86HKiYVSl_YZqtSc;b@=(ESk`oH*c;oGBUgi)p!@gak`INv}h5v zCNlv?32kCX24#d5zV;a84(bz@Gsnm^3?Wn{eBi2PdV??zUCC7}OD2^MULjn`^nU>4 z80ZSMXO4f5#S)tZrHl;95#AvvSyRb=#*M*psi&E%j8Lt%%fdT&z_rf@u63YKVMvRU z!q`G+X(N#y*JMC3_!>k8S%HR%0Nq_YWy%zlpP#S%j6Tyc7CLkk3y(nKKT2BHjPXim z?S!>*pR&`idQPg0M=KS>3SFU*<`pzbRnZ})Y%(z7eYrH2nQ|JL#|8kvr&eN z)U3jL`X(WR(Lsu9GB}m+bF93Bv(G+Tty!~1d2QXgb?TgR&WV{$$CIMZB zaBY+%PC6TWH(oih>}7;Zt8xZT29TZ5oyRxcc%$;#O*h@7KhxX9h76!o8hbL3N88 z2t$701Q~>DRKMShyo1%T@(xInT8E2tC$fhAIqEXiLf3JwekLW145|_`x#|hYJAhTk zmlgv}v9T0uB^a9|G{)dCya^i{6~;YgVMh9NsUrgz&h=EdgMT4B(&iSW!!zWCm_+0v z8E#`O2pK2HATr^iTVp{6`kcC%tXj2ds&eJZ8qUvHAuU#9fP_^TCd&%nPO!E92CjU0 zf{9&8_<@PHO3A=RgmA2*#W{aP6O^ruvh)xN37@&bUhjt5j#-`UTxK9VLa+%t_7J+T zMMJW8oRk!2I)8}M;APm_#f0=?knv#*zIguDb_ymL`z-(F?=xk&ZxZ6mNIA4Q4ThUA z0LLXj1RHI=0%5@Y0<)_RUHA%>6t-5G@E8WH4?XxCpVhJSHu@o?@R!fxE=4E>T}HSU zv)@Qqb;1ii_u_q46T&#p*=Th+sJ*5GsZ zJz$?#aL=Z8KFH`3&#^KHciB4s=tTb-_j<&qYj*=Wac_{5^+rV0iSRsy~9Wc~RQ zsBkJr2-jNTZ~ljmq{~sl8hkfL<63(VGCkkbOsv@ue?|l1tav8_{S5vuKCL0Xyrbai z&&R*R2!9u0AS=z*7^S0=urSJ8l&bc|!Z-0^XJLi1iSS(K;^+Q^^P?nacPimBlpjyW zyEPL7aeI6o4Xa1!Lik^M_W*L?8HNG)oo(B;6=vH@V{Tze^RkUO4{2VS5oVj|XBfhG zzxDpMajvWGj(xu8`TX6~n&Iv3_rG+CS*q;0=YO7?Wz6`^wu82gO8d-j*6*MIbh@m) zb7qR-pB*@5@MjvrnI!^%%r3d7ZGqcKvxgoi0F0PA*f7QMxr`}yN+Wo-e&zzen1kOO zkRti@YHkSiv(+8-We=+R6#&MULU}^+YsQ{e?P{bsvf4=nfXSt3o}J>^o72@cYp6dt zuYXJr04bW6Cp{^mt7VFyFB_I!US#lp0c>}<@8N3+YsE5Rb|&N z^ACWGX&;rM`&9DJa%u|gz5J6rn;cgb9De|7XDZ>k6y5jRhFnYC1nSYzKC18Ozyl9l zw=5n2Hrs5o%~OPLNYRvX=>0I=i-*uOG)I_Ymy3-j3=Mm$%2 zjrLksWx2riWmy4WofPYRQnYVNp?)#>BKb3yM>L0)$;bHHV`_5S-+7*IbNW)Qzge}u zMt!Za`~i@{y;El4T%1CFSMpGb_{%x{Jg42s@5w*I8pA*By6$$Ldf$g~+dX-XYjV1G zS@{6id+)tBZO2_cH1qh6PO(2R=TE7r=j(O#wtAm>-!c-BK`$8q008hm)u1xF^me5j P00000NkvXXu0mjfewWts diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png index 4e65b42c65614abe0b648d43b02281900677c9ea..beecb30b539e572c1dccf09c953c99a63050657f 100644 GIT binary patch literal 7457 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 U?Vk{n&3`_6TE?2i8jkq?0i9iwQUCw| literal 7966 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 diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png index 566290423ab4c06218fccc12e9913cd89817909b..590b0b63e5c5078be53d9f20a0f9c626cc03b6db 100644 GIT binary patch literal 6735 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 literal 6895 zcmcIp_ct8O*Iz8wYO9OBtP;Hw-CCjtQKOS6(aEDl+htiTWDz}D@Q6f7B2i-5)gn!a zUZR(XURQrTKfQm!_ntX(?wK=Z?%XnWJ~KDj%=9iTm;(#|0B8;L5f%UdDe#8x1X0}d zPnVx^0{|Q!4G`Lv;Ut^0WNA@0T;%ii_J5!1HO>C}%xYS1qBqo{jaJFDOGS?*cR{bo zudNto;^cQlIhR}1NH`!C?w8yw^gkrNeqSsZwy1D9#k4xa21}Xs1{R^xuWFzXaA0~q zVR&Akn&mKrJBfq6e{@I!h{wCs+`eSOiYtu|$ltmuG}t!`iT25&&VBKM;*mT6U?Q`F zUEYV?`_OY4ySfL<9eWTac`XGf9a9<4-s>^o@vBR!$b`{{waunl$J(Fn002#6F<8z* z(yQkFK<2FF_pomUkt=g#0C7o4|E%R+Sjop8)qR6~U2I|2re$0#uz|0^;Av=Qu1TVM zfmGIvvYg!eh*KXx9PBPEB8b`OinpjN(Bt-_x1@lJnpv`wPr53}Ehk~7c0j=6w|502 zswI9Vn_y20{xW@~2gF?-PY1Lg+ad!BXsTgzu$G{4$1ukZV^zTV$+^Oo8q(Vso5XrU z)Bxk7J<_cN{OtiblTeXg6oA&*Z5{)sD;)Dm6YQKBkXMdI>J*YjU9(k+?2JF4m&~FA z6bw(x^|y7{r?G;MC9=SP$oAi%22Ph<7THSJO@*(VUw}M&!>S%S2ssS|GmT^4LB*jtdlb zu1^*laI3pBNO?30gRE^(&oQJ0ZcHMdLxhjkhjg59QMX~PuCDI_7vLEs!Wpdh=vMy- zW~8Kr0H0F#?J5hc@fD?Jeh%M*w}$O(_nJwIyHJwO3l4Xc)KbYnIX1WNtHrakgLA&( zMzl&78U7A9ymC^FhDMzo)~t(JyuutGh$aVr+bU<`wz}ggxfRZ3f2ba@-<^(}SBRmR zKmwYR^kc4g@3D7lxlcGcVW=j{EG7$XRC!O94mF)_{ik-_{=G-~@d5ku@~0^y9s<4;hmItjP0k*WU{z~1Q6ce-T7-Th(T{I`U2C20&HcRs@ zS4!%P(A6dAGxlbx0Gxc#Ke_me+g!ukX-hd@_R-n65&6p;F`J)FZBU8}Ex4r@vh3Ea$tWb#uFy+I zIGdSe!b}P*?XzU{7$>dVsy3zWjI*}g0u6T?)@_x*3>YI0R@2vgCK}2<_6p8M%R>_E z^Pxjj0enIkEL2xh5xKl?Pl8YFsQ&YK5eY_m}qb<-#OlzCbYDuLyC?&kXm9AFX6^spjf|#Z}n>>3GBA?IbX+aTV8}B%^Be;gX z<%LX>ympE~`FcIOZJVU7jN!IT4*EBKIh@y@jVwooMy!#HvXQe^hE)M_mln7k)mkds z?H9Dz{oHflWisv=w`$}Yv7%R*Z$#gZfR9Di8$GK{ixG1NYXgG*GtD>-kSK9aYga>3 zo5mq-6sN<w@?+cR3F6sX$} zXLg0h+3RgFm#tUcPyggs*NaQG@x#xSw{{wBmcKk-*%+-Y&j=YBBX%OLxj-Kx3!{FV z>mXhY4BooO$GU}h96n8hK^iqoDPoWn($gpG$z~W@$qE{N3-$Q+jD@+J9&QXdy%}>T zE6aNZibgNa#jZN68*O*_`1;o1teVlHY&R<8CoS+XUo*uXdbvN#C@`>Lz1Fz{*VhV@ z$?8uF{`Sc9bkr%|&L0g+%^7yDr=aD);4(8I2Kg5DYt*@yQG6m4G7D_s_HJD02@z(; zJ&o_yU^h4^;sY-Osmvg)hhc&bgwnXPkB$b&>n`3cwBSXn`Z~=M!bx5s@cUDE+kqko zHLJmJ2ywY_$vKbWAFCA~5${9rB zR;IdHMTLOUzp-HM&~cEb*<%m~s!G!>qFyu zH%y(&!?GI$4W}s21o#yQkT1T&4SKM46TlNc5E!%$=Dv8d8dWl?jt;CX@7O7z_^mS| zQ-nQT*(*fgg^t6q@P4PMe{Uq_gj%~{wjrO*|JuI61)1QnKtOxH6g%=YIc;5l=U5Dk zm~j`X#a>0#&%{kk^r1`D5KvC}+o=!rvp>_BI3?NY?O@bYEQyJ?a8OMF)%K>Qg}BeV9c|7J-2KyWEo z#TAP1W|W@ckEWrag|=<$Ng>8n_;)e!{?1^N-%0o`bwZ`XLIxAu{Sr zMrP8JY8vav6*O_9wm#AEvP8-mCqG~<_S^2a_d8jxs}57|mjlJBVH2}7^`G|#eo?o( z=HH{%CczMFw{kiR+sqlPZ=;=aGxTzSu4NW1K>lrpok{{`+_nj~RsVXPPqNrM#accu>RKSO3{UMX)LG}T`6)ho^&hBejFgU*d_@{jno@opNE zO&MfFVT3f=*H_>HY3jcx5n*w~4jCaoJ0dOVlX&#FdtMt?eO<2mz^)D`cgZqhbN zLkZ}4@;nc6gsbTAH)9OJC2#dk4|88=RC-#O&iPkPy(})S=@}k3*Xq@Ad=Do)l@i@q z3=bS4lY)P<2W4>G;ip&I)hh7hjZywI^3?TgZm*>4_v`TWLFhMo7IoQ2fp|20p5@3j zr~Rw$-A|qVRa)XvjCj8nr!F~tHx8YbzvYU3^Ccr7-QW3%6X0vyt2m|4MQJ)74k1I&|EVr{adXKUc}+F> zcwP)Vp2M{#tSOYko)x_FDx3GgWoQmRylN0%}7+h+&X^V(4Go4!<*>sN1 zWkFg{4At|<@P8=zbL`EzOI&!K!TDX>fz;ZL>+UfH4-HiWo464RItW#2+N$+cl|T-+ zveYd(gSg*;*tJV%5K0#WfD(8J93?tNXwb1Ue%09W`qv(u9w44D$7aa z|IqDWELR32yFfE@ft(iQySZzQ>nJOIbhFESAT_?CE@lPfkP-NY-drTzYmL1-nock1 zuum;FDNAkh8V>PQwJcQdd6D38y1%k9P;c7^hs%Ymeji+O3z;rEw;1G^Iz)%-E7}Sc z?uW08HCsH;Vg`4a2D`;wp+p9lQPX89@hsbu43b$;Fug!Q3*90#9wK=k3eLbA`0vF+ zL3BbEwRZ2T5{z<0t;99$8{KrNayb-+X96HkDVbV!JUK)1y7+jo029{7Y}0p$-wyK9 z$wPy@YUc`fTHu-Fp})Z8nPdy^w46CA3hbdgvQ!K2zPLhv3Gw9qXQPVL(XqGo!euv5 zJY{9A%CuOtY_d7Xz1h?K@4DMbd+HnM9}i1dQFLD`d;>@to6wtg^OjYn>lTO6K-CN@JHP+22^wxAEr3%@a5 zLJW&g0f=NO6l}Ku3wq8A1%b8iOLf3@+E1J&J7PN$JUZh@Y%accBFVaV?tdTp@=_A$ zwY(6Y+^fU_Y_iqM7VR7vWI@1!eznpciDnikw&LQ}C(~inyyv|YQ z<F3JxoAa!@W zRQk-I?4=z?Qm^~dELT2G0zXwA94LJ`RTy~sLdxj zF7k|0@iB3>6REL}GN?6^+OoqYJrfKT1EoE{$Sd(HW;KB7t+B?!k_y+8?q~>S&$;ZSK ziKMd0PXQ%bjp{@1Ehb5Vs%^kX{;ZMQ*}O^yME?h^9(MH57_%1Uc?m0>>GOKAC@A zY8<=)2x*L)sPNej-oFr>bi#}pOO(@c5MCD4TIL49a8aDt;}zVFH^8tB;(OjR zzi^f4CXnR8obCi40F3t)U=-Ba)0B5(T~2VVi6u@~t@w)Kd7 z(Zvv)W~lu%&_HzO>{gQcFDWoj14dI}_yZHc8#mm0eQRPh%y$w6^7AA_8eKQ zhg53rDKZY9;*Rd^S=2FPn!jp%q9carOyfy!;b zW5fmWsaFO}jfP9T>6aED>xX=+18mo3FpypQ6#& zm|NW8qc^Vr8pLgS<6-uiOp%r}*}#HrNK)b*_A+J4Abt^GN?AZyleF!ZR#HY?ADVBE z^~4Wcp`hTk;;_|u@_&BPOAVVAtMum#H@e^LNTVxSSyOF`r6w7=b}fM%<<>fZIiQUF zaWCr_~Wjp;pUD{P9Cw(uMtV_^M;*wK-jtA zvfxk)#5Gpo9a{wCPZV9FH(k*x5)`XDMxSq{;XzFT9bfc$)hg|HB)Q1t6g5KDp9%V# z`gdObL@)f+3L|z_3WyiMpWuzA|B03pStXoR@4W+LHHv?2Xq5JxR8C-=8X=zLm%WKmNIW?2Aa`qk$%o* zE!)k4U+=7(4(PbV(`;9Pu;N8<7-NQlz6FuO6w4AYS)`;Mml3EsW30!eg{3_aut-+Y zNFvcET%&LCOQK&r5l31TK>G>!Aewn3n?3(3a?HrN6{(M|EJl+|D71D2d+ zSFzWH`*;EN%#HHJqK|xMF~*}#$K((n<=Zzm)kbMMSts(WtBq!(<*NR`-)}nIu1%X^ zq|tGDFZF;Rs>d>Be)Em{RH$YPmw$>|4ojyR=h=*Qx>!9{{~hKz_b%Y$i2p1x*4V`4 z?epb`uJaO!{?wb#`yYy;0KR_nYoghRtKSGf%WC#8gI33JPLBZqv$L?Ozi!w57Z&jI z$B(z;02fQa$@?(av_{jqvFM0?i5 za|!@cgUEz%|FkAgg5mx#fk1Gg1qgYWH;kV2af!yBy-JCn=g?$chcunUA=&a{) z`QUFgtNhbO!uZ`Q5#1fEz%`Mz=b&~YekB~b8#FikdSj}C5}+?T8n&_j zBt{!MeQx@v)qn8H9-xIadA;!lM|quu?j(!$41WLsyr>`N_-;MAVDREteJ{Y_Mf2;r z4OLgfM>@@qvG)}Kdae-; j4h|00>7xI`x)71$k?tQP(atXKKOqLXriePY3+n#>7MqqF diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml new file mode 100644 index 0000000000..ab5fb737ef --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml new file mode 100644 index 0000000000..ab5fb737ef --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml new file mode 100644 index 0000000000..6098eed222 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml new file mode 100644 index 0000000000..41345de3a6 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml new file mode 100644 index 0000000000..2864f3769e --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml new file mode 100644 index 0000000000..0e81a1d359 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml similarity index 90% rename from patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml index 72cd56f5a7..7a65401447 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml @@ -3,10 +3,10 @@ android:height="108dp" android:viewportWidth="256" android:viewportHeight="256"> - + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml similarity index 90% rename from patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml index 72cd56f5a7..7a65401447 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml @@ -3,10 +3,10 @@ android:height="108dp" android:viewportWidth="256" android:viewportHeight="256"> - + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml new file mode 100644 index 0000000000..bcb70d260c --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_scaled.xml similarity index 100% rename from patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_scaled.xml diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml new file mode 100644 index 0000000000..3746c061df --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml new file mode 100644 index 0000000000..f21fbb1f3b --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml new file mode 100644 index 0000000000..a5b8aef86b --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml new file mode 100644 index 0000000000..f5126df718 --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc5dbe712d02c114b792ac94582307628a3cbd6 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^i$ItWNHDzW)ZPZ9R6SiBLn;`Pe)O}-FlF-Z+_ut+C%G!G!>{=xBNaM(5w#Ks5 z%=-!9&%S+H{$q`E?R&#*jTL=LjB7Nqn2!`Q%`Dh?cBXah7FBQepT;q}^vn19STKIf zX%J1VeS$JdumN!{9_@k#l@BN^M-dZ+FMDHD$IiK#xp))bm-?sA9BjltGAy#lW^wsw#N>PO>i$1h=KNKe zv+U`M@N?BV>m5W63qFl}?({yLf_Dp>*`7;knWvp_ zaF63v=$h0qagE3g_Kz}-Q7lpu@_)qEe(tki<-9oa-_N$YukY4N$+T7QDX1oCtY&iw zyjWR!+I&~p_nO5jDnH$?7Ci~&T(qK3;`A=gbcK1n9xV>CUA&%`HUHn3EBm>Bs>0iM z^XgNgQulqY>Uge`=g5;*+OA<&9JiL+N8{G60~MTZtDA(oEIys$2`q8$Nweh*^eKs( zsvYikW6OglmcHD6lYY$H^WajcOr>v=#yn@9bl-N3c?EG_xqRz3)-BW&S1f#BG&!y? z?u&+=lg;IXqZO8lU4DKm(;mLOt62Er-4`oo5lf(G=LW$?mc9Qi*S~5_yBD+b#G1zf z8Gd1UCV$PIyZ%3@*^zE6bU5}yMn)wAt$ zw5gtWr?Pftaaz~CBATbwp@qmX)~wgD+yvHsXc*H|s1-6gV2~ zw=&@5(eI+VTXRY;PC6YHYxU;Ky*7=uLz}MLYt(3S`*S!qGS2(aKWX0o_xGm$oZ6r< ztF4e_g@lf`exIlA@ri~(lUsDWS8KU^^p#MX6yBJ6boKwoJ~EphJI&0kVEf;mdUW?X z0aw2xp?V#QxOKEw%xls}Q&^YgBy#@1rlvfgHk&IiBs-FfbhMXjau%^&;AX4XwPwSb z30^I{0_P*|aP6O6DE8=PiwjWbH`k&Socp5$j!xgOMp}!v&%uU$BG+}V&c6cZ1D7Eakt n!I->2NP=~7f=EwOpaB;HTL=SV$nU~EVj-`bXY8-#BE{GL-}zVm3&x3@l%swdsQ z@%c~OL)~_Mg_`E8iLc5k?~3o9_wS1M?m6o=eUQ3Uem_b%iut}%h5Tuy>~w3VgEu$K zXO|27|4%Qy{?os8>8o}29OF;!TWP*%^TGu7Et}WKy?1^WuESQH`~7p9)6llAw3e-G5l8YJ7J0?&DS7@88u;z4dtAyYSc~ zIo_tG$rGmD)cV0)q`!czta$$FX}eY)FSU2d{qos&Z+@3|!+EE5EmtR&I+;5ky!I^i z;_tTF^>0cS-&*u>-tuvd=2XT>x+iZ4Q_Ennj?`ysjK0`Q? zQI>@@SZB-m1McTVs5Z2uW#0 zlqrk6=~!0Q)Fd77aMRlb55!DLwMBBexu#!zzzS3$cFpbO{&umHs}}+^e%#cQ=vw0i zj9jO)KV&v5uU^F0Fl(dzCavtkKWwf)WWAMEAJS`3n$y3=D_T_E>7DbMS@zyvzm``Q iD1g)ZlmE9kR-pnd=AsviN{`5aAr*{oPbvaMd6+hQ*RK^) mD4cz__W7LRbCz&o=UG;x%bS|#J>-lBY4&vWb6Mw<&;$SgKOf8h literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..2119d70cf3923efec77d0e8071cfaf99c9c83f2c GIT binary patch literal 1747 zcmbuA|3A}<9>@0$!{(SRxyoc%iJiWPkZ|%DDG8-vrI9b^vT5fKJK5}`bbUD;yQ|Z} zqa5X&F2y$Awo|)i2*-Ts)Gfx!c65}Z7}7Qgm%rh>9*_6?`F_8Dc>VJJ;Z+hD5sJ33 zw}3z(=&-{;^g2}=g*097CEG|d5Qu4I81U6e7W92b!TJpXRZ_3*#usS`m8nlb%zScT%cH~j>CR2=-)S2I0Jlg1(LuDPGyfD9m z*s!)7ZVUY!qS{W3wgUx)4W|0mwZ=t>U*3~8>GT^G?z;CbxokRtpE0&M_E;<&>xNRi zGbS__|HBX?!t#=$9lnPobQwz5&1r!&bYgSC?f2a9t1tYMrdPa%!yk%F$uGz18skGl zg=wKQVq!)Cyk1-k;cCB+d;IHihCFa}H6E9OofUnoB17Vg`O;1o*ew*@wO&LH=hl7_ z*5GSB58}zs>z#6AUcMrL`GpL4L~|z**3y+*LPl|_6NbfR(@{7ySDZOO04?WRTkmdz zy}Trv zmL4!4m(c?*4U$J3vac=beF$gAec)lKCq?ra`4$_APPx5Y|OsxHD< zx4px2*9W5uEF9Ba)@$#Oj#11iY&r!n88r$E4d^xem{Jpb>H|f6^XsoVh8J!q29Cd8 z9w>!lv`m_FBDP?Lbaw)~DK|al{$$}PS88<7vCLem?2HFYWn~wtB5Du2e+ht(jG4{! zeWcMhWvQ;z6V_gCuRiG&_0rc5&UKd{nNWF|?eDeO>KydZR@a~2{W&mZuIVO5zl3n+ zZZk$}DfeI3T{tS$;CSrxthQ)}A>;tdRQ!W@oEW_ox`%zkqdKIbEU?G<>`wK(Sz3?M zh~LMbK&qhSAu3ZXtv}>r(IXx87y4Urj53?ZBQ@B(6LV>Dc)^9jK}b#uj_BvE7n*#I z5xzUY70etNpI-RcQ=Ml_@Z=}CEnV-(3SK7JciYd*Wjvg9p5XWQu(KHk2YA*DVt_~| ziQ7wXxr*~fWxOJHQg(JJc&SP~!T(=AyLP#CD135mCA}^P;bX2kqKeF7#|SCcMg0as zk(amG?qV@R;U?G#fWt;%6DU#|d_R4#;0*UT_YHI7g>SzZ@}RuVNT~x5zhcf}v)GGF z&69wOwT@vich>&%22wd8>v(o`s$ONQWmy`hN}OcvhRC%F-NAhzVsL4yVm8mubE_rY ziQY2A{>24~?=rOcj!*JI(fkmG(+2!v?&+sQO^5*|=x>*iqnQM9lN&viE zfG#`+&)MDU$wP~l25Ov*nkr6qGCB*QhMz#Hky}&iA`rD#boeZPy=p2L&t*SX_Bw9q zZjWF2&AH2JzZr9vyi#BVfFI^BND=sp-@b47;$Xl6EahP~yLQ|OvKj5otciw$nj8@zsUaJGAjZL=|GMgfIu4C=Cyk32s@)+;9ma LM*zY@v`ha7$$0}2 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..be663ad72749e1e0f5bfe1dc198ad5aa48676266 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0y~yU~~atMrNQ$s>;+|NrGjq)!03DxNNm uAr*0N4={29d4~*sFE=}$7%c;2!@&VYQw;{j<#utdAR$jzKbLh*2~7Y#IT@z_ literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..b0254084a56155696c51a3b8cf110964ca39d922 GIT binary patch literal 2771 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..addcbda14f86107d587bf3490f3e60c21adc9a49 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0y~yVB7%0jLblhPYsJQffRFqPl)UP|NoaCkv;+B>Up|2 vhE&A8J=h53FdSa+J9vHq+f^nI2NN7%jJd$TDAd)u86@ZF>gTe~DWM4f#>X7m literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..88f8ebc40bb5c344f5e5df39d23d8f168370b0a5 GIT binary patch literal 3930 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 W78A$%HX^8+*%mF?juF}%dQ=*D(fm|t17srqa s#C-z|b&@l{?S2%9V7dxM4z3 zDYEwPh~dg@*jn8@qA0Iro6@qp@BDxNxaZt+zTfZXe7~P_KA-P7-*di~e2GW&b2?qZ97_N^Po$_x#cDbrYmjE+{ORR<_-y9>p}pK#6FLNe zK+x%QYXl;j{-2u8D=<$0(1gKY000=m{=LaPX^mJl{oIgf;80XUGS1xB#EyBxj$y?p zN6b~Y8D}@rO&O~^-lL^Zo4RD;0!lbJ<}*-xPh8iqT|EfQ87gbDa!MyFZTbgg>s;RF zp%H31Qr-d%z+1OiGw@r`5fh+ZM^1W(N6g9eIh%T)x^LVhR6=-Sp$jMi+dcl+oDA(U z$r@<>apY?RmjcDQiSjbY;${AaaU*cL>@0%8@x?|e2 zimhC_#}myg)Jyu~DNN3%Ca4m%-ugku!P14NxK1<(N-hI$FZ-1}ZJ6V4B-$FGoX!}o z;g8xkZ?o@Pxt*Ai;O`h2)#tHa`%%k;V{hN%bfcZFr=8XWv95e>v{E5l?yZ=*ljCDK zDu8Qo_{=GAi?cf`@O5rsdCzg9c4^6;*i;y6%lkPxe?CSeekuP7ktFogibD0g@)n)s zvrQ?|`{6=kjzS$3mq1^4up$%rGD@6xcjh21_v=3S>2?-dS!QH*bu+8aE}f}B2cY?qu(lu}7=YGENG zz;6zRS@r&}3a>DfZGl;RI^1h`#a$wEDttJ`)a^iJkYcyL@$qo4XSTvsP1gCzXC13^ zIwFi0MZmBPWPA2;CHg=2ly;gquT;cU9Za-~OfAJLI0WVtX}I3ZRn7};{P3m27*y71 zzgL(BS-_n|cx)5EFJ>0AgWHdeRujW?MSo2M$#8-j76@93)&sSY@c4RZ;N`M&c;2@< zS_c;Eho*@8pC>-NSY_P=9ngfn5E(FQZoS?>o*AiV-{s?cuiK1@Jy>-xatSS(FqHUV zAsE;3pN2Pfk)Nl&LkWN2p%996KwS}MX$|NJb|{V1#8u2j2lXh-+htd7JCU_y+mx!Pg@eSb;JEIkx}FCtunWM zb*FiQ+h3i7pp_qyaDAG$2~MCyw|a+$%51SfGqm8l4H@~+^&9=$VY=!kV) z*?s!Bk7j{D;?5Y&{Jp~hQKk`6$&6MmZw?tb*$X!YljG^tREgo*F@_;+wvICXJG&-H zo96Azw( zP1Qez?w*K*l?e3E8Ibb+70i<7)7hR*WYZCrk#~*tncL;QtD_ zCfEvSn`@GFLS3VkG5ji`N6DRwkB{%j3U4tQVj_bagpg)Bz6IAd>s0;;7~m}`Dk_DQ ze9cUZ+;u(3Er6)kpo>{Q%eN*?ns^wzW;!c&QIytCj2Y%@UV=_0U9Bf4H8nMem3f~* zKuk=`RqV?XCLPv6N730za(KK_mlfD0N=bgH5U?4D+Qr^f&kB+x@$tpGz>PI{jV^Dx z#J{_W4LUuCFE-GWgsH+pbd=vi#1;+Yz;in5B}YF=(b3V}olTOvA?IAuPL6((U_(Ra zgqs>egocI&BH5YAsiY)fzdI->C`4>@lpvIH>l3op#Etz1S&MS8Voj?mcXXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJ zTBp^A9LR%Q$ftn=2jY5Vu47|!&-BNpyB8m_(CCNqZ%6lGn#Cw=vy8r(B zDJLff%G2e`m#I^yPLvRzKxe>uby~M>?Px_i&I96j;i3rd8Re|9zHZ$*G2)+p{-F*XI^Z~sYciNV z@BbowG2o>V1MMd?9g6<&9?Htf64|(p6P9s_OaA1-y+}QjIwKKe-R^sZgIC^0b+=cof$q;-Sdp!I{_EEZ_jF}*$dQBqP8?ccv&WPbSJ zhr|yU9rhqa&|zO+-xwn&=8TxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#X zzv~MH&Nr|5Zvw7Urw%+uWc~W=x?7ZjRd+#l}w3n^izhcfqE(&hk=wl}nBzOM6fdgXL z`t|Ek@^Ox8aoJwNUUFx~_Iy~xrM+fqT_M`&J^S|UqxAH2oO3oopEDPp23{l?d2@rm zbs?6HK`TP4vGK+_G5!A0=Kf98DpkBRt=^zM|?1+z#j|>>)pWxu&WM=QQE`l(3+O%nt7lT|GKW`_`rYh?3l}b2unWN8@*2)p(R7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4 zRlx++xG<(GNqc*HCxa7nnGaxsw3T@y9)J9CG5W}nBZcOap+kqFVi^a9IIf$ZY&;4y z69o7%L7!OhaIky#?wEy3(!KlcyYr2RF{yp(si%aT!-o&kwbx#2mZf8$_$B7;!i!<5 z;lpMA1<^dYSgF^Di{qLHVk|G-!kvv z=Yg59S(0-JHg85O=c0G2@(WbzIoNvG3Y$y&hFJiw&9=o7WEFb_PbwEXz!@GKcY>|P z+*2Aaie`pas8GwPLLQWZ(Bfir6KrJol=TZ`Fq_IV+)W^uR^`q|qB}w>n{8?W+axhNu=z5gcuBSg@=+!K6anO%Wn22dCS{xB8$Lzg zT|Dnc@m;W0){j~E2HQCAjK`-Zu*sQ!q`)PZH{K`nZYoHsB;h7Hf*jU;CTvjOX}IY4 zfER*Onf)<*!P9w3uOcU8Ma~)JIjM|LogezT@?+UB-ly=sH1Nigp3*VMm~*To$yd#SYxw#3b>TbqJ}YWoYq4n#C8?&$ zYu2$YU7?fG&9^+rF%Krg7>SHJTq#C!*nNmfXIKre30aPLRxV^1|ICFN;oERcu1=$& zgVH6e^z$qI-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4 zYl>b42!v}ZW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>om zsJofKsL80u2DRfb7{hn{HhzNn2AAN^8Go_S2iO~q;|(_ezi|xb&<1VM2Yn#}-lAkC zs%r#TMU0NYr57Va84|B%(6tzKdBWI;(F{g&V(rXxq;3Fy;~1Z7iZ*Dg`lKltQA(zl z-qLM7S)S@{hcY4=(JD0Jl{X|Q;CH+_7p>Zcs=l5|R+Zme41cW6LwSR@0)Bg_bFSr? aaQ_dS4$3ZTO#gWR0000bP0l+XkKT8kAC diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index e9eac76185ef3370d0faac6afbbdcae7c6a7b99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png deleted file mode 100644 index f4e6e1294b311fe7296b4600c5c0c6edc1c32f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~;qo)T4T3*^dpx;TbZ sFupx#$Oz;eQuw`m+fluQCqOm>!vpaJ42;&BJ?cRmPgg&ebxsLQ0H&xK4gdfE diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 zcmah~X*iqd8V-`!m$61m#7uP>qD}2;kTe?1Wh<$r1}P<-x$I)i>DY=fs7xosGLuoX zO=(km1XWB+g`jj0TdLL;Rcq~YzMP)(Z(Qfc_kQ>HUeA4h&-1+Zdp(&hPPVdAC!|0i zkgUC(jVtgT6+RMBV9iA6uYf?}bbA{tAx>m@NLvI1k^$dc_1nw$m&1bH*TC)~Daphn zA_67>m4F@tg&_!-FeK$4;jzTe%EuG`Blo|bcTHJ>y6dAagIJ>`iQkMjJnr5cO=!>@ zZwRqaf8G!h(EDLyc!Mxv*-SZY$*Zqut%}{^Sk%9zbm64%bJx)26^Q}q%FGa>s9j$B zUAjPntVqlHz42hUM1dFmSGqE~GBHX8ii;<$&>>~37<%jQ6YFd5ecw%Z<7zOR%w<9U z^>Ck?So(0^*g0u@Erw2JdhKk{ebv1WUyuK}j^$(?NQcQ)21Pp>Yip7V7atwg5I2qO zcDV`jixyvXrbH?Q$g(6!svBvw+dV0l^s1RnVXr~@##O_PHIC$ajOm5+D(P`H6X1ak{KbX2+su$av^2%gDN2|!I|B-=X z>q#k$d1idt_v<&Iq%hI=k{+isb6h}$26DXsk;OJ5?y0!wpp0J`aqhNr^!~gwFsDd}$I(@sc#JP#}&BnG6K#HBSF-AW)0ez&J@mGbfhccu`2=JXf9BwgZoO542era#Xfy z7V8!}22?$R;p*X|hEnERO)PKR)|GU_&9_vTFI6G}A2kclc^||5a&mc=8o%*1q~A@h z!P9KXpSoUR@u2`xmWP;gD&wrRXNAJmY7p|Y)Y)8l-?-xWY<4n)>^05W4{U!4c7-kl z*`}X;FT&OCP>ojWGXt0JG%x+=h1M0zz|u9CVMZ2T>Q>JWROu{aq@TS!vN-56)G=1H z@mCsZVD1cUYxJ;|*hYEr<7=LrjNkTDQdQvlG1N^DvvKEbK^GoXK&go)eMC-f=$|e= zO@F7vXjCDbUkTnNmwxali3}G7JTk_p3Q*17OQE4BgGYXP-qmb-${V9{C71d9L7HJ& zD$R;f0!2x$TGU@>Od=l;JI!Kl$zr|;k>);Z@ z4OLJ+bogt(XYU==vlJ*rrfM!LaR{0<_thbiyRuIRAJ zo-}bSN*)YXAa|$Xr-VJjr_$KvyN!*SvTtYD4?4R-JQD45Gx-yqMagU|_e>ZcuxSq>4}LB2ej{DzVvid>Bw z|Lg$_{kt2BCC>=mP@mfv^)TUe_A{G)!t+k0^*@aU+(D=aJgwHJbPj#@<( zoa2i&dAUzLJYm!8z$J3|-^KOUqhfYcSYOQXxnT%MJfPhipX0CIQ~p z>19EYv3f6nt4fn_g&P!bw8~KnzFz2>)$OA-sG-s_MMk8WczsF4cz58@z)~@WaVS5i zt(t8GK?X=Yjd6Gdhu8w8XAr273K$1n!h)3-`VKtG=YTu|2auHuF5;_1jHG|N#C=?Z zVb1=q)x=F@WmD(KL==qQ0KfH8E8iWDf?dK~R_c4o&w!Mzho4yHnKRp-@^c|&er;0+ zy*I0g1fwm)$zUDv6XAX+n93xgDlfUCCCL+AAvvUNyP-E?WF@uF-hSr^%s~*5`fLjo z6Mc*N-$C~OM^=nzI|hwGE69Mwz+%Th5U{TxBMfQ(M|dppv$BLT^5M84^*m0Pq5UN% K8`ec)%D(|Qp?I4B diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png deleted file mode 100644 index 8fb88d36762582d219d994be40074203324784d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 9f75c02d024f9a852a1728b0cc4e6a9cfadec31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 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 a$?|`cblnpGz2oly0000vd<#Z)~+dr?D=nVRZQ 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 s#C-z|b&@l{?S2%9V7dxM4z3 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 aaQ_dS4$3ZTO#gWR0000( zP1Qez?w*K*l?e3E8Ibb+70i<7)7hR*WYZCrk#~*tncL;QtD_ zCfEvSn`@GFLS3VkG5ji`N6DRwkB{%j3U4tQVj_bagpg)Bz6IAd>s0;;7~m}`Dk_DQ ze9cUZ+;u(3Er6)kpo>{Q%eN*?ns^wzW;!c&QIytCj2Y%@UV=_0U9Bf4H8nMem3f~* zKuk=`RqV?XCLPv6N730za(KK_mlfD0N=bgH5U?4D+Qr^f&kB+x@$tpGz>PI{jV^Dx z#J{_W4LUuCFE-GWgsH+pbd=vi#1;+Yz;in5B}YF=(b3V}olTOvA?IAuPL6((U_(Ra zgqs>egocI&BH5YAsiY)fzdI->C`4>@lpvIH>l3op#Etz1S&MS8Voj?mcXXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJ zTBp^A9LR%Q$ftn=2jY5Vu47|!&-BNpyB8m_(CCNqZ%6lGn#Cw=vy8r(B zDJLff%G2e`m#I^yPLvRzKxe>uby~M>?Px_i&I96j;i3rd8Re|9zHZ$*G2)+p{-F*XI^Z~sYciNV z@BbowG2o>V1MMd?9g6<&9?Htf64|(p6P9s_OaA1-y+}QjIwKKe-R^sZgIC^0b+=cof$q;-Sdp!I{_EEZ_jF}*$dQBqP8?ccv&WPbSJ zhr|yU9rhqa&|zO+-xwn&=8TxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#X zzv~MH&Nr|5Zvw7Urw%+uWc~W=x?7ZjRd+#l}w3n^izhcfqE(&hk=wl}nBzOM6fdgXL z`t|Ek@^Ox8aoJwNUUFx~_Iy~xrM+fqT_M`&J^S|UqxAH2oO3oopEDPp23{l?d2@rm zbs?6HK`TP4vGK+_G5!A0=Kf98DpkBRt=^zM|?1+z#j|>>)pWxu&WM=QQE`l(3+O%nt7lT|GKW`_`rYh?3l}b2unWN8@*2)p(R7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4 zRlx++xG<(GNqc*HCxa7nnGaxsw3T@y9)J9CG5W}nBZcOap+kqFVi^a9IIf$ZY&;4y z69o7%L7!OhaIky#?wEy3(!KlcyYr2RF{yp(si%aT!-o&kwbx#2mZf8$_$B7;!i!<5 z;lpMA1<^dYSgF^Di{qLHVk|G-!kvv z=Yg59S(0-JHg85O=c0G2@(WbzIoNvG3Y$y&hFJiw&9=o7WEFb_PbwEXz!@GKcY>|P z+*2Aaie`pas8GwPLLQWZ(Bfir6KrJol=TZ`Fq_IV+)W^uR^`q|qB}w>n{8?W+axhNu=z5gcuBSg@=+!K6anO%Wn22dCS{xB8$Lzg zT|Dnc@m;W0){j~E2HQCAjK`-Zu*sQ!q`)PZH{K`nZYoHsB;h7Hf*jU;CTvjOX}IY4 zfER*Onf)<*!P9w3uOcU8Ma~)JIjM|LogezT@?+UB-ly=sH1Nigp3*VMm~*To$yd#SYxw#3b>TbqJ}YWoYq4n#C8?&$ zYu2$YU7?fG&9^+rF%Krg7>SHJTq#C!*nNmfXIKre30aPLRxV^1|ICFN;oERcu1=$& zgVH6e^z$qI-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4 zYl>b42!v}ZW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>om zsJofKsL80u2DRfb7{hn{HhzNn2AAN^8Go_S2iO~q;|(_ezi|xb&<1VM2Yn#}-lAkC zs%r#TMU0NYr57Va84|B%(6tzKdBWI;(F{g&V(rXxq;3Fy;~1Z7iZ*Dg`lKltQA(zl z-qLM7S)S@{hcY4=(JD0Jl{X|Q;CH+_7p>Zcs=l5|R+Zme41cW6LwSR@0)Bg_bFSr? aaQ_dS4$3ZTO#gWR0000bP0l+XkKT8kAC diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index e9eac76185ef3370d0faac6afbbdcae7c6a7b99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 827bd124b1c75ebc815c52162695359ea3f62579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 zcmV+l2le=gP)7#EY&dWWB6JXZ8GK8vG?^ zq)e46l^##y)1|psn}~lY7`h(~czSv|1P2HEdV70^0%)V}CvtRPs=9(=I-wzzhfoNXHxPmo_%|`ucvt)6|nUvUWfAkoVS% zJPU8m_$)SO^NY4>K$fHk+RbGST96+rHp8h27tk1A6xpO;yv0h$*?>=HjyQD%6weU* zz%p|Y3+5`3Tsrx22~1u<-fx27WNKjRlz?rfHF*_Ew3N6R&GR6iRt{J^6A1q+!fVo(MwUA*nJ1J?K ze0+Qw%Ur)ZeV$||-mu2G0vhG-1L73JVLPM*kF{jk&s-ghqcCq0rD!8b5wK zK}PM`wM}_X;Ca!_&CN-0{_gbIOjS(v`^uFolfhu1XV0Ed(V|7EC4OKFv*gQgf-*FjkDyv z00pMYB|iR=vjV#;QJ_$vLUi};-MCO~P2MTD1ss z@7%dV1q&9mRDr#65R2Q@B})_t3=E{TYu6G;?c2AHqNAfJC@_SY6rVvotL`EIZS=*& z#L$5Q2QU|Fu+|a<5YShgot<6d6mWNU_h$>-x3qL9P@n*P{P>YxzI;g)DpVl!rTME6 zHLJ3NfHZ#>BJ{yRuV23=%*~%aKl&_H;DL*aOGumoUS3||Jn+;~1!7}kNj_Qh1qX#w zk%FTMKpTAKeqI57a0S6%|FuM4vx@rqQEElU(DVjf{h_t5>g5L_`Go)ws|@ zj)Cwv1rQLdz$LZiGhS?P5s<{oO7y2spPp{tzKt=w1LQT9W}zz%4h~*&Eo99K>{hD) z+(hK~R;^ma^>^&pk}Sq)g1ipk&S`2D;7^FOXwf19*&|1e5Znqi z)2UOZ2z~SC&xbpyR)CYvZ04*7Z}B=#&Vk%mDkT821PEaG`kOaz2xW5p`t=dGNS&yc zRDHD&r343XD{%g*l;FJjF9*j9wN^lVv~}xN!il3?2GCx=em%z2d^-~E^U}%5DZTI> zxtw<3Nn5qJN+M0ZefyR`9C-EW71gOzM~kZ^6xe~h^X*kY2e2D8(ZY>zLpyWkOq>FU zfsl|8E!{^4e0Qa^wY3ezwN1XpSqS()0vW*dQ;ScJIQ>gDHZ~zYyVye`8@5764Xl8> z0Ztu2Ta(lG@bKscj^O&M&nmvG>ER^ySp}){C@zl1J~KiyYtBf;S>q2HxRNHW11?-G zlmRz}-jq*^F6>HuU^c~khD0E55U#_O=Kyd5H*lJp2P<^A6(4+ zRWpTRs!$fN5`u(D6VPoyel>Fl0~bqvBftXqTsTMnTnJ34A2^hZgOiT{2UA_=r$NmK zfgiHq_hK{66!}IL_TZP*KRh+kw2_hQ+JFMu}sForppi#6g_rJlHYi|F|3 s2)_k{b?h0A0NT5H`T$W4M?f?J)07*qoM6N<$f-*m5YXATM diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index f4e6e1294b311fe7296b4600c5c0c6edc1c32f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~;qo)T4T3*^dpx;TbZ sFupx#$Oz;eQuw`m+fluQCqOm>!vpaJ42;&BJ?cRmPgg&ebxsLQ0H&xK4gdfE diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 zcmah~X*iqd8V-`!m$61m#7uP>qD}2;kTe?1Wh<$r1}P<-x$I)i>DY=fs7xosGLuoX zO=(km1XWB+g`jj0TdLL;Rcq~YzMP)(Z(Qfc_kQ>HUeA4h&-1+Zdp(&hPPVdAC!|0i zkgUC(jVtgT6+RMBV9iA6uYf?}bbA{tAx>m@NLvI1k^$dc_1nw$m&1bH*TC)~Daphn zA_67>m4F@tg&_!-FeK$4;jzTe%EuG`Blo|bcTHJ>y6dAagIJ>`iQkMjJnr5cO=!>@ zZwRqaf8G!h(EDLyc!Mxv*-SZY$*Zqut%}{^Sk%9zbm64%bJx)26^Q}q%FGa>s9j$B zUAjPntVqlHz42hUM1dFmSGqE~GBHX8ii;<$&>>~37<%jQ6YFd5ecw%Z<7zOR%w<9U z^>Ck?So(0^*g0u@Erw2JdhKk{ebv1WUyuK}j^$(?NQcQ)21Pp>Yip7V7atwg5I2qO zcDV`jixyvXrbH?Q$g(6!svBvw+dV0l^s1RnVXr~@##O_PHIC$ajOm5+D(P`H6X1ak{KbX2+su$av^2%gDN2|!I|B-=X z>q#k$d1idt_v<&Iq%hI=k{+isb6h}$26DXsk;OJ5?y0!wpp0J`aqhNr^!~gwFsDd}$I(@sc#JP#}&BnG6K#HBSF-AW)0ez&J@mGbfhccu`2=JXf9BwgZoO542era#Xfy z7V8!}22?$R;p*X|hEnERO)PKR)|GU_&9_vTFI6G}A2kclc^||5a&mc=8o%*1q~A@h z!P9KXpSoUR@u2`xmWP;gD&wrRXNAJmY7p|Y)Y)8l-?-xWY<4n)>^05W4{U!4c7-kl z*`}X;FT&OCP>ojWGXt0JG%x+=h1M0zz|u9CVMZ2T>Q>JWROu{aq@TS!vN-56)G=1H z@mCsZVD1cUYxJ;|*hYEr<7=LrjNkTDQdQvlG1N^DvvKEbK^GoXK&go)eMC-f=$|e= zO@F7vXjCDbUkTnNmwxali3}G7JTk_p3Q*17OQE4BgGYXP-qmb-${V9{C71d9L7HJ& zD$R;f0!2x$TGU@>Od=l;JI!Kl$zr|;k>);Z@ z4OLJ+bogt(XYU==vlJ*rrfM!LaR{0<_thbiyRuIRAJ zo-}bSN*)YXAa|$Xr-VJjr_$KvyN!*SvTtYD4?4R-JQD45Gx-yqMagU|_e>ZcuxSq>4}LB2ej{DzVvid>Bw z|Lg$_{kt2BCC>=mP@mfv^)TUe_A{G)!t+k0^*@aU+(D=aJgwHJbPj#@<( zoa2i&dAUzLJYm!8z$J3|-^KOUqhfYcSYOQXxnT%MJfPhipX0CIQ~p z>19EYv3f6nt4fn_g&P!bw8~KnzFz2>)$OA-sG-s_MMk8WczsF4cz58@z)~@WaVS5i zt(t8GK?X=Yjd6Gdhu8w8XAr273K$1n!h)3-`VKtG=YTu|2auHuF5;_1jHG|N#C=?Z zVb1=q)x=F@WmD(KL==qQ0KfH8E8iWDf?dK~R_c4o&w!Mzho4yHnKRp-@^c|&er;0+ zy*I0g1fwm)$zUDv6XAX+n93xgDlfUCCCL+AAvvUNyP-E?WF@uF-hSr^%s~*5`fLjo z6Mc*N-$C~OM^=nzI|hwGE69Mwz+%Th5U{TxBMfQ(M|dppv$BLT^5M84^*m0Pq5UN% K8`ec)%D(|Qp?I4B diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 8fb88d36762582d219d994be40074203324784d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 9f75c02d024f9a852a1728b0cc4e6a9cfadec31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 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 a$?|`cblnpGz2oly0000vd<#Z)~+dr?D=nVRZQ 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 S`%7B@0000 Date: Tue, 7 Oct 2025 19:25:25 +0000 Subject: [PATCH 57/63] chore: Release v5.42.0-dev.18 [skip ci] # [5.42.0-dev.18](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.17...v5.42.0-dev.18) (2025-10-07) ### Features * **Custom branding:** Add in-app settings to change icon and name ([#6059](https://github.com/ReVanced/revanced-patches/issues/6059)) ([a50f3b5](https://github.com/ReVanced/revanced-patches/commit/a50f3b5177808f07d84041c946caccb5a08ad387)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0a4a57421..47b6693720 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.18](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.17...v5.42.0-dev.18) (2025-10-07) + + +### Features + +* **Custom branding:** Add in-app settings to change icon and name ([#6059](https://github.com/ReVanced/revanced-patches/issues/6059)) ([a50f3b5](https://github.com/ReVanced/revanced-patches/commit/a50f3b5177808f07d84041c946caccb5a08ad387)) + # [5.42.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.16...v5.42.0-dev.17) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index f85091c925..7608a77173 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.17 +version = 5.42.0-dev.18 From 104d096ada75096c2d1635831e6adec128190187 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Tue, 7 Oct 2025 23:53:51 +0400 Subject: [PATCH 58/63] chore: Change brand name to untranslatable --- patches/src/main/resources/addresources/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 1b464b3829..b7b5e82b36 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -25,7 +25,7 @@ Second \"item\" text" Custom App icon Original - ReVanced + ReVanced ReVanced minimal ReVanced scaled From 60a581a6324ceeb5a105442ac26ea4bfaab69834 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 00:30:56 +0400 Subject: [PATCH 59/63] chore: Sync translations (#6077) --- .../addresources/values-af-rZA/strings.xml | 11 ++++++- .../addresources/values-am-rET/strings.xml | 11 ++++++- .../addresources/values-ar-rSA/strings.xml | 18 ++++++++++- .../addresources/values-as-rIN/strings.xml | 11 ++++++- .../addresources/values-az-rAZ/strings.xml | 18 ++++++++++- .../addresources/values-be-rBY/strings.xml | 18 ++++++++++- .../addresources/values-bg-rBG/strings.xml | 18 ++++++++++- .../addresources/values-bn-rBD/strings.xml | 18 ++++++++++- .../addresources/values-bs-rBA/strings.xml | 11 ++++++- .../addresources/values-ca-rES/strings.xml | 11 ++++++- .../addresources/values-cs-rCZ/strings.xml | 18 ++++++++++- .../addresources/values-da-rDK/strings.xml | 18 ++++++++++- .../addresources/values-de-rDE/strings.xml | 18 ++++++++++- .../addresources/values-el-rGR/strings.xml | 30 ++++++++++++++----- .../addresources/values-es-rES/strings.xml | 18 ++++++++++- .../addresources/values-et-rEE/strings.xml | 18 ++++++++++- .../addresources/values-eu-rES/strings.xml | 11 ++++++- .../addresources/values-fa-rIR/strings.xml | 11 ++++++- .../addresources/values-fi-rFI/strings.xml | 18 ++++++++++- .../addresources/values-fil-rPH/strings.xml | 18 ++++++++++- .../addresources/values-fr-rFR/strings.xml | 18 ++++++++++- .../addresources/values-ga-rIE/strings.xml | 18 ++++++++++- .../addresources/values-gl-rES/strings.xml | 11 ++++++- .../addresources/values-gu-rIN/strings.xml | 11 ++++++- .../addresources/values-hi-rIN/strings.xml | 11 ++++++- .../addresources/values-hr-rHR/strings.xml | 11 ++++++- .../addresources/values-hu-rHU/strings.xml | 18 ++++++++++- .../addresources/values-hy-rAM/strings.xml | 18 ++++++++++- .../addresources/values-in-rID/strings.xml | 18 ++++++++++- .../addresources/values-is-rIS/strings.xml | 11 ++++++- .../addresources/values-it-rIT/strings.xml | 18 ++++++++++- .../addresources/values-iw-rIL/strings.xml | 18 ++++++++++- .../addresources/values-ja-rJP/strings.xml | 18 ++++++++++- .../addresources/values-ka-rGE/strings.xml | 11 ++++++- .../addresources/values-kk-rKZ/strings.xml | 11 ++++++- .../addresources/values-km-rKH/strings.xml | 11 ++++++- .../addresources/values-kn-rIN/strings.xml | 11 ++++++- .../addresources/values-ko-rKR/strings.xml | 30 ++++++++++++++----- .../addresources/values-ky-rKG/strings.xml | 11 ++++++- .../addresources/values-lo-rLA/strings.xml | 11 ++++++- .../addresources/values-lt-rLT/strings.xml | 18 ++++++++++- .../addresources/values-lv-rLV/strings.xml | 18 ++++++++++- .../addresources/values-mk-rMK/strings.xml | 11 ++++++- .../addresources/values-ml-rIN/strings.xml | 11 ++++++- .../addresources/values-mn-rMN/strings.xml | 11 ++++++- .../addresources/values-mr-rIN/strings.xml | 11 ++++++- .../addresources/values-ms-rMY/strings.xml | 11 ++++++- .../addresources/values-my-rMM/strings.xml | 11 ++++++- .../addresources/values-nb-rNO/strings.xml | 11 ++++++- .../addresources/values-ne-rIN/strings.xml | 11 ++++++- .../addresources/values-nl-rNL/strings.xml | 18 ++++++++++- .../addresources/values-or-rIN/strings.xml | 11 ++++++- .../addresources/values-pa-rIN/strings.xml | 11 ++++++- .../addresources/values-pl-rPL/strings.xml | 18 ++++++++++- .../addresources/values-pt-rBR/strings.xml | 18 ++++++++++- .../addresources/values-pt-rPT/strings.xml | 18 ++++++++++- .../addresources/values-ro-rRO/strings.xml | 18 ++++++++++- .../addresources/values-ru-rRU/strings.xml | 18 ++++++++++- .../addresources/values-si-rLK/strings.xml | 11 ++++++- .../addresources/values-sk-rSK/strings.xml | 18 ++++++++++- .../addresources/values-sl-rSI/strings.xml | 18 ++++++++++- .../addresources/values-sq-rAL/strings.xml | 18 ++++++++++- .../addresources/values-sr-rCS/strings.xml | 18 ++++++++++- .../addresources/values-sr-rSP/strings.xml | 18 ++++++++++- .../addresources/values-sv-rSE/strings.xml | 18 ++++++++++- .../addresources/values-sw-rKE/strings.xml | 11 ++++++- .../addresources/values-ta-rIN/strings.xml | 11 ++++++- .../addresources/values-te-rIN/strings.xml | 11 ++++++- .../addresources/values-th-rTH/strings.xml | 18 ++++++++++- .../addresources/values-tr-rTR/strings.xml | 18 ++++++++++- .../addresources/values-uk-rUA/strings.xml | 28 +++++++++++++---- .../addresources/values-ur-rIN/strings.xml | 11 ++++++- .../addresources/values-uz-rUZ/strings.xml | 11 ++++++- .../addresources/values-vi-rVN/strings.xml | 18 ++++++++++- .../addresources/values-zh-rCN/strings.xml | 18 ++++++++++- .../addresources/values-zh-rTW/strings.xml | 18 ++++++++++- .../addresources/values-zu-rZA/strings.xml | 11 ++++++- 77 files changed, 1081 insertions(+), 94 deletions(-) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index e05f29d234..0c3f905363 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + اسم التطبيق + + مخصص + أيقونة التطبيق + أصلي + + ReVanced minimal + ReVanced مصغر + + مخصص + فشلت عمليات التحقق فتح الموقع الرسمي @@ -1410,11 +1422,13 @@ Second \"item\" text" لون تمييز شريط التقدم لون شريط التقدم غير صالح + + علامة الشعار الافتراضي القياسي - + ReVanced minimal مخصص @@ -1631,6 +1645,8 @@ Second \"item\" text" + + لمحة الإعلانات diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index 5d97c0fd28..4d907660bf 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -204,8 +209,10 @@ Second \"item\" text" + + - + @@ -255,6 +262,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index f5362e7e39..e6623adce1 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Tətbiq adı + + Fərdi + Tətbiq ikonu + Orijinal + + Ən kiçik ReVanced + ReVanced ölçüləndirilmiş + + Fərdi + Yoxlamalar uğursuz oldu Xidməti veb saytı aç @@ -1409,11 +1421,13 @@ Kiçik oynadıcı ekrandan sola və ya sağa sürüklənə bilər" İrəliləyiş cizgisi vurğu rəngi Etibarsız irəliləmə cizgisi rəng dəyəri + + Başlıq simvolu İlkin Müntəzəm - + Ən kiçik ReVanced Fərdi @@ -1630,6 +1644,8 @@ AV1 ilə video oxutma kəsilə bilər və ya kadrlar atıla bilər." + + Haqqında Reklamlar diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 96a3e1206b..3c18a13ecf 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Назва праграмы + + Карыстальніцкая + Значок праграмы + Арыгінал + + ReVanced мінімальны + ReVanced маштабаваны + + Карыстальніцкі + Праверкі не пройдзены Адкрыць афіцыйны вэб-сайт @@ -1411,11 +1423,13 @@ Second \"item\" text" Акцэнтны колер пошуку Неверное значение цвета ползунка прогресса + + Лагатып загалоўка Па змаўчанні Звычайны - + ReVanced мінімальны Карыстальніцкі @@ -1632,6 +1646,8 @@ Second \"item\" text" + + Пра Рэклама diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 074bc17b64..e93854e0e4 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Име на приложението + + Персонализиран + Икона на приложението + Оригинален + + ReVanced минимален + ReVanced мащабиран + + Персонализиран + Проверката е неуспешна Отворете официалния уебсайт @@ -1410,11 +1422,13 @@ Second \"item\" text" Цветът на лентата за търсене Невалидна стойност за цвят на лентата на прогреса + + Лого в заглавката По подразбиране Обикновено - + ReVanced минимално По избор @@ -1631,6 +1645,8 @@ Second \"item\" text" + + Относно Реклами diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index ed6a3d48e7..8388c408f8 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + অ্যাপের নাম + + কাস্টম + অ্যাপ আইকন + মূল + + রিভ্যান্সড মিনিমাল + রিভ্যান্সড স্কেলড + + কাস্টম + চেক ফেইল করেছে অফিশ্যাল ওয়েবসাইট খুলুন @@ -1406,11 +1418,13 @@ Miniplayer স্ক্রিন থেকে বামে বা ডানে সিকবারের এক্সেন্ট রঙ অবৈধ সিকবার রঙ মান + + হেডার লোগো ডিফল্ট সাধারণ - + রিভ্যান্সড মিনিমাল কাস্টম @@ -1627,6 +1641,8 @@ AV1 সহ ভিডিও প্লেব্যাক আটকে যেতে + + সম্পর্কে বিজ্ঞাপন diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index c061911e47..eb98900c34 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Název aplikace + + Vlastní + Ikona aplikace + Původní + + ReVanced minimální + ReVanced škálované + + Vlastní + Kontrola proběhla neúspěšně Otevřít oficiální webovou stránku @@ -1410,11 +1422,13 @@ Omezení: Použití tlačítka zpět na panelu nástrojů nemusí fungovat"Zvýrazněná barva posuvníku Neplatná hodnota barvy posuvníku + + Logo záhlaví Výchozí Běžné - + ReVanced minimální Vlastní @@ -1631,6 +1645,8 @@ Přehrávání videa s AV1 se může sekat nebo vypadávat snímky." + + O aplikaci Reklamy diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 9ceec5b9cb..6cbe85c6f2 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Appnavn + + Tilpasset + Appikon + Original + + ReVanced minimal + ReVanced skaleret + + Tilpasset + Kontrol mislykkedes Åbn officiel hjemmeside @@ -1412,11 +1424,13 @@ Miniafspiller kan trækkes ud over skærmen til venstre eller højre" Søgelinjens accentfarve Ugyldig søgelinje farveværdi + + Sidehovedlogo Standard Normal - + ReVanced minimal Brugerdefineret @@ -1633,6 +1647,8 @@ Videoafspilning med AV1 kan hakke eller tabe billeder." + + Om Annoncer diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index a4e4f4dc1a..25b86aad20 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + App-Name + + Benutzerdefiniert + App-Symbol + Original + + ReVanced minimal + ReVanced skaliert + + Benutzerdefiniert + Prüfungen fehlgeschlagen Offizielle Website öffnen @@ -1407,11 +1419,13 @@ Der Mini-Player kann mit einer Wischgeste vom Bildschirm nach links oder rechts Die Akzentfarbe der Fortschrittsanzeige Ungültiger Suchleisten-Farbwert + + Header-Logo Standard Regulär - + ReVanced Minimal Benutzerdefiniert @@ -1628,6 +1642,8 @@ Die Videowiedergabe mit AV1 kann stottern oder Bilder überspringen." + + Über Werbung diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 8c1f816470..10e7cd744c 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Όνομα εφαρμογής + + Προσαρμοσμένο + Εικονίδιο εφαρμογής + Πρωτότυπο + + ReVanced απλό + ReVanced κλιμακωμένο + + Προσαρμοσμένο + Αποτυχία ελέγχων Άνοιγμα επίσημης ιστοσελίδας @@ -1411,11 +1423,13 @@ Second \"item\" text" Το χρώμα έμφασης της γραμμής προόδου Μη έγκυρη τιμή χρώματος γραμμής προόδου + + Λογότυπο επικεφαλίδας Προεπιλογή Κανονικό - + ReVanced απλό Προσαρμοσμένο @@ -1603,14 +1617,14 @@ Second \"item\" text" Η χειρονομία συρσίματος για αναζήτηση στη γραμμή προόδου είναι απενεργοποιημένη - Να επιτρέπεται το Android VR AV1 - "Ο κωδικοποιητής βίντεο είναι AVC (H.264), VP9 ή AV1 + Να επιτρέπεται ο κωδικοποιητής Android VR AV1 + "Ο κωδικοποιητής βίντεο είναι ο AVC (H.264), ο VP9 ή ο AV1 -Η αναπαραγωγή ενδέχεται να κολλήσει ή να χάσει καρέ" - Ο κωδικοποιητής βίντεο είναι AVC (H.264) ή VP9 - "Η ενεργοποίηση αυτής της ρύθμισης ενδέχεται να χρησιμοποιήσει αποκωδικοποίηση AV1 λογισμικού. +Η αναπαραγωγή μπορεί να κομπιάζει ή να χάνει καρέ" + Ο κωδικοποιητής βίντεο είναι ο AVC (H.264) ή ο VP9 + "Η ενεργοποίηση αυτής της ρύθμισης ενδέχεται να χρησιμοποιήσει αποκωδικοποίηση λογισμικού AV1. -Η αναπαραγωγή βίντεο με AV1 ενδέχεται να έχει διακοπές ή να χάνει καρέ." +Η αναπαραγωγή βίντεο μπορεί να κομπιάζει ή να χάνει καρέ." Παρενέργειες παραποίησης • Πειραματικός πελάτης και μπορεί να σταματήσει να λειτουργεί ανά πάσα στιγμή • Το βίντεο μπορεί να σταματήσει στο 1:00 ή να μην είναι διαθέσιμο σε ορισμένες περιοχές @@ -1630,6 +1644,8 @@ Second \"item\" text" + + Σχετικά με Διαφημίσεις diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index e2808ffe4b..b937384e39 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nombre de la aplicación + + Personalizado + Icono de la aplicación + Original + + ReVanced mínimo + ReVanced escalado + + Personalizado + Comprobaciones fallidas Ir al sitio web oficial @@ -1401,11 +1413,13 @@ El minireproductor se puede arrastrar fuera de la pantalla hacia la izquierda o El color de acento de la barra de búsqueda Valor de color de la barra de búsqueda inválido + + Logotipo del encabezado Predeterminado Normal - + ReVanced mínimo Personalizado @@ -1620,6 +1634,8 @@ La reproducción puede tartamudear o perder fotogramas" + + Acerca de Anuncios diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 7072527635..ed59e70259 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Rakenduse nimi + + Kohandatud + Rakenduse ikoon + Algne + + ReVanced minimaalne + ReVanced skaleeritud + + Kohandatud + Kontrollid ebaõnnestusid Ava oficial veebileht @@ -1410,11 +1422,13 @@ Minimaalset mängijat saab lohistada ekraanilt vasakule või paremale" Otsinguriba esiletõiduv värv Vigane edastusriba värvi väärtus + + Päise logo Vaikimisi Tavaline - + ReVanced minimaalne Kohandatud @@ -1631,6 +1645,8 @@ AV1-ga videotaasesitus võib hakitud olla või kaadreid vahele jätta." + + Teave Reklaamid diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 6ecd6b63b6..293ff3b371 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + بررسی ناموفق بود رفتن به وبسایت رسمی @@ -253,8 +258,10 @@ Second \"item\" text" + + - + @@ -303,6 +310,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 04220491f1..91654d3746 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Sovelluksen nimi + + Mukautettu + Sovelluksen kuvake + Alkuperäinen + + ReVanced-minimaalinen + ReVanced skaalattu + + Mukautettu + Tarkastuksia epäonnistui Avaa virallinen sivusto @@ -1410,11 +1422,13 @@ Minisoitin voidaan vetää pois näytöltä vasemmalle tai oikealle" Etenemispalkin korostusväri Virheellinen etenemispalkin väriarvo + + Ylätunnisteen logo Oletus Tavallinen - + ReVanced-minimaalinen Mukautettu @@ -1631,6 +1645,8 @@ AV1-videon toisto saattaa pätkiä tai pudottaa kuvia." + + Tietoja Mainokset diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 13a99b5af4..d44a499692 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Pangalan ng app + + Pasadyang + Icon ng app + Orihinal + + ReVanced minimal + ReVanced naka-scale + + Pasadyang + Nabigo ang mga pagsusuri Buksan ang Opisyal na Website @@ -1408,11 +1420,13 @@ Ang \"miniplayer\" ay maaaring i-drag palabas ng screen sa kaliwa o kanan"Ang accent na kulay ng seekbar Hindi wastong halaga ng kulay ng seekbar + + Logo ng Header Default Regular - + ReVanced minimal Pasadyang @@ -1629,6 +1643,8 @@ Maaaring mag-stutter o mag-drop ng frames ang pag-playback ng video na may AV1." + + Tungkol Mga Ad diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 88b85b6265..7fba4df4a8 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nom de l\'application + + Personnalisé + Icône de l\'application + Original + + ReVanced minimaliste + ReVanced mis à l\'échelle + + Personnalisé + Les vérifications ont échoué Ouvrir le site officiel @@ -1411,11 +1423,13 @@ Le lecteur réduit peut être glissé hors de l'écran, à gauche comme à droit La couleur d\'accentuation de la barre de progression Valeur invalide pour la couleur de la barre de progression + + Logo d\'en-tête Par défaut Standard - + ReVanced minimaliste Personnalisé @@ -1632,6 +1646,8 @@ La lecture vidéo avec AV1 peut saccader ou perdre des images." + + À propos Annonces diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 6141389a05..e4d594c6fb 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Ainm an fheidhmchláir + + Saincheaptha + Deilbhín an fheidhmchláir + Bunaidh + + ReVanced Íosmhéid + ReVanced Scálaithe + + Saincheaptha + Theip ar sheiceálacha Oscailt láithreán gréasáin oifigiúil @@ -1410,11 +1422,13 @@ Is féidir an mhion-imreoir a tharraingt as an scáileán ar chlé nó ar dheis" Dath accent an bhar taispillte Luach datha barra cuardaigh neamhbhailí + + Lógó Ceanntáisc Réamhshocrú Rialta - + ReVanced íosta Saincheaptha @@ -1631,6 +1645,8 @@ D'fhéadfadh athsheinm físe AV1 leacadh nó frámaí a scaoileadh." + + Maidir Fógraí diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index c671a9994c..97d7c365e9 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -205,8 +210,10 @@ Second \"item\" text" + + - + @@ -255,6 +262,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index 0d41d89bd1..7eb567fd0a 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + Provjere nisu uspjele @@ -204,8 +209,10 @@ Second \"item\" text" + + - + @@ -254,6 +261,8 @@ Second \"item\" text"
+ + diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index bc71281b59..09f5d74269 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Alkalmazás neve + + Egyéni + Alkalmazás ikonja + Eredeti + + ReVanced minimális + ReVanced méretezett + + Egyéni + Az ellenőrzések sikertelenek Hivatalos weboldal megnyitása @@ -1407,11 +1419,13 @@ A miniatűr képernyőt a képernyő bal vagy jobb szélére húzhatja" A keresősáv kiemelõ színe Érvénytelen keresősáv színértéke + + Fejléc logó Alapértelmezett Normál - + ReVanced minimál Egyéni @@ -1628,6 +1642,8 @@ Az AV1-es videólejátszás akadozhat vagy képkockákat ejthet." + + Névjegy Hirdetések diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index d4e4b4c862..e43c4f86bf 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Հավելվածի անվանումը + + Մաքսային + Հավելվածի պատկերակը + Բնօրինակ + + ReVanced մինիմալ + ReVanced սանդղակավորված + + Անհատականացված + Վերահսկումները ձախողվել են Բացել պաշտոնական կայքը @@ -1411,11 +1423,13 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Մարզումից դուրս ողորկության նշման գույնը Սխալ seekbar-ի գույնի արժեք + + Գլխագրի լոգո Լռակյաց Սովորական - + ReVanced մինիմալ Անհատական @@ -1632,6 +1646,8 @@ AV1-ով տեսանյութի նվագարկումը կարող է ընդհատ + + Մասին Գովազդներ diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index db621a6735..35614bb70b 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nama aplikasi + + Khusus + Ikon aplikasi + Asli + + ReVanced minimal + ReVanced berskala + + Khusus + Pemeriksaan gagal Buka situs resmi @@ -1409,11 +1421,13 @@ Miniplayer dapat diseret keluar layar ke kiri atau kanan" Warna aksen seekbar Nilai warna seekbar tidak sah + + Logo Header Bawaan Reguler - + ReVanced minimal Khusus @@ -1630,6 +1644,8 @@ Pemutaran video dengan AV1 mungkin tersendat atau kehilangan bingkai." + + Tentang Iklan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 509208cec0..6e98642466 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nome dell\'app + + Personalizzato + Icona dell\'app + Originale + + ReVanced minimale + ReVanced ridimensionato + + Personalizzato + Controlli non riusciti Apri sito ufficiale @@ -1409,11 +1421,13 @@ Il riproduttore minimizzato può essere trascinato fuori dallo schermo a sinistr Il colore primario della barra di avanzamento Valore colore barra di avanzamento non valido + + Logo dell\'intestazione Predefinito Regolare - + ReVanced minimale Personalizzato @@ -1630,6 +1644,8 @@ La riproduzione video con AV1 potrebbe rallentare o perdere fotogrammi." + + Informazioni Annunci diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 5bc713abba..fda882691a 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + שם האפליקציה + + מותאם אישית + אייקון האפליקציה + מקורי + + ReVanced מינימלי + ReVanced מותאם גודל + + מותאם אישית + בדיקות נכשלו פתח אתר רשמי @@ -1412,11 +1424,13 @@ Second \"item\" text" צבע ההדגשה של סרגל הדילוג ערך צבע סרגל דילוג לא חוקי + + לוגו כותרת ברירת מחדל רגיל - + ReVanced מינימלי מותאם אישית @@ -1633,6 +1647,8 @@ Second \"item\" text" + + אודות מודעות diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 6bfffc2bc3..6bb8185324 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + アプリ名 + + カスタム + アプリアイコン + + + ReVanced minimal + ReVanced スケール + + カスタム + チェックに失敗しました 公式サイトを開く @@ -1413,11 +1425,13 @@ Automotive レイアウト シークバーのアクセントカラーを編集します シークバーの色の値が無効です + + ヘッダーロゴ デフォルト 標準 - + ReVanced minimal カスタム @@ -1633,6 +1647,8 @@ AV1での動画再生は、途切れたりフレームが落ちたりする場 + + ReVanced について 広告 diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index 85b96ca442..429afac07f 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + ಪರಿಶೀಲನೆ ವಿಫಲವಾಗಿದೆ ಅಧಿಕೃತ ಜಾಲತಾಣ ತೆರೆಯಿರಿ @@ -218,8 +223,10 @@ Second \"item\" text" + + - + @@ -268,6 +275,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index cc83dbb368..66f4eead35 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + 앱 이름 + + 사용자 정의 + 앱 아이콘 + 원본 + + ReVanced 최소화 + ReVanced 크기 조정 + + 사용자 정의 + 환경 검사에 실패하였습니다 공식 홈페이지 열기 @@ -1417,11 +1429,13 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니 재생바 보조 색상을 지정할 수 있습니다 잘못된 재생바 색상입니다 + + 헤더 로고 기본값 일반 - + ReVanced 최소화 사용자 정의 @@ -1611,14 +1625,14 @@ DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" 슬라이드하여 탐색을 비활성화합니다 - Android VR AV1 허용 - "비디오 코덱은 AVC (H.264), VP9 또는 AV1입니다 + Android VR AV1 허용하기 + "동영상 코덱이 AVC (H.264), VP9 또는 AV1으로 결정됩니다 -재생이 끊기거나 프레임이 떨어질 수 있습니다" - 비디오 코덱은 AVC (H.264) 또는 VP9입니다 - "이 설정을 활성화하면 소프트웨어 AV1 디코딩을 사용할 수 있습니다. +동영상 재생이 끊기거나 프레임이 손실될 수 있습니다" + 동영상 코덱이 AVC (H.264) 또는 VP9으로 결정됩니다 + "이 설정을 활성화하면, 소프트웨어 AV1 디코딩이 사용될 수 있습니다. -AV1을 사용한 비디오 재생 시 끊김 또는 프레임 드롭이 발생할 수 있습니다." +AV1이 사용된 동영상 재생이 끊기거나 프레임이 손실될 수 있습니다." 변경에 따른 부작용 • 실험용 클라이언트이며 언제든지 작동이 중단될 수 있습니다 • 동영상이 1:00에 멈출 수 있으며, 일부 지역에서는 이용이 불가능할 수 있습니다 @@ -1638,6 +1652,8 @@ AV1을 사용한 비디오 재생 시 끊김 또는 프레임 드롭이 발생 + + 정보 광고 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index f9ec6a0321..067bb630ed 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Programos pavadinimas + + Pasirinktinis + Programos piktograma + Originalus + + ReVanced minimalus + ReVanced masteliu + + Pasirinktinis + Patikrinimai nepavyko Atidaryti oficialią svetainę @@ -1411,11 +1423,13 @@ Ribojimas: įrankių juostoje esantis atgal mygtukas gali neveikti." Ieškojimo juostos akcento spalva Netinkama slankiklio spalvos vertė + + Antraštės logotipas Numatytasis Įprastas - + ReVanced minimalus Pasirinktinis @@ -1632,6 +1646,8 @@ Vaizdo įrašo atkūrimas su AV1 gali strigti arba praleisti kadrus." + + Apie Skelbimai diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index 3c7c46ff66..f2ff7b93ea 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Lietotnes nosaukums + + Pielāgots + Lietotnes ikona + Oriģināls + + ReVanced minimāls + ReVanced mērogots + + Pielāgots + Pārbaudes neizdevās Atvērt oficiālo vietni @@ -1411,11 +1423,13 @@ Miniatskaņotāju var pārvilkt no ekrāna uz kreiso vai labo pusi" Meklētājjoslas akcenta krāsa Nederīga meklētāja joslas krāsas vērtība + + Galvenes logotips Noklusējums Parasts - + ReVanced minimāls Pielāgots @@ -1632,6 +1646,8 @@ AV1 video atskaņošana var raustīties vai izlaist kadrus." + + Par Reklāmas diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 06ddb38c69..835c470a3a 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -254,6 +261,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 70b74f6c70..43d70b9b6a 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + ReVanced Manager द्वारा स्थापित छैन APK निर्माण मिति खराब भएको छ @@ -205,8 +210,10 @@ Second \"item\" text" + + - + @@ -255,6 +262,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index e04887afff..6b6af1a2f2 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Appnaam + + Aangepast + App-pictogram + Origineel + + ReVanced minimaal + ReVanced geschaald + + Aangepast + Controle mislukt Open officiële website @@ -1408,11 +1420,13 @@ De miniplayer kan naar links of rechts van het scherm worden gesleept" De accentkleur van de zoekbalk Ongeldige waarde voor de kleur van de schuifregelaar + + Headerlogo Standaard Normaal - + ReVanced minimaal Aangepast @@ -1629,6 +1643,8 @@ Het afspelen van video met AV1 kan haperen of frames overslaan." + + Over Advertenties diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 9a08c81d02..1fd32b6145 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nazwa aplikacji + + Własna + Ikona aplikacji + Oryginalna + + ReVanced minimalna + ReVanced skalowana + + Niestandardowa + Sprawdzanie nie powiodło się Otwórz oficjalną stronę internetową @@ -1406,11 +1418,13 @@ Odtwarzacz można przeciągnąć poza ekran w lewo lub w prawo" Kolor akcentu paska postępu Nieprawidłowa wartość koloru paska postępu + + Logo nagłówka Domyślne Zwykłe - + ReVanced minimalistyczne Niestandardowe @@ -1627,6 +1641,8 @@ Odtwarzanie wideo z AV1 może powodować zacinanie się lub gubienie klatek." + + O programie Reklamy diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 3b07fe7001..4127dd9427 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nome do aplicativo + + Personalizado + Ícone do aplicativo + Original + + ReVanced mínimo + ReVanced escalado + + Personalizado + Verificação falhou Abrir o site oficial @@ -1407,11 +1419,13 @@ O miniplayer pode ser arrastado para fora da tela para a esquerda ou direita"A cor de destaque da barra de progresso Valor de cor da barra de busca inválido + + Logotipo do cabeçalho Padrão Regular - + ReVanced mínimo Personalizado @@ -1628,6 +1642,8 @@ A reprodução de vídeo com AV1 pode gaguejar ou perder quadros." + + Sobre Anúncios diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index f974231f3e..5dd0f3af7b 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Nome da aplicação + + Personalizado + Ícone da aplicação + Original + + ReVanced mínimo + ReVanced dimensionado + + Personalizado + Falha na verificação Abrir site oficial @@ -1410,11 +1422,13 @@ Miniplayer có thể được kéo ra khỏi màn hình sang trái hoặc phải A cor de destaque da barra de progresso Valor de cor de seekbar inválido + + Logotipo do cabeçalho Padrão Regular - + ReVanced mínimo Personalizado @@ -1631,6 +1645,8 @@ A reprodução de vídeo com AV1 pode apresentar soluços ou perder quadros." + + Sobre Anúncios diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 48bfb037e7..57eea5d4b3 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Numele aplicației + + Personalizat + Pictograma aplicației + Original + + ReVanced minimal + ReVanced scalat + + Personalizat + Verificările au eșuat Deschidere site oficial @@ -1407,11 +1419,13 @@ Miniplayerul poate fi tras pe ecran spre stânga sau spre dreapta" Culoarea de accent a barei de căutare Valoare culoare bară căutare nevalidă + + Siglă antet Implicit Normal - + ReVanced minimalist Personalizat @@ -1628,6 +1642,8 @@ Redarea video cu AV1 poate sacada sau pierde cadre." + + Despre Anunțuri diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 7f2ba6f8ce..68e9631936 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Название приложения + + Кастомный + Значок приложения + Оригинал + + ReVanced минимальный + ReVanced масштабированный + + Кастомный + Проверки не удались Открыть официальный веб-сайт @@ -1417,11 +1429,13 @@ Second \"item\" text" Вторичный цвет полосы прогресса Неверное значение цвета полосы прогресса + + Логотип заголовка По умолчанию Обычный - + ReVanced минимальный Кастомный @@ -1638,6 +1652,8 @@ Second \"item\" text" + + Информация Настройки рекламы diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 15dd6f3a8b..ad7b8c92ef 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Názov aplikácie + + Vlastné + Ikona aplikácie + Pôvodné + + ReVanced minimálne + ReVanced škálované + + Vlastné + Kontrola zlyhala Otvoriť oficiálnu webovú stránku @@ -1403,11 +1415,13 @@ Miniprehrávač sa dá potiahnuť mimo obrazovky doľava alebo doprava" Farba zvýraznenia posuvníka Neplatná farba vyhľadávania panela + + Logo záhlavia Predvolené Bežné - + ReVanced minimálne Vlastné @@ -1624,6 +1638,8 @@ Prehrávanie videa s AV1 môže sekať alebo vynechávať snímky." + + O aplikácii Reklamy diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index c0b902a88a..4b8a4ae852 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Ime aplikacije + + Po meri + Ikona aplikacije + Izvirno + + ReVanced minimalno + ReVanced prilagojeno + + Po meri + Preverjanja so spodletela Obiščite uradno spletno mesto @@ -1410,11 +1422,13 @@ Minipredvajalnik lahko povlečete z zaslona na levo ali desno" Barva poudarka iskalnika Neveljavna vrednost barve drsnika + + Logotip glave Privzeto Navadno - + ReVanced minimalno Po meri @@ -1631,6 +1645,8 @@ Predvajanje videa z AV1 se lahko zatika ali izpušča sličice." + + O Oglasi diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index 541bd7c657..05a519c1e0 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Emri i aplikacionit + + Personalizuar + Ikona e aplikacionit + Origjinal + + ReVanced minimal + ReVanced i shkallëzuar + + Personalizuar + Kontrollat ​​dështu Hap faqen zyrtare @@ -1408,11 +1420,13 @@ Miniplayer mund të tërhiqet jashtë ekranit në të majtë ose në të djatht Ngjyra e theksuar e shiritit të kërkimit Vlerë e pavlefshme e ngjyrës së shkallës së kërkimit + + Logoja e sipërme Parazgjedhur Normale - + ReVanced minimaliste Personalizuar @@ -1629,6 +1643,8 @@ Luajtja e videos me AV1 mund të ngecë ose të humbasë korniza." + + Rreth Reklama diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 2a67499e80..df0b083326 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Naziv aplikacije + + Prilagođeni + Ikona aplikacije + Original + + ReVanced minimalna + ReVanced skalirana + + Prilagođeni + Provere nisu uspele Otvori zvanični veb-sajt @@ -1409,11 +1421,13 @@ Mini-plejer se može prevući sa ekrana ulevo ili udesno" Boja naglašavanja trake za premotavanje Nevažeća vrednost boje trake za premotavanje + + Logotip u zaglavlju Podrazumevani Obični - + ReVanced minimalistički Prilagođeni @@ -1630,6 +1644,8 @@ Reprodukcija video zapisa sa AV1 može seckati ili ispuštati frejmove." + + O programu Oglasi diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 76d8678fe1..99a4c86e65 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Назив апликације + + Прилагођени + Икона апликације + Оригинал + + ReVanced минималистички + ReVanced скалирано + + Прилагођени + Провере нису успеле Отвори званични веб-сајт @@ -1412,11 +1424,13 @@ Second \"item\" text" Боја наглашавања траке за премотавање Неважећа вредност боје траке за премотавање + + Логотип у заглављу Подразумевани Обични - + ReVanced минималистички Прилагођени @@ -1633,6 +1647,8 @@ Second \"item\" text" + + О програму Огласи diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index e5dbeb6714..a4c4dfdf3e 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Appnamn + + Anpassad + Appikon + Original + + ReVanced minimalistisk + ReVanced skalad + + Anpassad + Kontroller misslyckades Öppna officiell hemsida @@ -1409,11 +1421,13 @@ Minispelaren kan dras utanför skärmen till vänster eller höger" Accentfärgen på sökreglaget Ogiltigt färgvärde för sökreglaget + + Logotyp i sidhuvudet Standard Vanlig - + ReVanced minimalistisk Anpassad @@ -1630,6 +1644,8 @@ Videouppspelning med AV1 kan hacka eller tappa bildrutor." + + Om Annonser diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index e67f747f5e..ceac7d84e9 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + ชื่อแอป + + กำหนดเอง + ไอคอนแอป + ต้นฉบับ + + ReVanced เรียบง่าย + ReVanced ปรับขนาด + + กำหนดเอง + การตรวจสอบล้มเหลว เปิดเว็บไซต์อย่างเป็นทางการ @@ -1412,11 +1424,13 @@ User id ของคุณเหมือนกับรหัสผ่าน สีเน้นของ seekbar ค่าสีแถบเลื่อนไม่ถูกต้อง + + โลโก้ส่วนหัว ค่าเริ่มต้น ปกติ - + ReVanced แบบย่อ กำหนดเอง @@ -1633,6 +1647,8 @@ User id ของคุณเหมือนกับรหัสผ่าน + + เกี่ยวกับ โฆษณา diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index c5c12c3c0e..0a91d04dc8 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Uygulama adı + + Özel + Uygulama simgesi + Orijinal + + ReVanced minimal + ReVanced ölçeklendirilmiş + + Özel + Denetimler başarısız Resmî web sitesini aç @@ -1417,11 +1429,13 @@ Genişletmek veya kapatmak için kaydırın" Zaman çubuğunun vurgu rengi Geçersiz zaman çubuğu renk değeri + + Başlık logosu Varsayılan Normal - + ReVanced minimal Özel @@ -1638,6 +1652,8 @@ AV1 ile video oynatma takılabilir veya kare atlayabilir." + + Hakkında Reklamlar diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 1c7e081216..2c28dad46f 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Назва додатку + + Користувацька + Іконка додатку + Оригінальна + + ReVanced мінімальна + ReVanced масштабована + + Користувацька + Перевірки не вдалися Відкрити офіційний вебсайт @@ -1409,11 +1421,13 @@ Second \"item\" text" Значення вторинного кольору смуги прогресу Недійсне значення кольору смуги прогресу + + Логотип заголовка Стандартний Звичайний - + ReVanced мінімальний Користувацький @@ -1604,13 +1618,13 @@ Second \"item\" text" Дозволити Android VR AV1 - "Відеокодек: AVC (H.264), VP9 або AV1 + "Відеокодек AVC (H.264), VP9 або AV1 -Відтворення може затинатися або пропускати кадри" - Відеокодек: AVC (H.264) або VP9 - "Увімкнення цього параметра може використовувати програмне декодування AV1. +Відтворення може заїкатися або пропускати кадри" + Відеокодек AVC (H.264) або VP9 + "Увімкнення цього налаштування може призвести до використання програмного декодування AV1. -Відтворення відео з AV1 може заїкатися або пропускати кадри." +Відтворення відео з AV1 може заїкатися або мати пропуски кадрів." Побічні ефекти підміни • Експериментальний клієнт, який може припинити працювати будь-якої миті • Відео може зупинитися на 1:00, або може бути недоступним у деяких регіонах @@ -1630,6 +1644,8 @@ Second \"item\" text" + + Інформація Реклама diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 419cf71025..24884e3350 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + Tên ứng dụng + + Tùy chỉnh + Biểu tượng ứng dụng + Gốc + + ReVanced tối giản + ReVanced tỉ lệ + + Tùy chỉnh + Kiểm tra thất bại Mở trang web chính thức @@ -1416,11 +1428,13 @@ Vuốt để mở rộng hoặc đóng" Màu sắc nổi bật của thanh tiến trình Giá trị màu của thanh tiến trình không hợp lệ + + Logo đầu trang Mặc định Thông thường - + ReVanced tối giản Tùy chỉnh @@ -1637,6 +1651,8 @@ Phát lại video bằng AV1 có thể bị giật hoặc bỏ khung hình." + + Giới thiệu Quảng cáo diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 1f3c17fd65..c91c10d5eb 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + 应用名称 + + 自定义 + 应用图标 + 原始 + + ReVanced 极简 + ReVanced 缩放 + + 自定义 + 检测失败 打开官方网站 @@ -1415,11 +1427,13 @@ Second \"item\" text" 进度条的强调色 无效的进度条颜色值 + + 标题徽标 默认 常规 - + ReVanced 极简 自定义 @@ -1636,6 +1650,8 @@ Second \"item\" text" + + 关于 广告 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index ac8c7ea915..98cc3e96ee 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -20,6 +20,18 @@ Second \"item\" text" --> + + 應用程式名稱 + + 自訂 + 應用程式圖示 + 原始 + + ReVanced 精簡版 + ReVanced 縮放 + + 自訂 + 檢查失敗 開啟官方網站 @@ -1416,11 +1428,13 @@ Second \"item\" text" 跳轉列強調色彩 跳轉列色彩值無效 + + 標題標誌 預設 一般 - + ReVanced 精簡版 自訂 @@ -1641,6 +1655,8 @@ AV1 視訊播放可能會卡頓或掉幀。" + + 關於 廣告 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index 66fec53e1d..7a87b6c259 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -20,6 +20,11 @@ Second \"item\" text" --> + + + + + @@ -203,8 +208,10 @@ Second \"item\" text" + + - + @@ -253,6 +260,8 @@ Second \"item\" text" + + From 7afeaebb5cc22eb4f4512d8aa0cf4e835e7a2daf Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 8 Oct 2025 00:34:45 +0400 Subject: [PATCH 60/63] fix(YouTube - Spoof video streams): Do not allow VR AV1 if "Force AVC" is enabled --- .../youtube/patches/spoof/SpoofVideoStreamsPatch.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java index eaf2f3e14b..ef8069e855 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java @@ -29,7 +29,11 @@ public class SpoofVideoStreamsPatch { public static void setClientOrderToUse() { ClientType client = Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get(); - if (client == ANDROID_VR_1_43_32 && Settings.SPOOF_VIDEO_STREAMS_AV1.get()) { + // Use VR 1.61 client that has AV1 if user settings allow it. + // AVC cannot be forced with VR 1.61 because it uses VP9 and AV1. + // If both settings are on, then force AVC takes priority and VR 1.43 is used. + if (client == ANDROID_VR_1_43_32 && Settings.SPOOF_VIDEO_STREAMS_AV1.get() + && !Settings.FORCE_AVC_CODEC.get()) { client = ANDROID_VR_1_61_48; } From feca17be68055978a6c7b05029d4d5ab3f620566 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 Oct 2025 20:37:44 +0000 Subject: [PATCH 61/63] chore: Release v5.42.0-dev.19 [skip ci] # [5.42.0-dev.19](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.18...v5.42.0-dev.19) (2025-10-07) ### Bug Fixes * **YouTube - Spoof video streams:** Do not allow VR AV1 if "Force AVC" is enabled ([7afeaeb](https://github.com/ReVanced/revanced-patches/commit/7afeaebb5cc22eb4f4512d8aa0cf4e835e7a2daf)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47b6693720..b1298164ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.42.0-dev.19](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.18...v5.42.0-dev.19) (2025-10-07) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Do not allow VR AV1 if "Force AVC" is enabled ([7afeaeb](https://github.com/ReVanced/revanced-patches/commit/7afeaebb5cc22eb4f4512d8aa0cf4e835e7a2daf)) + # [5.42.0-dev.18](https://github.com/ReVanced/revanced-patches/compare/v5.42.0-dev.17...v5.42.0-dev.18) (2025-10-07) diff --git a/gradle.properties b/gradle.properties index 7608a77173..d5e85d1ad1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.42.0-dev.18 +version = 5.42.0-dev.19 From 0fe545cad6129824e231df87e074aec7f47a693d Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 8 Oct 2025 09:47:27 +0400 Subject: [PATCH 62/63] chore: Add links to the ReVanced brand guidelines --- .../resources/addresources/values/strings.xml | 1 + .../revanced_header_logo_dark.png | Bin 3344 -> 3479 bytes .../revanced_header_logo_light.png | Bin 3330 -> 3465 bytes .../revanced_header_logo_minimal_dark.png | Bin 3354 -> 3489 bytes .../revanced_header_logo_minimal_light.png | Bin 2986 -> 3121 bytes .../revanced_header_logo_dark.png | Bin 2041 -> 2176 bytes .../revanced_header_logo_light.png | Bin 2030 -> 2165 bytes .../revanced_header_logo_minimal_dark.png | Bin 2126 -> 2261 bytes .../revanced_header_logo_minimal_light.png | Bin 1924 -> 2059 bytes .../revanced_header_logo_dark.png | Bin 4630 -> 4765 bytes .../revanced_header_logo_light.png | Bin 4602 -> 4737 bytes .../revanced_header_logo_minimal_dark.png | Bin 4506 -> 4641 bytes .../revanced_header_logo_minimal_light.png | Bin 4048 -> 4183 bytes .../revanced_header_logo_dark.png | Bin 7163 -> 7298 bytes .../revanced_header_logo_light.png | Bin 7045 -> 7180 bytes .../revanced_header_logo_minimal_dark.png | Bin 7384 -> 7519 bytes .../revanced_header_logo_minimal_light.png | Bin 6540 -> 6675 bytes .../revanced_header_logo_dark.png | Bin 9506 -> 9641 bytes .../revanced_header_logo_light.png | Bin 9367 -> 9502 bytes .../revanced_header_logo_minimal_dark.png | Bin 7457 -> 7592 bytes .../revanced_header_logo_minimal_light.png | Bin 6735 -> 6870 bytes .../revanced_adaptive_foreground_minimal.xml | 1 + .../revanced_adaptive_foreground_rounded.xml | 1 + .../revanced_adaptive_foreground_scaled.xml | 1 + .../revanced_adaptive_monochrome_custom.xml | 1 + .../revanced_adaptive_monochrome_minimal.xml | 1 + .../revanced_adaptive_monochrome_rounded.xml | 1 + .../revanced_adaptive_monochrome_scaled.xml | 1 + .../revanced_launcher_custom.xml | 1 + .../revanced_launcher_minimal.xml | 1 + .../revanced_launcher_rounded.xml | 1 + .../revanced_launcher_scaled.xml | 1 + .../revanced_adaptive_foreground_custom.png | Bin 1276 -> 1411 bytes .../revanced_adaptive_foreground_custom.png | Bin 858 -> 993 bytes .../revanced_adaptive_foreground_custom.png | Bin 1747 -> 1882 bytes .../revanced_adaptive_foreground_custom.png | Bin 2771 -> 2906 bytes .../revanced_adaptive_foreground_custom.png | Bin 3930 -> 4065 bytes .../drawable/revanced_settings_icon.xml | 7 +------ 38 files changed, 13 insertions(+), 6 deletions(-) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index b7b5e82b36..4b7a00125e 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1,3 +1,4 @@ + + diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml index f21fbb1f3b..2e484170ce 100644 --- a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml @@ -1,4 +1,5 @@ + diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml index a5b8aef86b..4bb8e855a2 100644 --- a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml @@ -1,4 +1,5 @@ + diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml index f5126df718..2e2590863e 100644 --- a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml @@ -1,4 +1,5 @@ + diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png index c639a3d56111e6ec2c368d780e97281270889f67..315b280fb5c40221d607386d76e1f7abc804fcba 100644 GIT binary patch delta 145 zcmeyv*~~pbxt<}g#5JPCIX^cyHLrxhFTX?~Co?%UuQ)YDp)@ZgwMfA|z(-FZI5kxv zqokyu*h*hNJ+maEG)XTxKUY5}H7qeNIW&}iEBiObAE1aYF-J0Uw(-~PG)jyUU6!QLTO$~YLS9_fRCO+aB8YT zMoCFQv6a4ldS*#RX_8)Yey)B{YFJ`ka%zfxQEC~Op_^2cn3s~7m!5xHbrJ&ugIs0^ n$nb*7qRjM+5}*JB!=aT5Mg~SE3J|?)sVTpf^nc!{Xvqu!pZqfO delta 10 RcmaFJev55_^2Sx>%m5ir1Q7rL diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png index 2119d70cf3923efec77d0e8071cfaf99c9c83f2c..bb90b61d5d7b079a963219bedc7bad4f29d36e66 100644 GIT binary patch delta 145 zcmcc2dy8*^ay>&}iEBiObAE1aYF-J0Uw(-~PG)jyUU6!QLTO$~YLS9_fRCO+aB8YT zMoCFQv6a4ldS*#RX_8)Yey)B{YFJ`ka%zfxQEC~Op_^2cn3s~7m!5xHbrJ&ugIs0^ n$nb*7qRjM+5}*JB!=aT5Mg~SE3J|?)sVTpf^nc!{xQPt_pyM-d delta 10 Rcmcb`cbRvB^2Svg*Z>+f1dRXy diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png index b0254084a56155696c51a3b8cf110964ca39d922..296309358afd97c0e4de3600ccdb60cf0e7009d9 100644 GIT binary patch delta 145 zcmcaCdP{7Aay>&}iEBiObAE1aYF-J0Uw(-~PG)jyUU6!QLTO$~YLS9_fRCO+aB8YT zMoCFQv6a4ldS*#RX_8)Yey)B{YFJ`ka%zfxQEC~Op_^2cn3s~7m!5xHbrJ&ugIs0^ n$nb*7qRjM+5}*JB!=aT5Mg~SE3J|?)sVTpf^nc!{xQPn@sn;`u delta 10 Rcmca5c3E_S^2SvgxBwcu1fc)` diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png index 88f8ebc40bb5c344f5e5df39d23d8f168370b0a5..917ea24cc6948c761bcf66995542b7fcf0086c1b 100644 GIT binary patch delta 145 zcmca5_fUR&}iEBiObAE1aYF-J0Uw(-~PG)jyUU6!QLTO$~YLS9_fRCO+aB8YT zMoCFQv6a4ldS*#RX_8)Yey)B{YFJ`ka%zfxQEC~Op_^2cn3s~7m!5xHbrJ&ugIs0^ n$nb*7qRjM+5}*JB!=aT5Mg~SE3J|?)sVTpf^nc!{Xvq%%y4W)> delta 10 RcmaDTe@kwH^2Sx>`~Vu;1Wf<{ diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_icon.xml b/patches/src/main/resources/settings/drawable/revanced_settings_icon.xml index 3c2cbe1c3e..e561ea0758 100644 --- a/patches/src/main/resources/settings/drawable/revanced_settings_icon.xml +++ b/patches/src/main/resources/settings/drawable/revanced_settings_icon.xml @@ -1,9 +1,4 @@ - - + Date: Wed, 8 Oct 2025 09:54:53 +0400 Subject: [PATCH 63/63] chore: Sync translations (#6078) --- .../addresources/values-af-rZA/strings.xml | 1 + .../addresources/values-am-rET/strings.xml | 1 + .../addresources/values-ar-rSA/strings.xml | 1 + .../addresources/values-as-rIN/strings.xml | 1 + .../addresources/values-az-rAZ/strings.xml | 1 + .../addresources/values-be-rBY/strings.xml | 1 + .../addresources/values-bg-rBG/strings.xml | 1 + .../addresources/values-bn-rBD/strings.xml | 1 + .../addresources/values-bs-rBA/strings.xml | 1 + .../addresources/values-ca-rES/strings.xml | 1 + .../addresources/values-cs-rCZ/strings.xml | 1 + .../addresources/values-da-rDK/strings.xml | 1 + .../addresources/values-de-rDE/strings.xml | 1 + .../addresources/values-el-rGR/strings.xml | 7 +++-- .../addresources/values-es-rES/strings.xml | 1 + .../addresources/values-et-rEE/strings.xml | 1 + .../addresources/values-eu-rES/strings.xml | 1 + .../addresources/values-fa-rIR/strings.xml | 1 + .../addresources/values-fi-rFI/strings.xml | 1 + .../addresources/values-fil-rPH/strings.xml | 1 + .../addresources/values-fr-rFR/strings.xml | 1 + .../addresources/values-ga-rIE/strings.xml | 1 + .../addresources/values-gl-rES/strings.xml | 1 + .../addresources/values-gu-rIN/strings.xml | 1 + .../addresources/values-hi-rIN/strings.xml | 1 + .../addresources/values-hr-rHR/strings.xml | 1 + .../addresources/values-hu-rHU/strings.xml | 1 + .../addresources/values-hy-rAM/strings.xml | 1 + .../addresources/values-in-rID/strings.xml | 7 +++-- .../addresources/values-is-rIS/strings.xml | 1 + .../addresources/values-it-rIT/strings.xml | 1 + .../addresources/values-iw-rIL/strings.xml | 1 + .../addresources/values-ja-rJP/strings.xml | 29 ++++++++++--------- .../addresources/values-ka-rGE/strings.xml | 1 + .../addresources/values-kk-rKZ/strings.xml | 1 + .../addresources/values-km-rKH/strings.xml | 1 + .../addresources/values-kn-rIN/strings.xml | 1 + .../addresources/values-ko-rKR/strings.xml | 1 + .../addresources/values-ky-rKG/strings.xml | 1 + .../addresources/values-lo-rLA/strings.xml | 1 + .../addresources/values-lt-rLT/strings.xml | 1 + .../addresources/values-lv-rLV/strings.xml | 1 + .../addresources/values-mk-rMK/strings.xml | 1 + .../addresources/values-ml-rIN/strings.xml | 1 + .../addresources/values-mn-rMN/strings.xml | 1 + .../addresources/values-mr-rIN/strings.xml | 1 + .../addresources/values-ms-rMY/strings.xml | 1 + .../addresources/values-my-rMM/strings.xml | 1 + .../addresources/values-nb-rNO/strings.xml | 1 + .../addresources/values-ne-rIN/strings.xml | 1 + .../addresources/values-nl-rNL/strings.xml | 1 + .../addresources/values-or-rIN/strings.xml | 1 + .../addresources/values-pa-rIN/strings.xml | 1 + .../addresources/values-pl-rPL/strings.xml | 1 + .../addresources/values-pt-rBR/strings.xml | 1 + .../addresources/values-pt-rPT/strings.xml | 1 + .../addresources/values-ro-rRO/strings.xml | 1 + .../addresources/values-ru-rRU/strings.xml | 1 + .../addresources/values-si-rLK/strings.xml | 1 + .../addresources/values-sk-rSK/strings.xml | 1 + .../addresources/values-sl-rSI/strings.xml | 1 + .../addresources/values-sq-rAL/strings.xml | 1 + .../addresources/values-sr-rCS/strings.xml | 15 +++++----- .../addresources/values-sr-rSP/strings.xml | 21 +++++++------- .../addresources/values-sv-rSE/strings.xml | 1 + .../addresources/values-sw-rKE/strings.xml | 1 + .../addresources/values-ta-rIN/strings.xml | 1 + .../addresources/values-te-rIN/strings.xml | 1 + .../addresources/values-th-rTH/strings.xml | 1 + .../addresources/values-tr-rTR/strings.xml | 1 + .../addresources/values-uk-rUA/strings.xml | 1 + .../addresources/values-ur-rIN/strings.xml | 1 + .../addresources/values-uz-rUZ/strings.xml | 1 + .../addresources/values-vi-rVN/strings.xml | 7 +++-- .../addresources/values-zh-rCN/strings.xml | 1 + .../addresources/values-zh-rTW/strings.xml | 1 + .../addresources/values-zu-rZA/strings.xml | 1 + 77 files changed, 117 insertions(+), 40 deletions(-) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index 7a87b6c259..6b81af5f39 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -1,4 +1,5 @@ + Προσαρμοσμένο Εικονίδιο εφαρμογής - Πρωτότυπο + Αρχικό ReVanced απλό ReVanced κλιμακωμένο @@ -971,8 +972,8 @@ Second \"item\" text" Σχετικά βίντεο στην πλήρη οθόνη - Κρυμμένα\n\nΑφορά τα σχετικά βίντεο της τελικής οθόνης στη λειτουργία πλήρους οθόνης - Εμφανίζονται\n\nΑφορά τα σχετικά βίντεο της τελικής οθόνης στη λειτουργία πλήρους οθόνης + Κρυμμένα + Εμφανίζονται Χρονική πρόοδος βίντεο diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index b937384e39..535ae06227 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -1,4 +1,5 @@ + カスタム アプリアイコン - + オリジナル - ReVanced minimal - ReVanced スケール + ReVanced (シンプル) + ReVanced (シンボル大) カスタム @@ -613,12 +614,12 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が スワイプによる音量の変化量 オーバーレイのスタイル 横型 - 横型 (最小限 - 画面上部) - 横型 (最小限 - 画面中央) + 横型 (シンプル - 画面上部) + 横型 (シンプル - 画面中央) 円形 - 円形 (最小限) + 円形 (シンプル) 縦型 - 縦型 (最小限) + 縦型 (シンプル) スワイプによる動画の切り替えを有効化 全画面表示中に左 / 右にスワイプすると、前 / 次の動画に切り替わります 全画面表示中に左 / 右にスワイプしても、前 / 次の動画に切り替わりません @@ -1432,7 +1433,7 @@ Automotive レイアウト デフォルト 標準 - ReVanced minimal + ReVanced (シンプル) カスタム @@ -1620,14 +1621,14 @@ Automotive レイアウト スライドによるシークは無効です。プレーヤー画面を左右にスライドしても、前後にシークしません - Android VR AV1 を許可する - "ビデオコーデックはAVC (H.264)、VP9、またはAV1です + Android VR で AV1 を許可 + "ビデオ コーデックは AVC (H.264)、VP9、AV1 のいずれかになります -再生中に途切れたり、フレームがドロップすることがあります" - ビデオコーデックはAVC (H.264) またはVP9です - "この設定を有効にすると、ソフトウェアAV1デコードが使用される可能性があります。 +再生がカクつくまたはコマ落ちが発生する場合があります" + ビデオ コーデックは AVC (H.264)、VP9 のいずれかになります + "この設定を有効にすると、AV1 のソフトウェア デコードが使用される場合があります。 -AV1での動画再生は、途切れたりフレームが落ちたりする場合があります。" +AV1 での動画再生は、カクつくまたはコマ落ちが発生する場合があります。" 偽装による副作用 • 実験的なクライアントであり、いつでも動作しなくなる可能性がある • 動画が 01:00 で停止する、または一部の地域で利用できない可能性がある diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index 7a87b6c259..6b81af5f39 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -1,4 +1,5 @@ + - Prilagođeni - Ikona aplikacije - Original + Prilagođeno + Ikonica aplikacije + Originalna ReVanced minimalna ReVanced skalirana - Prilagođeni + Prilagođeno Provere nisu uspele @@ -1620,11 +1621,11 @@ Ograničenja: Dozvoli Android VR AV1 "Video kodek je AVC (H.264), VP9 ili AV1 -Reprodukcija može da secka ili gubi okvire" +Reprodukcija može zastajkivati ili preskakati kadrove" Video kodek je AVC (H.264) ili VP9 - "Omogućavanje ovog podešavanja može koristiti softversko AV1 dekodiranje. + "Omogućavanje ove opcije može koristiti softversko dekodiranje AV1. -Reprodukcija video zapisa sa AV1 može seckati ili ispuštati frejmove." +Reprodukcija videa s AV1 može zastajkivati ili preskakati kadrove." Neželjeni efekti lažiranja • Eksperimentalni klijent i može prestati da radi bilo kada • Video se može zaustaviti u 1:00 ili možda neće biti dostupan u nekim regionima diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 99a4c86e65..8a9e2315f7 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1,4 +1,5 @@ + - Прилагођени - Икона апликације - Оригинал + Прилагођено + Иконица апликације + Оригинална - ReVanced минималистички - ReVanced скалирано + ReVanced минимална + ReVanced скалирана - Прилагођени + Прилагођено Провере нису успеле @@ -1620,14 +1621,14 @@ Second \"item\" text" Превлачење за премотавање није омогућено - Дозволи Андроид VR AV1 + Дозволи Android VR AV1 "Видео кодек је AVC (H.264), VP9 или AV1 -Репродукција може сецкати или испуштати кадрове" +Репродукција може застајкивати или прескакати кадрове" Видео кодек је AVC (H.264) или VP9 - "Омогућавање ове поставке може користити софтверско AV1 декодирање. + "Омогућавање ове опцијеможе користити софтверско декодирање AV1. -Репродукција видеа са AV1 може успорити или испуштати кадрове." +Репродукција видеа с AV1 може застајкивати или прескакати кадрове." Нежељени ефекти лажирања • Експериментални клијент и може престати да ради било када • Видео се може зауставити на 1:00 или можда неће бити доступан у неким регионима diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index a4c4dfdf3e..a5b569f036 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -1,4 +1,5 @@ +