Merge remote-tracking branch 'upstream/dev' into feat/patcher_instruction_filters

# Conflicts:
#	patches/api/patches.api
#	patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt
This commit is contained in:
LisoUseInAIKyrios
2025-09-28 16:34:51 +04:00
152 changed files with 851 additions and 335 deletions

View File

@@ -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)

View File

@@ -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();
}
}

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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 <init> (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 <init> ()V
public fun <init> (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 <init> (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 <init> (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 <init> (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 <init> (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 <init> (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

View File

@@ -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")
)
}
}
}
}

View File

@@ -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<MethodReference>()?.name == "setContentView"
} + 1
val jumpIndex = indexOfFirstInstructionOrThrow(insertIndex) {
opcode == Opcode.INVOKE_VIRTUAL &&
getReference<MethodReference>()?.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"
)
)
}
)

View File

@@ -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
}
}

View File

@@ -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
"""
)
}
}

View File

@@ -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"
)
}

View File

@@ -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
)
)
}

View File

@@ -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() {

View File

@@ -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<String>) = 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("&", "&amp;") // Must be first to avoid double-escaping.
.replace("<", "&lt;")
.replace(">", "&gt;")
.replace(Regex("(?<!&)\""), "&quot;")
// Trim empty spacing.
val trimmed = escapedName.trim()
return trimmed.ifBlank { null }
}
/**
* Shared custom branding patch for YouTube and YT Music.
*/
internal fun baseCustomBrandingPatch(
defaultAppName: String,
appNameValues: Map<String, String>,
resourceFolder: String,
iconResourceFileNames: Array<String>,
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<String>()
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+.
}
}

View File

@@ -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
}
}

View File

@@ -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
"""
}
}

View File

@@ -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())
}
}
}
}
)

View File

@@ -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<FieldReference>()
reference?.type == "Lcom/google/android/libraries/youtube/innertube/model/player/PlayerResponseModel;"
} >= 0
}
}

View File

