diff --git a/CHANGELOG.md b/CHANGELOG.md index 0db402cd3..e135c755d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,45 @@ +# [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) + + +### 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) + + +### 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) + + +### 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) + + +### 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) + + +### 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/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 000000000..03668aa73 --- /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 89261d119..000000000 --- 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/gradle.properties b/gradle.properties index b12a215f1..dece1c8a8 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.42.0-dev.5 diff --git a/patches/api/patches.api b/patches/api/patches.api index 8686bcfa8..38dc2b638 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -64,6 +64,10 @@ public final class app/revanced/patches/all/misc/debugging/EnableAndroidDebuggin public static final fun getEnableAndroidDebuggingPatch ()Lapp/revanced/patcher/patch/ResourcePatch; } +public final class app/revanced/patches/all/misc/directory/ChangeDataDirectoryLocationPatchKt { + public static final fun getChangeDataDirectoryLocationPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/all/misc/directory/documentsprovider/ExportInternalDataDocumentsProviderPatchKt { public static final fun getExportInternalDataDocumentsProviderPatch ()Lapp/revanced/patcher/patch/ResourcePatch; } @@ -148,6 +152,10 @@ public final class app/revanced/patches/angulus/ads/RemoveAdsPatchKt { public static final fun getAngulusPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/backdrops/misc/pro/ProUnlockPatchKt { + public static final fun getProUnlockPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/bandcamp/limitations/RemovePlayLimitsPatchKt { public static final fun getRemovePlayLimitsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -224,6 +232,10 @@ public final class app/revanced/patches/googlephotos/misc/gms/GmsCoreSupportPatc public static final fun getGmsCoreSupportPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/googlephotos/misc/preferences/RestoreHiddenBackUpWhileChargingTogglePatchKt { + public static final fun getRestoreHiddenBackUpWhileChargingTogglePatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/googlerecorder/restrictions/RemoveDeviceRestrictionsKt { public static final fun getRemoveDeviceRestrictionsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -308,6 +320,14 @@ public final class app/revanced/patches/messenger/inbox/HideInboxSubtabsPatchKt public static final fun getHideInboxSubtabsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/messenger/inputfield/DisableSwitchingEmojiToStickerPatchKt { + public static final fun getDisableSwitchingEmojiToStickerPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/messenger/inputfield/DisableTypingIndicatorPatchKt { + public static final fun getDisableTypingIndicatorPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/messenger/layout/HideFacebookButtonPatchKt { public static final fun getHideFacebookButtonPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -320,6 +340,14 @@ public final class app/revanced/patches/messenger/misc/extension/ExtensionPatchK public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/messenger/navbar/RemoveMetaAITabPatchKt { + public static final fun getRemoveMetaAITabPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/meta/ads/HideAdsPatchKt { + public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/mifitness/misc/locale/ForceEnglishLocalePatchKt { public static final fun getForceEnglishLocalePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -340,6 +368,14 @@ public final class app/revanced/patches/music/interaction/permanentrepeat/Perman public static final fun getPermanentRepeatPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatchKt { + 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; } @@ -360,6 +396,11 @@ public final class app/revanced/patches/music/layout/theme/ThemePatchKt { public static final fun getThemePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/music/layout/upgradebutton/HideUpgradeButtonPatchKt { + public static final fun getHideUpgradeButton ()Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun getRemoveUpgradeButton ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/music/misc/androidauto/BypassCertificateChecksPatchKt { public static final fun getBypassCertificateChecksPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -433,6 +474,10 @@ public final class app/revanced/patches/netguard/broadcasts/removerestriction/Re public static final fun getRemoveBroadcastsRestrictionPatch ()Lapp/revanced/patcher/patch/ResourcePatch; } +public final class app/revanced/patches/nfctoolsse/misc/pro/UnlockProPatchKt { + public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/nunl/ads/HideAdsPatchKt { public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -441,6 +486,10 @@ public final class app/revanced/patches/nunl/firebase/SpoofCertificatePatchKt { public static final fun getSpoofCertificatePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/nyx/misc/pro/UnlockProPatchKt { + public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/openinghours/misc/fix/crash/FixCrashPatchKt { public static final fun getFixCrashPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -667,11 +716,16 @@ public final class app/revanced/patches/reddit/customclients/sync/syncforreddit/ public static final fun getFixVideoDownloadsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/reddit/customclients/syncforreddit/fix/video/FixVideoDownloadsPatchKt { + public static final fun getFixVideoDownloadsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/reddit/layout/disablescreenshotpopup/DisableScreenshotPopupPatchKt { public static final fun getDisableScreenshotPopupPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } public final class app/revanced/patches/reddit/layout/premiumicon/UnlockPremiumIconPatchKt { + public static final fun getUnlockPremiumIconPatch ()Lapp/revanced/patcher/patch/BytecodePatch; public static final fun getUnlockPremiumIconsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -702,22 +756,26 @@ public final class app/revanced/patches/shared/misc/extension/ExtensionHook { public final class app/revanced/patches/shared/misc/extension/SharedExtensionPatchKt { public static final fun extensionHook (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lapp/revanced/patcher/Fingerprint;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook; - public static final fun extensionHook (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function0; + public static final fun extensionHook (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook; public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lapp/revanced/patcher/Fingerprint;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook; - public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function0; - public static final fun sharedExtensionPatch (Ljava/lang/String;[Lkotlin/jvm/functions/Function0;)Lapp/revanced/patcher/patch/BytecodePatch; - public static final fun sharedExtensionPatch ([Lkotlin/jvm/functions/Function0;)Lapp/revanced/patcher/patch/BytecodePatch; + public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook; + public static final fun sharedExtensionPatch (Ljava/lang/String;[Lapp/revanced/patches/shared/misc/extension/ExtensionHook;)Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun sharedExtensionPatch ([Lapp/revanced/patches/shared/misc/extension/ExtensionHook;)Lapp/revanced/patcher/patch/BytecodePatch; } public final class app/revanced/patches/shared/misc/fix/verticalscroll/VerticalScrollPatchKt { public static final fun getVerticalScrollPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/shared/misc/gms/FingerprintsKt { + public static final field GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME Ljava/lang/String; +} + public final class app/revanced/patches/shared/misc/gms/GmsCoreSupportPatchKt { public static final fun gmsCoreSupportPatch (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/Fingerprint;Ljava/util/Set;Lapp/revanced/patcher/Fingerprint;Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/BytecodePatch; public static synthetic fun gmsCoreSupportPatch$default (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/Fingerprint;Ljava/util/Set;Lapp/revanced/patcher/Fingerprint;Lapp/revanced/patcher/patch/Patch;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/BytecodePatch; - public static final fun gmsCoreSupportResourcePatch (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/patch/Option;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/ResourcePatch; - public static synthetic fun gmsCoreSupportResourcePatch$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/patch/Option;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/ResourcePatch; + public static final fun gmsCoreSupportResourcePatch (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/patch/Option;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patcher/patch/ResourcePatch; + public static synthetic fun gmsCoreSupportResourcePatch$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/patch/Option;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patcher/patch/ResourcePatch; } public final class app/revanced/patches/shared/misc/hex/HexPatchBuilder : java/util/Set, kotlin/jvm/internal/markers/KMappedMarker { @@ -756,64 +814,23 @@ public final class app/revanced/patches/shared/misc/hex/Replacement { } public final class app/revanced/patches/shared/misc/mapping/ResourceElement { - public fun (Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;J)V - public final fun component1 ()Lapp/revanced/patches/shared/misc/mapping/ResourceType; + public final fun component1 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()J - public final fun copy (Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;J)Lapp/revanced/patches/shared/misc/mapping/ResourceElement; - public static synthetic fun copy$default (Lapp/revanced/patches/shared/misc/mapping/ResourceElement;Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;JILjava/lang/Object;)Lapp/revanced/patches/shared/misc/mapping/ResourceElement; + public final fun copy (Ljava/lang/String;Ljava/lang/String;J)Lapp/revanced/patches/shared/misc/mapping/ResourceElement; + public static synthetic fun copy$default (Lapp/revanced/patches/shared/misc/mapping/ResourceElement;Ljava/lang/String;Ljava/lang/String;JILjava/lang/Object;)Lapp/revanced/patches/shared/misc/mapping/ResourceElement; public fun equals (Ljava/lang/Object;)Z public final fun getId ()J public final fun getName ()Ljava/lang/String; - public final fun getType ()Lapp/revanced/patches/shared/misc/mapping/ResourceType; + public final fun getType ()Ljava/lang/String; public fun hashCode ()I public fun toString ()Ljava/lang/String; } public final class app/revanced/patches/shared/misc/mapping/ResourceMappingPatchKt { - public static final fun getResourceElements ()Ljava/util/Collection; - public static final fun getResourceId (Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;)J + public static final fun get (Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)J public static final fun getResourceMappingPatch ()Lapp/revanced/patcher/patch/ResourcePatch; - public static final fun hasResourceId (Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;)Z - public static final fun resourceLiteral (Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;I)Lapp/revanced/patcher/LiteralFilter; - public static synthetic fun resourceLiteral$default (Lapp/revanced/patches/shared/misc/mapping/ResourceType;Ljava/lang/String;IILjava/lang/Object;)Lapp/revanced/patcher/LiteralFilter; -} - -public final class app/revanced/patches/shared/misc/mapping/ResourceType : java/lang/Enum { - public static final field ANIM Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field ANIMATOR Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field ARRAY Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field ATTR Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field BOOL Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field COLOR Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field Companion Lapp/revanced/patches/shared/misc/mapping/ResourceType$Companion; - public static final field DIMEN Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field DRAWABLE Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field FONT Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field FRACTION Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field ID Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field INTEGER Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field INTERPOLATOR Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field LAYOUT Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field MENU Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field MIPMAP Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field NAVIGATION Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field PLURALS Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field RAW Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field STRING Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field STYLE Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field STYLEABLE Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field TRANSITION Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field VALUES Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static final field XML Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public final fun getValue ()Ljava/lang/String; - public static fun valueOf (Ljava/lang/String;)Lapp/revanced/patches/shared/misc/mapping/ResourceType; - public static fun values ()[Lapp/revanced/patches/shared/misc/mapping/ResourceType; -} - -public final class app/revanced/patches/shared/misc/mapping/ResourceType$Companion { - public final fun fromValue (Ljava/lang/String;)Lapp/revanced/patches/shared/misc/mapping/ResourceType; + public static final fun getResourceMappings ()Ljava/util/List; } public final class app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatchKt { @@ -823,6 +840,7 @@ public final class app/revanced/patches/shared/misc/pairip/license/DisableLicens public final class app/revanced/patches/shared/misc/settings/SettingsPatchKt { public static final fun overrideThemeColors (Ljava/lang/String;Ljava/lang/String;)V public static final fun settingsPatch (Ljava/util/List;Ljava/util/Set;)Lapp/revanced/patcher/patch/ResourcePatch; + public static final fun settingsPatch (Lkotlin/Pair;Ljava/util/Set;)Lapp/revanced/patcher/patch/ResourcePatch; public static synthetic fun settingsPatch$default (Ljava/util/List;Ljava/util/Set;ILjava/lang/Object;)Lapp/revanced/patcher/patch/ResourcePatch; } @@ -915,8 +933,8 @@ public final class app/revanced/patches/shared/misc/settings/preference/ListPref public fun ()V public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/util/resource/ArrayResource;Lapp/revanced/util/resource/ArrayResource;)V public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lapp/revanced/util/resource/ArrayResource;Lapp/revanced/util/resource/ArrayResource;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun getEntries ()Lapp/revanced/util/resource/ArrayResource; public final fun getEntriesKey ()Ljava/lang/String; public final fun getEntryValues ()Lapp/revanced/util/resource/ArrayResource; @@ -1028,6 +1046,10 @@ public final class app/revanced/patches/spotify/layout/theme/CustomThemePatchKt public static final fun getCustomThemePatch ()Lapp/revanced/patcher/patch/ResourcePatch; } +public final class app/revanced/patches/spotify/lite/ondemand/OnDemandPatchKt { + public static final fun getOnDemandPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/spotify/misc/extension/ExtensionPatchKt { public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1036,6 +1058,14 @@ public final class app/revanced/patches/spotify/misc/fix/SpoofClientPatchKt { public static final fun getSpoofClientPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/spotify/misc/fix/SpoofPackageInfoPatchKt { + public static final fun getSpoofPackageInfoPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/spotify/misc/fix/SpoofSignaturePatchKt { + public static final fun getSpoofSignaturePatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/spotify/misc/fix/login/FixFacebookLoginPatchKt { public static final fun getFixFacebookLoginPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1052,6 +1082,10 @@ public final class app/revanced/patches/spotify/misc/widgets/FixThirdPartyLaunch public static final fun getFixThirdPartyLaunchersWidgets ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/spotify/navbar/PremiumNavbarTabPatchKt { + public static final fun getPremiumNavbarTabPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/stocard/layout/HideOffersTabPatchKt { public static final fun getHideOffersTabPatch ()Lapp/revanced/patcher/patch/ResourcePatch; } @@ -1276,6 +1310,14 @@ 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; +} + public final class app/revanced/patches/warnwetter/misc/firebasegetcert/FirebaseGetCertPatchKt { public static final fun getFirebaseGetCertPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1284,6 +1326,10 @@ public final class app/revanced/patches/warnwetter/misc/promocode/PromoCodeUnloc public static final fun getPromoCodeUnlockPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/windyapp/misc/unlockpro/UnlockProPatchKt { + public static final fun getUnlockProPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/ad/general/HideAdsPatchKt { public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1305,6 +1351,7 @@ public final class app/revanced/patches/youtube/interaction/dialog/RemoveViewerD } public final class app/revanced/patches/youtube/interaction/doubletap/DisableChapterSkipDoubleTapPatchKt { + public static final fun getDisableChapterSkipDoubleTapPatch ()Lapp/revanced/patcher/patch/BytecodePatch; public static final fun getDisableDoubleTapActionsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1368,8 +1415,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 { @@ -1381,7 +1428,15 @@ public final class app/revanced/patches/youtube/layout/hide/fullscreenambientmod } public final class app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatchKt { + public static final fun getAlbumCardId ()J + public static final fun getBarContainerHeightId ()J + public static final fun getCrowdfundingBoxId ()J + public static final fun getExpandButtonDownId ()J + public static final fun getFabButtonId ()J + public static final fun getFilterBarHeightId ()J public static final fun getHideLayoutComponentsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun getRelatedChipCloudMarginId ()J + public static final fun getYouTubeLogo ()J } public final class app/revanced/patches/youtube/layout/hide/infocards/HideInfoCardsPatchKt { @@ -1400,6 +1455,10 @@ public final class app/revanced/patches/youtube/layout/hide/rollingnumber/Disabl public static final fun getDisableRollingNumberAnimationPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/layout/hide/seekbar/HideSeekbarPatchKt { + public static final fun getHideSeekbarPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatchKt { public static final fun getHideShortsComponentsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1408,6 +1467,10 @@ public final class app/revanced/patches/youtube/layout/hide/signintotvpopup/Disa public static final fun getDisableSignInToTvPopupPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/layout/hide/suggestedvideoendscreen/DisableSuggestedVideoEndScreenPatchKt { + public static final fun getDisableSuggestedVideoEndScreenPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/layout/hide/time/HideTimestampPatchKt { public static final fun getHideTimestampPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1420,6 +1483,14 @@ public final class app/revanced/patches/youtube/layout/panels/popup/PlayerPopupP public static final fun getPlayerPopupPanelsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/layout/player/background/PlayerControlsBackgroundPatchKt { + public static final fun getPlayerControlsBackgroundPatch ()Lapp/revanced/patcher/patch/ResourcePatch; +} + +public final class app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenKt { + public static final fun getOpenVideosFullscreen ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatchKt { public static final fun getOpenVideosFullscreenPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1474,6 +1545,15 @@ public final class app/revanced/patches/youtube/layout/startupshortsreset/Disabl public static final fun getDisableResumingShortsOnStartupPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/layout/tablet/EnableTabletLayoutPatchKt { + public static final fun getEnableTabletLayoutPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/youtube/layout/theme/LithoColorHookPatchKt { + public static final fun getLithoColorHookPatch ()Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun getLithoColorOverrideHook ()Lkotlin/jvm/functions/Function2; +} + public final class app/revanced/patches/youtube/layout/theme/ThemePatchKt { public static final fun getThemePatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1490,6 +1570,10 @@ public final class app/revanced/patches/youtube/misc/announcements/Announcements public static final fun getAnnouncementsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/misc/autorepeat/AutoRepeatPatchKt { + public static final fun getAutoRepeatPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/misc/backgroundplayback/BackgroundPlaybackPatchKt { public static final fun getBackgroundPlaybackPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1510,6 +1594,14 @@ public final class app/revanced/patches/youtube/misc/extension/SharedExtensionPa public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/misc/fix/playback/SpoofVideoStreamsPatchKt { + public static final fun getSpoofVideoStreamsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/youtube/misc/fix/playback/UserAgentClientSpoofPatchKt { + public static final fun getUserAgentClientSpoofPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/misc/fix/playbackspeed/FIxPlaybackSpeedWhilePlayingPatchKt { public static final fun getFixPlaybackSpeedWhilePlayingPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1561,6 +1653,7 @@ public final class app/revanced/patches/youtube/misc/playercontrols/PlayerContro public final class app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatchKt { public static final fun getAddBottomControl ()Lkotlin/jvm/functions/Function1; public static final fun getPlayerControlsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun getPlayerControlsResourcePatch ()Lapp/revanced/patcher/patch/ResourcePatch; public static final fun initializeBottomControl (Ljava/lang/String;)V public static final fun injectVisibilityCheckCall (Ljava/lang/String;)V } @@ -1571,6 +1664,9 @@ public final class app/revanced/patches/youtube/misc/playertype/PlayerTypeHookPa public final class app/revanced/patches/youtube/misc/playservice/VersionCheckPatchKt { public static final fun getVersionCheckPatch ()Lapp/revanced/patcher/patch/ResourcePatch; + public static final fun is_19_03_or_greater ()Z + public static final fun is_19_04_or_greater ()Z + public static final fun is_19_16_or_greater ()Z public static final fun is_19_17_or_greater ()Z public static final fun is_19_18_or_greater ()Z public static final fun is_19_23_or_greater ()Z @@ -1595,17 +1691,10 @@ public final class app/revanced/patches/youtube/misc/playservice/VersionCheckPat public static final fun is_20_10_or_greater ()Z public static final fun is_20_14_or_greater ()Z public static final fun is_20_15_or_greater ()Z - public static final fun is_20_19_or_greater ()Z - public static final fun is_20_20_or_greater ()Z - public static final fun is_20_21_or_greater ()Z - public static final fun is_20_22_or_greater ()Z - public static final fun is_20_26_or_greater ()Z - public static final fun is_20_28_or_greater ()Z - public static final fun is_20_30_or_greater ()Z - public static final fun is_20_31_or_greater ()Z - public static final fun is_20_34_or_greater ()Z - public static final fun is_20_37_or_greater ()Z - public static final fun is_20_39_or_greater ()Z +} + +public final class app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatchKt { + public static final fun getRemoveTrackingQueryParameterPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } public final class app/revanced/patches/youtube/misc/privacy/SanitizeSharingLinksPatchKt { @@ -1647,6 +1736,10 @@ public final class app/revanced/patches/youtube/misc/spoof/UserAgentClientSpoofP public static final fun getUserAgentClientSpoofPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/misc/zoomhaptics/ZoomHapticsPatchKt { + public static final fun getZoomHapticsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatchKt { public static final fun getForceOriginalAudioPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } @@ -1655,6 +1748,10 @@ public final class app/revanced/patches/youtube/video/codecs/DisableVideoCodecsP public static final fun getDisableVideoCodecsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/video/hdr/DisableHdrPatchKt { + public static final fun getDisableHdrPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/youtube/video/information/VideoInformationPatchKt { public static final fun getVideoInformationPatch ()Lapp/revanced/patcher/patch/BytecodePatch; public static final fun userSelectedPlaybackSpeedHook (Ljava/lang/String;Ljava/lang/String;)V @@ -1711,6 +1808,14 @@ public final class app/revanced/patches/youtube/video/videoid/VideoIdPatchKt { public static final fun hookVideoId (Ljava/lang/String;)V } +public final class app/revanced/patches/youtube/video/videoqualitymenu/RestoreOldVideoQualityMenuPatchKt { + public static final fun getRestoreOldVideoQualityMenuPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + +public final class app/revanced/patches/yuka/misc/unlockpremium/UnlockPremiumPatchKt { + public static final fun getUnlockPremiumPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/util/BytecodeUtilsKt { public static final fun addInstructionsAtControlFlowLabel (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;ILjava/lang/String;)V public static final fun addInstructionsAtControlFlowLabel (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;ILjava/lang/String;[Lapp/revanced/patcher/util/smali/ExternalLabel;)V @@ -1760,7 +1865,6 @@ public final class app/revanced/util/BytecodeUtilsKt { public static final fun indexOfFirstResourceIdOrThrow (Lcom/android/tools/smali/dexlib2/iface/Method;Ljava/lang/String;)I public static final fun injectHideViewCall (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;IILjava/lang/String;Ljava/lang/String;)V public static final fun literal (Lapp/revanced/patcher/FingerprintBuilder;Lkotlin/jvm/functions/Function0;)V - public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;B)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;C)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;D)V @@ -1768,9 +1872,9 @@ public final class app/revanced/util/BytecodeUtilsKt { public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;I)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;J)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/String;)V - public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/Void;)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;S)V public static final fun returnEarly (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Z)V + public static synthetic fun returnEarly$default (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;ZILjava/lang/Object;)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;B)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;C)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;D)V @@ -1778,7 +1882,6 @@ public final class app/revanced/util/BytecodeUtilsKt { public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;I)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;J)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/String;)V - public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Ljava/lang/Void;)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;S)V public static final fun returnLate (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;Z)V public static final fun transformMethods (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lkotlin/jvm/functions/Function1;)V 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 a66eb2984..e8ec3ee6f 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 @@ -4,6 +4,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.fingerprint 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 @@ -25,6 +26,8 @@ val hideNavigationButtonsPatch = bytecodePatch( ) { compatibleWith("com.instagram.android") + dependsOn(sharedExtensionPatch) + val hideReels by booleanOption( key = "hideReels", default = true, @@ -78,20 +81,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") ) + } } } } 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 000000000..c85b2c0ed --- /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 000000000..8e8989983 --- /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/music/misc/fileprovider/FileProviderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/fileprovider/FileProviderPatch.kt new file mode 100644 index 000000000..32c162a46 --- /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 000000000..16a2d6a58 --- /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 a037909a6..0d6b319d8 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 96f08f834..4b613827d 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() { 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 000000000..703d403ec --- /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/viber/misc/navbar/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/Fingerprints.kt new file mode 100644 index 000000000..2f2a7bda3 --- /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 000000000..a4aa3e4a0 --- /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 + """ + } +} 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 54c6d132b..d3635eefd 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,140 +1,55 @@ 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 = arrayOf( +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 = arrayOf( + "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.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.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/layout/hide/endscreencards/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/endscreencards/Fingerprints.kt index dfd8f3110..0e34a5f8e 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,9 +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 by fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) @@ -45,3 +49,19 @@ internal val layoutVideoFingerprint by 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 bbbaf08ef..11c18cc4b 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.getResourceId import app.revanced.patches.shared.misc.mapping.resourceMappingPatch 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( @@ -77,9 +81,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/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt index 40c8cef2c..081dda087 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 @@ -29,6 +29,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/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 aebfa8fb4..9ebebe4e6 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 487d0ef80..97160e13f 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 9db6d36d4..3758c3b0b 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 a2b78898c..31c20e333 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 98b86283a..9ab0c994e 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 7ff0637ce..550fc078a 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 eec21e392..0b681f1d1 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 f32dacd33..b252891b3 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 7ee669512..c1a617cc8 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 3ea46a397..6802840f5 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 a89606794..bebfd2ef8 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 2d6ad820b..16bde5d03 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 fcad9b45d..e6bdc7bd4 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 81df8ebe8..9fda43100 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 011c7b8d4..0149dce30 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 5cb394885..11cd54f7f 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 675214568..7e9dc2759 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 a0acceb34..e6b356154 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 1d088b22b..9585fa8ec 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 464bf02a9..76d720df6 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 c82619edb..60b8f2a0e 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 4f37af712..a8457e3dc 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 3ea45f7e9..37f93acc7 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 fcad9b45d..e6bdc7bd4 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 48ee5cd1b..d18e9d218 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 3125fd399..fe98be636 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 cbed69f3c..ac5ace6cf 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 caaa3813c..dfca2a839 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 fd15e110b..3d8c8f740 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 0740bbe95..e0b821047 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 1b311ba76..298413c8a 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 399669ca3..d2812bbd5 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 961293711..66f28ffdf 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 ae7adbe7b..d02dfb849 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 6cc0aa06e..96e96b07f 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 5e2d96d1b..70e27324c 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 5b0293be1..6002bdf85 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 82ae2935a..97342ace9 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 551a30150..01f23ee11 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 fcad9b45d..e6bdc7bd4 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 0ba8360c8..4e74e90d6 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 babf8d99b..703e038ef 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 63d72dc34..350d10008 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 b608aed8c..f3219c982 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 635ab6076..95a61fb3c 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 1e982b5a3..9672be5cf 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 9aa721686..d2a17d15f 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 82869534b..3f31fa5e2 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 1c99e2a58..798cafee5 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 fcad9b45d..e6bdc7bd4 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 fcad9b45d..e6bdc7bd4 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 b0796c243..300aa008a 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 86186d6e6..3244440e5 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 adbf8b177..d5ba1abc3 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 fcad9b45d..e6bdc7bd4 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" - + diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 7703e82ad..300d67c43 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -862,7 +862,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 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 1813f47fe..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png and /dev/null differ 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 9448e7315..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png and /dev/null differ 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 5adf89398..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher.png and /dev/null differ 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 5adf89398..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-hdpi/ic_launcher_round.png and /dev/null differ 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 bfb91cced..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png and /dev/null differ diff --git a/patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 7fd951124..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png and /dev/null differ 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 46117b63a..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher.png and /dev/null differ 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 46117b63a..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-mdpi/ic_launcher_round.png and /dev/null differ 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 4245fe042..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png and /dev/null differ diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index b50442bec..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png and /dev/null differ 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 224d66434..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher.png and /dev/null differ 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 224d66434..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ 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 da0fa7aa1..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png and /dev/null differ 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 184eb07a5..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png and /dev/null differ 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 f566f259e..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index f566f259e..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index 865aad974..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png and /dev/null differ 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 3b066a2c3..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png and /dev/null differ 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 8823abe66..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 8823abe66..000000000 Binary files a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ 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 new file mode 100644 index 000000000..7bc1c0b69 Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png differ 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 000000000..7b480395b Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png differ 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 new file mode 100644 index 000000000..145fdb7b5 Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png differ 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 000000000..d4361b79c Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png differ 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 000000000..a58d8026f Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png differ 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 new file mode 100644 index 000000000..f4fe022da Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png differ 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 000000000..8d2f3ad80 Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png differ 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 000000000..8b975c4aa Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png differ 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 new file mode 100644 index 000000000..ff75d19cb Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png differ 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 000000000..04db6b4c2 Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png differ 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 new file mode 100644 index 000000000..f88bbd248 Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png differ 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 000000000..38c2d58fb Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png differ diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png new file mode 100644 index 000000000..f4983a04e Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png differ 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 000000000..cb34be6b8 Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png differ diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png new file mode 100644 index 000000000..6666edb3c Binary files /dev/null and b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png differ 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 new file mode 100644 index 000000000..87c762874 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png differ 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 000000000..cffd3342f Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png differ 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 000000000..c96afea8c Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png differ 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 000000000..c96afea8c Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png differ 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 000000000..d4361b79c Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png differ 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 000000000..85d837785 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png differ 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 000000000..cc5996657 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png differ 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 new file mode 100644 index 000000000..cc5996657 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png differ 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 new file mode 100644 index 000000000..9dc71239e Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png differ 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 new file mode 100644 index 000000000..5612d99d6 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png differ 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 000000000..df88da0c7 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png differ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 000000000..df88da0c7 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png new file mode 100644 index 000000000..cbf45f81a Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png differ 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 new file mode 100644 index 000000000..4d9634be0 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png differ 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 000000000..d9c5832ad Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png differ 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 new file mode 100644 index 000000000..d9c5832ad Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png new file mode 100644 index 000000000..f4983a04e Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png differ 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 000000000..1185ff2d8 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png differ 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 000000000..af56c5bb9 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png differ 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 000000000..af56c5bb9 Binary files /dev/null and b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png differ