@@ -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
"""
)
}
}
}

View File

@@ -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

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">تم إخفاء الأزرار</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">يتم عرض الأزرار</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">إخفاء بطاقات شاشة النهاية</string>
<string name="revanced_hide_endscreen_cards_summary_on">تم إخفاء بطاقات شاشة النهاية</string>
<string name="revanced_hide_endscreen_cards_summary_off">يتم عرض بطاقات شاشة النهاية</string>

View File

@@ -136,7 +136,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Səs treki menyusunu göstərmək üçün \"Video yayımları saxtalaşdır\"ı
<string name="revanced_hide_player_previous_next_buttons_summary_on">Düymələr gizlidir</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Düymələr göstərilir</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Son ekran kartlarını gizlət</string>
<string name="revanced_hide_endscreen_cards_summary_on">Son ekran kartları gizlidir</string>
<string name="revanced_hide_endscreen_cards_summary_off">Son ekran kartları göstərilir</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Кнопкі схаваныя</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Паказваюцца кнопкі</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Схаваць карткі канцавога экрана</string>
<string name="revanced_hide_endscreen_cards_summary_on">Карткі канцавога экрана схаваны</string>
<string name="revanced_hide_endscreen_cards_summary_off">Паказваюцца карткі канцавога экрана</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Бутоните са скрити</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Бутоните се показват</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Скриване на препоръките в края</string>
<string name="revanced_hide_endscreen_cards_summary_on">Препоръките в края са скрити</string>
<string name="revanced_hide_endscreen_cards_summary_off">Препоръките в края се показват</string>

View File

@@ -793,7 +793,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
<string name="revanced_hide_player_previous_next_buttons_summary_on">বোতাম লুকানো হয়</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">বোতাম দেখানো হয়</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">শেষ স্ক্রীন কার্ড লুকান</string>
<string name="revanced_hide_endscreen_cards_summary_on">শেষ স্ক্রীন কার্ড লুকিয়ে রয়েছে</string>
<string name="revanced_hide_endscreen_cards_summary_off">শেষ স্ক্রীন কার্ড প্রদর্শিত হয়েছে</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte 'Zfalšovat streamy videa'
<string name="revanced_hide_player_previous_next_buttons_summary_on">Tlačítka jsou skryta</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Tlačítka jsou zobrazena</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Skrýt karty s informacemi o videu</string>
<string name="revanced_hide_endscreen_cards_summary_on">Karty s informacemi o videu jsou skryty</string>
<string name="revanced_hide_endscreen_cards_summary_off">Karty s informacemi o videu jsou zobrazeny</string>

View File

@@ -797,7 +797,7 @@ For at vise lydsporsmenuen, skift 'Spoof videostreams' til iPadOS"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Knapper er skjult</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Knapper vises</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Skjul slutskærmkort</string>
<string name="revanced_hide_endscreen_cards_summary_on">Slutskærmskortene er skjult</string>
<string name="revanced_hide_endscreen_cards_summary_off">Kort til slutskærm vises</string>

View File

@@ -560,7 +560,7 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver
<string name="revanced_swipe_volume_summary_off">Die Vollbild-Lautstärkegeste ist deaktiviert</string>
<string name="revanced_swipe_press_to_engage_title">Wischen durch Drücken aktivieren</string>
<string name="revanced_swipe_press_to_engage_summary_on">Wischen durch Drücken ist aktiviert</string>
<string name="revanced_swipe_press_to_engage_summary_off">Wischen durch Drücken ist deaktiviert</string>
<string name="revanced_swipe_press_to_engage_summary_off">Wischgeste durch Drücken ist deaktiviert</string>
<string name="revanced_swipe_haptic_feedback_title">Haptisches Feedback aktivieren</string>
<string name="revanced_swipe_haptic_feedback_summary_on">Haptisches Feedback ist aktiviert</string>
<string name="revanced_swipe_haptic_feedback_summary_off">Haptisches Feedback ist deaktiviert</string>
@@ -794,7 +794,7 @@ Um das Audiotrack-Menü anzuzeigen, ändern Sie \"Video-Streams fälschen\" zu i
<string name="revanced_hide_player_previous_next_buttons_summary_on">Buttons sind ausgeblendet</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Tasten werden angezeigt</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Endkarte ausblenden</string>
<string name="revanced_hide_endscreen_cards_summary_on">Endbildschirmkarten sind ausgeblendet</string>
<string name="revanced_hide_endscreen_cards_summary_off">Endbildschirmkarten werden angezeigt</string>

View File

@@ -799,7 +799,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Κρυμμένα</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Εμφανίζονται</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Κάρτες τελικής οθόνης</string>
<string name="revanced_hide_endscreen_cards_summary_on">Κρυμμένες</string>
<string name="revanced_hide_endscreen_cards_summary_off">Εμφανίζονται</string>

View File

@@ -797,7 +797,7 @@ Para mostrar el menú de la pista de audio, cambia 'Suplantar transmisiones de v
<string name="revanced_hide_player_previous_next_buttons_summary_on">Los botones están ocultos</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Los botones se muestran</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Ocultar tarjetas de pantalla final</string>
<string name="revanced_hide_endscreen_cards_summary_on">Las tarjetas de pantalla de fin están ocultas</string>
<string name="revanced_hide_endscreen_cards_summary_off">Se muestran las tarjetas de la pantalla final</string>

View File

@@ -797,7 +797,7 @@ Heliraja menüü nägemiseks muutke \"Video voogude võltsimine\" iPadOS-iks"</s
<string name="revanced_hide_player_previous_next_buttons_summary_on">Nupud on peidetud</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Nupud on nähtavad</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Peida lõpukujunduse kaardid</string>
<string name="revanced_hide_endscreen_cards_summary_on">Lõpukujunduse kaardid on peidetud</string>
<string name="revanced_hide_endscreen_cards_summary_off">Lõpukujunduse kaardid on nähtavad</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -182,7 +182,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Näyttääksesi ääniraitavalikon, muuta \"Videostriimien naamioiminen\" iPadOS
<string name="revanced_hide_player_previous_next_buttons_summary_on">Edellinen- ja Seuraava-painikkeet piilotetaan</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Painikkeet näytetään</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Piilota loppunäytön kortit</string>
<string name="revanced_hide_endscreen_cards_summary_on">Loppunäytön kortit piilotetaan</string>
<string name="revanced_hide_endscreen_cards_summary_off">Loppunäytön kortit näytetään</string>

View File

@@ -795,7 +795,7 @@ Upang ipakita ang menu ng Audio track, baguhin ang 'Spoof video streams' sa iPad
<string name="revanced_hide_player_previous_next_buttons_summary_on">Nakatago ang mga pindutan</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Ang mga pindutan ay ipinapakita</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Itago ang mga end screen card</string>
<string name="revanced_hide_endscreen_cards_summary_on">Nakatago ang mga end screen card</string>
<string name="revanced_hide_endscreen_cards_summary_off">Ipinapakita ang mga end screen card</string>

View File

@@ -797,7 +797,7 @@ Pour afficher le menu Piste audio, définissez \"Falsifier les flux vidéo\" sur
<string name="revanced_hide_player_previous_next_buttons_summary_on">Les boutons sont masqués</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Les boutons sont affichés</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Masquer les écrans de fin au format fiche</string>
<string name="revanced_hide_endscreen_cards_summary_on">Les écrans de fin au format fiche sont masqués</string>
<string name="revanced_hide_endscreen_cards_summary_off">Les écrans de fin au format fiche sont affichés</string>

View File

@@ -797,7 +797,7 @@ Chun roghchlár an rian fuaime a thaispeáint, athraigh 'Sruthanna físeáin bhr
<string name="revanced_hide_player_previous_next_buttons_summary_on">Tá cnaipí i bhfolach</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Taispeántar cnaipí</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Folaigh cártaí scáileáin deireadh</string>
<string name="revanced_hide_endscreen_cards_summary_on">Tá cártaí scáileáin deiridh i bhfolach</string>
<string name="revanced_hide_endscreen_cards_summary_off">Taispeántar cártaí scáileáin deireadh</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -137,7 +137,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -136,7 +136,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Az hangsáv menü megjelenítéséhez állítsa a 'Videó stream-ek meghamisít
<string name="revanced_hide_player_previous_next_buttons_summary_on">A gombok elrejtve</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">A gombok megjelennek</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Záróképernyő kártyák elrejtése</string>
<string name="revanced_hide_endscreen_cards_summary_on">A záróképernyő kártyák el vannak rejtve</string>
<string name="revanced_hide_endscreen_cards_summary_off">A záróképernyő kártyák megjelennek</string>

View File

@@ -797,7 +797,7 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
<string name="revanced_hide_player_previous_next_buttons_summary_on">Կոճակները թաքցված են</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Կոճակները երևում են</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Էկրանի վերջում քարտերը թաքցնել</string>
<string name="revanced_hide_endscreen_cards_summary_on">Էկրանի վերջում քարտերը թաքցված են</string>
<string name="revanced_hide_endscreen_cards_summary_off">Էկրանի վերջում քարտերը երևում են</string>

View File

@@ -402,14 +402,14 @@ Jika Doodle saat ini ditampilkan di wilayah Anda dan pengaturan penyembunyi ini
<string name="revanced_hide_view_count_summary_off">Jumlah penayangan ditampilkan di umpan dan hasil pencarian</string>
<!-- Translations should lanaguge similar to revanced_hide_upload_time_user_dialog_message -->
<string name="revanced_hide_view_count_user_dialog_message">"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"</string>
<string name="revanced_hide_upload_time_title">Sembunyikan waktu unggah</string>
<string name="revanced_hide_upload_time_summary_on">Waktu unggah disembunyikan di umpan dan hasil penelusuran</string>
<string name="revanced_hide_upload_time_summary_off">Waktu unggah ditampilkan di umpan dan hasil penelusuran</string>
<!-- Translations should lanaguge similar to revanced_hide_view_count_user_dialog_message -->
<string name="revanced_hide_upload_time_user_dialog_message">"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"</string>
<string name="revanced_hide_keyword_content_screen_title">Sembunyikan kata kunci konten</string>
<string name="revanced_hide_keyword_content_screen_summary">Sembunyikan pencarian dan feed video menggunakan penyaring kata kunci</string>
@@ -797,7 +797,7 @@ Untuk menampilkan menu trek audio, ubah 'Palsukan aliran video' ke iPadOS"</stri
<string name="revanced_hide_player_previous_next_buttons_summary_on">Tombol disembunyikan</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Tombol ditampilkan</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Sembunyikan kartu layar akhir</string>
<string name="revanced_hide_endscreen_cards_summary_on">Kartu layar akhir disembunyikan</string>
<string name="revanced_hide_endscreen_cards_summary_off">Kartu layar akhir ditampilkan</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Per mostrare il menu della traccia audio, cambia \"Falsifica flussi video\" su i
<string name="revanced_hide_player_previous_next_buttons_summary_on">I pulsanti sono nascosti</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">I pulsanti sono visibili</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Nascondi le schede della schermata finale</string>
<string name="revanced_hide_endscreen_cards_summary_on">Le schede della schermata finale sono nascoste</string>
<string name="revanced_hide_endscreen_cards_summary_off">Le schede della schermata finale sono visibili</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">הלחצנים מוסתרים</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">הלחצנים מוצגים</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">הסתר כרטיסי מסך סיום</string>
<string name="revanced_hide_endscreen_cards_summary_on">כרטיסי מסך מסיום מוסתרים</string>
<string name="revanced_hide_endscreen_cards_summary_off">כרטיסי מסך מסיום מוצגים</string>

View File

@@ -799,7 +799,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
<string name="revanced_hide_player_previous_next_buttons_summary_on">前の動画ボタンと次の動画ボタンは表示されません</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">前の動画ボタンと次の動画ボタンは表示されます</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">終了画面カードを非表示</string>
<string name="revanced_hide_endscreen_cards_summary_on">終了画面カードは表示されません</string>
<string name="revanced_hide_endscreen_cards_summary_off">終了画面カードは表示されます</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -150,7 +150,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -796,7 +796,7 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
<string name="revanced_hide_player_previous_next_buttons_summary_on">이전 &amp; 다음 동영상 버튼이 숨겨집니다</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">이전 &amp; 다음 동영상 버튼이 표시됩니다</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">최종 화면 카드 숨기기</string>
<string name="revanced_hide_endscreen_cards_summary_on">최종 화면 카드가 숨겨집니다</string>
<string name="revanced_hide_endscreen_cards_summary_off">최종 화면 카드가 표시됩니다</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Norėdami parodyti garso takelio meniu, pakeiskite „Klastoti vaizdo srautus“
<string name="revanced_hide_player_previous_next_buttons_summary_on">Mygtukai yra paslėpti</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Mygtukai yra rodomi</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Slėpti ekrano pabaigos korteles</string>
<string name="revanced_hide_endscreen_cards_summary_on">Ekrano pabaigos kortelės yra paslėptos</string>
<string name="revanced_hide_endscreen_cards_summary_off">Ekrano pabaigos kortelės yra rodomos</string>

View File

@@ -797,7 +797,7 @@ Lai parādītu audio celiņa izvēlni, mainiet \"Atdarināt video straumes\" uz
<string name="revanced_hide_player_previous_next_buttons_summary_on">Pogas ir paslēptas</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Pogas ir redzamas</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Paslēpt ekrāna beigās esošās kartītes</string>
<string name="revanced_hide_endscreen_cards_summary_on">Ekrāna beigās esošās kartītes ir paslēptas</string>
<string name="revanced_hide_endscreen_cards_summary_off">Ekrāna beigās esošās kartītes ir redzamas</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -137,7 +137,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -797,7 +797,7 @@ Om het audiotracks-menu te tonen, wijzig 'Videostreams spoofen' naar iPadOS"</st
<string name="revanced_hide_player_previous_next_buttons_summary_on">Knoppen zijn verborgen</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Knoppen worden weergegeven</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Verberg eindschermkaarten</string>
<string name="revanced_hide_endscreen_cards_summary_on">Eindschermkaarten zijn verborgen</string>
<string name="revanced_hide_endscreen_cards_summary_off">Eindschermkaarten worden weergegeven</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -793,7 +793,7 @@ Aby wyświetlić menu ścieżek audio, zmień „Fałszowanie strumieni wideo”
<string name="revanced_hide_player_previous_next_buttons_summary_on">Przyciski są ukryte</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Przyciski są widoczne</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Karty ekranu końcowego</string>
<string name="revanced_hide_endscreen_cards_summary_on">Karty ekranu końcowego są ukryte</string>
<string name="revanced_hide_endscreen_cards_summary_off">Karty ekranu końcowego są widoczne</string>

View File

@@ -795,7 +795,7 @@ Se alterar esta configuração não fizer efeito, tente mudar para o modo anôni
<string name="revanced_hide_player_previous_next_buttons_summary_on">Os botões estão ocultos</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Os botões serão exibidos</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Ocultar cartões de tela final</string>
<string name="revanced_hide_endscreen_cards_summary_on">Cartões de tela final estão ocultos</string>
<string name="revanced_hide_endscreen_cards_summary_off">Cartões de tela final não estão ocultos</string>

View File

@@ -797,7 +797,7 @@ Para mostrar o menu da faixa de áudio, altere 'Falsificar fluxos de vídeo' par
<string name="revanced_hide_player_previous_next_buttons_summary_on">Botões estão ocultos</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Botões são exibidos</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Esconder cartões de ecrã final</string>
<string name="revanced_hide_endscreen_cards_summary_on">Cartões de fim de ecrã estão escondidos</string>
<string name="revanced_hide_endscreen_cards_summary_off">Cartões de fim de ecrã são exibidos</string>

View File

@@ -795,7 +795,7 @@ Pentru a afișa meniul de piste audio, modificați „Emulare fluxuri video” l
<string name="revanced_hide_player_previous_next_buttons_summary_on">Butoanele sunt ascunse</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Butoanele sunt afișate</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Ascunde cardurile ecranului final</string>
<string name="revanced_hide_endscreen_cards_summary_on">Cardurile de pe ecranul de închidere sunt ascunse</string>
<string name="revanced_hide_endscreen_cards_summary_off">Cardurile de închidere ecran sunt afișate</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Кнопки предыдущего и следующего видео в плеере скрыты</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Кнопки предыдущего и следующего видео в плеере показаны </string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Скрыть заставки следующих видео</string>
<string name="revanced_hide_endscreen_cards_summary_on">Заставки следующих видео в конце просмотра скрыты</string>
<string name="revanced_hide_endscreen_cards_summary_off">Заставки следующих видео в конце просмотра показаны</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -795,7 +795,7 @@ Ak chcete zobraziť menu zvukových stôp, zmeňte \"Falošné video streamy\" n
<string name="revanced_hide_player_previous_next_buttons_summary_on">Tlačidlá sú skryté</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Zobrazia sa tlačidlá</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Skryť karty záverečnej obrazovky</string>
<string name="revanced_hide_endscreen_cards_summary_on">Karty záverečnej obrazovky sú skryté</string>
<string name="revanced_hide_endscreen_cards_summary_off">Zobrazia sa karty záverečnej obrazovky</string>

View File

@@ -797,7 +797,7 @@ Za prikaz menija za zvočno skladbo, spremenite \"Ponarejene video tokove\" na i
<string name="revanced_hide_player_previous_next_buttons_summary_on">Gumbi so skriti</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Gumbi so prikazani</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Skrij kartice na končnem zaslonu</string>
<string name="revanced_hide_endscreen_cards_summary_on">Kartice na končnem zaslonu so skrite</string>
<string name="revanced_hide_endscreen_cards_summary_off">Kartice na končnem zaslonu so prikazane</string>

View File

@@ -797,7 +797,7 @@ Për të shfaqur menynë e gjurmës audio, ndryshoje 'Falsifiko transmetimet vid
<string name="revanced_hide_player_previous_next_buttons_summary_on">Butonat janë të fshehur</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Butonat janë të dukshme</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Fsheh kartat e ekranit të fundit</string>
<string name="revanced_hide_endscreen_cards_summary_on">Kartat e ekranit të fundit janë të fshehura</string>
<string name="revanced_hide_endscreen_cards_summary_off">Kartat e ekranit të fundit janë të dukshme</string>

View File

@@ -146,9 +146,9 @@ Nećete biti obavešteni ni o kakvim neočekivanim događajima."</string>
<string name="revanced_debug_logs_clear_toast">Evidencije su izbrisane</string>
</patch>
<patch id="misc.privacy.sanitizeSharingLinksPatch">
<string name="revanced_sanitize_sharing_links_title">Saniraj linkove za deljenje</string>
<string name="revanced_sanitize_sharing_links_summary_on">Parametar za praćenje iz upita je uklonjen sa deljenih linkova</string>
<string name="revanced_sanitize_sharing_links_summary_off">Parametar za praćenje iz upita nije uklonjen sa deljenih linkova</string>
<string name="revanced_sanitize_sharing_links_title">Očisti deljene linkove</string>
<string name="revanced_sanitize_sharing_links_summary_on">Parametar upita za praćenje je uklonjen iz deljenih linkova</string>
<string name="revanced_sanitize_sharing_links_summary_off">Parametar upita za praćenje nije uklonjen iz deljenih linkova</string>
<string name="revanced_replace_music_with_youtube_title">Promeni linkove za deljenje na youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_on">Deljeni linkovi koriste youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_off">Deljeni linkovi koriste music.youtube.com</string>
@@ -379,9 +379,9 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj
<string name="revanced_hide_comments_create_a_short_button_title">Sakrij dugme „Napravi Short”</string>
<string name="revanced_hide_comments_create_a_short_button_summary_on">Dugme „Napravi Short” je skriveno</string>
<string name="revanced_hide_comments_create_a_short_button_summary_off">Dugme „Napravi Short” je prikazano</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_title">Sakrij dugmad za emodžije i vremensku oznaku</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_on">Dugmad za emodžije i vremensku oznaku su skrivena</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_off">Dugmad za emodžije i vremensku oznaku su prikazana</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_title">Sakrij dugmad emodžija i vremenske oznake</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_on">Dugmad emodžija i vremenske oznake su skrivena</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_off">Dugmad emodžija i vremenske oznake su prikazana</string>
<string name="revanced_hide_comments_preview_comment_title">Sakrij komentar za pregled</string>
<string name="revanced_hide_comments_preview_comment_summary_on">Komentar za pregled je skriven</string>
<string name="revanced_hide_comments_preview_comment_summary_off">Komentar za pregled je prikazan</string>
@@ -398,19 +398,19 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj
<string name="revanced_custom_filter_strings_summary">Lista stringova za pravljenje putanje komponenti za filtriranje, odvojena novim redom</string>
<string name="revanced_custom_filter_toast_invalid_syntax">Nevažeći prilagođeni filter: %s</string>
<string name="revanced_hide_view_count_title">Sakrij broj pregleda</string>
<string name="revanced_hide_view_count_summary_on">Broj pregleda je sakriven u feed-u i rezultatima pretrage</string>
<string name="revanced_hide_view_count_summary_off">Broj pregleda je prikazan u feed-u i rezultatima pretrage</string>
<string name="revanced_hide_view_count_summary_on">Broj pregleda je skriven u fidu i rezultatima pretrage</string>
<string name="revanced_hide_view_count_summary_off">Broj pregleda je prikazan u fidu i rezultatima pretrage</string>
<!-- Translations should lanaguge similar to revanced_hide_upload_time_user_dialog_message -->
<string name="revanced_hide_view_count_user_dialog_message">"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"</string>
<string name="revanced_hide_upload_time_title">Sakrij vreme otpremanja</string>
<string name="revanced_hide_upload_time_summary_on">Vreme otpremanja je skriveno u feed-u i rezultatima pretrage</string>
<string name="revanced_hide_upload_time_summary_off">Vreme otpremanja je prikazano u feed-u i rezultatima pretrage</string>
<string name="revanced_hide_upload_time_summary_on">Vreme otpremanja je skriveno u fidu i rezultatima pretrage</string>
<string name="revanced_hide_upload_time_summary_off">Vreme otpremanja je prikazano u fidu i rezultatima pretrage</string>
<!-- Translations should lanaguge similar to revanced_hide_view_count_user_dialog_message -->
<string name="revanced_hide_upload_time_user_dialog_message">"Ograničenja:
Shorts police, stranice kanala i rezultati pretrage mogu i dalje prikazivati vreme otpremanja
• Ova funkcija ne radi sa automobilskim form faktorom"</string>
Police Shorts, stranice kanala i rezultati pretrage mogu i dalje prikazivati vreme otpremanja
• Ova funkcija ne radi sa automobilskim faktorom forme"</string>
<string name="revanced_hide_keyword_content_screen_title">Sakrij sadržaj ključne reči</string>
<string name="revanced_hide_keyword_content_screen_summary">Sakrijte videe iz rezultata pretrage i fida koristeći filtere ključnih reči</string>
<string name="revanced_hide_keyword_content_home_title">Sakrij videe na kartici „Početna” prema ključnim rečima</string>
@@ -797,7 +797,7 @@ Da biste prikazali meni „Audio snimak”, promenite opciju „Lažirani video
<string name="revanced_hide_player_previous_next_buttons_summary_on">Dugmad za prethodni i sledeći video su skrivena</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Dugmad za prethodni i sledeći video su prikazana</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Sakrij kartice završnog ekrana</string>
<string name="revanced_hide_endscreen_cards_summary_on">Kartice završnog ekrana su skrivene</string>
<string name="revanced_hide_endscreen_cards_summary_off">Kartice završnog ekrana su prikazane</string>
@@ -1351,7 +1351,7 @@ Ograničenje: Korišćenje dugmeta „Nazad” na traci sa alatkama možda neće
<string name="revanced_miniplayer_type_entry_5">Moderan 2</string>
<string name="revanced_miniplayer_type_entry_6">Moderan 3</string>
<string name="revanced_miniplayer_type_entry_7">Moderan 4</string>
<string name="revanced_miniplayer_disable_rounded_corners_title">Onemogući zaobljene ivice</string>
<string name="revanced_miniplayer_disable_rounded_corners_title">Onemogući zaobljene uglove</string>
<string name="revanced_miniplayer_disable_rounded_corners_summary_on">Uglovi su kvadratni</string>
<string name="revanced_miniplayer_disable_rounded_corners_summary_off">Uglovi su zaobljeni</string>
<string name="revanced_miniplayer_double_tap_action_title">Omogući dvostruki dodir i štipanje za promenu veličine</string>
@@ -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"</string>
<string name="revanced_miniplayer_double_tap_action_summary_off">Radnja dvostrukog dodira i štipanja za promenu veličine je onemogućena</string>
<string name="revanced_miniplayer_disable_drag_and_drop_title">Onemogući prevlačenje i ispuštanje</string>
<string name="revanced_miniplayer_disable_drag_and_drop_title">Onemogući prevlačenje i otpuštanje</string>
<string name="revanced_miniplayer_disable_drag_and_drop_summary_on">Prevlačenje i otpuštanje je onemogućeno</string>
<string name="revanced_miniplayer_disable_drag_and_drop_summary_off">"Povlačenje i otpuštanje je omogućeno
Mini-plejer se može prevući u bilo koji ugao ekrana"</string>
<string name="revanced_miniplayer_disable_horizontal_drag_title">Onemogući horizontalni gest prevlačenja</string>
<string name="revanced_miniplayer_disable_horizontal_drag_title">Onemogući pokret horizontalnog prevlačenja</string>
<string name="revanced_miniplayer_disable_horizontal_drag_summary_on">Pokret horizontalnog prevlačenja je onemogućen</string>
<string name="revanced_miniplayer_disable_horizontal_drag_summary_off">"Pokret horizontalnog prevlačenja je omogućen
@@ -1584,7 +1584,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa"</string>
<string name="revanced_force_avc_codec_summary_off">Video kodek se određuje automatski</string>
<string name="revanced_force_avc_codec_user_dialog_message">"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

View File

@@ -146,9 +146,9 @@ Second \"item\" text"</string>
<string name="revanced_debug_logs_clear_toast">Евиденције су избрисане</string>
</patch>
<patch id="misc.privacy.sanitizeSharingLinksPatch">
<string name="revanced_sanitize_sharing_links_title">Очисти везе за дељење</string>
<string name="revanced_sanitize_sharing_links_summary_on">Параметар упита за праћење је уклоњен из дељених веза</string>
<string name="revanced_sanitize_sharing_links_summary_off">Параметар упита за праћење није уклоњен из дељених веза</string>
<string name="revanced_sanitize_sharing_links_title">Очисти дељене линкове</string>
<string name="revanced_sanitize_sharing_links_summary_on">Параметар упита за праћење је уклоњен из дељених линкова</string>
<string name="revanced_sanitize_sharing_links_summary_off">Параметар упита за праћење није уклоњен из дељених линкова</string>
<string name="revanced_replace_music_with_youtube_title">Промени линкове за дељење на youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_on">Дељени линкови користе youtube.com</string>
<string name="revanced_replace_music_with_youtube_summary_off">Дељени линкови користе music.youtube.com</string>
@@ -379,9 +379,9 @@ Second \"item\" text"</string>
<string name="revanced_hide_comments_create_a_short_button_title">Сакриј дугме „Направи Short”</string>
<string name="revanced_hide_comments_create_a_short_button_summary_on">Дугме „Направи Short” је скривено</string>
<string name="revanced_hide_comments_create_a_short_button_summary_off">Дугме „Направи Short” је приказано</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_title">Сакриј дугмад за емотиконе и временске ознаке</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_on">Дугмад за емотиконе и временске ознаке су скривена</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_off">Дугмад за емотиконе и временске ознаке су приказана</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_title">Сакриј дугмад емоџија и временске ознаке</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_on">Дугмад емоџија и временске ознаке су скривена</string>
<string name="revanced_hide_comments_emoji_and_timestamp_buttons_summary_off">Дугмад емоџија и временске ознаке су приказана</string>
<string name="revanced_hide_comments_preview_comment_title">Сакриј коментар за преглед</string>
<string name="revanced_hide_comments_preview_comment_summary_on">Коментар за преглед је скривен</string>
<string name="revanced_hide_comments_preview_comment_summary_off">Коментар за преглед је приказан</string>
@@ -398,19 +398,19 @@ Second \"item\" text"</string>
<string name="revanced_custom_filter_strings_summary">Листа стрингова за прављење путање компоненти за филтрирање, одвојена новим редом</string>
<string name="revanced_custom_filter_toast_invalid_syntax">Неважећи прилагођени филтер: %s</string>
<string name="revanced_hide_view_count_title">Сакриј број прегледа</string>
<string name="revanced_hide_view_count_summary_on">Број прегледа је сакривен у фиду и резултатима претраге</string>
<string name="revanced_hide_view_count_summary_on">Број прегледа је скривен у фиду и резултатима претраге</string>
<string name="revanced_hide_view_count_summary_off">Број прегледа је приказан у фиду и резултатима претраге</string>
<!-- Translations should lanaguge similar to revanced_hide_upload_time_user_dialog_message -->
<string name="revanced_hide_view_count_user_dialog_message">"Ограничења:
Shorts секције, странице канала и резултати претраге могу и даље приказивати број прегледа
• Ова функција не ради са аутомобилским форм фактором"</string>
Полице Shorts, странице канала и резултати претраге могу и даље приказивати број прегледа
• Ова функција не ради са аутомобилским фактором форме"</string>
<string name="revanced_hide_upload_time_title">Сакриј време отпремања</string>
<string name="revanced_hide_upload_time_summary_on">Време отпремања је скривено у фиду и резултатима претраге</string>
<string name="revanced_hide_upload_time_summary_off">Време отпремања је приказано у фиду и резултатима претраге</string>
<!-- Translations should lanaguge similar to revanced_hide_view_count_user_dialog_message -->
<string name="revanced_hide_upload_time_user_dialog_message">"Ограничења:
• Полице за Shorts, странице канала и резултати претраге могу и даље приказивати време отпремања
• Ова функција не ради са аутомобилским форм фактором"</string>
• Полице Shorts, странице канала и резултати претраге могу и даље приказивати време отпремања
• Ова функција не ради са аутомобилским фактором форме"</string>
<string name="revanced_hide_keyword_content_screen_title">Сакриј садржај кључне речи</string>
<string name="revanced_hide_keyword_content_screen_summary">Сакријте видее из резултата претраге и фида користећи филтере кључних речи</string>
<string name="revanced_hide_keyword_content_home_title">Сакриј видее на картици „Почетна” према кључним речима</string>
@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Дугмад за претходни и следећи видео су скривена</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Дугмад за претходни и следећи видео су приказана</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Сакриј картице завршног екрана</string>
<string name="revanced_hide_endscreen_cards_summary_on">Картице завршног екрана су скривене</string>
<string name="revanced_hide_endscreen_cards_summary_off">Картице завршног екрана су приказане</string>
@@ -1365,7 +1365,7 @@ Second \"item\" text"</string>
<string name="revanced_miniplayer_disable_drag_and_drop_summary_off">"Превлачење и отпуштање је омогућено
Мини-плејер се може превући у било који угао екрана"</string>
<string name="revanced_miniplayer_disable_horizontal_drag_title">Онемогући хоризонтални покрет превлачења</string>
<string name="revanced_miniplayer_disable_horizontal_drag_title">Онемогући покрет хоризонталног превлачења</string>
<string name="revanced_miniplayer_disable_horizontal_drag_summary_on">Покрет хоризонталног превлачења је онемогућен</string>
<string name="revanced_miniplayer_disable_horizontal_drag_summary_off">"Покрет хоризонталног превлачења је омогућен
@@ -1587,7 +1587,7 @@ Second \"item\" text"</string>
<string name="revanced_force_avc_codec_summary_off">Видео кодек се одређује аутоматски</string>
<string name="revanced_force_avc_codec_user_dialog_message">"Предности:
• Може побољшати трајање батерије
• Може вратити недостајуће резолуције видеа на старијем уређају
• Може вратити недостајуће резолуције видеа на старијим уређајима
Ограничења:
• Максимална резолуција је 1080p

View File

@@ -797,7 +797,7 @@ För att visa menyn Ljudspår, ändra \"Förfalska videoströmmar\" till iPadOS"
<string name="revanced_hide_player_previous_next_buttons_summary_on">Knapparna är dolda</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Knapparna visas</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Dölj slutskärmskort</string>
<string name="revanced_hide_endscreen_cards_summary_on">Slutskärmskort är dolda</string>
<string name="revanced_hide_endscreen_cards_summary_off">Slutskärmskort visas</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -795,7 +795,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">ปุ่มซ่อนอยู่</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">ปุ่มแสดงอยู่</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">ซ่อนการ์ดหน้าจอสิ้นสุด</string>
<string name="revanced_hide_endscreen_cards_summary_on">การ์ดหน้าจอสิ้นสุดซ่อนอยู่</string>
<string name="revanced_hide_endscreen_cards_summary_off">การ์ดหน้าจอสิ้นสุดแสดงอยู่</string>

View File

@@ -797,7 +797,7 @@ Ses parçası menüsünü göstermek için 'Video akışlarını taklit et' ayar
<string name="revanced_hide_player_previous_next_buttons_summary_on">Önceki &amp; Sonraki düğmeleri gizli</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Önceki &amp; Sonraki düğmeleri görünür</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Bitiş ekranı kartlarını gizle</string>
<string name="revanced_hide_endscreen_cards_summary_on">Bitiş ekranı kartları gizli</string>
<string name="revanced_hide_endscreen_cards_summary_off">Bitiş ekranı kartları görünür</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Кнопки попереднього та наступного відео приховано</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Кнопки попереднього та наступного відео показуються</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Приховати картки на кінцевому екрані</string>
<string name="revanced_hide_endscreen_cards_summary_on">Картки на кінцевому екрані приховано</string>
<string name="revanced_hide_endscreen_cards_summary_off">Картки на кінцевому екрані показуються</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -23,7 +23,7 @@ Second \"item\" text"</string>
<patch id="misc.checks.checkEnvironmentPatch">
<string name="revanced_check_environment_failed_title">Kiểm tra thất bại</string>
<string name="revanced_check_environment_dialog_open_official_source_button">Mở trang web chính thức</string>
<string name="revanced_check_environment_dialog_ignore_button">Bỏ qua</string>
<string name="revanced_check_environment_dialog_ignore_button">Phớt lờ</string>
<string name="revanced_check_environment_failed_message">&lt;h5&gt;Ứng dụng này xem ra không phải do bạn tự vá.&lt;/h5&gt;&lt;br&gt;Ứng dụng này có thể không hoạt động chính xác, &lt;b&gt;tiềm ẩn rủi ro hoặc thậm chí gây nguy hiểm khi sử dụng&lt;/b&gt;.&lt;br&gt;&lt;br&gt;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;&lt;br&gt;&lt;br&gt;&lt;small&gt;%1$s&lt;/small&gt;&lt;br&gt;Chúng tôi khuyến nghị bạn nên &lt;b&gt;gỡ cài đặt ứng này và tự vá lại&lt;/b&gt; để đảm bảo bạn đang dùng một ứng dụng an toàn và hợp lệ.&lt;p&gt;&lt;br&gt;Cảnh báo này sẽ chỉ hiện hai lần, hãy cân nhắc trước khi bỏ qua.</string>
<string name="revanced_check_environment_not_same_patching_device">Đã vá trên một thiết bị khác</string>
<string name="revanced_check_environment_manager_not_expected_installer">Không được cài đặt bởi ReVanced Manager</string>
@@ -50,7 +50,7 @@ Second \"item\" text"</string>
<string name="revanced_settings_import_reset">Đặt lại cài đặt ReVanced về mặc định</string>
<string name="revanced_settings_import_success">Đã nhập cài đặt %d</string>
<string name="revanced_settings_import_failure_parse">Nhập thất bại: %s</string>
<string name="revanced_settings_search_hint">Tìm kiếm</string>
<string name="revanced_settings_search_hint">Cài đặt tìm kiếm</string>
<string name="revanced_settings_search_no_results_title">Không tìm thấy kết quả nào cho \'%s\'</string>
<string name="revanced_settings_search_no_results_summary">Thử từ khóa khác</string>
<string name="revanced_settings_search_recent_searches">Các tìm kiếm gần đây</string>
@@ -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
<string name="revanced_hide_player_previous_next_buttons_summary_on">Các nút đã bị ẩn</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Các nút được hiển thị</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Ẩn thẻ màn hình kết thúc</string>
<string name="revanced_hide_endscreen_cards_summary_on">Thẻ màn hình kết thúc đã bị ẩn</string>
<string name="revanced_hide_endscreen_cards_summary_off">Thẻ màn hình kết thúc được hiển thị</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">按钮已隐藏</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">按钮已显示</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">隐藏片尾卡</string>
<string name="revanced_hide_endscreen_cards_summary_on">片尾卡已隐藏</string>
<string name="revanced_hide_endscreen_cards_summary_off">片尾卡已显示</string>

View File

@@ -797,7 +797,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">已隱藏「上一部」和「下一部」按鈕</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">已顯示「上一部」和「下一部」按鈕</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">隱藏片尾資訊卡</string>
<string name="revanced_hide_endscreen_cards_summary_on">已隱藏片尾資訊卡</string>
<string name="revanced_hide_endscreen_cards_summary_off">已顯示片尾資訊卡</string>

View File

@@ -135,7 +135,7 @@ Second \"item\" text"</string>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
</patch>

View File

@@ -862,7 +862,7 @@ To show the Audio track menu, change \'Spoof video streams\' to iPadOS"</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">Previous &amp; Next buttons are hidden</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">Previous &amp; Next buttons are shown</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<patch id="layout.hide.endscreencards.hideEndScreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">Hide end screen cards</string>
<string name="revanced_hide_endscreen_cards_summary_on">End screen cards are hidden</string>
<string name="revanced_hide_endscreen_cards_summary_off">End screen cards are shown</string>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Some files were not shown because too many files have changed in this diff Show More