From f61218de52331329b8b23f49b5035aa3c44bca33 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 21:50:45 -0400 Subject: [PATCH 01/45] chore: Sync translations (#5616) --- .../addresources/values-ja-rJP/strings.xml | 38 +++++++++---------- .../addresources/values-sr-rCS/strings.xml | 4 +- .../addresources/values-sr-rSP/strings.xml | 4 +- .../addresources/values-vi-rVN/strings.xml | 4 +- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index d6ba2831a..b63de5e2e 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -107,8 +107,8 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に ショートのバックグラウンド再生を無効化 - ショートのバックグラウンド再生は無効です - ショートのバックグラウンド再生は有効です + ショート動画のバックグラウンド再生は無効です + ショート動画のバックグラウンド再生は有効です デバッグ @@ -301,9 +301,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「おすすめ」欄を非表示 「おすすめ」欄は表示されません 「おすすめ」欄は表示されます - リンク集のプレビューを非表示 - リンク集のプレビューは表示されません - リンク集のプレビューは表示されます + リンクのプレビューを非表示 + リンクのプレビューは表示されません + リンクのプレビューは表示されます メンバー欄を非表示 メンバー欄は表示されません メンバー欄は表示されます @@ -356,21 +356,21 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 非表示にしたい component の path builder string を改行区切りで入力します 無効なカスタムフィルタ: %s - キーワード フィルタ - キーワードフィルタを使用してフィード、検索結果に表示される動画を非表示にします + キーワードでコンテンツを非表示 + キーワード フィルタを使用してフィード、検索結果に表示される動画を非表示にします ホームの動画をキーワードで非表示 - ホームタブの動画は、キーワードでフィルタリングされます - ホームタブの動画は、キーワードでフィルタリングされません + ホームタブの動画はキーワードでフィルタリングされます + ホームタブの動画はキーワードでフィルタリングされません 検索結果をキーワードで非表示 - 検索結果は、キーワードでフィルタリングされます - 検索結果は、キーワードでフィルタリングされません + 検索結果はキーワードでフィルタリングされます + 検索結果はキーワードでフィルタリングされません 登録チャンネルの動画をキーワードで非表示 - 登録チャンネルタブの動画は、キーワードでフィルタリングされます - 登録チャンネルタブの動画は、キーワードでフィルタリングされません + 登録チャンネルタブの動画はキーワードでフィルタリングされます + 登録チャンネルタブの動画はキーワードでフィルタリングされません キーワード - "キーワードとなる単語やフレーズを改行区切りで入力します + "キーワードとなる単語やフレーズのリスト (改行区切り) 動画のタイトルまたはチャンネル名にキーワードが含まれる動画が非表示の対象になります @@ -379,7 +379,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に "ホーム / 登録チャンネル / 検索結果でキーワードに合致する動画を非表示にします 制限事項 -• ショート動画はチャンネル名で除外されない +• ショート動画はチャンネル名で非表示にできない • 一部の UI コンポーネントが残ってしまう場合がある • キーワードを検索したとき、結果が表示されない場合がある" 単語全体で合致 @@ -1235,9 +1235,9 @@ Automotive レイアウト スタート画面の変更は、アプリ起動時にのみ適用されます - ショート動画プレーヤーの再開を無効にする - ショート動画プレーヤーは、アプリ起動時に再開されます - ショート動画プレーヤーは、アプリの起動時に再開されません + ショート プレーヤーの再開を無効化 + アプリ起動時にショート プレーヤーは再開されません + アプリ起動時にショート プレーヤーが再開されます ショート動画を開くプレーヤー @@ -1502,7 +1502,7 @@ Automotive レイアウト 画質の詳細設定メニューを表示 - 画質メニューとして詳細設定メニューが表示されます + 詳細設定メニューが画質メニューとして表示されます 通常の画質メニューが表示されます diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index f562a083f..9e8ad8f07 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -1465,8 +1465,8 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Dugme dijaloga za brzinu nije prikazano - Prikaži dugme za kvalitet video zapisa - Dugme je prikazano. Dodirnite i zadržite za resetovanje kvaliteta na podrazumevano + Prikaži dugme kvaliteta videa + Dugme je prikazano. Dodirnite i zadržite da biste vratili kvalitet videa na podrazumevanu vrednost Dugme nije prikazano diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 16d76c8a2..0b7e0f64d 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -1468,8 +1468,8 @@ Second \"item\" text" Дугме дијалога за брзину није приказано - Прикажи дугме за квалитет видеа - Дугме је приказано. Притисните и држите да бисте ресетовали квалитет на подразумевани + Прикажи дугме квалитета видеа + Дугме је приказано. Додирните и задржите да бисте вратили квалитет видеа на подразумевану вредност Дугме није приказано diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 2b95d56a0..f6a50698f 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -1481,8 +1481,8 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Trình đơn tốc độ phát tùy chỉnh được hiển thị Trình đơn tốc độ phát tùy chỉnh không được hiển thị Khôi phục trình đơn tốc độ phát cũ - Trình đơn tốc độ cũ được hiển thị - Trình đơn tốc độ hiện đại được hiển thị + Trình đơn tốc độ phát cũ được hiển thị + Trình đơn tốc độ phát hiện đại được hiển thị Tốc độ phát tùy chỉnh Thêm hoặc thay đổi tốc độ phát tùy chỉnh Tốc độ tùy chỉnh phải nhỏ hơn %s From 562e00577225e52694c15a03ffeb5d46b670ce2c Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Thu, 7 Aug 2025 21:51:01 -0400 Subject: [PATCH 02/45] feat(Instagram): Support latest app version (#5611) --- .../patches/instagram/misc/signature/SignatureCheckPatch.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt index 5bc077c4b..4c755ec82 100644 --- a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/signature/SignatureCheckPatch.kt @@ -8,7 +8,7 @@ val signatureCheckPatch = bytecodePatch( name = "Disable signature check", description = "Disables the signature check that causes the app to crash on startup." ) { - compatibleWith("com.instagram.android"("378.0.0.52.68")) + compatibleWith("com.instagram.android") execute { isValidSignatureMethodFingerprint From d7eb6e87a505d27efa6ac53a0a80bd80de16e3d1 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Thu, 7 Aug 2025 21:51:52 -0400 Subject: [PATCH 03/45] fix(Twitch): Constrain patches to last working app targets (#5373) --- .../app/revanced/patches/twitch/ad/audio/AudioAdsPatch.kt | 2 +- .../revanced/patches/twitch/ad/embedded/EmbeddedAdsPatch.kt | 2 +- .../app/revanced/patches/twitch/ad/video/VideoAdsPatch.kt | 4 +--- .../twitch/chat/antidelete/ShowDeletedMessagesPatch.kt | 2 +- .../twitch/chat/autoclaim/AutoClaimChannelPointsPatch.kt | 2 +- .../app/revanced/patches/twitch/debug/DebugModePatch.kt | 2 +- .../revanced/patches/twitch/misc/settings/SettingsPatch.kt | 2 +- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/ad/audio/AudioAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/ad/audio/AudioAdsPatch.kt index c55e15e26..a0622f281 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/ad/audio/AudioAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/ad/audio/AudioAdsPatch.kt @@ -21,7 +21,7 @@ val audioAdsPatch = bytecodePatch( addResourcesPatch, ) - compatibleWith("tv.twitch.android.app") + compatibleWith("tv.twitch.android.app"("16.9.1", "25.3.0")) execute { addResources("twitch", "ad.audio.audioAdsPatch") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/ad/embedded/EmbeddedAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/ad/embedded/EmbeddedAdsPatch.kt index 18aebedc8..8519b90ce 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/ad/embedded/EmbeddedAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/ad/embedded/EmbeddedAdsPatch.kt @@ -19,7 +19,7 @@ val embeddedAdsPatch = bytecodePatch( settingsPatch, ) - compatibleWith("tv.twitch.android.app") + compatibleWith("tv.twitch.android.app"("16.9.1", "25.3.0")) execute { addResources("twitch", "ad.embedded.embeddedAdsPatch") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/ad/video/VideoAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/ad/video/VideoAdsPatch.kt index 7ba753325..6665db853 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/ad/video/VideoAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/ad/video/VideoAdsPatch.kt @@ -155,7 +155,5 @@ val videoAdsPatch = bytecodePatch( }, ) - compatibleWith( - "tv.twitch.android.app", - ) + compatibleWith("tv.twitch.android.app"("16.9.1", "25.3.0")) } diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/chat/antidelete/ShowDeletedMessagesPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/chat/antidelete/ShowDeletedMessagesPatch.kt index 9cd9aa141..7bc35a131 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/chat/antidelete/ShowDeletedMessagesPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/chat/antidelete/ShowDeletedMessagesPatch.kt @@ -22,7 +22,7 @@ val showDeletedMessagesPatch = bytecodePatch( addResourcesPatch, ) - compatibleWith("tv.twitch.android.app") + compatibleWith("tv.twitch.android.app"("16.9.1", "25.3.0")) fun createSpoilerConditionInstructions(register: String = "v0") = """ invoke-static {}, Lapp/revanced/extension/twitch/patches/ShowDeletedMessagesPatch;->shouldUseSpoiler()Z diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/chat/autoclaim/AutoClaimChannelPointsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/chat/autoclaim/AutoClaimChannelPointsPatch.kt index cb6879e86..d27a11c25 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/chat/autoclaim/AutoClaimChannelPointsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/chat/autoclaim/AutoClaimChannelPointsPatch.kt @@ -20,7 +20,7 @@ val autoClaimChannelPointsPatch = bytecodePatch( addResourcesPatch, ) - compatibleWith("tv.twitch.android.app") + compatibleWith("tv.twitch.android.app"("16.9.1", "25.3.0")) execute { addResources("twitch", "chat.autoclaim.autoClaimChannelPointsPatch") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/debug/DebugModePatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/debug/DebugModePatch.kt index 8b59dd954..34967b9ca 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/debug/DebugModePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/debug/DebugModePatch.kt @@ -20,7 +20,7 @@ val debugModePatch = bytecodePatch( addResourcesPatch, ) - compatibleWith("tv.twitch.android.app") + compatibleWith("tv.twitch.android.app"("16.9.1", "25.3.0")) execute { addResources("twitch", "debug.debugModePatch") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt index d41f86a4b..f75912e1c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt @@ -48,7 +48,7 @@ val settingsPatch = bytecodePatch( settingsPatch(preferences = preferences), ) - compatibleWith("tv.twitch.android.app") + compatibleWith("tv.twitch.android.app"("16.9.1")) execute { addResources("twitch", "misc.settings.settingsPatch") From 9c0638d128050dfac428b8f2797dde723b0fdf2c Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 8 Aug 2025 01:55:22 +0000 Subject: [PATCH 04/45] chore: Release v5.34.0-dev.1 [skip ci] # [5.34.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.33.0...v5.34.0-dev.1) (2025-08-08) ### Bug Fixes * **Twitch:** Constrain patches to last working app targets ([#5373](https://github.com/ReVanced/revanced-patches/issues/5373)) ([d7eb6e8](https://github.com/ReVanced/revanced-patches/commit/d7eb6e87a505d27efa6ac53a0a80bd80de16e3d1)) ### Features * **Instagram:** Support latest app version ([#5611](https://github.com/ReVanced/revanced-patches/issues/5611)) ([562e005](https://github.com/ReVanced/revanced-patches/commit/562e00577225e52694c15a03ffeb5d46b670ce2c)) --- CHANGELOG.md | 12 ++++++++++++ gradle.properties | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81c86c937..4b228a800 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [5.34.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.33.0...v5.34.0-dev.1) (2025-08-08) + + +### Bug Fixes + +* **Twitch:** Constrain patches to last working app targets ([#5373](https://github.com/ReVanced/revanced-patches/issues/5373)) ([29a4748](https://github.com/ReVanced/revanced-patches/commit/29a47481c4efa209a3a53df60613b59a73adbe07)) + + +### Features + +* **Instagram:** Support latest app version ([#5611](https://github.com/ReVanced/revanced-patches/issues/5611)) ([26fe690](https://github.com/ReVanced/revanced-patches/commit/26fe690dfbefe6c412c5f81f208a3b1d2fbd7a0a)) + # [5.33.0](https://github.com/ReVanced/revanced-patches/compare/v5.32.0...v5.33.0) (2025-08-05) diff --git a/gradle.properties b/gradle.properties index 766fa520a..27b81084c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.33.0 +version = 5.34.0-dev.1 From 30176a3318a2c1b1b411df26b7270fbc54d0bcc9 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Sat, 9 Aug 2025 04:27:52 +0300 Subject: [PATCH 05/45] feat(YouTube - Playback speed): Show current playback speed on player speed dialog button (#5607) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../app/revanced/extension/shared/Utils.java | 2 +- .../app/revanced/extension/youtube/Event.kt | 9 +- .../youtube/patches/VideoInformation.java | 213 ++++++++++++++++-- .../quality/RememberVideoQualityPatch.java | 161 +------------ .../speed/CustomPlaybackSpeedPatch.java | 22 +- .../sponsorblock/ui/CreateSegmentButton.java | 1 + .../youtube/sponsorblock/ui/VotingButton.java | 1 + .../videoplayer/CopyVideoUrlButton.java | 2 +- .../CopyVideoUrlTimestampButton.java | 2 +- .../videoplayer/ExternalDownloadButton.java | 1 + .../PlaybackSpeedDialogButton.java | 59 ++++- .../videoplayer/PlayerControlButton.java | 146 ++++++------ .../videoplayer/VideoQualityDialogButton.java | 177 +++++++-------- patches/api/patches.api | 8 +- .../playercontrols/PlayerControlsPatch.kt | 2 +- .../video/audio/ForceOriginalAudioPatch.kt | 149 ++++++------ .../youtube/video/hdr/DisableHdrPatch.kt | 2 +- .../youtube/video/information/Fingerprints.kt | 43 ++++ .../information/VideoInformationPatch.kt | 137 ++++++++++- .../youtube/video/quality/Fingerprints.kt | 41 ---- .../quality/RememberVideoQualityPatch.kt | 135 ----------- .../VideoQualityDialogButtonPatch.kt | 16 +- .../video/quality/VideoQualityPatch.kt | 3 +- .../speed/button/PlaybackSpeedButtonPatch.kt | 11 +- .../resources/addresources/values/strings.xml | 2 +- ...evanced_video_quality_dialog_button_4k.xml | 9 - ...vanced_video_quality_dialog_button_fhd.xml | 9 - ...d_video_quality_dialog_button_fhd_plus.xml | 9 - ...evanced_video_quality_dialog_button_hd.xml | 9 - ...evanced_video_quality_dialog_button_ld.xml | 9 - ...vanced_video_quality_dialog_button_qhd.xml | 9 - ..._video_quality_dialog_button_rectangle.xml | 9 + ...evanced_video_quality_dialog_button_sd.xml | 9 - ...ed_video_quality_dialog_button_unknown.xml | 11 - .../youtube_controls_bottom_ui_container.xml | 44 ++-- .../revanced_playback_speed_dialog_button.xml | 28 --- ...playback_speed_dialog_button_rectangle.xml | 9 + .../youtube_controls_bottom_ui_container.xml | 45 ++-- 38 files changed, 780 insertions(+), 774 deletions(-) rename patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/{button => }/VideoQualityDialogButtonPatch.kt (70%) delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_4k.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd_plus.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_hd.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_ld.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_qhd.xml create mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_rectangle.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_sd.xml delete mode 100644 patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_unknown.xml delete mode 100644 patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button.xml create mode 100644 patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button_rectangle.xml diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java index c015c0610..db157c4a1 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java @@ -329,7 +329,7 @@ public class Utils { return (R) child; } - throw new IllegalArgumentException("View with resource name '" + str + "' not found"); + throw new IllegalArgumentException("View with resource name not found: " + str); } /** diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/Event.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/Event.kt index 72323949c..802c995b3 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/Event.kt +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/Event.kt @@ -1,16 +1,20 @@ package app.revanced.extension.youtube +import app.revanced.extension.shared.Logger +import java.util.Collections + /** * generic event provider class */ class Event { - private val eventListeners = mutableSetOf<(T) -> Unit>() + private val eventListeners = Collections.synchronizedSet(mutableSetOf<(T) -> Unit>()) operator fun plusAssign(observer: (T) -> Unit) { addObserver(observer) } fun addObserver(observer: (T) -> Unit) { + Logger.printDebug { "Adding observer: $observer" } eventListeners.add(observer) } @@ -23,7 +27,8 @@ class Event { } operator fun invoke(value: T) { - for (observer in eventListeners) + for (observer in eventListeners) { observer.invoke(value) + } } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java index 99d8a5b6a..96d67a749 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java @@ -1,12 +1,18 @@ package app.revanced.extension.youtube.patches; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.google.android.libraries.youtube.innertube.model.media.VideoQuality; import java.lang.ref.WeakReference; +import java.util.Arrays; import java.util.Objects; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; +import app.revanced.extension.youtube.Event; +import app.revanced.extension.youtube.shared.ShortsPlayerState; import app.revanced.extension.youtube.shared.VideoState; /** @@ -16,11 +22,31 @@ import app.revanced.extension.youtube.shared.VideoState; public final class VideoInformation { public interface PlaybackController { - // Methods are added to YT classes during patching. - boolean seekTo(long videoTime); - void seekToRelative(long videoTimeOffset); + // Methods are added during patching. + boolean patch_seekTo(long videoTime); + void patch_seekToRelative(long videoTimeOffset); } + /** + * Interface to use obfuscated methods. + */ + public interface VideoQualityMenuInterface { + // Method is added during patching. + void patch_setQuality(VideoQuality quality); + } + + /** + * Video resolution of the automatic quality option.. + */ + public static final int AUTOMATIC_VIDEO_QUALITY_VALUE = -2; + + /** + * All quality names are the same for all languages. + * VideoQuality also has a resolution enum that can be used if needed. + */ + public static final String VIDEO_QUALITY_1080P_PREMIUM_NAME = "1080p Premium"; + + private static final float DEFAULT_YOUTUBE_PLAYBACK_SPEED = 1.0f; /** * Prefix present in all Short player parameters signature. @@ -30,12 +56,10 @@ public final class VideoInformation { private static WeakReference playerControllerRef = new WeakReference<>(null); private static WeakReference mdxPlayerDirectorRef = new WeakReference<>(null); - @NonNull private static String videoId = ""; private static long videoLength = 0; private static long videoTime = -1; - @NonNull private static volatile String playerResponseVideoId = ""; private static volatile boolean playerResponseVideoIdIsShort; private static volatile boolean videoIdIsShort; @@ -45,6 +69,44 @@ public final class VideoInformation { */ private static float playbackSpeed = DEFAULT_YOUTUBE_PLAYBACK_SPEED; + private static int desiredVideoResolution = AUTOMATIC_VIDEO_QUALITY_VALUE; + + private static boolean qualityNeedsUpdating; + + /** + * The available qualities of the current video. + */ + @Nullable + private static VideoQuality[] currentQualities; + + /** + * The current quality of the video playing. + * This is always the actual quality even if Automatic quality is active. + */ + @Nullable + private static VideoQuality currentQuality; + + /** + * The current VideoQualityMenuInterface, set during setVideoQuality. + */ + @Nullable + private static VideoQualityMenuInterface currentMenuInterface; + + /** + * Callback for when the current quality changes. + */ + public static final Event onQualityChange = new Event<>(); + + @Nullable + public static VideoQuality[] getCurrentQualities() { + return currentQualities; + } + + @Nullable + public static VideoQuality getCurrentQuality() { + return currentQuality; + } + /** * Injection point. * @@ -52,12 +114,18 @@ public final class VideoInformation { */ public static void initialize(@NonNull PlaybackController playerController) { try { + Logger.printDebug(() -> "newVideoStarted"); + playerControllerRef = new WeakReference<>(Objects.requireNonNull(playerController)); videoTime = -1; videoLength = 0; playbackSpeed = DEFAULT_YOUTUBE_PLAYBACK_SPEED; + desiredVideoResolution = AUTOMATIC_VIDEO_QUALITY_VALUE; + currentQualities = null; + currentMenuInterface = null; + setCurrentQuality(null); } catch (Exception ex) { - Logger.printException(() -> "Failed to initialize", ex); + Logger.printException(() -> "initialize failure", ex); } } @@ -197,14 +265,14 @@ public final class VideoInformation { if (controller == null) { Logger.printDebug(() -> "Cannot seekTo because player controller is null"); } else { - if (controller.seekTo(adjustedSeekTime)) return true; + if (controller.patch_seekTo(adjustedSeekTime)) return true; Logger.printDebug(() -> "seekTo did not succeeded. Trying MXD."); // Else the video is loading or changing videos, or video is casting to a different device. } // Try calling the seekTo method of the MDX player director (called when casting). // The difference has to be a different second mark in order to avoid infinite skip loops - // as the Lounge API only supports seconds. + // as the Lounge API only supports whole seconds. if (adjustedSeekTime / 1000 == videoTime / 1000) { Logger.printDebug(() -> "Skipping seekTo for MDX because seek time is too small " + "(" + (adjustedSeekTime - videoTime) + "ms)"); @@ -217,9 +285,9 @@ public final class VideoInformation { return false; } - return controller.seekTo(adjustedSeekTime); + return controller.patch_seekTo(adjustedSeekTime); } catch (Exception ex) { - Logger.printException(() -> "Failed to seek", ex); + Logger.printException(() -> "seekTo failure", ex); return false; } } @@ -239,7 +307,7 @@ public final class VideoInformation { if (controller == null) { Logger.printDebug(() -> "Cannot seek relative as player controller is null"); } else { - controller.seekToRelative(seekTime); + controller.patch_seekToRelative(seekTime); } // Adjust the fine adjustment function so it's at least 1 second before/after. @@ -255,10 +323,10 @@ public final class VideoInformation { if (controller == null) { Logger.printDebug(() -> "Cannot seek relative as MXD player controller is null"); } else { - controller.seekToRelative(adjustedSeekTime); + controller.patch_seekToRelative(adjustedSeekTime); } } catch (Exception ex) { - Logger.printException(() -> "Failed to seek relative", ex); + Logger.printException(() -> "seekToRelative failure", ex); } } @@ -373,4 +441,123 @@ public final class VideoInformation { playbackSpeed = newlyLoadedPlaybackSpeed; } } + + /** + * @param resolution The desired video quality resolution to use. + */ + public static void setDesiredVideoResolution(int resolution) { + Utils.verifyOnMainThread(); + Logger.printDebug(() -> "Setting desired video resolution: " + resolution); + desiredVideoResolution = resolution; + qualityNeedsUpdating = true; + } + + private static void setCurrentQuality(@Nullable VideoQuality quality) { + Utils.verifyOnMainThread(); + if (currentQuality != quality) { + Logger.printDebug(() -> "Current quality changed to: " + quality); + currentQuality = quality; + onQualityChange.invoke(quality); + } + } + + /** + * Forcefully changes the video quality of the currently playing video. + */ + public static void changeQuality(VideoQuality quality) { + Utils.verifyOnMainThread(); + + if (currentMenuInterface == null) { + Logger.printException(() -> "Cannot change quality, menu interface is null"); + return; + } + currentMenuInterface.patch_setQuality(quality); + } + + /** + * Injection point. Fixes bad data used by YouTube. + */ + public static int fixVideoQualityResolution(String name, int quality) { + final int correctQuality = 480; + if (name.equals("480p") && quality != correctQuality) { + return correctQuality; + } + + return quality; + } + + /** + * Injection point. + * + * @param qualities Video qualities available, ordered from largest to smallest, with index 0 being the 'automatic' value of -2 + * @param originalQualityIndex quality index to use, as chosen by YouTube + */ + public static int setVideoQuality(VideoQuality[] qualities, VideoQualityMenuInterface menu, int originalQualityIndex) { + try { + Utils.verifyOnMainThread(); + currentMenuInterface = menu; + + final boolean availableQualitiesChanged = (currentQualities == null) + || !Arrays.equals(currentQualities, qualities); + if (availableQualitiesChanged) { + currentQualities = qualities; + Logger.printDebug(() -> "VideoQualities: " + Arrays.toString(currentQualities)); + } + + VideoQuality updatedCurrentQuality = qualities[originalQualityIndex]; + if (updatedCurrentQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE + && (currentQuality == null || currentQuality != updatedCurrentQuality)) { + setCurrentQuality(updatedCurrentQuality); + } + + final int preferredQuality = desiredVideoResolution; + if (preferredQuality == AUTOMATIC_VIDEO_QUALITY_VALUE) { + return originalQualityIndex; // Nothing to do. + } + + // After changing videos the qualities can initially be for the prior video. + // If the qualities have changed and the default is not auto then an update is needed. + if (qualityNeedsUpdating) { + qualityNeedsUpdating = false; + } else if (!availableQualitiesChanged) { + return originalQualityIndex; + } + + // Find the highest quality that is equal to or less than the preferred. + int i = 0; + final int lastQualityIndex = qualities.length - 1; + for (VideoQuality quality : qualities) { + final int qualityResolution = quality.patch_getResolution(); + if ((qualityResolution != AUTOMATIC_VIDEO_QUALITY_VALUE && qualityResolution <= preferredQuality) + // Use the lowest video quality if the default is lower than all available. + || i == lastQualityIndex) { + final boolean qualityNeedsChange = (i != originalQualityIndex); + Logger.printDebug(() -> qualityNeedsChange + ? "Changing video quality from: " + updatedCurrentQuality + " to: " + quality + : "Video is already the preferred quality: " + quality + ); + + // On first load of a new regular video, if the video is already the + // desired quality then the quality flyout will show 'Auto' (ie: Auto (720p)). + // + // To prevent user confusion, set the video index even if the + // quality is already correct so the UI picker will not display "Auto". + // + // Only change Shorts quality if the quality actually needs to change, + // because the "auto" option is not shown in the flyout + // and setting the same quality again can cause the Short to restart. + if (qualityNeedsChange || !ShortsPlayerState.isOpen()) { + changeQuality(quality); + return i; + } + + return originalQualityIndex; + } + i++; + } + } catch (Exception ex) { + Logger.printException(() -> "setVideoQuality failure", ex); + } + return originalQualityIndex; + } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java index e4d1d9817..0ead14314 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java @@ -3,12 +3,8 @@ package app.revanced.extension.youtube.patches.playback.quality; import static app.revanced.extension.shared.StringRef.str; import static app.revanced.extension.shared.Utils.NetworkType; -import androidx.annotation.Nullable; - import com.google.android.libraries.youtube.innertube.model.media.VideoQuality; -import java.util.Arrays; - import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.BooleanSetting; @@ -16,69 +12,15 @@ import app.revanced.extension.shared.settings.IntegerSetting; import app.revanced.extension.youtube.patches.VideoInformation; import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.shared.ShortsPlayerState; -import app.revanced.extension.youtube.videoplayer.VideoQualityDialogButton; @SuppressWarnings("unused") public class RememberVideoQualityPatch { - /** - * Interface to use obfuscated methods. - */ - public interface VideoQualityMenuInterface { - void patch_setQuality(VideoQuality quality); - } - - /** - * Video resolution of the automatic quality option.. - */ - public static final int AUTOMATIC_VIDEO_QUALITY_VALUE = -2; - - /** - * All quality names are the same for all languages. - * VideoQuality also has a resolution enum that can be used if needed. - */ - public static final String VIDEO_QUALITY_1080P_PREMIUM_NAME = "1080p Premium"; - private static final IntegerSetting videoQualityWifi = Settings.VIDEO_QUALITY_DEFAULT_WIFI; private static final IntegerSetting videoQualityMobile = Settings.VIDEO_QUALITY_DEFAULT_MOBILE; private static final IntegerSetting shortsQualityWifi = Settings.SHORTS_QUALITY_DEFAULT_WIFI; private static final IntegerSetting shortsQualityMobile = Settings.SHORTS_QUALITY_DEFAULT_MOBILE; - private static boolean qualityNeedsUpdating; - - /** - * The available qualities of the current video. - */ - @Nullable - private static VideoQuality[] currentQualities; - - /** - * The current quality of the video playing. - * This is always the actual quality even if Automatic quality is active. - */ - @Nullable - private static VideoQuality currentQuality; - - /** - * The current VideoQualityMenuInterface, set during setVideoQuality. - */ - @Nullable - private static VideoQualityMenuInterface currentMenuInterface; - - @Nullable - public static VideoQuality[] getCurrentQualities() { - return currentQualities; - } - - @Nullable - public static VideoQuality getCurrentQuality() { - return currentQuality; - } - - @Nullable - public static VideoQualityMenuInterface getCurrentMenuInterface() { - return currentMenuInterface; - } public static boolean shouldRememberVideoQuality() { BooleanSetting preference = ShortsPlayerState.isOpen() @@ -128,87 +70,12 @@ public class RememberVideoQualityPatch { /** * Injection point. - * - * @param qualities Video qualities available, ordered from largest to smallest, with index 0 being the 'automatic' value of -2 - * @param originalQualityIndex quality index to use, as chosen by YouTube - */ - public static int setVideoQuality(VideoQuality[] qualities, VideoQualityMenuInterface menu, int originalQualityIndex) { - try { - Utils.verifyOnMainThread(); - currentMenuInterface = menu; - - final boolean availableQualitiesChanged = (currentQualities == null) - || !Arrays.equals(currentQualities, qualities); - if (availableQualitiesChanged) { - currentQualities = qualities; - Logger.printDebug(() -> "VideoQualities: " + Arrays.toString(currentQualities)); - } - - VideoQuality updatedCurrentQuality = qualities[originalQualityIndex]; - if (updatedCurrentQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE - && (currentQuality == null || currentQuality != updatedCurrentQuality)) { - currentQuality = updatedCurrentQuality; - Logger.printDebug(() -> "Current quality changed to: " + updatedCurrentQuality); - - VideoQualityDialogButton.updateButtonIcon(updatedCurrentQuality); - } - - final int preferredQuality = getDefaultQualityResolution(); - if (preferredQuality == AUTOMATIC_VIDEO_QUALITY_VALUE) { - return originalQualityIndex; // Nothing to do. - } - - // After changing videos the qualities can initially be for the prior video. - // If the qualities have changed and the default is not auto then an update is needed. - if (!qualityNeedsUpdating && !availableQualitiesChanged) { - return originalQualityIndex; - } - qualityNeedsUpdating = false; - - // Find the highest quality that is equal to or less than the preferred. - int i = 0; - for (VideoQuality quality : qualities) { - final int qualityResolution = quality.patch_getResolution(); - if ((qualityResolution != AUTOMATIC_VIDEO_QUALITY_VALUE && qualityResolution <= preferredQuality) - // Use the lowest video quality if the default is lower than all available. - || i == qualities.length - 1) { - final boolean qualityNeedsChange = (i != originalQualityIndex); - Logger.printDebug(() -> qualityNeedsChange - ? "Changing video quality from: " + updatedCurrentQuality + " to: " + quality - : "Video is already the preferred quality: " + quality - ); - - // On first load of a new regular video, if the video is already the - // desired quality then the quality flyout will show 'Auto' (ie: Auto (720p)). - // - // To prevent user confusion, set the video index even if the - // quality is already correct so the UI picker will not display "Auto". - // - // Only change Shorts quality if the quality actually needs to change, - // because the "auto" option is not shown in the flyout - // and setting the same quality again can cause the Short to restart. - if (qualityNeedsChange || !ShortsPlayerState.isOpen()) { - menu.patch_setQuality(qualities[i]); - return i; - } - - return originalQualityIndex; - } - i++; - } - } catch (Exception ex) { - Logger.printException(() -> "setVideoQuality failure", ex); - } - return originalQualityIndex; - } - - /** - * Injection point. - * @param userSelectedQualityIndex Element index of {@link #currentQualities}. + * @param userSelectedQualityIndex Element index of {@link VideoInformation#getCurrentQualities()}. */ public static void userChangedShortsQuality(int userSelectedQualityIndex) { try { if (shouldRememberVideoQuality()) { + VideoQuality[] currentQualities = VideoInformation.getCurrentQualities(); if (currentQualities == null) { Logger.printDebug(() -> "Cannot save default quality, qualities is null"); return; @@ -227,6 +94,7 @@ public class RememberVideoQualityPatch { */ public static void userChangedQuality(int videoResolution) { Utils.verifyOnMainThread(); + Logger.printDebug(() -> "User changed quality to: " + videoResolution); if (shouldRememberVideoQuality()) { saveDefaultQuality(videoResolution); @@ -237,27 +105,6 @@ public class RememberVideoQualityPatch { * Injection point. */ public static void newVideoStarted(VideoInformation.PlaybackController ignoredPlayerController) { - Utils.verifyOnMainThread(); - - Logger.printDebug(() -> "newVideoStarted"); - currentQualities = null; - currentQuality = null; - currentMenuInterface = null; - qualityNeedsUpdating = true; - - // Hide the quality button until playback starts and the qualities are available. - VideoQualityDialogButton.updateButtonIcon(null); - } - - /** - * Injection point. Fixes bad data used by YouTube. - */ - public static int fixVideoQualityResolution(String name, int quality) { - final int correctQuality = 480; - if (name.equals("480p") && quality != correctQuality) { - return correctQuality; - } - - return quality; + VideoInformation.setDesiredVideoResolution(getDefaultQualityResolution()); } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java index e738be34d..52e977e34 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java @@ -100,7 +100,8 @@ public class CustomPlaybackSpeedPatch { private static WeakReference currentDialog = new WeakReference<>(null); static { - // Cap at 2 decimals (rounds automatically). + // Use same 2 digit format as built in speed picker, + speedFormatter.setMinimumFractionDigits(2); speedFormatter.setMaximumFractionDigits(2); final float holdSpeed = Settings.SPEED_TAP_AND_HOLD.get(); @@ -321,7 +322,7 @@ public class CustomPlaybackSpeedPatch { TextView currentSpeedText = new TextView(context); float currentSpeed = VideoInformation.getPlaybackSpeed(); // Initially show with only 0 minimum digits, so 1.0 shows as 1x - currentSpeedText.setText(formatSpeedStringX(currentSpeed, 0)); + currentSpeedText.setText(formatSpeedStringX(currentSpeed)); currentSpeedText.setTextColor(Utils.getAppForegroundColor()); currentSpeedText.setTextSize(16); currentSpeedText.setTypeface(Typeface.DEFAULT_BOLD); @@ -398,10 +399,11 @@ public class CustomPlaybackSpeedPatch { return null; } - VideoInformation.overridePlaybackSpeed(roundedSpeed); - RememberPlaybackSpeedPatch.userSelectedPlaybackSpeed(roundedSpeed); - currentSpeedText.setText(formatSpeedStringX(roundedSpeed, 2)); // Update display. + currentSpeedText.setText(formatSpeedStringX(roundedSpeed)); // Update display. speedSlider.setProgress(speedToProgressValue(roundedSpeed)); // Update slider. + + RememberPlaybackSpeedPatch.userSelectedPlaybackSpeed(roundedSpeed); + VideoInformation.overridePlaybackSpeed(roundedSpeed); return null; }; @@ -437,7 +439,7 @@ public class CustomPlaybackSpeedPatch { gridParams.setMargins(0, 0, 0, 0); // No margins around GridLayout. gridLayout.setLayoutParams(gridParams); - // For all buttons show at least 1 zero in decimal (2 -> "2.0"). + // For button use 1 digit minimum. speedFormatter.setMinimumFractionDigits(1); // Add buttons for each preset playback speed. @@ -455,7 +457,7 @@ public class CustomPlaybackSpeedPatch { // Create speed button. Button speedButton = new Button(context, null, 0); - speedButton.setText(speedFormatter.format(speed)); // Do not use 'x' speed format. + speedButton.setText(speedFormatter.format(speed)); speedButton.setTextColor(Utils.getAppForegroundColor()); speedButton.setTextSize(12); speedButton.setAllCaps(false); @@ -498,6 +500,9 @@ public class CustomPlaybackSpeedPatch { gridLayout.addView(buttonContainer); } + // Restore 2 digit minimum. + speedFormatter.setMinimumFractionDigits(2); + // Add in-rows speed buttons layout to main layout. mainLayout.addView(gridLayout); @@ -631,8 +636,7 @@ public class CustomPlaybackSpeedPatch { * @param speed The playback speed value to format. * @return A string representation of the speed with 'x' (e.g. "1.25x" or "1.00x"). */ - private static String formatSpeedStringX(float speed, int minimumFractionDigits) { - speedFormatter.setMinimumFractionDigits(minimumFractionDigits); + private static String formatSpeedStringX(float speed) { return speedFormatter.format(speed) + 'x'; } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java index b764ef24a..8e9cc4228 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java @@ -26,6 +26,7 @@ public class CreateSegmentButton { controlsView, "revanced_sb_create_segment_button", null, + null, CreateSegmentButton::shouldBeShown, v -> SponsorBlockViewController.toggleNewSegmentLayoutVisibility(), null diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java index 87d46c464..8198a5ba3 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java @@ -28,6 +28,7 @@ public class VotingButton { controlsView, "revanced_sb_voting_button", null, + null, VotingButton::shouldBeShown, v -> SponsorBlockUtils.onVotingClicked(v.getContext()), null diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java index be66cd70a..5568a99b9 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java @@ -7,7 +7,6 @@ import androidx.annotation.Nullable; import app.revanced.extension.shared.Logger; import app.revanced.extension.youtube.patches.CopyVideoUrlPatch; import app.revanced.extension.youtube.settings.Settings; -import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") public class CopyVideoUrlButton { @@ -23,6 +22,7 @@ public class CopyVideoUrlButton { controlsView, "revanced_copy_video_url_button", "revanced_copy_video_url_button_placeholder", + null, Settings.COPY_VIDEO_URL::get, view -> CopyVideoUrlPatch.copyUrl(false), view -> { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java index f7f246e1c..a8f4e7c12 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java @@ -7,7 +7,6 @@ import androidx.annotation.Nullable; import app.revanced.extension.shared.Logger; import app.revanced.extension.youtube.patches.CopyVideoUrlPatch; import app.revanced.extension.youtube.settings.Settings; -import app.revanced.extension.youtube.shared.PlayerType; @SuppressWarnings("unused") public class CopyVideoUrlTimestampButton { @@ -23,6 +22,7 @@ public class CopyVideoUrlTimestampButton { controlsView, "revanced_copy_video_url_timestamp_button", "revanced_copy_video_url_timestamp_button_placeholder", + null, Settings.COPY_VIDEO_URL_TIMESTAMP::get, view -> CopyVideoUrlPatch.copyUrl(true), view -> { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java index 1ba5b2dcc..ae3304ecc 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java @@ -23,6 +23,7 @@ public class ExternalDownloadButton { controlsView, "revanced_external_download_button", "revanced_external_download_button_placeholder", + null, Settings.EXTERNAL_DOWNLOADER::get, ExternalDownloadButton::onDownloadClick, null diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java index cb4545cfb..60795851c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java @@ -4,16 +4,26 @@ import android.view.View; import androidx.annotation.Nullable; +import java.text.DecimalFormat; + import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; import app.revanced.extension.youtube.patches.VideoInformation; import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch; import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") public class PlaybackSpeedDialogButton { + @Nullable private static PlayerControlButton instance; + private static final DecimalFormat speedDecimalFormatter = new DecimalFormat(); + static { + speedDecimalFormatter.setMinimumFractionDigits(1); + speedDecimalFormatter.setMaximumFractionDigits(2); + } + /** * Injection point. */ @@ -21,8 +31,10 @@ public class PlaybackSpeedDialogButton { try { instance = new PlayerControlButton( controlsView, + "revanced_playback_speed_dialog_button_container", "revanced_playback_speed_dialog_button", "revanced_playback_speed_dialog_button_placeholder", + "revanced_playback_speed_dialog_button_text", Settings.PLAYBACK_SPEED_DIALOG_BUTTON::get, view -> { try { @@ -37,11 +49,11 @@ public class PlaybackSpeedDialogButton { }, view -> { try { + final float defaultSpeed = Settings.PLAYBACK_SPEED_DEFAULT.get(); final float speed = (!Settings.REMEMBER_PLAYBACK_SPEED_LAST_SELECTED.get() || - VideoInformation.getPlaybackSpeed() == Settings.PLAYBACK_SPEED_DEFAULT.get()) + VideoInformation.getPlaybackSpeed() == defaultSpeed) ? 1.0f - : Settings.PLAYBACK_SPEED_DEFAULT.get(); - + : defaultSpeed; VideoInformation.overridePlaybackSpeed(speed); } catch (Exception ex) { Logger.printException(() -> "speed button reset failure", ex); @@ -49,22 +61,53 @@ public class PlaybackSpeedDialogButton { return true; } ); + + // Set the appropriate icon. + updateButtonAppearance(); } catch (Exception ex) { Logger.printException(() -> "initializeButton failure", ex); } } /** - * injection point + * Injection point. */ public static void setVisibilityImmediate(boolean visible) { - if (instance != null) instance.setVisibilityImmediate(visible); + if (instance != null) { + instance.setVisibilityImmediate(visible); + } } /** - * injection point + * Injection point. */ public static void setVisibility(boolean visible, boolean animated) { - if (instance != null) instance.setVisibility(visible, animated); + if (instance != null) { + instance.setVisibility(visible, animated); + } } -} \ No newline at end of file + + /** + * Injection point. + */ + public static void videoSpeedChanged(float currentVideoSpeed) { + updateButtonAppearance(); + } + + /** + * Updates the button's appearance, including icon and text overlay. + */ + private static void updateButtonAppearance() { + if (instance == null) return; + + try { + Utils.verifyOnMainThread(); + + String speedText = speedDecimalFormatter.format(VideoInformation.getPlaybackSpeed()); + instance.setTextOverlay(speedText); + Logger.printDebug(() -> "Updated playback speed button text to: " + speedText); + } catch (Exception ex) { + Logger.printException(() -> "updateButtonAppearance failure", ex); + } + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java index 94c92b738..548ee86c0 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java @@ -3,6 +3,7 @@ package app.revanced.extension.youtube.videoplayer; import android.view.View; import android.view.animation.Animation; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; @@ -14,11 +15,12 @@ import app.revanced.extension.youtube.shared.PlayerType; import kotlin.Unit; public class PlayerControlButton { - public interface PlayerControlButtonVisibility { + + public interface PlayerControlButtonStatus { /** * @return If the button should be shown when the player overlay is visible. */ - boolean shouldBeShown(); + boolean buttonEnabled(); } private static final int fadeInDuration; @@ -44,23 +46,46 @@ public class PlayerControlButton { fadeOutImmediate.setDuration(Utils.getResourceInteger("fade_duration_fast")); } + private final WeakReference containerRef; private final WeakReference buttonRef; /** * Empty view with the same layout size as the button. Used to fill empty space while the * fade out animation runs. Without this the chapter titles overlapping the button when fading out. */ private final WeakReference placeHolderRef; - private final PlayerControlButtonVisibility visibilityCheck; + private final WeakReference textOverlayRef; + private final PlayerControlButtonStatus enabledStatus; private boolean isVisible; public PlayerControlButton(View controlsViewGroup, - String imageViewButtonId, + String buttonId, @Nullable String placeholderId, - PlayerControlButtonVisibility buttonVisibility, + @Nullable String textOverlayId, + PlayerControlButtonStatus enabledStatus, View.OnClickListener onClickListener, @Nullable View.OnLongClickListener longClickListener) { - ImageView imageView = Utils.getChildViewByResourceName(controlsViewGroup, imageViewButtonId); - imageView.setVisibility(View.GONE); + this(controlsViewGroup, buttonId, buttonId, placeholderId, textOverlayId, + enabledStatus, onClickListener, longClickListener); + } + + public PlayerControlButton(View controlsViewGroup, + String viewToHide, + String buttonId, + @Nullable String placeholderId, + @Nullable String textOverlayId, + PlayerControlButtonStatus enabledStatus, + View.OnClickListener onClickListener, + @Nullable View.OnLongClickListener longClickListener) { + View containerView = Utils.getChildViewByResourceName(controlsViewGroup, viewToHide); + containerView.setVisibility(View.GONE); + containerRef = new WeakReference<>(containerView); + + View button = Utils.getChildViewByResourceName(controlsViewGroup, buttonId); + button.setOnClickListener(onClickListener); + if (longClickListener != null) { + button.setOnLongClickListener(longClickListener); + } + buttonRef = new WeakReference<>(button); View tempPlaceholder = null; if (placeholderId != null) { @@ -69,19 +94,19 @@ public class PlayerControlButton { } placeHolderRef = new WeakReference<>(tempPlaceholder); - imageView.setOnClickListener(onClickListener); - if (longClickListener != null) { - imageView.setOnLongClickListener(longClickListener); + TextView tempTextOverlay = null; + if (textOverlayId != null) { + tempTextOverlay = Utils.getChildViewByResourceName(controlsViewGroup, textOverlayId); } + textOverlayRef = new WeakReference<>(tempTextOverlay); - visibilityCheck = buttonVisibility; - buttonRef = new WeakReference<>(imageView); + this.enabledStatus = enabledStatus; isVisible = false; // Update the visibility after the player type changes. // This ensures that button animations are cleared and their states are updated correctly // when switching between states like minimized, maximized, or fullscreen, preventing - // "stuck" animations or incorrect visibility. Without this fix the issue is most noticable + // "stuck" animations or incorrect visibility. Without this fix the issue is most noticeable // when maximizing type 3 miniplayer. PlayerType.getOnChange().addObserver((PlayerType type) -> { playerTypeChanged(type); @@ -111,33 +136,33 @@ public class PlayerControlButton { if (isVisible == visible) return; isVisible = visible; - View button = buttonRef.get(); - if (button == null) return; + View container = containerRef.get(); + if (container == null) return; View placeholder = placeHolderRef.get(); - final boolean shouldBeShown = visibilityCheck.shouldBeShown(); + final boolean buttonEnabled = enabledStatus.buttonEnabled(); - if (visible && shouldBeShown) { - button.clearAnimation(); + if (visible && buttonEnabled) { + container.clearAnimation(); if (animated) { - button.startAnimation(PlayerControlButton.fadeInAnimation); + container.startAnimation(fadeInAnimation); } - button.setVisibility(View.VISIBLE); + container.setVisibility(View.VISIBLE); if (placeholder != null) { placeholder.setVisibility(View.GONE); } } else { - if (button.getVisibility() == View.VISIBLE) { - button.clearAnimation(); + if (container.getVisibility() == View.VISIBLE) { + container.clearAnimation(); if (animated) { - button.startAnimation(PlayerControlButton.fadeOutAnimation); + container.startAnimation(fadeOutAnimation); } - button.setVisibility(View.GONE); + container.setVisibility(View.GONE); } if (placeholder != null) { - placeholder.setVisibility(shouldBeShown + placeholder.setVisibility(buttonEnabled ? View.VISIBLE : View.GONE); } @@ -155,36 +180,37 @@ public class PlayerControlButton { return; } - View button = buttonRef.get(); - if (button == null) return; + View container = containerRef.get(); + if (container == null) return; - button.clearAnimation(); + container.clearAnimation(); View placeholder = placeHolderRef.get(); - if (visibilityCheck.shouldBeShown()) { + if (enabledStatus.buttonEnabled()) { if (isVisible) { - button.setVisibility(View.VISIBLE); + container.setVisibility(View.VISIBLE); if (placeholder != null) placeholder.setVisibility(View.GONE); } else { - button.setVisibility(View.GONE); + container.setVisibility(View.GONE); if (placeholder != null) placeholder.setVisibility(View.VISIBLE); } } else { - button.setVisibility(View.GONE); + container.setVisibility(View.GONE); if (placeholder != null) placeholder.setVisibility(View.GONE); } } public void hide() { + Utils.verifyOnMainThread(); if (!isVisible) return; - Utils.verifyOnMainThread(); - View view = buttonRef.get(); + View view = containerRef.get(); if (view == null) return; view.setVisibility(View.GONE); - view = placeHolderRef.get(); - if (view != null) view.setVisibility(View.GONE); + View placeHolder = placeHolderRef.get(); + if (placeHolder != null) view.setVisibility(View.GONE); + isVisible = false; } @@ -193,50 +219,20 @@ public class PlayerControlButton { * @param resourceId Drawable identifier, or zero to hide the icon. */ public void setIcon(int resourceId) { - try { - View button = buttonRef.get(); - if (button instanceof ImageView imageButton) { - imageButton.setImageResource(resourceId); - } - } catch (Exception ex) { - Logger.printException(() -> "setIcon failure", ex); + View button = buttonRef.get(); + if (button instanceof ImageView imageButton) { + imageButton.setImageResource(resourceId); } } /** - * Starts an animation on the button. - * @param animation The animation to apply. + * Sets the text to be displayed on the text overlay. + * @param text The text to set on the overlay, or null to clear the text. */ - public void startAnimation(Animation animation) { - try { - View button = buttonRef.get(); - if (button != null) { - button.startAnimation(animation); - } - } catch (Exception ex) { - Logger.printException(() -> "startAnimation failure", ex); + public void setTextOverlay(CharSequence text) { + TextView textOverlay = textOverlayRef.get(); + if (textOverlay != null) { + textOverlay.setText(text); } } - - /** - * Clears any animation on the button. - */ - public void clearAnimation() { - try { - View button = buttonRef.get(); - if (button != null) { - button.clearAnimation(); - } - } catch (Exception ex) { - Logger.printException(() -> "clearAnimation failure", ex); - } - } - - /** - * Returns the View associated with this button. - * @return The button View. - */ - public View getView() { - return buttonRef.get(); - } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java index e0a29db5f..a9bd1657b 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java @@ -2,9 +2,8 @@ package app.revanced.extension.youtube.videoplayer; import static app.revanced.extension.shared.StringRef.str; import static app.revanced.extension.shared.Utils.dipToPixels; -import static app.revanced.extension.youtube.patches.playback.quality.RememberVideoQualityPatch.AUTOMATIC_VIDEO_QUALITY_VALUE; -import static app.revanced.extension.youtube.patches.playback.quality.RememberVideoQualityPatch.VIDEO_QUALITY_1080P_PREMIUM_NAME; -import static app.revanced.extension.youtube.patches.playback.quality.RememberVideoQualityPatch.VideoQualityMenuInterface; +import static app.revanced.extension.youtube.patches.VideoInformation.AUTOMATIC_VIDEO_QUALITY_VALUE; +import static app.revanced.extension.youtube.patches.VideoInformation.VIDEO_QUALITY_1080P_PREMIUM_NAME; import android.app.Dialog; import android.content.Context; @@ -14,6 +13,7 @@ import android.graphics.drawable.shapes.RoundRectShape; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ForegroundColorSpan; +import android.text.style.UnderlineSpan; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -39,73 +39,25 @@ import java.util.List; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; +import app.revanced.extension.youtube.patches.VideoInformation; import app.revanced.extension.youtube.patches.playback.quality.RememberVideoQualityPatch; import app.revanced.extension.youtube.settings.Settings; +import kotlin.Unit; @SuppressWarnings("unused") public class VideoQualityDialogButton { - private static final int DRAWABLE_LD = getDrawableIdentifier("revanced_video_quality_dialog_button_ld"); - private static final int DRAWABLE_SD = getDrawableIdentifier("revanced_video_quality_dialog_button_sd"); - private static final int DRAWABLE_HD = getDrawableIdentifier("revanced_video_quality_dialog_button_hd"); - private static final int DRAWABLE_FHD = getDrawableIdentifier("revanced_video_quality_dialog_button_fhd"); - private static final int DRAWABLE_FHD_PLUS = getDrawableIdentifier("revanced_video_quality_dialog_button_fhd_plus"); - private static final int DRAWABLE_QHD = getDrawableIdentifier("revanced_video_quality_dialog_button_qhd"); - private static final int DRAWABLE_4K = getDrawableIdentifier("revanced_video_quality_dialog_button_4k"); - private static final int DRAWABLE_UNKNOWN = getDrawableIdentifier("revanced_video_quality_dialog_button_unknown"); - @Nullable private static PlayerControlButton instance; - /** - * The current resource name of the button icon. - */ - private static int currentIconResource; + @Nullable + private static CharSequence currentOverlayText; - private static int getDrawableIdentifier(String resourceName) { - final int resourceId = Utils.getResourceIdentifier(resourceName, "drawable"); - if (resourceId == 0) Logger.printException(() -> "Could not find resource: " + resourceName); - return resourceId; - } - - /** - * Updates the button icon based on the current video quality. - */ - public static void updateButtonIcon(@Nullable VideoQuality quality) { - try { - Utils.verifyOnMainThread(); - if (instance == null) return; - - final int resolution = quality == null - ? AUTOMATIC_VIDEO_QUALITY_VALUE // Video is still loading. - : quality.patch_getResolution(); - - final int iconResource = switch (resolution) { - case 144, 240, 360 -> DRAWABLE_LD; - case 480 -> DRAWABLE_SD; - case 720 -> DRAWABLE_HD; - case 1080 -> VIDEO_QUALITY_1080P_PREMIUM_NAME.equals(quality.patch_getQualityName()) - ? DRAWABLE_FHD_PLUS - : DRAWABLE_FHD; - case 1440 -> DRAWABLE_QHD; - case 2160 -> DRAWABLE_4K; - default -> DRAWABLE_UNKNOWN; - }; - - if (iconResource != currentIconResource) { - currentIconResource = iconResource; - - Utils.runOnMainThreadDelayed(() -> { - if (iconResource != currentIconResource) { - Logger.printDebug(() -> "Ignoring stale button update to: " + quality); - return; - } - instance.setIcon(iconResource); - }, 100); - } - } catch (Exception ex) { - Logger.printException(() -> "updateButtonIcon failure", ex); - } + static { + VideoInformation.onQualityChange.addObserver((@Nullable VideoQuality quality) -> { + updateButtonText(quality); + return Unit.INSTANCE; + }); } /** @@ -115,8 +67,10 @@ public class VideoQualityDialogButton { try { instance = new PlayerControlButton( controlsView, + "revanced_video_quality_dialog_button_container", "revanced_video_quality_dialog_button", "revanced_video_quality_dialog_button_placeholder", + "revanced_video_quality_dialog_button_text", Settings.VIDEO_QUALITY_DIALOG_BUTTON::get, view -> { try { @@ -127,9 +81,8 @@ public class VideoQualityDialogButton { }, view -> { try { - VideoQuality[] qualities = RememberVideoQualityPatch.getCurrentQualities(); - VideoQualityMenuInterface menu = RememberVideoQualityPatch.getCurrentMenuInterface(); - if (qualities == null || menu == null) { + VideoQuality[] qualities = VideoInformation.getCurrentQualities(); + if (qualities == null) { Logger.printDebug(() -> "Cannot reset quality, videoQualities is null"); return true; } @@ -140,7 +93,7 @@ public class VideoQualityDialogButton { final int resolution = quality.patch_getResolution(); if (resolution != AUTOMATIC_VIDEO_QUALITY_VALUE && resolution <= defaultResolution) { Logger.printDebug(() -> "Resetting quality to: " + quality); - menu.patch_setQuality(quality); + VideoInformation.changeQuality(quality); return true; } } @@ -156,8 +109,8 @@ public class VideoQualityDialogButton { } ); - // Set initial icon. - updateButtonIcon(RememberVideoQualityPatch.getCurrentQuality()); + // Set initial text. + updateButtonText(VideoInformation.getCurrentQuality()); } catch (Exception ex) { Logger.printException(() -> "initializeButton failure", ex); } @@ -181,13 +134,56 @@ public class VideoQualityDialogButton { } } + /** + * Updates the button text based on the current video quality. + */ + public static void updateButtonText(@Nullable VideoQuality quality) { + try { + Utils.verifyOnMainThread(); + if (instance == null) return; + + final int resolution = quality == null + ? AUTOMATIC_VIDEO_QUALITY_VALUE // Video is still loading. + : quality.patch_getResolution(); + + SpannableStringBuilder text = new SpannableStringBuilder(); + String qualityText = switch (resolution) { + case AUTOMATIC_VIDEO_QUALITY_VALUE -> ""; + case 144, 240, 360 -> "LD"; + case 480 -> "SD"; + case 720 -> "HD"; + case 1080 -> "FHD"; + case 1440 -> "QHD"; + case 2160 -> "4K"; + default -> "?"; // Should never happen. + }; + + text.append(qualityText); + if (resolution == 1080 && VIDEO_QUALITY_1080P_PREMIUM_NAME.equals(quality.patch_getQualityName())) { + // Underline the entire "FHD" text for 1080p Premium. + text.setSpan(new UnderlineSpan(), 0, qualityText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + + currentOverlayText = text; + Utils.runOnMainThreadDelayed(() -> { + if (currentOverlayText != text) { + Logger.printDebug(() -> "Ignoring stale button text update of: " + text); + return; + } + instance.setTextOverlay(text); + }, 100); + } catch (Exception ex) { + Logger.printException(() -> "updateButtonText failure", ex); + } + } + /** * Shows a dialog with available video qualities, excluding Auto, with a title showing the current quality. */ private static void showVideoQualityDialog(Context context) { try { - VideoQuality[] currentQualities = RememberVideoQualityPatch.getCurrentQualities(); - VideoQuality currentQuality = RememberVideoQualityPatch.getCurrentQuality(); + VideoQuality[] currentQualities = VideoInformation.getCurrentQualities(); + VideoQuality currentQuality = VideoInformation.getCurrentQuality(); if (currentQualities == null || currentQuality == null) { Logger.printDebug(() -> "Cannot show qualities dialog, videoQualities is null"); return; @@ -198,12 +194,6 @@ public class VideoQualityDialogButton { return; } - VideoQualityMenuInterface menu = RememberVideoQualityPatch.getCurrentMenuInterface(); - if (menu == null) { - Logger.printDebug(() -> "Cannot show qualities dialog, menu is null"); - return; - } - // -1 adjustment for automatic quality at first index. int listViewSelectedIndex = -1; for (VideoQuality quality : currentQualities) { @@ -317,15 +307,8 @@ public class VideoQualityDialogButton { try { final int originalIndex = which + 1; // Adjust for automatic. VideoQuality selectedQuality = currentQualities[originalIndex]; - Logger.printDebug(() -> "User clicked on quality: " + selectedQuality); - - if (RememberVideoQualityPatch.shouldRememberVideoQuality()) { - RememberVideoQualityPatch.saveDefaultQuality(selectedQuality.patch_getResolution()); - } - // Don't update button icon now. Icon will update when the actual - // quality is changed by YT. This is needed to ensure the icon is correct - // if YT ignores changing from 1080p Premium to regular 1080p. - menu.patch_setQuality(selectedQuality); + RememberVideoQualityPatch.userChangedQuality(selectedQuality.patch_getResolution()); + VideoInformation.changeQuality(selectedQuality); dialog.dismiss(); } catch (Exception ex) { @@ -356,9 +339,12 @@ public class VideoQualityDialogButton { portraitWidth = Math.min( portraitWidth, context.getResources().getDisplayMetrics().heightPixels); + // Limit height in landscape mode. + params.height = Utils.percentageHeightToPixels(80); + } else { + params.height = WindowManager.LayoutParams.WRAP_CONTENT; } params.width = portraitWidth; - params.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes(params); window.setBackgroundDrawable(null); } @@ -428,6 +414,15 @@ public class VideoQualityDialogButton { } private static class CustomQualityAdapter extends ArrayAdapter { + private static final int CUSTOM_LIST_ITEM_CHECKED_ID = Utils.getResourceIdentifier( + "revanced_custom_list_item_checked", "layout"); + private static final int CHECK_ICON_ID = Utils.getResourceIdentifier( + "revanced_check_icon", "id"); + private static final int CHECK_ICON_PLACEHOLDER_ID = Utils.getResourceIdentifier( + "revanced_check_icon_placeholder", "id"); + private static final int ITEM_TEXT_ID = Utils.getResourceIdentifier( + "revanced_item_text", "id"); + private int selectedPosition = -1; public CustomQualityAdapter(@NonNull Context context, @NonNull List objects) { @@ -446,20 +441,14 @@ public class VideoQualityDialogButton { if (convertView == null) { convertView = LayoutInflater.from(getContext()).inflate( - Utils.getResourceIdentifier("revanced_custom_list_item_checked", "layout"), + CUSTOM_LIST_ITEM_CHECKED_ID, parent, false ); viewHolder = new ViewHolder(); - viewHolder.checkIcon = convertView.findViewById( - Utils.getResourceIdentifier("revanced_check_icon", "id") - ); - viewHolder.placeholder = convertView.findViewById( - Utils.getResourceIdentifier("revanced_check_icon_placeholder", "id") - ); - viewHolder.textView = convertView.findViewById( - Utils.getResourceIdentifier("revanced_item_text", "id") - ); + viewHolder.checkIcon = convertView.findViewById(CHECK_ICON_ID); + viewHolder.placeholder = convertView.findViewById(CHECK_ICON_PLACEHOLDER_ID); + viewHolder.textView = convertView.findViewById(ITEM_TEXT_ID); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); diff --git a/patches/api/patches.api b/patches/api/patches.api index 91f78e8db..db1bb7e8e 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1660,12 +1660,12 @@ public final class app/revanced/patches/youtube/video/quality/RememberVideoQuali public static final fun getRememberVideoQualityPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } -public final class app/revanced/patches/youtube/video/quality/VideoQualityPatchKt { - public static final fun getVideoQualityPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +public final class app/revanced/patches/youtube/video/quality/VideoQualityDialogButtonPatchKt { + public static final fun getVideoQualityDialogButtonPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } -public final class app/revanced/patches/youtube/video/quality/button/VideoQualityDialogButtonPatchKt { - public static final fun getVideoQualityButtonPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +public final class app/revanced/patches/youtube/video/quality/VideoQualityPatchKt { + public static final fun getVideoQualityPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } public final class app/revanced/patches/youtube/video/speed/PlaybackSpeedPatchKt { diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt index 7db8de5b2..7eb292bfd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt @@ -282,7 +282,7 @@ val playerControlsPatch = bytecodePatch( // The change to support this is simple and only requires adding buttons to both layout files, // but for now force this different layout off since it's still an experimental test. if (is_19_35_or_greater) { - playerBottomControlsExploderFeatureFlagFingerprint.method.returnEarly() + playerBottomControlsExploderFeatureFlagFingerprint.method.returnLate(false) } // A/B test of new top overlay controls. Two different layouts can be used: diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt index 40110878c..8a3ee4e92 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/audio/ForceOriginalAudioPatch.kt @@ -70,87 +70,84 @@ val forceOriginalAudioPatch = bytecodePatch( ) } - val isDefaultAudioTrackMethod = formatStreamModelToStringFingerprint.originalMethod - .findMethodFromToString("isDefaultAudioTrack=") - val audioTrackDisplayNameMethod = formatStreamModelToStringFingerprint.originalMethod - .findMethodFromToString("audioTrackDisplayName=") - val audioTrackIdMethod = formatStreamModelToStringFingerprint.originalMethod - .findMethodFromToString("audioTrackId=") + formatStreamModelToStringFingerprint.let { + val isDefaultAudioTrackMethod = it.originalMethod.findMethodFromToString("isDefaultAudioTrack=") + val audioTrackDisplayNameMethod = it.originalMethod.findMethodFromToString("audioTrackDisplayName=") + val audioTrackIdMethod = it.originalMethod.findMethodFromToString("audioTrackId=") - proxy(classes.first { - it.type == audioTrackIdMethod.definingClass - }).mutableClass.apply { - // Add a new field to store the override. - val helperFieldName = "isDefaultAudioTrackOverride" - fields.add( - ImmutableField( - type, - helperFieldName, - "Ljava/lang/Boolean;", - // Boolean is a 100% immutable class (all fields are final) - // and safe to write to a shared field without volatile/synchronization, - // but without volatile the field can show stale data - // and the same field is calculated more than once by different threads. - AccessFlags.PRIVATE.value or AccessFlags.VOLATILE.value, + it.classDef.apply { + // Add a new field to store the override. + val helperFieldName = "patch_isDefaultAudioTrackOverride" + fields.add( + ImmutableField( + type, + helperFieldName, + "Ljava/lang/Boolean;", + // Boolean is a 100% immutable class (all fields are final) + // and safe to write to a shared field without volatile/synchronization, + // but without volatile the field can show stale data + // and the same field is calculated more than once by different threads. + AccessFlags.PRIVATE.value or AccessFlags.VOLATILE.value, + null, + null, + null + ).toMutable() + ) + + // Add a helper method because the isDefaultAudioTrack() has only 2 registers and 3 are needed. + val helperMethodClass = type + val helperMethodName = "patch_isDefaultAudioTrack" + val helperMethod = ImmutableMethod( + helperMethodClass, + helperMethodName, + listOf(ImmutableMethodParameter("Z", null, null)), + "Z", + AccessFlags.PRIVATE.value, null, null, - null - ).toMutable() - ) + MutableMethodImplementation(6), + ).toMutable().apply { + addInstructionsWithLabels( + 0, + """ + iget-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; + if-eqz v0, :call_extension + invoke-virtual { v0 }, Ljava/lang/Boolean;->booleanValue()Z + move-result v3 + return v3 + + :call_extension + invoke-virtual { p0 }, $audioTrackIdMethod + move-result-object v1 + + invoke-virtual { p0 }, $audioTrackDisplayNameMethod + move-result-object v2 + + invoke-static { p1, v1, v2 }, $EXTENSION_CLASS_DESCRIPTOR->isDefaultAudioStream(ZLjava/lang/String;Ljava/lang/String;)Z + move-result v3 + + invoke-static { v3 }, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; + move-result-object v0 + iput-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; + return v3 + """ + ) + } + methods.add(helperMethod) - // Add a helper method because the isDefaultAudioTrack() has only 2 registers and 3 are needed. - val helperMethodClass = type - val helperMethodName = "patch_isDefaultAudioTrack" - val helperMethod = ImmutableMethod( - helperMethodClass, - helperMethodName, - listOf(ImmutableMethodParameter("Z", null, null)), - "Z", - AccessFlags.PRIVATE.value, - null, - null, - MutableMethodImplementation(6), - ).toMutable().apply { - addInstructionsWithLabels( - 0, - """ - iget-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; - if-eqz v0, :call_extension - invoke-virtual { v0 }, Ljava/lang/Boolean;->booleanValue()Z - move-result v3 - return v3 - - :call_extension - invoke-virtual { p0 }, $audioTrackIdMethod - move-result-object v1 - - invoke-virtual { p0 }, $audioTrackDisplayNameMethod - move-result-object v2 - - invoke-static { p1, v1, v2 }, $EXTENSION_CLASS_DESCRIPTOR->isDefaultAudioStream(ZLjava/lang/String;Ljava/lang/String;)Z - move-result v3 - - invoke-static { v3 }, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; - move-result-object v0 - iput-object v0, p0, $helperMethodClass->$helperFieldName:Ljava/lang/Boolean; - return v3 - """ - ) - } - methods.add(helperMethod) + // Modify isDefaultAudioTrack() to call extension helper method. + isDefaultAudioTrackMethod.apply { + val index = indexOfFirstInstructionOrThrow(Opcode.RETURN) + val register = getInstruction(index).registerA - // Modify isDefaultAudioTrack() to call extension helper method. - isDefaultAudioTrackMethod.apply { - val index = indexOfFirstInstructionOrThrow(Opcode.RETURN) - val register = getInstruction(index).registerA - - addInstructions( - index, - """ - invoke-direct { p0, v$register }, $helperMethodClass->$helperMethodName(Z)Z - move-result v$register - """ - ) + addInstructions( + index, + """ + invoke-direct { p0, v$register }, $helperMethodClass->$helperMethodName(Z)Z + move-result v$register + """ + ) + } } } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt index bfa9cbd2e..5d8e6d1c0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt @@ -63,7 +63,7 @@ val disableHdrPatch = bytecodePatch( return v0 :useHdr nop - """ + """ ) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/Fingerprints.kt index 7d711aec8..74b0e0864 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/Fingerprints.kt @@ -133,3 +133,46 @@ internal val playbackSpeedClassFingerprint = fingerprint { ) strings("PLAYBACK_RATE_MENU_BOTTOM_SHEET_FRAGMENT") } + + +internal const val YOUTUBE_VIDEO_QUALITY_CLASS_TYPE = "Lcom/google/android/libraries/youtube/innertube/model/media/VideoQuality;" + +internal val videoQualityFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR) + parameters( + "I", // Resolution. + "Ljava/lang/String;", // Human readable resolution: "480p", "1080p Premium", etc + "Z", + "L" + ) + custom { _, classDef -> + classDef.type == YOUTUBE_VIDEO_QUALITY_CLASS_TYPE + } +} + +internal val videoQualitySetterFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("V") + parameters("[L", "I", "Z") + opcodes( + Opcode.IF_EQZ, + Opcode.INVOKE_VIRTUAL, + Opcode.MOVE_RESULT_OBJECT, + Opcode.INVOKE_VIRTUAL, + Opcode.IPUT_BOOLEAN, + ) + strings("menu_item_video_quality") +} + +/** + * Matches with the class found in [videoQualitySetterFingerprint]. + */ +internal val setVideoQualityFingerprint = fingerprint { + returns("V") + parameters("L") + opcodes( + Opcode.IGET_OBJECT, + Opcode.IPUT_OBJECT, + Opcode.IGET_OBJECT, + ) +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/VideoInformationPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/VideoInformationPatch.kt index 99f0c75de..368aff634 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/VideoInformationPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/information/VideoInformationPatch.kt @@ -38,7 +38,9 @@ import com.android.tools.smali.dexlib2.util.MethodUtil private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/VideoInformation;" private const val EXTENSION_PLAYER_INTERFACE = - "Lapp/revanced/extension/youtube/patches/VideoInformation${'$'}PlaybackController;" + "Lapp/revanced/extension/youtube/patches/VideoInformation\$PlaybackController;" +private const val EXTENSION_VIDEO_QUALITY_MENU_INTERFACE = + "Lapp/revanced/extension/youtube/patches/VideoInformation\$VideoQualityMenuInterface;" private lateinit var playerInitMethod: MutableMethod private var playerInitInsertIndex = -1 @@ -83,7 +85,6 @@ val videoInformationPatch = bytecodePatch( ) execute { - playerInitMethod = playerInitFingerprint.classDef.methods.first { MethodUtil.isConstructor(it) } // Find the location of the first invoke-direct call and extract the register storing the 'this' object reference. @@ -93,9 +94,6 @@ val videoInformationPatch = bytecodePatch( playerInitInsertRegister = playerInitMethod.getInstruction(initThisIndex).registerC playerInitInsertIndex = initThisIndex + 1 - // Hook the player controller for use through the extension. - onCreateHook(EXTENSION_CLASS_DESCRIPTOR, "initialize") - val seekFingerprintResultMethod = seekFingerprint.match(playerInitFingerprint.originalClassDef).method val seekRelativeFingerprintResultMethod = seekRelativeFingerprint.match(playerInitFingerprint.originalClassDef).method @@ -272,6 +270,131 @@ val videoInformationPatch = bytecodePatch( speedSelectionValueRegister = getInstruction(index).registerA } + videoQualityFingerprint.let { + // Fix bad data used by YouTube. + it.method.addInstructions( + 0, + """ + invoke-static { p2, p1 }, $EXTENSION_CLASS_DESCRIPTOR->fixVideoQualityResolution(Ljava/lang/String;I)I + move-result p1 + """ + ) + + // Add methods to access obfuscated quality fields. + it.classDef.apply { + methods.add( + ImmutableMethod( + type, + "patch_getQualityName", + listOf(), + "Ljava/lang/String;", + AccessFlags.PUBLIC.value or AccessFlags.FINAL.value, + null, + null, + MutableMethodImplementation(2), + ).toMutable().apply { + // Only one string field. + val qualityNameField = fields.single { field -> + field.type == "Ljava/lang/String;" + } + + addInstructions( + 0, + """ + iget-object v0, p0, $qualityNameField + return-object v0 + """ + ) + } + ) + + methods.add( + ImmutableMethod( + type, + "patch_getResolution", + listOf(), + "I", + AccessFlags.PUBLIC.value or AccessFlags.FINAL.value, + null, + null, + MutableMethodImplementation(2), + ).toMutable().apply { + val resolutionField = fields.single { field -> + field.type == "I" + } + + addInstructions( + 0, + """ + iget v0, p0, $resolutionField + return v0 + """ + ) + } + ) + } + } + + // Detect video quality changes and override the current quality. + setVideoQualityFingerprint.match( + videoQualitySetterFingerprint.originalClassDef + ).let { match -> + // This instruction refers to the field with the type that contains the setQuality method. + val onItemClickListenerClassReference = match.method + .getInstruction(0).reference + val setQualityFieldReference = match.method + .getInstruction(1).reference as FieldReference + + proxy( + classes.find { classDef -> + classDef.type == setQualityFieldReference.type + }!! + ).mutableClass.apply { + // Add interface and helper methods to allow extension code to call obfuscated methods. + interfaces.add(EXTENSION_VIDEO_QUALITY_MENU_INTERFACE) + + methods.add( + ImmutableMethod( + type, + "patch_setQuality", + listOf( + ImmutableMethodParameter(YOUTUBE_VIDEO_QUALITY_CLASS_TYPE, null, null) + ), + "V", + AccessFlags.PUBLIC.value or AccessFlags.FINAL.value, + null, + null, + MutableMethodImplementation(2), + ).toMutable().apply { + val setQualityMenuIndexMethod = methods.single { method -> + method.parameterTypes.firstOrNull() == YOUTUBE_VIDEO_QUALITY_CLASS_TYPE + } + + addInstructions( + 0, + """ + invoke-virtual { p0, p1 }, $setQualityMenuIndexMethod + return-void + """ + ) + } + ) + } + + videoQualitySetterFingerprint.method.addInstructions( + 0, + """ + # Get object instance to invoke setQuality method. + iget-object v0, p0, $onItemClickListenerClassReference + iget-object v0, v0, $setQualityFieldReference + + invoke-static { p1, v0, p2 }, $EXTENSION_CLASS_DESCRIPTOR->setVideoQuality([$YOUTUBE_VIDEO_QUALITY_CLASS_TYPE${EXTENSION_VIDEO_QUALITY_MENU_INTERFACE}I)I + move-result p2 + """ + ) + } + + onCreateHook(EXTENSION_CLASS_DESCRIPTOR, "initialize") videoSpeedChangedHook(EXTENSION_CLASS_DESCRIPTOR, "videoSpeedChanged") userSelectedPlaybackSpeedHook(EXTENSION_CLASS_DESCRIPTOR, "userSelectedPlaybackSpeed") } @@ -282,8 +405,8 @@ private fun addSeekInterfaceMethods(targetClass: MutableClass, seekToMethod: Met targetClass.interfaces.add(EXTENSION_PLAYER_INTERFACE) arrayOf( - Triple(seekToMethod, "seekTo", true), - Triple(seekToRelativeMethod, "seekToRelative", false), + Triple(seekToMethod, "patch_seekTo", true), + Triple(seekToRelativeMethod, "patch_seekToRelative", false), ).forEach { (method, name, returnsBoolean) -> // Add interface method. // Get enum type for the seek helper method. diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt index f04079632..09ec88f9c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt @@ -5,34 +5,6 @@ import app.revanced.util.literal import com.android.tools.smali.dexlib2.AccessFlags import com.android.tools.smali.dexlib2.Opcode -internal const val YOUTUBE_VIDEO_QUALITY_CLASS_TYPE = "Lcom/google/android/libraries/youtube/innertube/model/media/VideoQuality;" - -internal val videoQualityFingerprint = fingerprint { - accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR) - parameters( - "I", // Resolution. - "Ljava/lang/String;", // Human readable resolution: "480p", "1080p Premium", etc - "Z", - "L" - ) - custom { _, classDef -> - classDef.type == YOUTUBE_VIDEO_QUALITY_CLASS_TYPE - } -} - -/** - * Matches with the class found in [videoQualitySetterFingerprint]. - */ -internal val setVideoQualityFingerprint = fingerprint { - returns("V") - parameters("L") - opcodes( - Opcode.IGET_OBJECT, - Opcode.IPUT_OBJECT, - Opcode.IGET_OBJECT, - ) -} - internal val videoQualityItemOnClickParentFingerprint = fingerprint { returns("V") strings("VIDEO_QUALITIES_MENU_BOTTOM_SHEET_FRAGMENT") @@ -54,19 +26,6 @@ internal val videoQualityItemOnClickFingerprint = fingerprint { } } -internal val videoQualitySetterFingerprint = fingerprint { - accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) - returns("V") - parameters("[L", "I", "Z") - opcodes( - Opcode.IF_EQZ, - Opcode.INVOKE_VIRTUAL, - Opcode.MOVE_RESULT_OBJECT, - Opcode.INVOKE_VIRTUAL, - Opcode.IPUT_BOOLEAN, - ) - strings("menu_item_video_quality") -} internal val videoQualityMenuOptionsFingerprint = fingerprint { accessFlags(AccessFlags.STATIC) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt index 7a31a6b74..2f67487c8 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/RememberVideoQualityPatch.kt @@ -1,10 +1,8 @@ package app.revanced.patches.youtube.video.quality import app.revanced.patcher.extensions.InstructionExtensions.addInstruction -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch -import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod.Companion.toMutable import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.shared.misc.settings.preference.ListPreference @@ -15,18 +13,10 @@ import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.patches.youtube.shared.videoQualityChangedFingerprint import app.revanced.patches.youtube.video.information.onCreateHook import app.revanced.patches.youtube.video.information.videoInformationPatch -import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.builder.MutableMethodImplementation -import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction -import com.android.tools.smali.dexlib2.iface.reference.FieldReference -import com.android.tools.smali.dexlib2.immutable.ImmutableMethod -import com.android.tools.smali.dexlib2.immutable.ImmutableMethodParameter private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch;" -private const val EXTENSION_VIDEO_QUALITY_MENU_INTERFACE = - "Lapp/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch\$VideoQualityMenuInterface;" val rememberVideoQualityPatch = bytecodePatch { dependsOn( @@ -69,131 +59,6 @@ val rememberVideoQualityPatch = bytecodePatch { onCreateHook(EXTENSION_CLASS_DESCRIPTOR, "newVideoStarted") - videoQualityFingerprint.let { - // Fix bad data used by YouTube. - it.method.addInstructions( - 0, - """ - invoke-static { p2, p1 }, $EXTENSION_CLASS_DESCRIPTOR->fixVideoQualityResolution(Ljava/lang/String;I)I - move-result p1 - """ - ) - - // Add methods to access obfuscated quality fields. - it.classDef.apply { - methods.add( - ImmutableMethod( - type, - "patch_getQualityName", - listOf(), - "Ljava/lang/String;", - AccessFlags.PUBLIC.value or AccessFlags.FINAL.value, - null, - null, - MutableMethodImplementation(2), - ).toMutable().apply { - // Only one string field. - val qualityNameField = fields.single { field -> - field.type == "Ljava/lang/String;" - } - - addInstructions( - 0, - """ - iget-object v0, p0, $qualityNameField - return-object v0 - """ - ) - } - ) - - methods.add( - ImmutableMethod( - type, - "patch_getResolution", - listOf(), - "I", - AccessFlags.PUBLIC.value or AccessFlags.FINAL.value, - null, - null, - MutableMethodImplementation(2), - ).toMutable().apply { - val resolutionField = fields.single { field -> - field.type == "I" - } - - addInstructions( - 0, - """ - iget v0, p0, $resolutionField - return v0 - """ - ) - } - ) - } - } - - // Inject a call to set the remembered quality once a video loads. - setVideoQualityFingerprint.match( - videoQualitySetterFingerprint.originalClassDef - ).let { match -> - // This instruction refers to the field with the type that contains the setQuality method. - val instructions = match.method.implementation!!.instructions - val onItemClickListenerClassReference = - (instructions.elementAt(0) as ReferenceInstruction).reference - val setQualityFieldReference = - ((instructions.elementAt(1) as ReferenceInstruction).reference) as FieldReference - - proxy( - classes.find { classDef -> - classDef.type == setQualityFieldReference.type - }!! - ).mutableClass.apply { - // Add interface and helper methods to allow extension code to call obfuscated methods. - interfaces.add(EXTENSION_VIDEO_QUALITY_MENU_INTERFACE) - - methods.add( - ImmutableMethod( - type, - "patch_setQuality", - listOf( - ImmutableMethodParameter(YOUTUBE_VIDEO_QUALITY_CLASS_TYPE, null, null) - ), - "V", - AccessFlags.PUBLIC.value or AccessFlags.FINAL.value, - null, - null, - MutableMethodImplementation(2), - ).toMutable().apply { - val setQualityMenuIndexMethod = methods.single { method -> - method.parameterTypes.firstOrNull() == YOUTUBE_VIDEO_QUALITY_CLASS_TYPE - } - - addInstructions( - 0, - """ - invoke-virtual { p0, p1 }, $setQualityMenuIndexMethod - return-void - """ - ) - } - ) - } - - videoQualitySetterFingerprint.method.addInstructions( - 0, - """ - # Get object instance to invoke setQuality method. - iget-object v0, p0, $onItemClickListenerClassReference - iget-object v0, v0, $setQualityFieldReference - - invoke-static { p1, v0, p2 }, $EXTENSION_CLASS_DESCRIPTOR->setVideoQuality([$YOUTUBE_VIDEO_QUALITY_CLASS_TYPE${EXTENSION_VIDEO_QUALITY_MENU_INTERFACE}I)I - move-result p2 - """ - ) - } - // Inject a call to remember the selected quality for Shorts. videoQualityItemOnClickFingerprint.match( videoQualityItemOnClickParentFingerprint.classDef diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/button/VideoQualityDialogButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityDialogButtonPatch.kt similarity index 70% rename from patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/button/VideoQualityDialogButtonPatch.kt rename to patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityDialogButtonPatch.kt index aaa42c827..d2618bb63 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/button/VideoQualityDialogButtonPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityDialogButtonPatch.kt @@ -1,4 +1,4 @@ -package app.revanced.patches.youtube.video.quality.button +package app.revanced.patches.youtube.video.quality import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch @@ -9,7 +9,6 @@ import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.playercontrols.* import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch -import app.revanced.patches.youtube.video.quality.rememberVideoQualityPatch import app.revanced.util.ResourceGroup import app.revanced.util.copyResources @@ -21,14 +20,7 @@ private val videoQualityButtonResourcePatch = resourcePatch { "qualitybutton", ResourceGroup( "drawable", - "revanced_video_quality_dialog_button_ld.xml", - "revanced_video_quality_dialog_button_sd.xml", - "revanced_video_quality_dialog_button_hd.xml", - "revanced_video_quality_dialog_button_fhd.xml", - "revanced_video_quality_dialog_button_fhd_plus.xml", - "revanced_video_quality_dialog_button_qhd.xml", - "revanced_video_quality_dialog_button_4k.xml", - "revanced_video_quality_dialog_button_unknown.xml", + "revanced_video_quality_dialog_button_rectangle.xml", ), ) @@ -39,7 +31,7 @@ private val videoQualityButtonResourcePatch = resourcePatch { private const val QUALITY_BUTTON_CLASS_DESCRIPTOR = "Lapp/revanced/extension/youtube/videoplayer/VideoQualityDialogButton;" -val videoQualityButtonPatch = bytecodePatch( +val videoQualityDialogButtonPatch = bytecodePatch( description = "Adds the option to display video quality dialog button in the video player.", ) { dependsOn( @@ -52,7 +44,7 @@ val videoQualityButtonPatch = bytecodePatch( ) execute { - addResources("youtube", "video.quality.button.videoQualityButtonPatch") + addResources("youtube", "video.quality.button.videoQualityDialogButtonPatch") PreferenceScreen.PLAYER.addPreferences( SwitchPreference("revanced_video_quality_dialog_button"), diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt index 432b4f8f3..55a449647 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/VideoQualityPatch.kt @@ -5,7 +5,6 @@ import app.revanced.patches.shared.misc.settings.preference.BasePreference import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting import app.revanced.patches.youtube.misc.settings.PreferenceScreen -import app.revanced.patches.youtube.video.quality.button.videoQualityButtonPatch /** * Video quality settings. Used to organize all speed related settings together. @@ -20,7 +19,7 @@ val videoQualityPatch = bytecodePatch( dependsOn( rememberVideoQualityPatch, advancedVideoQualityMenuPatch, - videoQualityButtonPatch, + videoQualityDialogButtonPatch, ) compatibleWith( diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt index 0ac9b0769..4885aa0fe 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/speed/button/PlaybackSpeedButtonPatch.kt @@ -9,6 +9,9 @@ import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.playercontrols.* import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch +import app.revanced.patches.youtube.video.information.userSelectedPlaybackSpeedHook +import app.revanced.patches.youtube.video.information.videoInformationPatch +import app.revanced.patches.youtube.video.information.videoSpeedChangedHook import app.revanced.patches.youtube.video.speed.custom.customPlaybackSpeedPatch import app.revanced.util.ResourceGroup import app.revanced.util.copyResources @@ -21,8 +24,8 @@ private val playbackSpeedButtonResourcePatch = resourcePatch { "speedbutton", ResourceGroup( "drawable", - "revanced_playback_speed_dialog_button.xml", - ), + "revanced_playback_speed_dialog_button_rectangle.xml" + ) ) addBottomControl("speedbutton") @@ -42,6 +45,7 @@ val playbackSpeedButtonPatch = bytecodePatch( customPlaybackSpeedPatch, playbackSpeedButtonResourcePatch, playerControlsPatch, + videoInformationPatch, ) execute { @@ -53,5 +57,8 @@ val playbackSpeedButtonPatch = bytecodePatch( initializeBottomControl(SPEED_BUTTON_CLASS_DESCRIPTOR) injectVisibilityCheckCall(SPEED_BUTTON_CLASS_DESCRIPTOR) + + videoSpeedChangedHook(SPEED_BUTTON_CLASS_DESCRIPTOR, "videoSpeedChanged") + userSelectedPlaybackSpeedHook(SPEED_BUTTON_CLASS_DESCRIPTOR, "videoSpeedChanged") } } diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 3624d7f22..351d184ec 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1543,7 +1543,7 @@ Enabling this can unlock higher video qualities" Button is shown. Tap and hold to reset playback speed to default Button is not shown - + Show video quality button Button is shown. Tap and hold to reset quality to default Button is not shown diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_4k.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_4k.xml deleted file mode 100644 index 22051e3fb..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_4k.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd.xml deleted file mode 100644 index b7a8f5c73..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd_plus.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd_plus.xml deleted file mode 100644 index 18e163ca2..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_fhd_plus.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_hd.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_hd.xml deleted file mode 100644 index db2bad1b1..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_hd.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_ld.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_ld.xml deleted file mode 100644 index a49f5a200..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_ld.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_qhd.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_qhd.xml deleted file mode 100644 index 7609d368e..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_qhd.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_rectangle.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_rectangle.xml new file mode 100644 index 000000000..2791f1990 --- /dev/null +++ b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_rectangle.xml @@ -0,0 +1,9 @@ + + + diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_sd.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_sd.xml deleted file mode 100644 index 150ede850..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_sd.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_unknown.xml b/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_unknown.xml deleted file mode 100644 index 4e5750cfe..000000000 --- a/patches/src/main/resources/qualitybutton/drawable/revanced_video_quality_dialog_button_unknown.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml b/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml index deb534fba..6a8772d8a 100644 --- a/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml +++ b/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml @@ -6,22 +6,38 @@ android:layout_height="wrap_content" android:layoutDirection="ltr"> - + yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button"> - + + + + + + diff --git a/patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button.xml b/patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button.xml deleted file mode 100644 index 114da2a5d..000000000 --- a/patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - diff --git a/patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button_rectangle.xml b/patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button_rectangle.xml new file mode 100644 index 000000000..2791f1990 --- /dev/null +++ b/patches/src/main/resources/speedbutton/drawable/revanced_playback_speed_dialog_button_rectangle.xml @@ -0,0 +1,9 @@ + + + diff --git a/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml b/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml index c0109ebc5..c7532ecd6 100644 --- a/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml +++ b/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml @@ -6,23 +6,38 @@ android:layout_height="wrap_content" android:layoutDirection="ltr"> - + yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button"> - + + + + + + From c3e571e7655e4fc755457d24fb93abd1dc49b5e2 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Fri, 8 Aug 2025 21:28:07 -0400 Subject: [PATCH 06/45] fix(Backdrops): Remove broken patch that is no longer supported (#5627) --- .../app/revanced/patches/backdrops/misc/pro/Fingerprints.kt | 1 + .../revanced/patches/backdrops/misc/pro/ProUnlockPatch.kt | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/Fingerprints.kt index bbe71e8c7..f8b146622 100644 --- a/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/Fingerprints.kt @@ -3,6 +3,7 @@ package app.revanced.patches.backdrops.misc.pro import app.revanced.patcher.fingerprint import com.android.tools.smali.dexlib2.Opcode +@Deprecated("Fingerprint no longer resolves and will soon be deleted.") internal val proUnlockFingerprint = fingerprint { opcodes( Opcode.INVOKE_VIRTUAL, diff --git a/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/ProUnlockPatch.kt b/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/ProUnlockPatch.kt index 70bbcd9fd..0516e1eb7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/ProUnlockPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/backdrops/misc/pro/ProUnlockPatch.kt @@ -6,9 +6,8 @@ import app.revanced.patcher.patch.bytecodePatch import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @Suppress("unused") -val proUnlockPatch = bytecodePatch( - name = "Pro unlock", -) { +@Deprecated("This patch no longer works and will soon be deleted.") +val proUnlockPatch = bytecodePatch{ compatibleWith("com.backdrops.wallpapers") execute { From d6166520582edb71b41d2757572e27c31ce7f100 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 9 Aug 2025 01:31:11 +0000 Subject: [PATCH 07/45] chore: Release v5.34.0-dev.2 [skip ci] # [5.34.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.1...v5.34.0-dev.2) (2025-08-09) ### Bug Fixes * **Backdrops:** Remove broken patch that is no longer supported ([#5627](https://github.com/ReVanced/revanced-patches/issues/5627)) ([c3e571e](https://github.com/ReVanced/revanced-patches/commit/c3e571e7655e4fc755457d24fb93abd1dc49b5e2)) ### Features * **YouTube - Playback speed:** Show current playback speed on player speed dialog button ([#5607](https://github.com/ReVanced/revanced-patches/issues/5607)) ([30176a3](https://github.com/ReVanced/revanced-patches/commit/30176a3318a2c1b1b411df26b7270fbc54d0bcc9)) --- CHANGELOG.md | 12 ++++++++++++ gradle.properties | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b228a800..ff9841a98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [5.34.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.1...v5.34.0-dev.2) (2025-08-09) + + +### Bug Fixes + +* **Backdrops:** Remove broken patch that is no longer supported ([#5627](https://github.com/ReVanced/revanced-patches/issues/5627)) ([ebb8332](https://github.com/ReVanced/revanced-patches/commit/ebb83320838aa99dd4417d45a50333dd42c1218a)) + + +### Features + +* **YouTube - Playback speed:** Show current playback speed on player speed dialog button ([#5607](https://github.com/ReVanced/revanced-patches/issues/5607)) ([279436a](https://github.com/ReVanced/revanced-patches/commit/279436a3657b50f98bb4cc64dc88dc14e422f204)) + # [5.34.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.33.0...v5.34.0-dev.1) (2025-08-08) diff --git a/gradle.properties b/gradle.properties index 27b81084c..f4652a423 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.1 +version = 5.34.0-dev.2 From b702dceda0ee66a119f4978d771dbac5116eaa8e Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 9 Aug 2025 11:04:07 -0400 Subject: [PATCH 08/45] fix(pixiv - Hide ads): Constrain patch to last working app target --- .../app/revanced/patches/pixiv/ads/HideAdsPatch.kt | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt index 29f63e9cf..4454895b1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/pixiv/ads/HideAdsPatch.kt @@ -1,21 +1,15 @@ package app.revanced.patches.pixiv.ads -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly @Suppress("unused") val hideAdsPatch = bytecodePatch( name = "Hide ads", ) { - compatibleWith("jp.pxv.android") + compatibleWith("jp.pxv.android"("6.141.1")) execute { - shouldShowAdsFingerprint.method.addInstructions( - 0, - """ - const/4 v0, 0x0 - return v0 - """, - ) + shouldShowAdsFingerprint.method.returnEarly(false) } } From b5eb13c0a8503c05a0542cb4cbfcd0d2122ee6d2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 9 Aug 2025 15:06:42 +0000 Subject: [PATCH 09/45] chore: Release v5.34.0-dev.3 [skip ci] # [5.34.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.2...v5.34.0-dev.3) (2025-08-09) ### Bug Fixes * **pixiv - Hide ads:** Constrain patch to last working app target ([b702dce](https://github.com/ReVanced/revanced-patches/commit/b702dceda0ee66a119f4978d771dbac5116eaa8e)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff9841a98..a0c1037bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.2...v5.34.0-dev.3) (2025-08-09) + + +### Bug Fixes + +* **pixiv - Hide ads:** Constrain patch to last working app target ([d8ea56c](https://github.com/ReVanced/revanced-patches/commit/d8ea56ca4be47df1c43f96ec41b91c800f1d9daf)) + # [5.34.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.1...v5.34.0-dev.2) (2025-08-09) diff --git a/gradle.properties b/gradle.properties index f4652a423..839849b6a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.2 +version = 5.34.0-dev.3 From ff4308e96154a8c6eceefed24b8baeb98cfc0108 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 9 Aug 2025 11:13:35 -0400 Subject: [PATCH 10/45] refactor(YouTube Music - Hide category bar): Fix possible crash when patching certain app targets --- .../patches/music/layout/compactheader/HideCategoryBar.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt index b0021b966..2128722e7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/HideCategoryBar.kt @@ -3,6 +3,7 @@ package app.revanced.patches.music.layout.compactheader import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.findFreeRegister import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @Suppress("unused") @@ -17,13 +18,14 @@ val hideCategoryBar = bytecodePatch( constructCategoryBarFingerprint.method.apply { val insertIndex = constructCategoryBarFingerprint.patternMatch!!.startIndex val register = getInstruction(insertIndex - 1).registerA + val freeRegister = findFreeRegister(insertIndex, register) addInstructions( insertIndex, """ - const/16 v2, 0x8 - invoke-virtual {v$register, v2}, Landroid/view/View;->setVisibility(I)V - """, + const/16 v$freeRegister, 0x8 + invoke-virtual { v$register, v$freeRegister }, Landroid/view/View;->setVisibility(I)V + """ ) } } From 61824ade2302af6f463b83a4b43d9de7240fccc3 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 10 Aug 2025 09:09:08 -0400 Subject: [PATCH 11/45] fix(YouTube - Hide layout components): Do not hide community posts on channel profiles (#5634) --- .../patches/components/LayoutComponentsFilter.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index 311e99163..6033f26fe 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -32,6 +32,7 @@ public final class LayoutComponentsFilter extends Filter { ); private final StringTrieSearch exceptions = new StringTrieSearch(); + private final StringFilterGroup communityPosts; private final StringFilterGroup surveys; private final StringFilterGroup notifyMe; private final StringFilterGroup singleItemInformationPanel; @@ -68,7 +69,7 @@ public final class LayoutComponentsFilter extends Filter { // Paths. - final var communityPosts = new StringFilterGroup( + communityPosts = new StringFilterGroup( Settings.HIDE_COMMUNITY_POSTS, "post_base_wrapper", // may be obsolete and no longer needed. "text_post_root.eml", @@ -325,6 +326,12 @@ public final class LayoutComponentsFilter extends Filter { return channelProfileBuffer.check(buffer).isFiltered(); } + if (matchedGroup == communityPosts && NavigationBar.isBackButtonVisible()) { + // Allow community posts on channel profile page, + // or if viewing an individual channel in the feed. + return false; + } + if (exceptions.matches(path)) return false; // Exceptions are not filtered. if (matchedGroup == compactChannelBarInner) { From 182829d51c0e643fe82797fdab3a75e663c842ef Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 10 Aug 2025 13:11:44 +0000 Subject: [PATCH 12/45] chore: Release v5.34.0-dev.4 [skip ci] # [5.34.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.3...v5.34.0-dev.4) (2025-08-10) ### Bug Fixes * **YouTube - Hide layout components:** Do not hide community posts on channel profiles ([#5634](https://github.com/ReVanced/revanced-patches/issues/5634)) ([61824ad](https://github.com/ReVanced/revanced-patches/commit/61824ade2302af6f463b83a4b43d9de7240fccc3)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0c1037bb..902d9a25d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.3...v5.34.0-dev.4) (2025-08-10) + + +### Bug Fixes + +* **YouTube - Hide layout components:** Do not hide community posts on channel profiles ([#5634](https://github.com/ReVanced/revanced-patches/issues/5634)) ([9e3d5a2](https://github.com/ReVanced/revanced-patches/commit/9e3d5a2b36106479470f3f69920518b57e8c4dca)) + # [5.34.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.2...v5.34.0-dev.3) (2025-08-09) diff --git a/gradle.properties b/gradle.properties index 839849b6a..f2d55e961 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.3 +version = 5.34.0-dev.4 From 809e013c4e37bb17bdd751450b4f9958df3f1dec Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 10 Aug 2025 09:54:40 -0400 Subject: [PATCH 13/45] feat(YouTube - Hide player flyout menu items): Add option to hide quality flyout menu --- .../PlayerFlyoutMenuItemsFilter.java | 36 +++++++++---------- .../extension/youtube/settings/Settings.java | 1 + .../HidePlayerFlyoutMenuPatch.kt | 1 + .../resources/addresources/values/strings.xml | 3 ++ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java index fc2cc8099..2408ac81c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java @@ -3,7 +3,7 @@ package app.revanced.extension.youtube.patches.components; import app.revanced.extension.shared.settings.Setting; import app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch; import app.revanced.extension.youtube.settings.Settings; -import app.revanced.extension.youtube.shared.PlayerType; +import app.revanced.extension.youtube.shared.ShortsPlayerState; @SuppressWarnings("unused") public class PlayerFlyoutMenuItemsFilter extends Filter { @@ -20,17 +20,9 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { } private final ByteArrayFilterGroupList flyoutFilterGroupList = new ByteArrayFilterGroupList(); - - private final ByteArrayFilterGroup exception; private final StringFilterGroup videoQualityMenuFooter; public PlayerFlyoutMenuItemsFilter() { - exception = new ByteArrayFilterGroup( - // Whitelist Quality menu item when "Hide Additional settings menu" is enabled - Settings.HIDE_PLAYER_FLYOUT_ADDITIONAL_SETTINGS, - "quality_sheet" - ); - videoQualityMenuFooter = new StringFilterGroup( Settings.HIDE_PLAYER_FLYOUT_VIDEO_QUALITY_FOOTER, "quality_sheet_footer" @@ -44,11 +36,11 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { flyoutFilterGroupList.addAll( new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_CAPTIONS, - "closed_caption" + "closed_caption_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_ADDITIONAL_SETTINGS, - "yt_outline_gear" + "yt_outline_gear_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_LOOP_VIDEO, @@ -56,31 +48,31 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_AMBIENT_MODE, - "yt_outline_screen_light" + "yt_outline_screen_light_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_STABLE_VOLUME, - "volume_stable" + "volume_stable_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_HELP, - "yt_outline_question_circle" + "yt_outline_question_circle_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_MORE_INFO, - "yt_outline_info_circle" + "yt_outline_info_circle_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_LOCK_SCREEN, - "yt_outline_lock" + "yt_outline_lock_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_SPEED, - "yt_outline_play_arrow_half_circle" + "yt_outline_play_arrow_half_circle_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_AUDIO_TRACK, - "yt_outline_person_radar" + "yt_outline_person_radar_" ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_SLEEP_TIMER, @@ -88,7 +80,11 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { ), new ByteArrayFilterGroup( Settings.HIDE_PLAYER_FLYOUT_WATCH_IN_VR, - "yt_outline_vr" + "yt_outline_vr_" + ), + new ByteArrayFilterGroup( + Settings.HIDE_PLAYER_FLYOUT_VIDEO_QUALITY, + "yt_outline_adjust_" ) ); } @@ -105,7 +101,7 @@ public class PlayerFlyoutMenuItemsFilter extends Filter { } // Shorts also use this player flyout panel - if (PlayerType.getCurrent().isNoneOrHidden() || exception.check(buffer).isFiltered()) { + if (ShortsPlayerState.isOpen()) { return false; } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index d279287f0..1798b3b85 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -244,6 +244,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_PLAYER_FLYOUT_SPEED = new BooleanSetting("revanced_hide_player_flyout_speed", FALSE); public static final BooleanSetting HIDE_PLAYER_FLYOUT_STABLE_VOLUME = new BooleanSetting("revanced_hide_player_flyout_stable_volume", FALSE); public static final BooleanSetting HIDE_PLAYER_FLYOUT_VIDEO_QUALITY_FOOTER = new BooleanSetting("revanced_hide_player_flyout_video_quality_footer", FALSE); + public static final BooleanSetting HIDE_PLAYER_FLYOUT_VIDEO_QUALITY = new BooleanSetting("revanced_hide_player_flyout_video_quality", FALSE); public static final BooleanSetting HIDE_PLAYER_FLYOUT_WATCH_IN_VR = new BooleanSetting("revanced_hide_player_flyout_watch_in_vr", TRUE); // General layout diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt index 716540a4c..b18525c4c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/player/flyoutmenupanel/HidePlayerFlyoutMenuPatch.kt @@ -57,6 +57,7 @@ val hidePlayerFlyoutMenuPatch = bytecodePatch( ), SwitchPreference("revanced_hide_player_flyout_watch_in_vr"), SwitchPreference("revanced_hide_player_flyout_sleep_timer"), + SwitchPreference("revanced_hide_player_flyout_video_quality"), SwitchPreference("revanced_hide_player_flyout_video_quality_footer"), ), ), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 351d184ec..e4d8ad112 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -756,6 +756,9 @@ To show the Audio track menu, change \'Spoof video streams\' to iOS TV" Hide Watch in VR Watch in VR menu is hidden Watch in VR menu is shown + Hide video quality menu + Video quality menu is hidden + Video quality menu is shown Hide video quality menu footer Video quality menu footer is hidden Video quality menu footer is shown From 6499318f335ccfd8551ab4e04e103773561b1391 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 10 Aug 2025 13:57:25 +0000 Subject: [PATCH 14/45] chore: Release v5.34.0-dev.5 [skip ci] # [5.34.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.4...v5.34.0-dev.5) (2025-08-10) ### Features * **YouTube - Hide player flyout menu items:** Add option to hide quality flyout menu ([809e013](https://github.com/ReVanced/revanced-patches/commit/809e013c4e37bb17bdd751450b4f9958df3f1dec)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 902d9a25d..e6b8edc72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.4...v5.34.0-dev.5) (2025-08-10) + + +### Features + +* **YouTube - Hide player flyout menu items:** Add option to hide quality flyout menu ([eb55068](https://github.com/ReVanced/revanced-patches/commit/eb5506856a2eaf2a8585e598868ddba3e1429159)) + # [5.34.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.3...v5.34.0-dev.4) (2025-08-10) diff --git a/gradle.properties b/gradle.properties index f2d55e961..15972069a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.4 +version = 5.34.0-dev.5 From 83f239065a4931a671a14a188d25950d13e25d01 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 10 Aug 2025 21:13:31 -0400 Subject: [PATCH 15/45] chore: Sync translations (#5637) --- .../addresources/values-af-rZA/strings.xml | 2 +- .../addresources/values-am-rET/strings.xml | 2 +- .../addresources/values-ar-rSA/strings.xml | 5 ++- .../addresources/values-as-rIN/strings.xml | 2 +- .../addresources/values-az-rAZ/strings.xml | 5 ++- .../addresources/values-be-rBY/strings.xml | 5 ++- .../addresources/values-bg-rBG/strings.xml | 5 ++- .../addresources/values-bn-rBD/strings.xml | 5 ++- .../addresources/values-bs-rBA/strings.xml | 2 +- .../addresources/values-ca-rES/strings.xml | 2 +- .../addresources/values-cs-rCZ/strings.xml | 5 ++- .../addresources/values-da-rDK/strings.xml | 5 ++- .../addresources/values-de-rDE/strings.xml | 5 ++- .../addresources/values-el-rGR/strings.xml | 5 ++- .../addresources/values-es-rES/strings.xml | 5 ++- .../addresources/values-et-rEE/strings.xml | 5 ++- .../addresources/values-eu-rES/strings.xml | 2 +- .../addresources/values-fa-rIR/strings.xml | 2 +- .../addresources/values-fi-rFI/strings.xml | 2 +- .../addresources/values-fil-rPH/strings.xml | 5 ++- .../addresources/values-fr-rFR/strings.xml | 5 ++- .../addresources/values-ga-rIE/strings.xml | 5 ++- .../addresources/values-gl-rES/strings.xml | 2 +- .../addresources/values-gu-rIN/strings.xml | 2 +- .../addresources/values-hi-rIN/strings.xml | 2 +- .../addresources/values-hr-rHR/strings.xml | 2 +- .../addresources/values-hu-rHU/strings.xml | 5 ++- .../addresources/values-hy-rAM/strings.xml | 5 ++- .../addresources/values-in-rID/strings.xml | 5 ++- .../addresources/values-is-rIS/strings.xml | 2 +- .../addresources/values-it-rIT/strings.xml | 5 ++- .../addresources/values-iw-rIL/strings.xml | 5 ++- .../addresources/values-ja-rJP/strings.xml | 39 ++++++++++--------- .../addresources/values-ka-rGE/strings.xml | 2 +- .../addresources/values-kk-rKZ/strings.xml | 2 +- .../addresources/values-km-rKH/strings.xml | 2 +- .../addresources/values-kn-rIN/strings.xml | 2 +- .../addresources/values-ko-rKR/strings.xml | 5 ++- .../addresources/values-ky-rKG/strings.xml | 2 +- .../addresources/values-lo-rLA/strings.xml | 2 +- .../addresources/values-lt-rLT/strings.xml | 5 ++- .../addresources/values-lv-rLV/strings.xml | 5 ++- .../addresources/values-mk-rMK/strings.xml | 2 +- .../addresources/values-ml-rIN/strings.xml | 2 +- .../addresources/values-mn-rMN/strings.xml | 2 +- .../addresources/values-mr-rIN/strings.xml | 2 +- .../addresources/values-ms-rMY/strings.xml | 2 +- .../addresources/values-my-rMM/strings.xml | 2 +- .../addresources/values-nb-rNO/strings.xml | 2 +- .../addresources/values-ne-rIN/strings.xml | 2 +- .../addresources/values-nl-rNL/strings.xml | 5 ++- .../addresources/values-or-rIN/strings.xml | 2 +- .../addresources/values-pa-rIN/strings.xml | 2 +- .../addresources/values-pl-rPL/strings.xml | 5 ++- .../addresources/values-pt-rBR/strings.xml | 5 ++- .../addresources/values-pt-rPT/strings.xml | 5 ++- .../addresources/values-ro-rRO/strings.xml | 5 ++- .../addresources/values-ru-rRU/strings.xml | 5 ++- .../addresources/values-si-rLK/strings.xml | 2 +- .../addresources/values-sk-rSK/strings.xml | 5 ++- .../addresources/values-sl-rSI/strings.xml | 5 ++- .../addresources/values-sq-rAL/strings.xml | 5 ++- .../addresources/values-sr-rCS/strings.xml | 5 ++- .../addresources/values-sr-rSP/strings.xml | 5 ++- .../addresources/values-sv-rSE/strings.xml | 5 ++- .../addresources/values-sw-rKE/strings.xml | 2 +- .../addresources/values-ta-rIN/strings.xml | 2 +- .../addresources/values-te-rIN/strings.xml | 2 +- .../addresources/values-th-rTH/strings.xml | 5 ++- .../addresources/values-tr-rTR/strings.xml | 5 ++- .../addresources/values-uk-rUA/strings.xml | 5 ++- .../addresources/values-ur-rIN/strings.xml | 2 +- .../addresources/values-uz-rUZ/strings.xml | 2 +- .../addresources/values-vi-rVN/strings.xml | 19 +++++---- .../addresources/values-zh-rCN/strings.xml | 5 ++- .../addresources/values-zh-rTW/strings.xml | 2 +- .../addresources/values-zu-rZA/strings.xml | 2 +- 77 files changed, 221 insertions(+), 101 deletions(-) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index ba26d65f8..37a7854c9 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" إخفاء المشاهدة في VR تم إخفاء قائمة المشاهدة في الوضع الافتراضي يتم عرض قائمة المشاهدة في الوضع الافتراضي + إخفاء قائمة جودة الفيديو + قائمة جودة الفيديو مخفية + قائمة جودة الفيديو معروضة إخفاء تذييل قائمة جودة الفيديو تم إخفاء تذييل قائمة جودة الفيديو يتم عرض تذييل قائمة جودة الفيديو @@ -1465,7 +1468,7 @@ Second \"item\" text" الزر معروض. انقر مع الاستمرار لإعادة ضبط سرعة التشغيل إلى الوضع الافتراضي لا يتم عرض الزر - + عرض زر جودة الفيديو الزر معروض. انقر مع الاستمرار لإعادة تعيين الجودة إلى الافتراضي الزر غير معروض diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index cc515ffae..1ab6defd3 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -224,7 +224,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index c6e99b119..e613308f5 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -693,6 +693,9 @@ Audio trek seçimin göstərmək üçün \"Video axınları saxtalaşdır\"ı iO \"VR-da İzləni\" gizlət VR menyusunda izləmə gizlidir VR menyusunda izləmə göstərilir + Video keyfiyyət menyusunu gizlət + Video keyfiyyət menyusu gizlidir + Video keyfiyyət menyusu görünür Video keyfiyyət menyusu alt məlumatını gizlət Video keyfiyyət menyusu alt məlumatı gizlidir Video keyfiyyət menyusu alt məlumatı göstərilir @@ -1464,7 +1467,7 @@ Bunu aktivləşdirmə daha yüksək video keyfiyyətləri əngəlin silə bilər Düymə göstərilir. Oynatma sürətin standart olaraq qaytarmaq üçün toxunub saxla Düymə göstərilmir - + Video keyfiyyəti düyməsini göstər Düymə görünür. Keyfiyyəti ilkin vəziyyətinə qaytarmaq üçün toxunub saxlayın Düymə görünmür diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index c1a1c8bb1..3c4c70738 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" Схаваць гадзіннік у VR Меню прагляду ў VR схавана Паказана меню \"Глядзець у VR\" + Схаваць меню якасці відэа + Меню якасці відэа схавана + Меню якасці відэа паказана Схаваць калонтытул меню якасці відэа Ніжні калонтытул меню якасці відэа схаваны Паказваецца ніжні калонтытул меню якасці відэа @@ -1466,7 +1469,7 @@ Second \"item\" text" Кнопка паказана. Націсніце і ўтрымлівайце, каб скінуць хуткасць прайгравання да стандартнай Кнопка не паказваецца - + Паказаць кнопку якасці відэа Кнопка паказана. Націсніце і ўтрымлівайце, каб скінуць якасць да па змаўчанні Кнопка не паказваецца diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index f49cc4365..dde08eb2c 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" Гледайте във VR Менюто за гледане в VR е скрито Менюто за гледане в VR се показва + Скриване на менюто за качество на видеото + Менюто за качество на видеото е скрито + Менюто за качество на видеото е показано Скриване на футъра на менюто за качество на видеото Долният колонтитул на менюто за качество на видеото е скрит Долният колонтитул на менюто за качество на видеото се показва @@ -1465,7 +1468,7 @@ Second \"item\" text" Бутонът е показан. Докоснете и задръжте, за да върнете скоростта на възпроизвеждане към стойността по подразбиране Бутонът не е показан - + Покажи бутона за качество на видеото Бутонът е показан. Докоснете и задръжте, за да възстановите качеството до подразбиране Бутонът не е показан diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index bfce746b8..6bfa36104 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -689,6 +689,9 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ ভিআর-এ ঘড়ি লুকান ভিআর মেনুতে দেখুন লুকানো আছে ভিআর মেনুতে দেখুন দেখানো হয়েছে + ভিডিও গুণমান মেনু লুকান + ভিডিও মানের মেনু লুকানো আছে + ভিডিও মানের মেনু দেখানো হয়েছে ভিডিও গুণমান মেনুর ফুটার লুকান ভিডিও গুণমান মেনু ফুটার লুকানো আছে ভিডিও গুণমান মেনু ফুটার দেখানো হচ্ছে @@ -1461,7 +1464,7 @@ DeArrow সম্পর্কে আরও জানতে এখানে ট বোতামটি দেখানো হয়েছে। প্লেব্যাক স্পীড ডিফল্টে রিসেট করতে ট্যাপ করে ধরে রাখুন। বোতাম প্রদর্শিত হয়নি - + ভিডিও গুণমান বোতাম দেখান বোতামটি দেখানো হয়েছে। গুণমান ডিফল্টে রিসেট করতে ট্যাপ করে ধরে রাখুন। বোতামটি দেখানো হয়নি। diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index c74ddf9cf..f9aeb930f 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -693,6 +693,9 @@ Chcete-li zobrazit nabídku zvukové stopy, změňte možnost „Zfalšovat stre Skrýt Sledovat ve VR Menu Sledovat ve VR je skryto Menu Sledovat ve VR je zobrazeno + Skrýt nabídku kvality videa + Nabídka kvality videa je skryta + Nabídka kvality videa je zobrazena Skrýt zápatí menu kvality videa Zápatí menu kvality videa je skryto Zápatí menu kvality videa je zobrazeno @@ -1465,7 +1468,7 @@ Povolením této funkce lze odemknout vyšší kvality videa" Tlačítko je zobrazeno. Klepnutím a podržením obnovíte výchozí rychlost přehrávání Tlačítko se nezobrazuje - + Zobrazit tlačítko kvality videa Tlačítko je zobrazeno. Klepnutím a podržením obnovíte kvalitu na výchozí Tlačítko není zobrazeno. diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 2cba9544f..a173f6bb4 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -693,6 +693,9 @@ For at vise lydspormenuen skal du ændre \"Spoof videostream\" til iOS TV"Skjul vagt i VR Se i VR-menuen er skjult Se i VR-menuen vises + Skjul menu for videokvalitet + Videokvalitetsmenuen er skjult + Videokvalitetsmenuen vises Skjul sidefod til videokvalitet Videokvalitetsmenuens sidefod er skjult Videokvalitet menu footer er vist @@ -1467,7 +1470,7 @@ Aktivering af dette kan låse op for højere videokvalitet" Knappen vises. Tryk og hold for at nulstille afspilningshastigheden til standard. Knap vises ikke - + Vis videokvalitetsknap Knap vises. Tryk og hold nede for at nulstille kvaliteten til standard Knappen vises ikke diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index 698cccf97..016ad9a85 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -688,6 +688,9 @@ Um das Audiotrack-Menü anzuzeigen, ändere \"Video-Streams fälschen\" zu iOS T Überwachung in VR ausblenden Im VR-Menü beobachten ist ausgeblendet Im VR-Menü beobachten wird angezeigt + Videoqualitätsmenü ausblenden + Videomenü ist ausgeblendet + Videomenü ist sichtbar Videoqualitätsmenüfußzeile ausblenden Video-Qualität Menü-Fußzeile ist ausgeblendet Video-Qualität Menü-Fußzeile wird angezeigt @@ -1460,7 +1463,7 @@ Durch Aktivieren dieser Option können höhere Videoqualitäten freigeschaltet w Die Schaltfläche wird angezeigt. Tippen und halten, um die Wiedergabegeschwindigkeit auf die Standardeinstellung zurückzusetzen. Button wird nicht angezeigt - + Videoqualität-Schaltfläche anzeigen Schaltfläche wird angezeigt. Tippen und halten, um die Qualität auf Standard zurückzusetzen Schaltfläche wird nicht angezeigt diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 1d8a2729b..541fb6345 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -695,6 +695,9 @@ Second \"item\" text" Μενού «Προβολή σε VR» Κρυμμένο Εμφανίζεται + Μενού «Ποιότητα» + Κρυμμένο + Εμφανίζεται Οδηγίες του μενού ποιότητας βίντεο Κρυμμένες Εμφανίζονται @@ -1464,7 +1467,7 @@ Second \"item\" text" Το κουμπί εμφανίζεται. Πατήστε παρατεταμένα για επαναφορά της ταχύτητας αναπαραγωγής στην προεπιλογή Το κουμπί δεν εμφανίζεται - + Εμφάνιση κουμπιού αλλαγής ποιότητας βίντεο Το κουμπί εμφανίζεται. Πατήστε παρατεταμένα για επαναφορά της ποιότητας στην προεπιλογή Το κουμπί δεν εμφανίζεται diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index e54453127..641191764 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -693,6 +693,9 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de Ocultar reloj en VR Ver en el menú VR está oculto Ver en el menú VR se muestra + Ocultar menú de calidad de vídeo + El menú de calidad de video está oculto + El menú de calidad de video está visible Ocultar pie de página del menú de calidad de vídeo Pie de menú de calidad de vídeo oculto El pie del menú de calidad de vídeo se muestra @@ -1456,7 +1459,7 @@ Habilitar esto puede desbloquear calidades de vídeo más altas" Se muestra el botón. Mantén pulsado para restablecer la velocidad de reproducción predeterminada El botón no se muestra - + Mostrar botón de calidad de video Botón visible. Toca y mantén para restablecer la calidad a los valores predeterminados Botón no visible diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 720e43dd9..6c9a7410b 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -693,6 +693,9 @@ Heliriba menüü kuvamiseks muutke valikut „Võltsitud videovoogedastus“ vä Peida Vaata VR-is Vaata VR-is menüü on peidetud Vaata VR-is menüü on nähtav + Peida videokvaliteedi menüü + Videokvaliteedi menüü on peidetud + Videokvaliteedi menüü on nähtav Peida video kvaliteedi menüü jalg Video kvaliteedi menüü jalg on peidetud Video kvaliteedi menüü jalg on nähtav @@ -1465,7 +1468,7 @@ Selle lubamine võib avada kõrgema video kvaliteedi" Nupp on nähtaval. Puudutage ja hoidke all, et taastada taasesituse kiirus vaikeväärtusele Nuppi ei kuvata - + Näita video kvaliteedi nuppu Nupp on nähtaval. Kvaliteedi lähtestamiseks vaikeseadeteks puudutage ja hoidke Nuppu ei kuvata diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index f95959ae4..02fce0932 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -272,7 +272,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index fbd4cef6a..6c6146eb3 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -1465,7 +1465,7 @@ Tämä voi avata korkealaatuisemmat videot" Painike näytetään. Napauta ja pidä pohjassa palauttaaksesi soiton nopeuden oletukseksi Painiketta ei näytetä - + Näytä videolaatupainike Painike näkyy. Paina pitkään palauttaaksesi laadun oletukseksi Painiketta ei näytetä diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index b770c938a..3a5f0a218 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -691,6 +691,9 @@ Upang ipakita ang menu ng Audio track, baguhin ang 'Spoof video streams' sa iOS Itago ang Panoorin sa VR Nakatago ang panonood sa VR menu Ang panonood sa VR menu ay ipinapakita + Itago ang menu ng kalidad ng video + Nakatago ang menu ng kalidad ng video + Ipinapakita ang menu ng kalidad ng video Itago ang footer ng menu ng kalidad ng video Nakatago ang footer ng menu ng kalidad ng video Ang footer ng menu ng kalidad ng video ay ipinapakita @@ -1463,7 +1466,7 @@ Ang pagpapagana nito ay maaaring magbukas ng mas mataas na kalidad ng video"Ipinapakita ang button. I-tap at i-hold para i-reset ang bilis ng pag-playback sa default Hindi ipinapakita ang button - + Ipakita ang button ng kalidad ng video Nakalabas ang button. Pindutin nang matagal para ibalik sa default ang kalidad Hindi ipinapakita ang buton diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index c8b02bf0f..bd5f8cdc5 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -693,6 +693,9 @@ Pour afficher le menu Piste audio, définissez \"Falsifier les flux vidéo\" sur Masquer \"Regarder en RV\" Le menu Regarder en RV est masqué Le menu Regarder en RV est affiché + Masquer le menu de qualité vidéo + Le menu de qualité vidéo est masqué + Le menu de qualité vidéo est affiché Masquer le pied de page du menu de qualité vidéo Le pied de page du menu de qualité vidéo est masqué Le pied de page du menu de qualité vidéo est affiché @@ -1466,7 +1469,7 @@ Activer cette option peut déverrouiller des qualités vidéo supérieures"Le bouton est affiché. Appuyez longuement dessus pour rétablir la vitesse de lecture par défaut. Le bouton n\'est pas affiché - + Afficher le bouton de qualité vidéo Le bouton est affiché. Appuyez longuement pour rétablir la qualité par défaut. Le bouton n\'est pas affiché diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 9a4fe8f46..1c7c57b40 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -693,6 +693,9 @@ Chun roghchlár na rian fuaime a thaispeáint, athraigh 'Srutháin físeáin bhr Folaigh Watch i VR Tá faire i roghchlár VR i bhfolach Taispeántar an faire sa roghchlár VR + Folaigh roghchlár cáilíocht físe + Tá roghchlár cháilíocht na físeáin i bhfolach + Tá roghchlár cháilíocht na físeáin ar taispeáint Folaigh buntásc roghchlár cáilíochta físe Tá buntásc an roghchláir cáilíochta físeáin folaithe Taispeántar buntásc roghchlár cáilíochta físeáin @@ -1465,7 +1468,7 @@ Is féidir le seo caighdeáin físeáin níos airde a dhíghlasáil" Taispeántar an cnaipe. Tapáil agus coinnigh chun luas athsheinm a athshocrú go réamhshocrú Ní thaispeántar an cnaipe - + Taispeáin cnaipe cáilíochta físeáin Tá cnaipe le feiceáil. Tapáil agus coinnigh chun cáilíocht a athshocrú mar réamhshocrú Níl cnaipe le feiceáil diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 47ec578cb..20bcb7772 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -693,6 +693,9 @@ Az audiosáv menü megjelenítéséhez módosítsa a \"Videófolyamok hamisítá \"Megtekintés VR-módban\" elrejtése A megtekintés VR-módban menü el van rejtve A „Megtekintés VR-módban” menü megjelenik + Videóminőség menü elrejtése + A videóminőség menü elrejtve + A videóminőség menü megjelenítve A videóminőség menü láblécének elrejtése A videóminőség menü lábléce el van rejtve Megjelenik a videóminőség menü lábléce @@ -1462,7 +1465,7 @@ Ez a beállítás lehetővé teszi a magasabb videóminőségek feloldását"A gomb látható. Tartsa lenyomva a lejátszási sebesség alapértelmezettre állításához A gomb nem látható - + Videóminőség gomb megjelenítése A gomb látható. Tartsa lenyomva a minőséget az alapértelmezettre visszaállításához A gomb nem látható diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index fa43eddd7..e1991be17 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -693,6 +693,9 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Դիտել VR-ով թաքցնել VR-ով դիտել մենյուը թաքցված է VR-ով դիտել մենյուը երևում է + Թաքցնել տեսանյութի որակի ընտրացանկը + Տեսանյութի որակի ընտրացանկը թաքնված է + Տեսանյութի որակի ընտրացանկը ցուցադրված է Տեսանյութի որակի մենյուի ստորագրությունը թաքցնել Տեսանյութի որակի մենյուի ստորագրությունը թաքցված է Տեսանյութի որակի մենյուի ստորագրությունը երևում է @@ -1466,7 +1469,7 @@ Mini-player-ը կարող է գրավվել էկրանից դուրս՝ դեպի Կոճակը ցուցադրվում է: Հպեք և պահեք՝ նվագարկման արագությունը լռելյայնի վերականգնելու համար Կոճակը չի ցուցադրվում - + Ցուցադրել տեսանյութի որակի կոճակը Կոճակը ցուցադրված է։ Հպեք և պահեք՝ որակը լռելյայնին վերականգնելու համար Կոճակը ցուցադրված չէ։ diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 5f873731c..227c59a23 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -693,6 +693,9 @@ Untuk menampilkan menu trek Audio, ubah 'Spoof aliran video' ke iOS TV" Sembunyikan Tonton di VR Menu tonton di VR disembunyikan Menu tonton di VR ditampilkan + Sembunyikan menu kualitas video + Menu kualitas video disembunyikan + Menu kualitas video ditampilkan Sembunyikan footer menu kualitas video Footer menu kualitas video disembunyikan Footer menu kualitas video ditampilkan @@ -1464,7 +1467,7 @@ Mengaktifkan ini dapat membuka kualitas video yang lebih tinggi" Tombol ditampilkan. Ketuk dan tahan untuk mengatur ulang kecepatan pemutaran ke bawaan Tombol tidak ditampilkan - + Tampilkan tombol kualitas video Tombol ditampilkan. Ketuk dan tahan untuk mengatur ulang kualitas ke bawaan Tombol tidak ditampilkan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index acea8edd9..10c742841 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -693,6 +693,9 @@ Per mostrare il menu della traccia audio, cambia \"Spoof video streams\" in iOS Nascondi Guarda in VR Il menu Guarda in VR è nascosto Il menu Guarda in VR è visibile + Nascondi menu qualità video + Il menu della qualità video è nascosto + Il menu della qualità video è visualizzato Nascondi piè di pagina del menu qualità video Il piè di pagina del menu di qualità video è nascosto Il piè di pagina del menu di qualità video è visibile @@ -1464,7 +1467,7 @@ Abilitare questa opzione può sbloccare qualità video più elevate" Il pulsante è visualizzato. Tieni premuto per ripristinare la velocità di riproduzione predefinita Il pulsante non è visibile - + Mostra il pulsante qualità video Il pulsante è visualizzato. Tocca e tieni premuto per ripristinare la qualità predefinita Il pulsante non è visibile. diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index dffb5d340..a408e329f 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" הסתר \'צפה ב-VR\' תפריט \'צפה ב-VR\' מוסתר תפריט \'צפה ב-VR\' מוצג + הסתר תפריט איכות וידאו + תפריט איכות הסרטון מוסתר + תפריט איכות הסרטון מוצג הסתר כותרת תחתונה של תפריט איכות סרטון כותרת תחתונה של תפריט איכות סרטון מוסתרת כותרת תחתונה של תפריט איכות סרטון מוצגת @@ -1467,7 +1470,7 @@ Second \"item\" text" הלחצן מוצג. יש להקיש ולהחזיק כדי לאפס את מהירות ההפעלה לברירת מחדל הלחצן אינו מוצג - + הצג כפתור איכות וידאו הלחצן מוצג. גע והחזק כדי לאפס את האיכות לברירת מחדל הלחצן אינו מוצג diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index b63de5e2e..6698f4070 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -347,15 +347,15 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に タイムスタンプ ボタンを非表示 タイムスタンプ ボタンは表示されません タイムスタンプ ボタンは表示されます - カスタムフィルタ - カスタムフィルタを使用してコンポーネントを非表示にします - カスタムフィルタを有効化 - カスタムフィルタは有効です - カスタムフィルタは無効です - カスタムフィルタ + カスタム フィルタ + カスタム フィルタを使用してコンポーネントを非表示にします + カスタム フィルタを有効化 + カスタム フィルタは有効です + カスタム フィルタは無効です + カスタム フィルタ - 非表示にしたい component の path builder string を改行区切りで入力します - 無効なカスタムフィルタ: %s + 非表示にするコンポーネントの path builder string のリスト (改行区切り) + 無効なカスタム フィルタ: %s キーワードでコンテンツを非表示 キーワード フィルタを使用してフィード、検索結果に表示される動画を非表示にします ホームの動画をキーワードで非表示 @@ -619,17 +619,17 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 通知ボタンは表示されます 「作成」と「通知」を入れ替え - "作成ボタンと通知ボタンを入れ替えます + "作成ボタンと通知ボタンが入れ替わります 注: これにより、動画広告も強制的に非表示になります" - 作成ボタンと通知ボタンを入れ替えます\n\n注: これにより、動画広告も強制的に非表示になります + 作成ボタンと通知ボタンは入れ替わりません "この設定を無効にすると、ショート動画の広告ブロックも無効になります。 この設定を変更しても効果がない場合は、シークレット モードに切り替えてみてください。" ボタンをアイコンのみで表示 ナビゲーション ボタンはアイコンのみで表示されます ナビゲーション ボタンはアイコンと文字で表示されます - ステータスバーの半透明化を無効にする + ステータスバーの半透明化を無効化 ステータスバーは常に透けません ステータスバーは状況に応じて透けます 一部のデバイスでは、この機能を有効にすると、システムのナビゲーション バーが半透明になりアプリ内のコンポーネントに重なってしまう可能性があります。 @@ -695,6 +695,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「VR で見る」を非表示 「VR で見る」は表示されません 「VR で見る」は表示されます + 画質のメニューを非表示にする + 画質メニューは非表示です + 画質メニューは表示されます 画質設定メニューの脚注を非表示 画質設定メニューの脚注は表示されません 画質設定メニューの脚注は表示されます @@ -1190,15 +1193,15 @@ Automotive レイアウト • フィードがトピックやチャンネルごとに分類された形で表示される" - アプリのバージョンを偽装する + アプリのバージョンを偽装 アプリのバージョンは偽装されています アプリのバージョンは偽装されていません "アプリのバージョンを YouTube の古いバージョンに偽装します。 アプリの外観と機能が変化しますが、予期せぬ副作用が発生する可能性があります。 -再び無効にする場合には、UI のバグを防ぐためにアプリデータを消去することをお勧めします。" - アプリバージョン +再び偽装を無効にする場合は、UI のバグを防ぐためにアプリデータを消去することをお勧めします。" + アプリバージョンの偽装先 19.35.36 - 古いショート プレーヤーのアイコンを復元 19.01.34 - 古いナビゲーション アイコンを復元 @@ -1229,10 +1232,10 @@ Automotive レイアウト 後で見る 自分のクリップ スタート画面の変更を常時適用 - "スタート画面の変更は、常時適用されます + "スタート画面の変更は常時適用されます 制限事項: ツールバーの [戻る] ボタンが機能しない可能性があります" - スタート画面の変更は、アプリ起動時にのみ適用されます + スタート画面の変更はアプリの起動時にのみ適用されます ショート プレーヤーの再開を無効化 @@ -1301,7 +1304,7 @@ Automotive レイアウト ミニプレーヤー: 透明度の範囲は 0-100 です - グラデーションの読み込み画面を使用する + グラデーションの読み込み画面を有効化 画面読み込み時にグラデーションの背景が表示されます 画面読み込み時に通常の背景が表示されます スプラッシュ画面のスタイル @@ -1465,7 +1468,7 @@ Automotive レイアウト ボタンがオーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます ボタンはオーバーレイに表示されません - + 画質設定ボタンを表示 ボタンがオーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます ボタンはオーバーレイに表示されません diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index b02eb2746..fae118e0c 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -237,7 +237,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index b00e3ac5d..ee891948a 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -692,6 +692,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 VR로 보기 메뉴 숨기기 VR로 보기 메뉴가 숨겨집니다 VR로 보기 메뉴가 표시됩니다 + 동영상 화질 메뉴 숨기기 + 동영상 화질 메뉴가 숨겨집니다 + 동영상 화질 메뉴가 표시됩니다 화질 설정 메뉴에서 하단 설명 숨기기 화질 설정 메뉴에서 하단 설명이 숨겨집니다 화질 설정 메뉴에서 하단 설명이 표시됩니다 @@ -1472,7 +1475,7 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" 버튼을 표시합니다\n\n• 버튼을 길게 누르면 동영상 재생 속도가 기본값으로 초기화됩니다 버튼을 표시하지 않습니다 - + 동영상 화질 버튼 표시하기 버튼을 표시합니다\n\n• 버튼을 길게 누르면 화질이 기본값으로 초기화됩니다 버튼을 표시하지 않습니다 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 20e2d8801..9c1cb254f 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -691,6 +691,9 @@ Jei pakeitus šį nustatymą neįsigalioja, pabandykite perjungti į inkognito r Slėpti Žiūrėti VR Žiūrėti VR meniu yra paslėptas Žiūrėti VR meniu yra rodomas + Slėpti vaizdo kokybės meniu + Vaizdo kokybės meniu yra paslėptas + Vaizdo kokybės meniu yra rodomas Slėpti vaizdo kokybės meniu apatinę juostą Vaizdo kokybės meniu apatinė juosta yra paslėpta Vaizdo kokybės meniu apatinė juosta yra rodoma @@ -1464,7 +1467,7 @@ Gali būti atrakinta aukštesnės vaizdo įrašų kokybės, bet galite patirti v Mygtukas rodomas. Palieskite ir palaikykite, kad atkūrimo greitį nustatytumėte į numatytąjį. Mygtukas nerodomas - + Rodyti vaizdo kokybės mygtuką Mygtukas rodomas. Palaikykite nuspaudę, kad atstatytumėte kokybę į numatytąją Mygtukas nerodomas diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index a9189360f..ce69c0499 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -693,6 +693,9 @@ Lai parādītu audio celiņu izvēlni, mainiet \"Video straumju viltošana\" uz Paslēpt Skatīties VR Skatīties VR izvēlne ir paslēpta Skatīties VR izvēlne ir redzama + Paslēpt video kvalitātes izvēlni + Video kvalitātes izvēlne ir paslēpta + Video kvalitātes izvēlne ir redzama Paslēpt video kvalitātes izvēlnes apakšējo daļu Video kvalitātes izvēlnes apakšējā daļa ir paslēpta Video kvalitātes izvēlnes apakšējā daļa ir redzama @@ -1466,7 +1469,7 @@ Var tikt atbloķētas augstākas video kvalitātes, taču var rasties video atsk Poga ir redzama. Pieskarieties un turiet, lai atiestatītu atskaņošanas ātrumu uz noklusējuma Poga netiek rādīta - + Rādīt video kvalitātes pogu Poga tiek rādīta. Pieskarieties un turiet, lai atiestatītu kvalitāti uz noklusējuma Poga netiek rādīta diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 8a05db94e..6488e0feb 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -223,7 +223,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 8289dca4e..ba62f0b47 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -224,7 +224,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index 43ddc32b8..4b785acd7 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -693,6 +693,9 @@ Om het audiotrackmenu weer te geven, wijzigt u 'Videostreams vervalsen' in iOS T Verberg Bekijk in VR Menu Bekijk in VR is verborgen Menu Bekijk in VR wordt weergegeven + Videokwaliteitsmenu verbergen + Videokwaliteitsmenu is verborgen + Videokwaliteitsmenu is zichtbaar Verberg voettekst van video-kwaliteitsmenu Voettekst van video-kwaliteitsmenu is verborgen Voettekst van video-kwaliteitsmenu wordt weergegeven @@ -1463,7 +1466,7 @@ Het inschakelen hiervan kan hogere videokwaliteiten ontgrendelen" De knop wordt weergegeven. Tik en houd vast om de afspeelsnelheid terug te zetten naar de standaardwaarde Knop wordt niet weergegeven - + Toon videokwaliteitknop Knop wordt weergegeven. Tik en houd vast om de kwaliteit terug te zetten naar standaard Knop wordt niet weergegeven diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 76e5de4ac..3b6828b3c 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -689,6 +689,9 @@ Aby pokazać menu ścieżki audio, zmień opcję „Fałszuj strumienie wideo” Menu oglądania w VR Menu oglądania w VR jest ukryte Menu oglądania w VR jest widoczne + Ukryj menu jakości wideo + Menu jakości wideo jest ukryte + Menu jakości wideo jest wyświetlane Opis menu jakości filmu Opis menu jakości filmu jest ukryty Opis menu jakości filmu jest widoczny @@ -1461,7 +1464,7 @@ Włączenie tego może odblokować wyższe jakości wideo" Przycisk jest widoczny. Dotknij i przytrzymaj, aby zresetować prędkość odtwarzania do domyślnej Przycisk nie jest widoczny - + Pokaż przycisk jakości wideo Przycisk jest widoczny. Dotknij i przytrzymaj, aby zresetować jakość do wartości domyślnych Przycisk nie jest widoczny diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index ecaebb0ab..a5f95073f 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -693,6 +693,9 @@ Para exibir o menu da faixa de áudio, altere \"Spoof video streams\" para iOS T Ocultar Assistir no VR Menu assistir no VR está oculto Menu assistir no VR não está oculto + Esconder menu de qualidade de vídeo + O menu de qualidade de vídeo está oculto + O menu de qualidade de vídeo é exibido Ocultar rodapé do menu de qualidade de vídeo O rodapé do menu de qualidade de vídeo está oculto Rodapé do menu de qualidade de vídeo não está ocultos @@ -1464,7 +1467,7 @@ Habilitar isso pode desbloquear qualidades de vídeo mais altas" O botão é exibido. Toque e mantenha pressionado para redefinir a velocidade de reprodução para o padrão Botão não está visível - + Mostrar botão de qualidade de vídeo O botão é exibido. Toque e segure para redefinir a qualidade para o padrão O botão não é exibido diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index e8a9d139a..67e14fa58 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -693,6 +693,9 @@ Para mostrar o menu da faixa de áudio, altere \"Spoof video streams\" para iOS Esconder relógio no VR Assista no menu VR está escondido Assistir no menu VR é visível + Ocultar menu de qualidade do vídeo + O menu de qualidade de vídeo está oculto + O menu de qualidade de vídeo está exibido Esconder rodapé do menu de qualidade de vídeo O rodapé do menu de qualidade de vídeo está oculto Cabeçalho do menu de qualidade de vídeo mostrado @@ -1465,7 +1468,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"O botão é mostrado. Toque e segure para redefinir a velocidade de reprodução para o padrão O botão não está visível - + Mostrar botão de qualidade de vídeo O botão é exibido. Toque e segure para redefinir a qualidade para o padrão O botão não é exibido diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 8d9601519..45dd17549 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -693,6 +693,9 @@ Pentru a afișa meniul pentru pista audio, schimbați opțiunea „Falsifică fl Ascunde ceas în VR Vizionarea în meniul VR este ascunsă Vizionați în meniul VR este afișat + Ascunde meniul de calitate video + Meniul calității video este ascuns + Meniul calității video este afișat Ascunde subsol meniu calitate video Subsolul meniului calităţii video este ascuns Subsolul meniului calității video este afișat @@ -1464,7 +1467,7 @@ Activarea acestei opțiuni poate debloca calități video mai mari" Butonul este afișat. Atingeți și mențineți apăsat pentru a reseta viteza de redare la cea implicită Butonul nu este afișat - + Afișați butonul de calitate video Butonul este afișat. Atingeți și mențineți apăsat pentru a reseta calitatea la valoarea implicită Butonul nu este afișat. diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 0c25ad385..4d7a9b156 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" Скрыть пункт \"Смотреть в VR-режиме\" Пункт \"Смотреть в VR-режиме\" в выдвижном меню плеера скрыт Пункт \"Смотреть в VR-режиме\" в выдвижном меню плеера показан + Скрыть меню качества видео + Меню качества видео скрыто + Меню качества видео показано Скрыть колонтитул меню качества видео Нижний колонтитул старого меню качества видео в выдвижном меню плеера скрыт Нижний колонтитул старого меню качества видео в выдвижном меню плеера показан @@ -1472,7 +1475,7 @@ Second \"item\" text" Кнопка показана. Нажмите и удерживайте, чтобы сбросить скорость воспроизведения до значения по умолчанию Кнопка выбора скорости воспроизведения скрыта - + Показать кнопку качества видео Кнопка показана. Нажмите и удерживайте, чтобы сбросить качество до значения по умолчанию Кнопка выбора скорости воспроизведения скрыта diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 7edf222f5..9c29bc61f 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -691,6 +691,9 @@ Ak chcete zobraziť ponuku zvukovej stopy, zmeňte možnosť „Oklamať videost Skryť hodinky vo VR Sledovanie v ponuke VR je skryté Zobrazí sa ponuka Sledovať vo VR + Skryť ponuku kvality videa + Ponuka kvality videa je skrytá + Ponuka kvality videa je zobrazená Skryť pätu ponuky kvality videa Päta ponuky kvality videa je skrytá Zobrazí sa päta ponuky kvality videa @@ -1458,7 +1461,7 @@ Povolením tejto možnosti môžete odomknúť vyššie kvality videa" Zobrazuje sa tlačidlo. Ťuknite a podržte, ak chcete obnoviť predvolenú rýchlosť prehrávania Tlačidlo nie je zobrazené - + Zobraziť tlačidlo kvality videa Tlačidlo sa zobrazí. Klepnite a podržte pre resetovanie kvality na predvolenú Tlačidlo sa nezobrazuje diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 503ce3a85..5ebe5bb0f 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -693,6 +693,9 @@ Opomba: Omogočanje tega tudi prisilno skrije video oglase" Skrij gledanje v VR Meni z gledanjem v VR je skrit Meni z gledanjem v VR je prikazan + Skrij meni kakovosti videa + Meni kakovosti videa je skrit + Meni kakovosti videa je prikazan Skrij nogo menija s kakovostjo videa Noga menija s kakovostjo videa je skrita Noga menija s kakovostjo videa je prikazana @@ -1465,7 +1468,7 @@ Omogočanje tega lahko odklene višje kakovosti videa" Gumb je prikazan. Dotaknite se ga in ga pridržite, da ponastavite hitrost predvajanja na privzeto. Gumb ni prikazan - + Prikaži gumb za kakovost videa Prikazan je gumb. Dotaknite se in držite, da ponastavite kakovost na privzeto Gumb ni prikazan diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index fefafa9d4..edeb95edc 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -693,6 +693,9 @@ Për të shfaqur menunë e pistës audio, ndryshoni 'Falsifiko transmetimet vide Fsheh \"Shikoni në VR\" Menyja \"Shikoni në VR\" është e fshehur Menyja \"Shikoni në VR\" është e dukshme + Fshih menunë e cilësisë së videos + Menyja e cilësisë së videos është fshehur + Menyja e cilësisë së videos është shfaqur Fsheh fundin e menusë së cilësisë së videos Funda e menusë së cilësisë së videos është e fshehur Funda e menusë së cilësisë së videos është e dukshme @@ -1463,7 +1466,7 @@ Aktivizimi i kësaj mund të zhbllokojë cilësi më të larta video" Butoni shfaqet. Prekni dhe mbani për të rivendosur shpejtësinë e riprodhimit në atë të parazgjedhur Butoni nuk shfaqet - + Shfaq butonin e cilësisë së videos Butoni shfaqet. Prekni dhe mbani shtypur për të rivendosur cilësinë në parazgjedhur Butoni nuk shfaqet diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 9e8ad8f07..53035fdcf 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -693,6 +693,9 @@ Da biste prikazali meni „Audio snimak”, promenite opciju „Lažirani video Sakrij dugme „Gledaj u VR” Dugme „Gledaj u VR” je skriveno Dugme „Gledaj u VR” je prikazano + Sakrij meni kvaliteta videa + Meni kvaliteta videa je skriven + Meni kvaliteta videa je prikazan Sakrij podnožje menija kvaliteta videa Podnožje menija kvaliteta videa je skriveno Podnožje menija kvaliteta videa je prikazano @@ -1464,7 +1467,7 @@ Ako ovo omogućite, mogu biti otključani viši kvaliteti videa" Dugme je prikazano. Dodirnite i zadržite da biste vratili brzinu reprodukcije na podrazumevanu vrednost Dugme dijaloga za brzinu nije prikazano - + Prikaži dugme kvaliteta videa Dugme je prikazano. Dodirnite i zadržite da biste vratili kvalitet videa na podrazumevanu vrednost Dugme nije prikazano diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 0b7e0f64d..db4333b26 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" Сакриј дугме „Гледај у ВР” Дугме „Гледај у ВР” је скривено Дугме „Гледај у ВР” је приказано + Сакриј мени квалитета видеа + Мени квалитета видеа је скривен + Мени квалитета видеа је приказан Сакриј подножје менија квалитета видеа Подножје менија квалитета видеа је скривено Подножје менија квалитета видеа је приказано @@ -1467,7 +1470,7 @@ Second \"item\" text" Дугме је приказано. Додирните и задржите да бисте вратили брзину репродукције на подразумевану вредност Дугме дијалога за брзину није приказано - + Прикажи дугме квалитета видеа Дугме је приказано. Додирните и задржите да бисте вратили квалитет видеа на подразумевану вредност Дугме није приказано diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index cc580ebd3..535714a66 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -693,6 +693,9 @@ För att visa menyn Ljudspår, ändra \"Förfalska videoströmmar\" till iOS TV" Dölj Titta i VR Menyn Titta i VR är dold Menyn Titta i VR visas + Dölj videokvalitetsmeny + Menyn för videokvalitet är dold + Menyn för videokvalitet visas Dölj sidfot på videokvalitetsmeny Sidfoten på videokvalitetsmenyn är dold Sidfoten på videokvalitetsmenyn visas @@ -1464,7 +1467,7 @@ Om du aktiverar detta kan högre videokvaliteter låsas upp" Knappen visas. Tryck länge för att återställa uppspelningshastigheten till standardhastigheten Knappen visas inte - + Visa videokvalitetsknapp Knappen visas. Tryck länge för att återställa kvaliteten till standardkvaliteten Knappen visas inte diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index a4245b734..293993826 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -691,6 +691,9 @@ Second \"item\" text" ซ่อนดูใน VR เมนูดูใน VR ซ่อนอยู่ เมนูดูใน VR แสดงอยู่ + ซ่อนเมนูคุณภาพวิดีโอ + เมนูคุณภาพวิดีโอถูกซ่อน + เมนูคุณภาพวิดีโอแสดงอยู่ ซ่อนส่วนท้ายเมนูคุณภาพวิดีโอ ส่วนท้ายเมนูคุณภาพวิดีโอซ่อนอยู่ ส่วนท้ายเมนูคุณภาพวิดีโอแสดงอยู่ @@ -1467,7 +1470,7 @@ User id ของคุณเหมือนกับรหัสผ่าน ปุ่มจะปรากฏขึ้น แตะค้างไว้เพื่อรีเซ็ตความเร็วในการเล่นเป็นค่าเริ่มต้น ไม่แสดงปุ่ม - + แสดงปุ่มคุณภาพวิดีโอ แสดงปุ่มแล้ว แตะค้างไว้เพื่อรีเซ็ตคุณภาพเป็นค่าเริ่มต้น ไม่ได้แสดงปุ่ม diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 362176aee..eeba228b2 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -693,6 +693,9 @@ Ses parçası menüsünü göstermek için 'Video akışlarını taklit et' ayar VR modunda izlemeyi gizle VR modunda izle menüsü gizli VR modunda izle menüsü görünür + Video kalite menüsünü gizle + Video kalite menüsü gizli + Video kalite menüsü görünür Video kalite menüsü alt bilgisini gizle Video kalite menüsü alt bilgisi gizli Video kalite menüsü alt bilgisi görünür @@ -1472,7 +1475,7 @@ Bunu etkinleştirmek daha yüksek video kalitelerini açabilir" Düğme görünür. Oynatma hızını varsayılana sıfırlamak için dokunup basılı tutun Düğme gösterilmez - + Video kalitesi düğmesini göster Düğme görünür. Kaliteyi varsayılana sıfırlamak için dokunup basılı tutun Düğme gösterilmez diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index b9f11c10d..f43a99009 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" Приховати \"Дивитись у VR\" Пункт меню \"Дивитись у VR\" приховано Пункт меню \"Дивитись у VR\" показується + Приховати меню якості відео + Меню якості відео приховано + Меню якості відео показується Приховати колонтитул меню якості відео Нижній колонтитул меню якості відео приховано Нижній колонтитул меню якості відео показується @@ -1464,7 +1467,7 @@ Second \"item\" text" Кнопка показується. Натисніть і утримуйте, щоб відновити стандартну швидкість відтворення Кнопка швидкості відтворення не показується - + Кнопка якості відео Кнопка показується. Натисніть і утримуйте, щоб відновити стандартну якість Кнопка швидкості відтворення не показується diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index f6a50698f..14421a2ca 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -315,10 +315,10 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v Nút Chuyển đến cửa hàng được hiển thị Bình luận Ẩn hoặc hiện các thành phần bình luận - Ẩn tóm tắt trò chuyện AI - Tóm tắt trò chuyện AI đã bị ẩn - Tóm tắt trò chuyện AI được hiển thị - Ẩn tóm tắt Bình luận AI + Ẩn tóm tắt cuộc trò chuyện AI + Tóm tắt cuộc trò chuyện AI đã bị ẩn + Tóm tắt cuộc trò chuyện AI được hiển thị + Ẩn tóm tắt bình luận AI Tóm tắt bình luận AI đã bị ẩn Tóm tắt bình luận AI được hiển thị Ẩn nguyên tắc kênh @@ -693,6 +693,9 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển Ẩn Xem ở chế độ thực tế ảo Trình đơn xem ở chế độ thực tế ảo đã bị ẩn Trình đơn xem ở chế độ thực tế ảo được hiển thị + Ẩn trình đơn chất lượng video + Trình đơn chất lượng video đã bị ẩn + Trình đơn chất lượng video được hiển thị Ẩn chân trình đơn chất lượng video Chân trình đơn chất lượng video đã bị ẩn Chân trình đơn chất lượng video được hiển thị @@ -963,9 +966,9 @@ Hạn chế: Số lượt không thích có thể không xuất hiện ở chế Hình thu nhỏ thanh tiến trình sẽ sử dụng cùng chất lượng với video hiện tại. Hoạt động tốt nhất với chất lượng video 720p trở xuống và khi sử dụng kết nối internet tốc độ cao." - Khôi phục thanh tiến trình hình thu nhỏ kiểu cũ - Thanh tiến trình hình thu nhỏ sẽ xuất hiện phía trên thanh tiến trình - Thanh tiến trình hình thu nhỏ sẽ xuất hiện trong chế độ toàn màn hình + Khôi phục hình thu nhỏ thanh tiến trình cũ + Hình thu nhỏ sẽ xuất hiện phía trên thanh tiến trình + Hình thu nhỏ sẽ xuất hiện trong chế độ toàn màn hình Bật SponsorBlock @@ -1471,7 +1474,7 @@ Bật tính năng này có thể mở khóa chất lượng video cao hơn"Nút đã được hiển thị. Nhấn và giữ để đặt lại tốc độ phát về mặc định Nút không được hiển thị - + Hiện nút chất lượng video Nút đã được hiển thị. Nhấn và giữ để đặt lại chất lượng về mặc định Nút không được hiển thị diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 6386f8b49..b91ec729e 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -693,6 +693,9 @@ Second \"item\" text" 隐藏「在 VR 模式下观看」 在 VR 模式下观看已隐藏 在 VR 模式下观看已显示 + 隐藏视频质量菜单 + 视频质量菜单已隐藏 + 视频质量菜单已显示 隐藏「画质」选单下的提示页脚 画质选单页脚已隐藏 画质选单页脚已显示 @@ -1470,7 +1473,7 @@ Second \"item\" text" 按钮已显示。点住即可将播放速度重置为默认值 按钮未显示 - + 显示视频质量按钮 按钮已显示。点按并按住以将画质重置为默认值 按钮未显示 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index d82cf6bf9..0862b2aa8 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -1475,7 +1475,7 @@ Second \"item\" text" 按鈕已顯示。長按可將播放速度重設為預設值 不顯示按鈕 - + 自訂播放速度選單 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index b64730dc0..f7ab84c8a 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -222,7 +222,7 @@ Second \"item\" text" - + From e579c56921a8240c78817ac6e32ac11c777b1943 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 10 Aug 2025 21:17:32 -0400 Subject: [PATCH 16/45] fix(YouTube - Video quality): Show FHD+ icon for 1080p 60fps enhanced bitrate --- .../extension/youtube/patches/VideoInformation.java | 10 ++++------ .../extension/youtube/patches/components/Filter.java | 2 -- .../youtube/videoplayer/VideoQualityDialogButton.java | 6 +++--- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java index 96d67a749..f8b360aa5 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java @@ -41,11 +41,10 @@ public final class VideoInformation { public static final int AUTOMATIC_VIDEO_QUALITY_VALUE = -2; /** - * All quality names are the same for all languages. - * VideoQuality also has a resolution enum that can be used if needed. + * Video quality names are the same text for all languages. + * Premium can be "1080p Premium" or "1080p60 Premium" */ - public static final String VIDEO_QUALITY_1080P_PREMIUM_NAME = "1080p Premium"; - + public static final String VIDEO_QUALITY_PREMIUM_NAME = "Premium"; private static final float DEFAULT_YOUTUBE_PLAYBACK_SPEED = 1.0f; /** @@ -407,14 +406,13 @@ public final class VideoInformation { } /** - * @return If the playback is at the end of the video. - *

* If video is playing in the background with no video visible, * this always returns false (even if the video is actually at the end). *

* This is equivalent to checking for {@link VideoState#ENDED}, * but can give a more up-to-date result for code calling from some hooks. * + * @return If the playback is at the end of the video. * @see VideoState */ @SuppressWarnings("BooleanMethodIsAlwaysInverted") diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java index 454c03338..003949ce2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java @@ -40,7 +40,6 @@ abstract class Filter { /** * Adds callbacks to {@link #isFiltered(String, String, byte[], StringFilterGroup, FilterContentType, int)} * if any of the groups are found. - *

*/ protected final void addIdentifierCallbacks(StringFilterGroup... groups) { identifierCallbacks.addAll(Arrays.asList(groups)); @@ -58,7 +57,6 @@ abstract class Filter { * Called after an enabled filter has been matched. * Default implementation is to always filter the matched component and log the action. * Subclasses can perform additional or different checks if needed. - * *

* Method is called off the main thread. * diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java index a9bd1657b..6b43abf51 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java @@ -3,7 +3,7 @@ package app.revanced.extension.youtube.videoplayer; import static app.revanced.extension.shared.StringRef.str; import static app.revanced.extension.shared.Utils.dipToPixels; import static app.revanced.extension.youtube.patches.VideoInformation.AUTOMATIC_VIDEO_QUALITY_VALUE; -import static app.revanced.extension.youtube.patches.VideoInformation.VIDEO_QUALITY_1080P_PREMIUM_NAME; +import static app.revanced.extension.youtube.patches.VideoInformation.VIDEO_QUALITY_PREMIUM_NAME; import android.app.Dialog; import android.content.Context; @@ -157,9 +157,9 @@ public class VideoQualityDialogButton { case 2160 -> "4K"; default -> "?"; // Should never happen. }; - text.append(qualityText); - if (resolution == 1080 && VIDEO_QUALITY_1080P_PREMIUM_NAME.equals(quality.patch_getQualityName())) { + + if (quality != null && quality.patch_getQualityName().contains(VIDEO_QUALITY_PREMIUM_NAME)) { // Underline the entire "FHD" text for 1080p Premium. text.setSpan(new UnderlineSpan(), 0, qualityText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } From f904ca6d7e9e8ffe0ac1d0bbe2a8a77a71e31b8f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 11 Aug 2025 01:21:07 +0000 Subject: [PATCH 17/45] chore: Release v5.34.0-dev.6 [skip ci] # [5.34.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.5...v5.34.0-dev.6) (2025-08-11) ### Bug Fixes * **YouTube - Video quality:** Show FHD+ icon for 1080p 60fps enhanced bitrate ([e579c56](https://github.com/ReVanced/revanced-patches/commit/e579c56921a8240c78817ac6e32ac11c777b1943)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6b8edc72..192186ff1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.5...v5.34.0-dev.6) (2025-08-11) + + +### Bug Fixes + +* **YouTube - Video quality:** Show FHD+ icon for 1080p 60fps enhanced bitrate ([76bed37](https://github.com/ReVanced/revanced-patches/commit/76bed3734093713af24ef065d5ffc5b1cd83f29a)) + # [5.34.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.4...v5.34.0-dev.5) (2025-08-10) diff --git a/gradle.properties b/gradle.properties index 15972069a..a750659b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.5 +version = 5.34.0-dev.6 From 6bd9e49c7a7cae07d74ecf6f20bc3028bdc44408 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:16:45 -0400 Subject: [PATCH 18/45] fix(YouTube - Video quality): Fix additional incorrect quality resolutions used by YouTube --- .../youtube/patches/VideoInformation.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java index f8b360aa5..933bb5b61 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java @@ -474,11 +474,22 @@ public final class VideoInformation { /** * Injection point. Fixes bad data used by YouTube. + * Issue can be reproduced by selecting 480p quality on any Short, + * and occasionally with random regular videos. */ public static int fixVideoQualityResolution(String name, int quality) { - final int correctQuality = 480; - if (name.equals("480p") && quality != correctQuality) { - return correctQuality; + try { + if (!name.startsWith(Integer.toString(quality))) { + final int suffixIndex = name.indexOf('p'); + if (suffixIndex > 0) { + final int fixedQuality = Integer.parseInt(name.substring(0, suffixIndex)); + Logger.printDebug(() -> "Fixing wrong quality resolution from: " + + name + "(" + quality + ") to: " + name + ")" + fixedQuality + ")"); + return fixedQuality; + } + } + } catch (Exception ex) { + Logger.printException(() -> "fixVideoQualityResolution failed", ex); } return quality; From bdbe96beba8076d933fefc6d4b7952aa5be4ad65 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 13 Aug 2025 19:20:51 +0000 Subject: [PATCH 19/45] chore: Release v5.34.0-dev.7 [skip ci] # [5.34.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.6...v5.34.0-dev.7) (2025-08-13) ### Bug Fixes * **YouTube - Video quality:** Fix additional incorrect quality resolutions used by YouTube ([6bd9e49](https://github.com/ReVanced/revanced-patches/commit/6bd9e49c7a7cae07d74ecf6f20bc3028bdc44408)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 192186ff1..7b0846d12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.6...v5.34.0-dev.7) (2025-08-13) + + +### Bug Fixes + +* **YouTube - Video quality:** Fix additional incorrect quality resolutions used by YouTube ([a2a1fbe](https://github.com/ReVanced/revanced-patches/commit/a2a1fbe2959be8334c54cfc3426c24a960c55c8f)) + # [5.34.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.5...v5.34.0-dev.6) (2025-08-11) diff --git a/gradle.properties b/gradle.properties index a750659b9..6f3b9a291 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.6 +version = 5.34.0-dev.7 From 5fc0631a1561255f5a74f094f701f87a24fc20bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 15 Aug 2025 05:59:43 -0400 Subject: [PATCH 20/45] chore: Sync translations (#5652) --- .../addresources/values-el-rGR/strings.xml | 8 +- .../addresources/values-es-rES/strings.xml | 92 ++++++++--------- .../addresources/values-fi-rFI/strings.xml | 7 +- .../addresources/values-ga-rIE/strings.xml | 35 ++++--- .../addresources/values-ja-rJP/strings.xml | 68 ++++++------- .../addresources/values-ko-rKR/strings.xml | 98 +++++++++---------- .../addresources/values-vi-rVN/strings.xml | 56 +++++------ 7 files changed, 185 insertions(+), 179 deletions(-) diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 541fb6345..b6ab6336a 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -907,7 +907,7 @@ Second \"item\" text" Dislike προσωρινά μη διαθέσιμα (καθυστέρηση API) Δεδομένα dislike μη διαθέσιμα (κατάσταση %d) - Τα dislikes δεν είναι διαθέσιμα (όριο API πελάτη) + Δεδομένα dislike μη διαθέσιμα (όριο API πελάτη) Δεδομένα dislike μη διαθέσιμα (%s) Επαναφορτώστε το βίντεο για να ψηφίσετε χρησιμοποιώντας το Return YouTube Dislike @@ -1152,7 +1152,7 @@ Second \"item\" text" Δόθηκε μη έγκυρος χρόνος Στατιστικά - Τα στατιστικά είναι προσωρινά μη διαθέσιμα (το API είναι εκτός λειτουργίας) + Στατιστικά προσωρινά μη διαθέσιμα (API εκτός λειτουργίας) Φόρτωση... Το SponsorBlock είναι απενεργοποιημένο Το όνομα χρήστη σας: <b>%s</b> @@ -1365,8 +1365,8 @@ Second \"item\" text" Μέση του βίντεο Τέλος του βίντεο - Το DeArrow είναι προσωρινά μη διαθέσιμο. (κωδικός κατάστασης: %s) - Το DeArrow είναι προσωρινά μη διαθέσιμο + DeArrow προσωρινά μη διαθέσιμο (κωδικός: %s) + DeArrow προσωρινά μη διαθέσιμο Εμφάνιση ανακοινώσεων ReVanced diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 641191764..14f3b642a 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -90,7 +90,7 @@ Toca el botón continuar y permite los cambios de optimización." Acerca de Anuncios Miniaturas alternativas - Fuente + Feed General Reproductor Barra de progreso @@ -126,9 +126,9 @@ Sin embargo, si activas esto, también se registrarán algunos datos del usuario Registrar stack traces Los registros de depuración incluyen stack trace Los registros de depuración no incluyen stack trace - Mostrar mensaje de error en ReVanced - Se muestra un mensaje si se produce un error - No se muestra un mensaje si se produce un error + Mostrar aviso de error en ReVanced + Se mostrará un aviso si se produce un error + No se mostrará un aviso si se produce un error "Desactivar los avisos de error oculta todas las notificaciones de error de ReVanced. No se le notificará de ningún evento inesperado." @@ -336,9 +336,9 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult Ocultar botón \'Crear un Short\' El botón Crear un Short está oculto Se muestra el botón Crear un Short - Ocultar comentario de vista previa - El comentario de la vista previa está oculto - Vista previa del comentario se muestra + Ocultar vista previa de comentarios + La vista previa de comentarios está oculta + La vista previa de comentarios es visible Ocultar botón Gracias El botón de gracias está oculto Se muestra el botón de gracias @@ -357,14 +357,14 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult Ocultar contenido de palabra clave Ocultar videos de búsqueda y feed usando filtros de palabras clave Ocultar videos domésticos por palabras clave - Los videos en la pestaña de inicio son filtrados por palabras clave - Los videos en la pestaña de inicio no son filtrados por palabras clave + Los videos en la pestaña \'Inicio\' son filtrados por palabras clave + Los videos en la pestaña \'Inicio\' no son filtrados por palabras clave Ocultar resultados de búsqueda por palabras clave Los resultados de la búsqueda son filtrados por palabras clave Los resultados de la búsqueda no son filtrados por palabras clave Ocultar vídeos de suscripción por palabras clave - Los videos en la pestaña de suscripciones son filtrados por palabras clave - Los videos en la pestaña de suscripciones no son filtrados por palabras clave + Los videos en la pestaña \'Suscripciones\' son filtrados por palabras clave + Los videos en la pestaña \'Suscripciones\' no son filtrados por palabras clave Palabras clave a ocultar @@ -388,7 +388,7 @@ Limitaciones Añadir comillas para usar palabra clave: %s La palabra clave tiene declaraciones conflictivas: %s La palabra clave es demasiado corta y requiere comillas: %s - Palabra clave ocultará todos los vídeos: %s + La palabra clave ocultará todos los vídeos: %s Ocultar estantería de la tienda del creador @@ -403,7 +403,7 @@ Limitaciones Esta función solo está disponible para dispositivos antiguos" Se muestran anuncios a pantalla completa - Ocultar anuncio solo con dispositivos viejos + Ocultar anuncios a pantalla completa solo funciona con dispositivos antiguos Ocultar anuncios generales Los anuncios generales están ocultos Se muestran anuncios generales @@ -447,10 +447,10 @@ Esta función solo está disponible para dispositivos antiguos" El botón no se muestra - Eliminar diálogo de discreción del visor - Se eliminará el diálogo + Eliminar diálogo de discreción del espectador + Se quitará el diálogo Se mostrará el diálogo - Esto no pasa por alto la restricción de edad, sino que simplemente la acepta automáticamente. + Esto no evita la restricción de edad. Solo la acepta automáticamente. Deshabilitar el salto de capítulo con doble toque @@ -516,7 +516,7 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"La cantidad de milisegundos que la superposición es visible Opacidad del fondo de la superposición de deslizamiento Valor de opacidad entre 0-100 - La opacidad de la superposición de deslizamiento debe estar entre 0 y 100 + La opacidad de superposición de deslizamiento debe ser de entre 0-100 Color del brillo de la superposición de deslizamiento El color de la barra de progreso para los controles de brillo Color del volumen de la superposición de deslizamiento @@ -597,11 +597,11 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"Botones de navegación Ocultar o cambiar botones en la barra de navegación - Ocultar Principal + Ocultar pestaña \'Inicio\' El botón de inicio está oculto El botón de inicio es visible - Ocultar Shorts + Ocultar pestaña \'Shorts\' El botón de Shorts está oculto El botón de Shorts es visible @@ -609,34 +609,34 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"El botón Crear está oculto Se muestra el botón Crear - Ocultar Suscripciones + Ocultar pestaña \'Suscripciones\' El botón Suscripciones está oculto Se muestra el botón Suscripciones - Ocultar notificaciones - El botón de notificaciones está oculto - Se muestra el botón de notificaciones + Ocultar Notificaciones + El botón de Notificaciones está oculto + Se muestra el botón de Notificaciones - Cambiar Crear con Notificaciones + Cambiar botón Crear con el de Notificaciones "El botón Crear se cambia por el botón Notificaciones -Nota: Habilitar esto también oculta a la fuerza los anuncios de vídeo" +Nota: Habilitar esto también ocultará forzosamente los anuncios de video" El botón Crear no se cambia con el botón de notificaciones "Deshabilitar este ajuste también deshabilitará el bloqueo de anuncios de Shorts. Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito." - Ocultar etiquetas de botón de navegación + Ocultar etiquetas de navegación Las etiquetas están ocultas - Las etiquetas se muestran + Las etiquetas están visibles Desactivar la barra de estado translúcida La barra de estado es opaca La barra de estado es opaca o translúcida En algunos dispositivos, habilitar esta función puede cambiar la barra de navegación del sistema a transparente. Desactivar la barra translúcida clara La barra de navegación en modo claro es opaca - La barra de navegación del modo claro es opaca o translúcida + La barra de navegación en modo claro es opaca o translúcida Desactivar la barra translúcida oscura La barra de navegación en modo oscuro es opaca - La barra de navegación del modo oscuro es opaca o translúcida + La barra de navegación en modo oscuro es opaca o translúcida Menú desplegable @@ -661,8 +661,8 @@ Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."Ocultar Modo ambiente Menú de Modo ambiente oculto Se muestra el menú de Modo ambiente - Ocultar volumen estable - Se muestra el menú de volumen estable + Ocultar \'Volumen estable\' + El menú de volumen estable es visible El menú de volumen estable está oculto Ocultar Ayuda & comentarios @@ -751,14 +751,14 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de Reproductor de Shorts Ocultar o mostrar componentes del reproductor de Shorts - Ocultar Shorts en la página principal + Ocultar Shorts en la pestaña de Inicio Oculto en la página principal y vídeos relacionados Visible en la página principal y vídeos relacionados Ocultar Shorts en los resultados de búsqueda Ocultos en los resultados de búsqueda Mostrar en los resultados de búsqueda - Ocultar Shorts en el feed de Suscripciones + Ocultar Shorts en la pestaña de Suscripciones Oculto en el feed de Suscripciones Visible en el feed de Suscripciones Ocultar Shorts en el historial de visualización @@ -789,9 +789,9 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de Ocultar botones de superposición en pausa Los botones de superposición pausados están ocultos Se muestran los botones de superposición pausados - Ocultar comentario de vista previa - El comentario de vista previa está oculto - Se muestra la vista previa del comentario + Ocultar vista previa de comentarios + La vista previa de comentarios está oculta + La vista previa de comentarios es visible Ocultar el botón Guardar música El botón Guardar música está oculto Mostrar el botón de guardar música @@ -858,8 +858,8 @@ Para mostrar el menú de la pista de audio, cambia \"Suplantar transmisiones de Etiqueta de enlace de vídeo oculto Etiqueta de enlace de vídeo mostrada Ocultar barra de navegación - Barra de navegación oculta - Se muestra la barra de navegación + La barra de navegación está oculta + La barra de navegación está visible Ocultar el vídeo sugerido de la pantalla final @@ -1060,7 +1060,7 @@ Tu ID de usuario es como una contraseña y nunca debe compartirse." Un intervalo sin contenido real. Podría ser una pausa, marco estático o animación de repetición. No incluye transiciones que contengan información Tarjetas finales / Créditos Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información - Vista previa/Recapitular/Juego + Vista previa/Resumen/Enganche Colección de clips que muestran lo que viene o lo que pasó en el vídeo o en otros videos de una serie, donde toda la información se repite en otro lugar Bromas de relleno Escenas tangenciales añadidas sólo para relleno o humor que no están obligadas a entender el contenido principal del vídeo. No incluye segmentos proporcionando detalles de contexto o fondo @@ -1168,11 +1168,11 @@ Ya existe" Los datos son proporcionados por la API de SponsorBlock. Pulsa aquí para aprender más y ver las descargas para otras plataformas - Diseño del diseño factor - Defecto + Factor de forma del diseño + Predeterminado Teléfono Tableta - Automotriz + Automóvil "Los cambios incluyen: Diseño para tablets @@ -1294,8 +1294,8 @@ El minireproductor se puede arrastrar fuera de la pantalla hacia la izquierda o Opacidad de reproductor debe estar en 0 -100 - Activar la pantalla de carga del degradado - La pantalla de carga tendrá un fondo de degradado + Activar la pantalla de carga gradiente + La pantalla de carga tendrá un fondo gradiente La pantalla de carga tendrá un fondo sólido Estilo de la pantalla de presentación Color @@ -1326,9 +1326,9 @@ Habilitar esto puede solucionar las imágenes que faltan que están bloqueadas e - Pestaña + Pestaña de Inicio - Pestaña Suscripciones + Pestaña de Suscripciones Pestaña Listas de reproducción del reproductor & recomendaciones diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 6c6146eb3..05aefc519 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -670,8 +670,8 @@ Jos tämän asetuksen muuttaminen ei tule voimaan, kokeile vaihtaa Incognito-til Ohjeet ja palaute -valinta näytetään Piilota Toistonopeus - Toistonopeus-valikko on piilotettu - Toistonopeus-valikko näytetään + Toistonopeusvalikko on piilotettu + Toistonopeusvalikko näytetään Piilota Lisätietoja @@ -693,6 +693,9 @@ Jos haluat nähdä sen, aseta \"Naamioi videovirrat\" iOS TV:ksi" Piilota Katso VR-tilassa Katso VR-tilassa -valinta on piilotettu Katso VR-tilassa -valinta näytetään + Piilota videolaatuvalikko + Videolaatuvalikko on piilotettu + Videolaatuvalikko näytetään Piilota videolaatuvalikon alatunniste Videolaatuvalikon alatunniste on piilotettu Videolaatuvalikon alatunniste näytetään diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 1c7c57b40..42163cf90 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -23,8 +23,11 @@ Second \"item\" text" Theip ar sheiceálacha Oscailt láithreán gréasáin oifigiúil - Déan neamhaird de - <h5>Is cosúil nach bhfuil an aip seo paiteanta agat.</h5><br>Seans nach bhfeidhmeoidh an aip seo i gceart, <b>d\'fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>Tugann na seiceálacha seo le tuiscint go bhfuil an aip seo réamhphatáilte nó faighte ó dhuine éigin eile:<br><br><small>%1$s</small><br> <b>díshuiteáil an aip seo agus paiste tú féin</b> chun a chinntiú go bhfuil tú ag úsáid aip atá bailíochtaithe agus slán.<p><br>Má dhéantar neamhaird de, ní thaispeánfar an rabhadh seo ach faoi dhó. + Neamhaird + <h5>Ní cosúil gur tusa a rinne paiste ar an aip seo.</h5><br>B’fhéidir nach bhfeidhmeoidh an aip seo i gceart, <b>agus d’fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>. +Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile: +<br><br><small>%1$s</small><br> <b> +Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó. Paisteáilte ar ghléas eile Gan a bheith suiteáilte ag ReVanced Manager Paisteáilte níos mó ná 10 nóiméad ó shin @@ -34,12 +37,12 @@ Second \"item\" text" Socruithe An bhfuil tú cinnte gur mhaith leat dul ar aghaidh? - Athshocraigh + Athshocrú Dath a athshocrú Dath neamhbhailí - Teastaíonn atosú + Atosú ag teastáil Atosaigh an aip chun go mbeidh an t-athrú seo i bhfeidhm. - Athosaigh + Atosaigh Iompórtáil Cóipeáil Athshocraigh socruithe ReVanced go réamhshocrú @@ -76,7 +79,7 @@ Chun teangacha nua a aistriú, tabhair cuairt ar translate.revanced.app" - Suíomh Gréasáin oscailte + Oscail láithreán gréasáin "Caithfidh tú optúimíochtaí ceallraí MicroG GmsCore a dhíchumasú chun fadhbanna a sheachaint. Ní chuirfidh díghníomhachtú optúimíochtaí ceallraí do MicroG isteach ar úsáid ceallraí ar bhealach diúltach. @@ -95,9 +98,9 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta." Seinnteoir Barra Cuardaigh Rialuithe Svaidhpeála - Éagsúla + Ilchineálach Físeán - Athshocraigh roghanna seanghléasanna + Athchóirigh sean-roghchláir socruithe Taispeántar sean-roghchláir socruithe Ní thaispeántar sean-roghchláir socruithe Taispeáin stair cuardaigh na socruithe @@ -106,13 +109,13 @@ Brúigh an cnaipe leanúnaí agus ligean athruithe optúimíochta." Díchumasaigh seinnte Cúlra Shorts - Tá súgradh cúlra Shorts díchumasaithe - Tá súgradh cúlra Shorts cumasaithe + Tá seinm chúlra Shorts díchumasaithe + Tá seinm chúlra Shorts cumasaithe - Dífhabhtaithe - Cumasaigh nó díchumasaigh roghanna dífhabhtaithe - Logáil dífhabhtaithe + Dífhabhtú + Cumasaigh nó díchumasaigh roghanna dífhabhtú + Dífhabhtú logáil Tá logaí dífhabhtaithe cumasaithe Tá logaí dífhabhtaithe díchumasaithe Maolán prótacal logála @@ -1590,13 +1593,13 @@ Tá réiteach uasmhéideach 1080p ag AVC, níl códú fuaime Opus ar fáil, agus Socruithe Blocála Fógraí Comhrá Socruithe comhrá - Ilghnéitheach - Socruithe ilghnéitheacha + Ilchineálach + Socruithe Ilchineálach Socruithe ginearálta Socruithe eile Fógraí taobh an chliaint Fógraí surestream ar thaobh an fhreastalaí - Logáil dífhabhtaithe + Tá logaí dífhabhtú cumasaithe Tá logaí dífhabhtaithe cumasaithe Tá logaí dífhabhtaithe díchumasaithe diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 6698f4070..b14ff15bd 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -642,7 +642,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に フライアウト メニュー - オーバーレイ上の歯車アイコンから表示されるメニューの設定 + プレーヤー オーバーレイの歯車ボタンから呼び出されるフライアウト メニューの項目を表示または非表示にします 「字幕」を非表示 「字幕」は表示されません @@ -695,12 +695,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「VR で見る」を非表示 「VR で見る」は表示されません 「VR で見る」は表示されます - 画質のメニューを非表示にする - 画質メニューは非表示です - 画質メニューは表示されます - 画質設定メニューの脚注を非表示 - 画質設定メニューの脚注は表示されません - 画質設定メニューの脚注は表示されます + 「画質」を非表示 + 「画質」は表示されません + 「画質」は表示されます + 画質メニューの脚注を非表示 + 画質メニューの脚注は表示されません + 画質メニューの脚注は表示されます 自動再生ボタンを非表示 @@ -750,20 +750,20 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に フィードや再生履歴などの動画のサムネイルのシークバーは表示されます - ショート動画プレーヤー + ショート プレーヤー ショート プレーヤーのコンポーネントを表示または非表示にします ホームフィードでショートを非表示 - ホームフィードおよび関連動画にショートは表示されません - ホームフィードおよび関連動画にショートが表示されます - 検索結果でショート動画を非表示 + ホームフィードおよび関連動画にショート動画は表示されません + ホームフィードおよび関連動画にショート動画が表示されます + 検索結果でショートを非表示 検索結果にショート動画は表示されません 検索結果にショート動画が表示されます 登録チャンネル フィードでショートを非表示 - 登録チャンネル フィードにショートは表示されません - 登録チャンネル フィードにショートが表示されます - 再生履歴でショート動画を非表示 + 登録チャンネル フィードにショート動画は表示されません + 登録チャンネル フィードにショート動画が表示されます + 再生履歴でショートを非表示 再生履歴にショート動画は表示されません 再生履歴にショート動画が表示されます 「Super Thanks を購入する」ボタンを非表示 @@ -772,9 +772,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 効果ボタンを非表示 効果ボタンは表示されません 効果ボタンは表示されます - グリーンスクリーン ボタンを非表示 - グリーンスクリーン ボタンは表示されません - グリーンスクリーン ボタンは表示されます + グリーン スクリーン ボタンを非表示 + グリーン スクリーン ボタンは表示されません + グリーン スクリーン ボタンは表示されます ハッシュタグ ボタンを非表示 ハッシュタグ ボタンは表示されません ハッシュタグ ボタンは表示されます @@ -788,18 +788,18 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「新しい投稿」ボタンを非表示 「新しい投稿」ボタンは表示されません 「新しい投稿」ボタンは表示されます - 一時停止中のオーバーレイ上のボタンを非表示 - 一時停止中のオーバーレイ上のボタンは表示されません - 一時停止中のオーバーレイ上のボタンは表示されます + 一時停止オーバーレイのボタンを非表示 + 一時停止オーバーレイのボタンは表示されません + 一時停止オーバーレイのボタンは表示されます コメントのプレビューを非表示 コメントのプレビューは表示されません コメントのプレビューは表示されます 「音楽を保存」ボタンを非表示 「音楽を保存」ボタンは表示されません 「音楽を保存」ボタンは表示されます - 検索候補ボタンを非表示 - 検索候補ボタンは表示されません - 検索候補ボタンは表示されます + 検索候補を非表示 + 検索候補は表示されません + 検索候補は表示されます ショップ ボタンを非表示 ショップ ボタンは表示されません ショップ ボタンは表示されます @@ -830,9 +830,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 低評価ボタンを非表示 低評価ボタンは表示されません 低評価ボタンは表示されます - コメント ボタンを非表示 - コメント ボタンは表示されません - コメント ボタンは表示されます + コメントボタンを非表示 + コメントボタンは表示されません + コメントボタンは表示されます 共有ボタンを非表示 共有ボタンは表示されません @@ -841,9 +841,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に リミックス ボタンを非表示 リミックス ボタンは表示されません リミックス ボタンは表示されます - サウンド ボタンを非表示 - サウンド ボタンは表示されません - サウンド ボタンは表示されます + サウンドボタンを非表示 + サウンドボタンは表示されません + サウンドボタンは表示されます 情報パネルを非表示 情報パネルは表示されません 情報パネルは表示されます @@ -1244,17 +1244,17 @@ Automotive レイアウト ショート動画を開くプレーヤー - ショート動画プレーヤー - 通常の動画プレーヤー - 通常の動画プレーヤー (全画面) + ショート プレーヤー + 通常のプレーヤー + 通常のプレーヤー (全画面) ショート動画の自動再生 ショート動画は自動再生されます ショート動画はループ再生されます ショート動画の自動再生(バックグラウンド) - ショート動画はバックグラウンドで自動再生されます - ショート動画はバックグラウンドでループ再生されます + バックグラウンドのショート動画は自動再生されます + バックグラウンドのショート動画はループ再生されます ミニプレーヤー diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index ee891948a..887eb9e63 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -81,7 +81,7 @@ Second \"item\" text" MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배터리 사용량에 부정적인 영향을 미치지 않습니다. -앱 배터리 최적화를 비활성화(제한 없음)하려면 '계속하기' 버튼을 누르세요." +앱 배터리 최적화를 비활성화(제한 없음)하려면 '계속하기' 버튼을 탭하세요." 계속하기 @@ -105,9 +105,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 설정 검색 기록을 표시하지 않습니다 - Shorts PIP 모드 비활성화하기 - Shorts PIP 모드를 비활성화합니다 - Shorts PIP 모드를 활성화합니다 + Shorts 백그라운드 재생 비활성화하기 + Shorts 백그라운드 재생을 비활성화합니다 + Shorts 백그라운드 재생을 활성화합니다\n\n알림: Shorts 백그라운드 재생은 PIP 모드를 통해서만 사용할 수 있습니다 디버깅 @@ -442,10 +442,10 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 URL을 클립보드에 복사하였습니다 타임스탬프가 표기된 URL을 클립보드에 복사하였습니다 동영상 URL 복사 버튼 표시하기 - 버튼을 표시합니다\n\n• 버튼을 눌러서 동영상 URL을 복사할 수 있습니다\n• 길게 누르면 타임스탬스가 표기된 동영상 URL이 복사됩니다 + 버튼을 표시합니다\n\n• 버튼을 탭하여 동영상 URL을 복사할 수 있습니다\n• 길게 탭하면 타임스탬스가 표기된 동영상 URL이 복사됩니다 버튼을 표시하지 않습니다 타임스탬프가 표기된 URL 복사 버튼 표시하기 - 버튼을 표시합니다\n\n• 버튼을 눌러서 타임스탬프가 표기된 동영상 URL을 복사할 수 있습니다\n• 길게 누르면 타임스탬프가 표기되지 않은 동영상 URL이 복사됩니다 + 버튼을 표시합니다\n\n• 버튼을 탭하여 타임스탬프가 표기된 동영상 URL을 복사할 수 있습니다\n• 길게 탭하면 타임스탬프가 표기되지 않은 동영상 URL이 복사됩니다 버튼을 표시하지 않습니다 @@ -455,9 +455,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다. - 두 번 눌러서 챕터 건너뛰기 비활성화하기 - 두 번 눌러서 다음/이전 챕터로 건너뛰기가 절대 트리거될 수 없습니다 - 두 번 눌러서 다음/이전 챕터로 건너뛰기가 가끔 트리거될 수 있습니다 + 두 번 탭하여 챕터 건너뛰기 비활성화하기 + 두 번 탭하여 다음/이전 챕터로 건너뛰기가 절대 트리거될 수 없습니다 + 두 번 탭하여 다음/이전 챕터로 건너뛰기가 가끔 트리거될 수 있습니다 외부 다운로드 @@ -497,9 +497,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 스와이프 제스처로 볼륨 조절 활성화하기 "전체 화면 오른쪽에서 위로/아래로 스와이프하여 볼륨 조절합니다" 전체 화면 오른쪽에서 위로/아래로 스와이프하여 볼륨 조절하지 않습니다 - 길게 눌러서 스와이프 제스처 사용하기 - 화면을 길게 눌러서 스와이프 제스처를 사용합니다 - 화면을 짧게 눌러서 스와이프 제스처를 사용합니다 + 길게 탭하여 스와이프 제스처 사용하기 + 화면을 길게 탭하여 스와이프 제스처를 사용합니다 + 화면을 짧게 탭하여 스와이프 제스처를 사용합니다 진동 피드백 활성화하기 진동 피드백을 활성화합니다 진동 피드백을 비활성화합니다 @@ -931,7 +931,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 API 사용 불가 메시지 표시하기 ReturnYouTubeDislike를 사용할 수 없을 경우에 팝업 메시지를 표시합니다 ReturnYouTubeDislike를 사용할 수 없을 경우에 팝업 메시지를 표시하지 않습니다 - 싫어요 수의 데이터는 Return YouTube Dislike API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 누르세요 + 싫어요 수의 데이터는 Return YouTube Dislike API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 탭하세요 이 기기의 ReturnYouTubeDislike API 사용 통계 평균 API 응답 시간 @@ -990,7 +990,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 건너뛰기 버튼 표시 시간 건너뛰기 및 하이라이트로 건너뛰기 버튼이 자동으로 숨겨지기 전까지 표시되는 시간을 설정할 수 있습니다 건너뛰기 취소 메시지 표시하기 - 구간을 자동으로 건너뛰는 경우에 팝업 메시지를 표시합니다\n\n팝업 메시지를 눌러서 건너뛰기를 취소할 수 있습니다 + 구간을 자동으로 건너뛰는 경우에 팝업 메시지를 표시합니다\n\n팝업 메시지를 탭하여 건너뛰기를 취소할 수 있습니다 팝업 메시지를 표시하지 않습니다 건너뛰기 취소 메시지 표시 시간 건너뛰기 취소 팝업 메시지가 표시되는 시간을 설정할 수 있습니다 @@ -1012,7 +1012,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 플레이어에서 구간 추가 버튼을 표시합니다 플레이어에서 구간 추가 버튼을 표시하지 않습니다 구간 추가 시 최소 슬라이더 단위 설정 - 새로운 구간 추가 시에 시간 앞으로 버튼 또는 뒤로 버튼을 눌렀을 때 이동하는 최소 시간으로, 단위는 밀리초입니다 + 새로운 구간 추가 시에 시간 앞으로 버튼 또는 뒤로 버튼을 탭하였을 때 이동하는 최소 시간으로, 단위는 밀리초입니다 값은 양수여야 합니다 가이드라인 보기 구간 제출 시의 주의사항에 대한 내용을 포함하고 있습니다 @@ -1146,7 +1146,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 이렇게 제출하시겠습니까?" 구간의 시작 또는 끝을 잘못 설정하였습니다 먼저 재생바에서 시작 지점과 끝 지점을 표시하세요 - 구간 미리 보기 버튼을 눌러서 설정한 구간이 정상적으로 건너뛰기가 되는지 확인하세요 + 구간 미리 보기 버튼을 탭하여 설정한 구간이 정상적으로 건너뛰기가 되는지 확인하세요 직접 시간 구간 편집하기 구간의 시작이나 끝을 편집하시겠습니까? 잘못된 시간 형식입니다 @@ -1156,16 +1156,16 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 불러오는 중 ... SponsorBlock을 비활성화하였습니다 사용자 이름: <b>%s</b> - 사용자 이름을 변경하려면 여기를 누르세요 + 사용자 이름을 변경하려면 여기를 탭하세요 사용자 이름을 변경할 수 없습니다. 상태 코드: %1$d %2$s 사용자 이름을 성공적으로 변경하였습니다 사용자의 평판: <b>%.2f</b> 제출 횟수: <b>%s</b> - 구간을 보려면 여기를 누르세요 + 구간을 보려면 여기를 탭하세요 SponsorBlock 리더보드 다른 분들이 <b>%s</b>개의 구간을 건너뛸 수 있게 해주셨습니다 - 글로벌 기록 또는 상위 기여자를 확인하려면 여기를 누르세요 - 이는 <b>%s</b>에 해당됩니다.<br>리더보드를 보려면 여기를 누르세요 + 글로벌 기록 또는 상위 기여자를 확인하려면 여기를 탭하세요 + 이는 <b>%s</b>에 해당됩니다.<br>리더보드를 보려면 여기를 탭하세요 구간 <b>%s</b>개를 건너뛰었습니다 이는 <b>%s</b>에 해당됩니다 건너뛴 횟수 기록을 초기화하시겠습니까? @@ -1175,7 +1175,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 불투명도: 색상: 정보 - 건너뛸 구간의 데이터는 SponsorBlock API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 누르세요 + 건너뛸 구간의 데이터는 SponsorBlock API에 의해 제공됩니다. 자세한 내용을 보려면 여기를 탭하세요 레이아웃 폼 팩터 변경하기 @@ -1198,7 +1198,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 앱 버전을 변경하지 않습니다 "앱 버전을 YouTube 이전 앱 버전으로 변경합니다. -이 경우 앱 레이아웃과 기능이 변경되지만 알려지지 않은 문제점이 발생할 수 있습니다. +이 경우 앱 레이아웃과 기능이 변경되지만 알려지지 않은 부작용이 발생할 수 있습니다. 나중에 이 설정을 비활성화하면 앱 레이아웃 버그를 방지하기 위해 앱 데이터를 지우는 것이 좋습니다." 변경할 앱 버전 @@ -1253,9 +1253,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 Shorts 자동재생 Shorts가 자동넘김됩니다 Shorts가 반복재생됩니다 - Shorts PIP 모드 자동넘김 - PIP 모드에서 Shorts가 자동넘김됩니다 - PIP 모드에서 Shorts가 반복재생됩니다 + Shorts 백그라운드 재생 자동넘김 + Shorts 백그라운드 재생이 자동넘김됩니다 + Shorts 백그라운드 재생이 반복재생됩니다 미니 플레이어 @@ -1272,12 +1272,12 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 둥근 모서리 활성화하기 모서리를 둥글게 활성화합니다 모서리를 각지게 활성화합니다 - \'두 번 누르기\' 및 \'핀치하여 크기 조정\' 활성화하기 - "'두 번 누르기 동작' 및 '핀치하여 크기 조정'을 활성화합니다 + \'두 번 탭하기\' 및 \'핀치하여 크기 조정\' 활성화하기 + "'두 번 탭하기 동작' 및 '핀치하여 크기 조정'을 활성화합니다 -• 두 번 눌러서 미니 플레이어 크기를 늘릴 수 있습니다 -• 다시 두 번 누르면 원래 크기로 복원됩니다" - \'두 번 누르기 동작\' 및 \'핀치하여 크기 조정\'을 비활성화합니다 +• 두 번 탭하여 미니 플레이어 크기를 늘릴 수 있습니다 +• 다시 두 번 탭하면 원래 크기로 복원됩니다" + \'두 번 탭하기 동작\' 및 \'핀치하여 크기 조정\'을 비활성화합니다 드래그 & 드롭 활성화하기 "드래그 & 드롭을 활성화합니다 @@ -1357,7 +1357,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 이 설정을 활성화하면 동영상 URL이 API 서버로 전송되며, 다른 데이터는 전송되지 않습니다. 동영상에 DeArrow 썸네일이 없는 경우에는 원본 썸네일 또는 스틸 컷 썸네일이 표시됩니다 -DeArrow에 대해 자세히 알아보려면 여기를 누르세요" +DeArrow에 대해 자세히 알아보려면 여기를 탭하세요" API 사용 불가 메시지 표시하기 DeArrow를 사용할 수 없을 경우에 팝업 메시지를 표시합니다 DeArrow를 사용할 수 없을 경우에 팝업 메시지를 표시하지 않습니다 @@ -1398,11 +1398,11 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" 기기 크기 정보 변경하기 "기기 크기 정보를 변경합니다 -이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있지만, 동영상 재생이 끊기거나 배터리 수명이 단축될 수 있으며, 알려지지 않은 문제점도 발생할 수 있습니다" +이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있지만, 동영상 재생이 끊기거나 배터리 수명이 단축될 수 있으며, 알려지지 않은 부작용도 발생할 수 있습니다" "기기 크기 정보를 변경하지 않습니다 이 설정을 활성화하면 더 높은 화질 동영상 값을 잠금 해제할 수 있습니다" - 이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 문제점이 발생할 수 있습니다. + 이 설정을 활성화하면 동영상 재생이 끊기거나 배터리 수명이 단축되고 알려지지 않은 부작용이 발생할 수 있습니다. GmsCore 설정 @@ -1453,16 +1453,16 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" 자동 동영상 화질 저장 활성화하기 - 동영상 화질 값이 변경될 때마다 기본 동영상 화질으로 저장합니다 - 동영상 화질 값이 변경될 때마다 기본 동영상 화질으로 저장하지 않습니다 + 동영상 화질 값을 변경할 때마다 기본 동영상 화질으로 저장합니다 + 동영상 화질 값을 변경할 때마다 기본 동영상 화질으로 저장하지 않습니다 동영상 화질 변경 메시지 표시하기 - 기본 동영상 화질 값이 변경될 때마다 팝업 메시지를 표시합니다 - 기본 동영상 화질 값이 변경될 때마다 팝업 메시지를 표시하지 않습니다 + 기본 동영상 화질 값을 변경할 때마다 팝업 메시지를 표시합니다 + 기본 동영상 화질 값을 변경할 때마다 팝업 메시지를 표시하지 않습니다 Wi-Fi 이용 시 기본 동영상 화질 모바일 네트워크 이용 시 기본 동영상 화질 Shorts 화질 저장 활성화하기 - Shorts 화질 값이 변경될 때마다 기본 Shorts 화질으로 저장합니다 - Shorts 화질 값이 변경될 때마다 기본 Shorts 화질으로 저장하지 않습니다 + Shorts 화질 값을 변경할 때마다 기본 Shorts 화질으로 저장합니다 + Shorts 화질 값을 변경할 때마다 기본 Shorts 화질으로 저장하지 않습니다 Wi-Fi 이용 시 기본 Shorts 화질 모바일 네트워크 이용 시 기본 Shorts 화질 모바일 네트워크 @@ -1472,12 +1472,12 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" 동영상 재생 속도 다이얼로그 버튼 표시하기 - 버튼을 표시합니다\n\n• 버튼을 길게 누르면 동영상 재생 속도가 기본값으로 초기화됩니다 + 버튼을 표시합니다\n\n• 버튼을 길게 탭하면 동영상 재생 속도가 기본값으로 초기화됩니다 버튼을 표시하지 않습니다 동영상 화질 버튼 표시하기 - 버튼을 표시합니다\n\n• 버튼을 길게 누르면 화질이 기본값으로 초기화됩니다 + 버튼을 표시합니다\n\n• 버튼을 길게 탭하면 화질이 기본값으로 초기화됩니다 버튼을 표시하지 않습니다 @@ -1492,16 +1492,16 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" 재생 속도 값은 %s배속보다 작아야 합니다 잘못된 사용자 정의 재생 속도 값입니다 자동 - 사용자 정의 길게 눌러서 동영상 재생 속도 - 화면을 길게 누르는 동안에 변경되는 동영상 재생 속도를 0-8 사이에서 지정할 수 있습니다 + 사용자 정의 길게 탭하여 동영상 재생 속도 + 화면을 길게 탭하는 동안에 변경되는 동영상 재생 속도를 0-8 사이에서 지정할 수 있습니다 동영상 재생 속도 저장 활성화하기 - 동영상 재생 속도 값이 변경될 때마다 기본 동영상 재생 속도로 저장합니다 - 동영상 재생 속도 값이 변경될 때마다 기본 동영상 재생 속도로 저장하지 않습니다 + 동영상 재생 속도 값을 변경할 때마다 기본 동영상 재생 속도로 저장합니다 + 동영상 재생 속도 값을 변경할 때마다 기본 동영상 재생 속도로 저장하지 않습니다 동영상 재생 속도 변경 메시지 표시하기 - 기본 동영상 재생 속도 값이 변경될 때마다 팝업 메시지를 표시합니다 - 기본 동영상 재생 속도 값이 변경될 때마다 팝업 메시지를 표시하지 않습니다 + 기본 동영상 재생 속도 값을 변경할 때마다 팝업 메시지를 표시합니다 + 기본 동영상 재생 속도 값을 변경할 때마다 팝업 메시지를 표시하지 않습니다 기본 동영상 재생 속도 기본 동영상 재생 속도 값을 %s 로 변경하였습니다 @@ -1535,11 +1535,11 @@ DeArrow에 대해 자세히 알아보려면 여기를 누르세요" "이 설정를 활성화하면 배터리 수명이 향상되고, 동영상 재생 끊김 문제가 해결될 수 있습니다. AVC의 최대 화질 값은 1080p이고, OPUS 코덱을 사용불가 및 HDR 동영상을 재생할 수 없으며, 동영상을 재생했을 경우에는 VP9 또는 AV1보다 더 많은 모바일 데이터를 사용되오니 주의하세요." - iOS 변경에 대한 알려진 문제점 + iOS 변경에 따른 부작용 "• 영화 또는 유료 동영상이 재생되지 않을 수 있습니다 • 안정적인 볼륨을 사용할 수 없습니다 • 동영상이 1초 일찍 종료될 수 있습니다" - Android 변경에 대한 알려진 문제점 + Android 변경에 따른 부작용 "• 오디오 트랙 메뉴가 표시되지 않습니다 • 안정적인 볼륨을 사용할 수 없습니다 • 원본 오디오 트랙를 강제로 활성화할 수 없습니다" diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 14421a2ca..6b0982ad9 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -47,7 +47,7 @@ Second \"item\" text" Nhập thất bại: %s Tìm kiếm Không tìm thấy kết quả nào cho \'%s\' - Thử một từ khóa khác + Thử từ khóa khác Xóa khỏi lịch sử tìm kiếm? Hiện biểu tượng cài đặt ReVanced Các biểu tượng cài đặt được hiển thị @@ -57,8 +57,8 @@ Second \"item\" text" Để dịch các ngôn ngữ mới, hãy truy cập translate.revanced.app" Ngôn ngữ ứng dụng - Nhập / Xuất - Nhập / Xuất cài đặt ReVanced + Nhập hoặc Xuất + Nhập hoắc xuất các cài đặt ReVanced Bạn đang dùng ReVanced Patches phiên bản <i>%s</i> Lưu ý @@ -153,8 +153,8 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Kệ danh mục được đề xuất đã bị ẩn Kệ danh mục được đề xuất được hiển thị Ẩn bài đăng cộng đồng - Bài đăng cộng đồng đã bị ẩn - Bài đăng cộng đồng được hiển thị + Các bài đăng cộng đồng đã bị ẩn + Các bài đăng cộng đồng được hiển thị Ẩn biểu ngữ vắn tắt Biểu ngữ vắn tắt đã bị ẩn Biểu ngữ vắn tắt được hiển thị @@ -199,8 +199,8 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Ẩn nút \'Hiện thêm\' - Nút hiện thêm trong kết quả tìm kiếm đã bị ẩn - Nút hiện thêm trong kết quả tìm kiếm được hiển thị + Nút hiện thêm đã bị ẩn trong kết quả tìm kiếm + Nút hiện thêm được hiển thị trong kết quả tìm kiếm Ẩn khảo sát Khảo sát bị ẩn Khảo sát được hiển thị @@ -354,7 +354,7 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v Danh sách các chuỗi dựng đường dẫn thành phần để lọc được ngăn cách bởi dòng mới Bộ lọc tuỳ chỉnh không hợp lệ: %s - Ẩn nội dung từ khóa + Ẩn nội dung theo từ khóa Ẩn video trong trang video và tìm kiếm bằng bộ lọc từ khóa Ẩn video Trang chủ theo từ khóa Video trong thẻ Trang chủ được lọc theo từ khóa @@ -639,35 +639,35 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển Thanh điều hướng ở chế độ tối có thể mờ hoặc trong suốt - Trình đơn nổi - Ẩn hoặc hiện các mục trình đơn nổi + Trình đơn tuỳ chọn + Ẩn hoặc hiện các mục trình đơn tuỳ chọn trên trình phát Ẩn Phụ đề Trình đơn phụ đề đã bị ẩn Trình đơn phụ đề được hiển thị - Ẩn cài đặt bổ sung - Trình đơn cài đặt bổ sung đã bị ẩn - Trình đơn cài đặt bổ sung được hiển thị + Ẩn Chế độ cài đặt khác + Trình đơn chế độ cài đặt khác đã bị ẩn + Trình đơn chế độ cài đặt khác được hiển thị Ẩn Hẹn giờ ngủ Trình đơn hẹn giờ ngủ đã bị ẩn Trình đơn hẹn giờ ngủ được hiển thị - Ẩn lặp lại video - Trình đơn lặp lại video đã bị ẩn - Trình đơn lặp lại video được hiển thị + Ẩn Cho video lặp lại + Trình đơn cho video lặp lại đã bị ẩn + Trình đơn cho video lặp lại được hiển thị - Ẩn Chế độ môi trường - Trình đơn chế độ môi trường đã bị ẩn - Trình đơn chế độ môi trường được hiển thị + Ẩn Chế độ môi trường xung quanh + Trình đơn chế độ môi trường xung quanh đã bị ẩn + Trình đơn chế độ môi trường xung quanh được hiển thị Ẩn Âm lượng ổn định Trình đơn âm lượng ổn định được hiển thị Trình đơn âm lượng ổn định đã bị ẩn - Ẩn Trợ giúp & phản hồi - Trình đơn trợ giúp & phản hồi đã bị ẩn - Trình đơn trợ giúp & phản hồi được hiển thị + Ẩn Trợ giúp và phản hồi + Trình đơn trợ giúp và phản hồi đã bị ẩn + Trình đơn trợ giúp và phản hồi được hiển thị Ẩn Tốc độ phát Trình đơn tốc độ phát đã bị ẩn @@ -683,20 +683,20 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển Trình đơn khóa màn hình được hiển thị Ẩn Bản âm thanh - Nút bản âm thanh đã bị ẩn - Nút bản âm thanh được hiển thị + Trình đơn bản âm thanh đã bị ẩn + Trình đơn bản âm thanh được hiển thị "Trình đơn bản âm thanh đã bị ẩn -Để hiển thị trình đơn bản âm thanh, hãy đổi 'Giả mạo luồng video' thành iOS TV" +Để hiển thị bản âm thanh, hãy đổi 'Giả mạo luồng video' thành iOS TV" Ẩn Xem ở chế độ thực tế ảo Trình đơn xem ở chế độ thực tế ảo đã bị ẩn Trình đơn xem ở chế độ thực tế ảo được hiển thị - Ẩn trình đơn chất lượng video + Ẩn Chất lượng video Trình đơn chất lượng video đã bị ẩn Trình đơn chất lượng video được hiển thị - Ẩn chân trình đơn chất lượng video + Ẩn chân trình đơn Chất lượng video Chân trình đơn chất lượng video đã bị ẩn Chân trình đơn chất lượng video được hiển thị @@ -1048,7 +1048,7 @@ Hoạt động tốt nhất với chất lượng video 720p trở xuống và k "Cài đặt của bạn có chứa ID người dùng SponsorBlock riêng tư. ID người dùng của bạn giống như mật khẩu và không bao giờ được chia sẻ." - Không hiện lại + Không hiện lại nữa Thay đổi hành vi phân đoạn Nhà tài trợ Quảng cáo trả phí, giới thiệu trả phí và quảng cáo trực tiếp. Không phải tự quảng cáo hoặc quảng bá miễn phí cho các tổ chức/nhà sáng tạo/trang web/sản phẩm mà họ yêu thích From 1bb8c53ed308d5806963f297018b2e114d516888 Mon Sep 17 00:00:00 2001 From: Jasper Abbink Date: Fri, 15 Aug 2025 12:00:06 +0200 Subject: [PATCH 21/45] feat(NU.nl): Support latest app version (#5643) --- .../main/kotlin/app/revanced/patches/nunl/ads/HideAdsPatch.kt | 2 +- patches/src/main/kotlin/app/revanced/patches/nunl/ads/Hooks.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/nunl/ads/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/nunl/ads/HideAdsPatch.kt index 7aef3b3b9..14d05cfbc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/nunl/ads/HideAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/nunl/ads/HideAdsPatch.kt @@ -14,7 +14,7 @@ val hideAdsPatch = bytecodePatch( name = "Hide ads", description = "Hide ads and sponsored articles in list pages and remove pre-roll ads on videos.", ) { - compatibleWith("nl.sanomamedia.android.nu"("11.3.0")) + compatibleWith("nl.sanomamedia.android.nu") dependsOn(sharedExtensionPatch("nunl", mainActivityOnCreateHook)) diff --git a/patches/src/main/kotlin/app/revanced/patches/nunl/ads/Hooks.kt b/patches/src/main/kotlin/app/revanced/patches/nunl/ads/Hooks.kt index 9a2e28bca..e83d37322 100644 --- a/patches/src/main/kotlin/app/revanced/patches/nunl/ads/Hooks.kt +++ b/patches/src/main/kotlin/app/revanced/patches/nunl/ads/Hooks.kt @@ -4,6 +4,6 @@ import app.revanced.patches.shared.misc.extension.extensionHook internal val mainActivityOnCreateHook = extensionHook { custom { method, classDef -> - classDef.type == "Lnl/sanomamedia/android/nu/main/NUMainActivity;" && method.name == "onCreate" + classDef.endsWith("/NUApplication;") && method.name == "onCreate" } } From 56fbd8cce0110f1185c47e587104270e51991fa2 Mon Sep 17 00:00:00 2001 From: AndnixSH <40742924+AndnixSH@users.noreply.github.com> Date: Fri, 15 Aug 2025 12:00:55 +0200 Subject: [PATCH 22/45] feat(YouTube): Add `Disable sign in to TV popup` patch (#5639) --- .../patches/DisableSignInToTvPopupPatch.java | 14 ++++ .../extension/youtube/settings/Settings.java | 1 + patches/api/patches.api | 4 ++ .../DisableSignInToTvPatchPopup.kt | 68 +++++++++++++++++++ .../hide/signintotvpopup/Fingerprints.kt | 12 ++++ .../resources/addresources/values/strings.xml | 5 ++ 6 files changed, 104 insertions(+) create mode 100644 extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableSignInToTvPopupPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/Fingerprints.kt diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableSignInToTvPopupPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableSignInToTvPopupPatch.java new file mode 100644 index 000000000..f6298ce8b --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableSignInToTvPopupPatch.java @@ -0,0 +1,14 @@ +package app.revanced.extension.youtube.patches; + +import app.revanced.extension.youtube.settings.Settings; + +@SuppressWarnings("unused") +public class DisableSignInToTvPopupPatch { + + /** + * Injection point. + */ + public static boolean disableSignInToTvPopup() { + return Settings.DISABLE_SIGNIN_TO_TV_POPUP.get(); + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 1798b3b85..c9be65624 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -256,6 +256,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting GRADIENT_LOADING_SCREEN = new BooleanSetting("revanced_gradient_loading_screen", FALSE, true); public static final EnumSetting SPLASH_SCREEN_ANIMATION_STYLE = new EnumSetting<>("revanced_splash_screen_animation_style", SplashScreenAnimationStyle.FPS_60_ONE_SECOND, true); public static final EnumSetting HEADER_LOGO = new EnumSetting<>("revanced_header_logo", HeaderLogo.DEFAULT, true); + public static final BooleanSetting DISABLE_SIGNIN_TO_TV_POPUP = new BooleanSetting("revanced_disable_signin_to_tv_popup", FALSE); public static final BooleanSetting REMOVE_VIEWER_DISCRETION_DIALOG = new BooleanSetting("revanced_remove_viewer_discretion_dialog", FALSE, "revanced_remove_viewer_discretion_dialog_user_dialog_message"); diff --git a/patches/api/patches.api b/patches/api/patches.api index db1bb7e8e..835beeb59 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1357,6 +1357,10 @@ public final class app/revanced/patches/youtube/layout/hide/shorts/HideShortsCom public static final fun getHideShortsComponentsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopupKt { + 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; } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt new file mode 100644 index 000000000..1a591c315 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/DisableSignInToTvPatchPopup.kt @@ -0,0 +1,68 @@ +package app.revanced.patches.youtube.layout.hide.signintotvpopup + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.mapping.get +import app.revanced.patches.shared.misc.mapping.resourceMappingPatch +import app.revanced.patches.shared.misc.mapping.resourceMappings +import app.revanced.patches.shared.misc.settings.preference.SwitchPreference +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.settings.PreferenceScreen +import app.revanced.patches.youtube.misc.settings.settingsPatch + +internal var mdx_seamless_tv_sign_in_drawer_fragment_title_id = -1L + private set + +private const val EXTENSION_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/youtube/patches/DisableSignInToTvPopupPatch;" + +val disableSignInToTvPopupPatch = bytecodePatch( + name = "Disable sign in to TV popup", + description = "Adds an option to disable the popup asking to sign into a TV on the same local network.", +) { + dependsOn( + settingsPatch, + sharedExtensionPatch, + addResourcesPatch, + resourceMappingPatch + ) + + compatibleWith( + "com.google.android.youtube"( + "19.34.42", + "19.43.41", + "19.47.53", + "20.07.39", + "20.12.46", + "20.13.41", + ) + ) + + execute { + addResources("youtube", "layout.hide.signintotv.disableSignInToTvPopupPatch") + + PreferenceScreen.MISC.addPreferences( + SwitchPreference("revanced_disable_signin_to_tv_popup"), + ) + + mdx_seamless_tv_sign_in_drawer_fragment_title_id = resourceMappings[ + "string", + "mdx_seamless_tv_sign_in_drawer_fragment_title", + ] + + signInToTvPopupFingerprint.method.addInstructionsWithLabels( + 0, + """ + invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->disableSignInToTvPopup()Z + move-result v0 + if-eqz v0, :allow_sign_in_popup + const/4 v0, 0x0 + return v0 + :allow_sign_in_popup + nop + """ + ) + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/Fingerprints.kt new file mode 100644 index 000000000..c79d4ed26 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/signintotvpopup/Fingerprints.kt @@ -0,0 +1,12 @@ +package app.revanced.patches.youtube.layout.hide.signintotvpopup + +import app.revanced.patcher.fingerprint +import app.revanced.util.literal + +internal val signInToTvPopupFingerprint = fingerprint { + returns("Z") + parameters("Ljava/lang/String;", "Z", "L") + literal { + mdx_seamless_tv_sign_in_drawer_fragment_title_id + } +} \ No newline at end of file diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index e4d8ad112..8e5377d27 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -515,6 +515,11 @@ This feature is only available for older devices" Dialog will be shown This does not bypass the age restriction. It just accepts it automatically. + + Disable Sign in to TV popup + Sign in to TV popup is disabled + Sign in to TV popup is enabled + Disable double tap chapter skip Double tap can never trigger a skip to the next/previous chapter From 959f23d1e442930f7b08f27d21e15fa3ec45ea46 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 15 Aug 2025 10:04:52 +0000 Subject: [PATCH 23/45] chore: Release v5.34.0-dev.8 [skip ci] # [5.34.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.7...v5.34.0-dev.8) (2025-08-15) ### Features * **NU.nl:** Support latest app version ([#5643](https://github.com/ReVanced/revanced-patches/issues/5643)) ([1bb8c53](https://github.com/ReVanced/revanced-patches/commit/1bb8c53ed308d5806963f297018b2e114d516888)) * **YouTube:** Add `Disable sign in to TV popup` patch ([#5639](https://github.com/ReVanced/revanced-patches/issues/5639)) ([56fbd8c](https://github.com/ReVanced/revanced-patches/commit/56fbd8cce0110f1185c47e587104270e51991fa2)) --- CHANGELOG.md | 8 ++++++++ gradle.properties | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b0846d12..fe4477214 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# [5.34.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.7...v5.34.0-dev.8) (2025-08-15) + + +### Features + +* **NU.nl:** Support latest app version ([#5643](https://github.com/ReVanced/revanced-patches/issues/5643)) ([7338e4a](https://github.com/ReVanced/revanced-patches/commit/7338e4a5a99f913256120d0d58fede3aa4ee8922)) +* **YouTube:** Add `Disable sign in to TV popup` patch ([#5639](https://github.com/ReVanced/revanced-patches/issues/5639)) ([d0e5bd0](https://github.com/ReVanced/revanced-patches/commit/d0e5bd0479a8910b081c483ed2a6ab4d7134e3c3)) + # [5.34.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.6...v5.34.0-dev.7) (2025-08-13) diff --git a/gradle.properties b/gradle.properties index 6f3b9a291..028a7fa9f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.7 +version = 5.34.0-dev.8 From fe66baedb7803e33cc633c515a3804cd266cc293 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 16 Aug 2025 11:45:36 -0400 Subject: [PATCH 24/45] feat(YouTube - Hide video action buttons): Add "Hide Hype button" setting --- .../youtube/patches/components/ButtonsFilter.java | 4 ++++ .../revanced/extension/youtube/settings/Settings.java | 1 + .../youtube/layout/buttons/action/HideButtonsPatch.kt | 1 + .../src/main/resources/addresources/values/strings.xml | 9 +++++++-- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java index 42e428fe9..775286517 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java @@ -83,6 +83,10 @@ final class ButtonsFilter extends Filter { new ByteArrayFilterGroup( Settings.HIDE_CLIP_BUTTON, "yt_outline_scissors" + ), + new ByteArrayFilterGroup( + Settings.HIDE_HYPE_BUTTON, + "yt_outline_star_shooting" ) ); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index c9be65624..16ba32358 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -223,6 +223,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_ASK_BUTTON = new BooleanSetting("revanced_hide_ask_button", FALSE); public static final BooleanSetting HIDE_CLIP_BUTTON = new BooleanSetting("revanced_hide_clip_button", TRUE); public static final BooleanSetting HIDE_DOWNLOAD_BUTTON = new BooleanSetting("revanced_hide_download_button", FALSE); + public static final BooleanSetting HIDE_HYPE_BUTTON = new BooleanSetting("revanced_hide_hype_button", FALSE); public static final BooleanSetting HIDE_LIKE_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_like_dislike_button", FALSE); public static final BooleanSetting HIDE_REMIX_BUTTON = new BooleanSetting("revanced_hide_remix_button", TRUE); public static final BooleanSetting HIDE_REPORT_BUTTON = new BooleanSetting("revanced_hide_report_button", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt index 667bf1608..266e2a97e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt @@ -49,6 +49,7 @@ val hideButtonsPatch = resourcePatch( SwitchPreference("revanced_hide_share_button"), SwitchPreference("revanced_hide_stop_ads_button"), SwitchPreference("revanced_hide_thanks_button"), + SwitchPreference("revanced_hide_hype_button"), ) ) ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 8e5377d27..5beb0d965 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -631,7 +631,7 @@ Adjust volume by swiping vertically on the right side of the screen" Stop ads button is hidden Stop ads button is shown + This button usually only shows on live streams. --> Hide Report Report button is hidden Report button is shown @@ -643,12 +643,17 @@ Adjust volume by swiping vertically on the right side of the screen" Hide Download Download button is hidden Download button is shown + + Hide Hype button + Hype button is hidden. + Hype button is shown. Hide Thanks Thanks button is hidden Thanks button is shown + This button only shows if the user ip is from specific region such as the USA or EU. --> Hide Ask Ask button is hidden Ask button is shown From c23a926b07f22748c1fc352024d6bf484abd934d Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 16 Aug 2025 15:48:20 +0000 Subject: [PATCH 25/45] chore: Release v5.34.0-dev.9 [skip ci] # [5.34.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.8...v5.34.0-dev.9) (2025-08-16) ### Features * **YouTube - Hide video action buttons:** Add "Hide Hype button" setting ([fe66bae](https://github.com/ReVanced/revanced-patches/commit/fe66baedb7803e33cc633c515a3804cd266cc293)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe4477214..de8f39db4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.8...v5.34.0-dev.9) (2025-08-16) + + +### Features + +* **YouTube - Hide video action buttons:** Add "Hide Hype button" setting ([f13f377](https://github.com/ReVanced/revanced-patches/commit/f13f3770e7c4fd5bff8f3e224fb1b1ead50a3c18)) + # [5.34.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.7...v5.34.0-dev.8) (2025-08-15) diff --git a/gradle.properties b/gradle.properties index 028a7fa9f..a0c7db27a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.8 +version = 5.34.0-dev.9 From 7e812ae1a87c41c0761a119a8618d6457a3b75b9 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 16 Aug 2025 12:23:09 -0400 Subject: [PATCH 26/45] chore: Fix typo --- patches/src/main/resources/addresources/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 5beb0d965..3717a7eaa 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -646,8 +646,8 @@ Adjust volume by swiping vertically on the right side of the screen" Hide Hype button - Hype button is hidden. - Hype button is shown. + Hype button is hidden + Hype button is shown Hide Thanks Thanks button is hidden From bfd39899958d36558c87a816b95802e6d3f5bf98 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 13:15:10 -0400 Subject: [PATCH 27/45] chore: Sync translations (#5662) --- .../addresources/values-af-rZA/strings.xml | 8 +++- .../addresources/values-am-rET/strings.xml | 8 +++- .../addresources/values-ar-rSA/strings.xml | 14 ++++++- .../addresources/values-as-rIN/strings.xml | 8 +++- .../addresources/values-az-rAZ/strings.xml | 11 ++++- .../addresources/values-be-rBY/strings.xml | 14 ++++++- .../addresources/values-bg-rBG/strings.xml | 14 ++++++- .../addresources/values-bn-rBD/strings.xml | 14 ++++++- .../addresources/values-bs-rBA/strings.xml | 8 +++- .../addresources/values-ca-rES/strings.xml | 8 +++- .../addresources/values-cs-rCZ/strings.xml | 14 ++++++- .../addresources/values-da-rDK/strings.xml | 14 ++++++- .../addresources/values-de-rDE/strings.xml | 14 ++++++- .../addresources/values-el-rGR/strings.xml | 14 ++++++- .../addresources/values-es-rES/strings.xml | 14 ++++++- .../addresources/values-et-rEE/strings.xml | 14 ++++++- .../addresources/values-eu-rES/strings.xml | 8 +++- .../addresources/values-fa-rIR/strings.xml | 8 +++- .../addresources/values-fi-rFI/strings.xml | 8 +++- .../addresources/values-fil-rPH/strings.xml | 14 ++++++- .../addresources/values-fr-rFR/strings.xml | 14 ++++++- .../addresources/values-ga-rIE/strings.xml | 42 +++++++++++-------- .../addresources/values-gl-rES/strings.xml | 8 +++- .../addresources/values-gu-rIN/strings.xml | 8 +++- .../addresources/values-hi-rIN/strings.xml | 8 +++- .../addresources/values-hr-rHR/strings.xml | 8 +++- .../addresources/values-hu-rHU/strings.xml | 14 ++++++- .../addresources/values-hy-rAM/strings.xml | 14 ++++++- .../addresources/values-in-rID/strings.xml | 14 ++++++- .../addresources/values-is-rIS/strings.xml | 8 +++- .../addresources/values-it-rIT/strings.xml | 14 ++++++- .../addresources/values-iw-rIL/strings.xml | 14 ++++++- .../addresources/values-ja-rJP/strings.xml | 14 ++++++- .../addresources/values-ka-rGE/strings.xml | 8 +++- .../addresources/values-kk-rKZ/strings.xml | 8 +++- .../addresources/values-km-rKH/strings.xml | 8 +++- .../addresources/values-kn-rIN/strings.xml | 8 +++- .../addresources/values-ko-rKR/strings.xml | 14 ++++++- .../addresources/values-ky-rKG/strings.xml | 8 +++- .../addresources/values-lo-rLA/strings.xml | 8 +++- .../addresources/values-lt-rLT/strings.xml | 14 ++++++- .../addresources/values-lv-rLV/strings.xml | 14 ++++++- .../addresources/values-mk-rMK/strings.xml | 8 +++- .../addresources/values-ml-rIN/strings.xml | 8 +++- .../addresources/values-mn-rMN/strings.xml | 8 +++- .../addresources/values-mr-rIN/strings.xml | 8 +++- .../addresources/values-ms-rMY/strings.xml | 8 +++- .../addresources/values-my-rMM/strings.xml | 8 +++- .../addresources/values-nb-rNO/strings.xml | 8 +++- .../addresources/values-ne-rIN/strings.xml | 8 +++- .../addresources/values-nl-rNL/strings.xml | 14 ++++++- .../addresources/values-or-rIN/strings.xml | 8 +++- .../addresources/values-pa-rIN/strings.xml | 8 +++- .../addresources/values-pl-rPL/strings.xml | 14 ++++++- .../addresources/values-pt-rBR/strings.xml | 14 ++++++- .../addresources/values-pt-rPT/strings.xml | 14 ++++++- .../addresources/values-ro-rRO/strings.xml | 14 ++++++- .../addresources/values-ru-rRU/strings.xml | 14 ++++++- .../addresources/values-si-rLK/strings.xml | 8 +++- .../addresources/values-sk-rSK/strings.xml | 14 ++++++- .../addresources/values-sl-rSI/strings.xml | 14 ++++++- .../addresources/values-sq-rAL/strings.xml | 14 ++++++- .../addresources/values-sr-rCS/strings.xml | 14 ++++++- .../addresources/values-sr-rSP/strings.xml | 14 ++++++- .../addresources/values-sv-rSE/strings.xml | 14 ++++++- .../addresources/values-sw-rKE/strings.xml | 8 +++- .../addresources/values-ta-rIN/strings.xml | 8 +++- .../addresources/values-te-rIN/strings.xml | 8 +++- .../addresources/values-th-rTH/strings.xml | 14 ++++++- .../addresources/values-tr-rTR/strings.xml | 14 ++++++- .../addresources/values-uk-rUA/strings.xml | 14 ++++++- .../addresources/values-ur-rIN/strings.xml | 8 +++- .../addresources/values-uz-rUZ/strings.xml | 8 +++- .../addresources/values-vi-rVN/strings.xml | 16 +++++-- .../addresources/values-zh-rCN/strings.xml | 14 ++++++- .../addresources/values-zh-rTW/strings.xml | 17 +++++++- .../addresources/values-zu-rZA/strings.xml | 8 +++- 77 files changed, 722 insertions(+), 170 deletions(-) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 37a7854c9..daecb24ed 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" سيتم عرض مربع الحوار وهذا لا يتجاوز قيود السن. بل يقبلها تلقائيًا. + + تعطيل النافذة المنبثقة لتسجيل الدخول إلى التلفزيون + النافذة المنبثقة لتسجيل الدخول إلى التلفزيون معطلة + النافذة المنبثقة لتسجيل الدخول إلى التلفزيون مفعلة + تعطيل تخطي الفصل بالنقر المزدوج لا يمكن للنقر المزدوج مطلقًا أن يؤدي إلى تخطي الفصل التالي/السابق @@ -563,7 +568,7 @@ Second \"item\" text" زر إيقاف الإعلانات مخفي زر إيقاف الإعلانات معروض + This button usually only shows on live streams. --> إخفاء الإبلاغ تم إخفاء زر الإبلاغ يتم عرض زر الإبلاغ @@ -575,12 +580,17 @@ Second \"item\" text" إخفاء التنزيل تم إخفاء زر التنزيل يتم عرض زر التنزيل + + إخفاء زر Hype + زر الضجة مخفي + يظهر زر الحماس إخفاء شكرًا تم إخفاء زر شكرًا يتم عرض زر شكرًا + This button only shows if the user ip is from specific region such as the USA or EU. --> إخفاء \"Ask\" تم إخفاء زر \"Ask\" يتم عرض زر \"Ask\" diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index 1ab6defd3..dd04fa401 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index e613308f5..8ff106a97 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -452,6 +452,11 @@ Bu xüsusiyyət yalnız köhnə cihazlar üçün mövcuddur" Dialoq göstərilir Bu, yaş məhdudiyyətini ötürmür. Sadəcə birbaşa qəbul edir. + + TV ani görüntüsü girişin qapat + TV ani görüntüyə giriş qapadılıb + TV ani görüntüyə giriş işləkdir + Cüt toxunuşla fəsil ötürməsini qapat Cüt toxunma heç vaxt növbəti/əvvəlki fəsilə keçidi zorlaya bilməz @@ -563,7 +568,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz Reklamları dayandır düyməsi gizlidir Reklamları dayandır düyməsi görünür + This button usually only shows on live streams. --> \"Xəbər verin\"i gizlət Xəbər ver/düyməsi gizlidir Xəbər ver/düyməsi göstərilir @@ -575,12 +580,14 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz \"Endirin\"i gizlət Yükləmə düyməsi gizlidir Yükləmə düyməsi göstərilir + \"Təşəkkürlər\"i gizlət Təşəkkür düyməsi gizlidir Təşəkkür düyməsi göstərilir + This button only shows if the user ip is from specific region such as the USA or EU. --> Soruş\'u Gizlət Soruş düyməsi gizlidir \"Soruş\" düyməsi göstərilir diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 3c4c70738..6f5ec7c63 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" Будзе паказана дыялогавае акно Гэта не абыходзіць узроставае абмежаванне. Ён проста прымае гэта аўтаматычна. + + Адключыць усплывальнае акно «Уваход у ТБ» + Усплывальнае акно «Уваход у ТБ» адключана + Усплывальнае акно «Уваход у ТБ» уключана + Адключыць прапуск раздзела па двайным націску Двайны націск ніколі не можа выклікаць прапуск да наступнага/папярэдняга раздзела @@ -563,7 +568,7 @@ Second \"item\" text" Кнопка \"Спыніць рэкламу\" схавана Кнопка \"Спыніць рэкламу\" паказана + This button usually only shows on live streams. --> Схаваць справаздачу Кнопка \"Паведаміць\" схавана Паказана кнопка \"Паведаміць\" @@ -575,12 +580,17 @@ Second \"item\" text" Схаваць загрузку Кнопка загрузкі схавана Паказана кнопка загрузкі + + Схаваць кнопку Hype + Кнопка Hype схаваная + Кнопка хайпу паказана Схаваць Дзякуй Кнопка падзякі схавана Паказана кнопка падзякі + This button only shows if the user ip is from specific region such as the USA or EU. --> Схаваць кнопку «Запытацца» Кнопка «Запытацца» схаваная Кнопка «Запытацца» паказаная diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index dde08eb2c..debbe34a0 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" Диалоговият прозорец ще бъде показан Тази функция не заобикаля възрастовото ограничение. Тя просто приема възрастовата граница автоматично. + + Деактивиране на изскачащия прозорец „Влизане в телевизора“ + Изскачащият прозорец „Влизане в телевизора“ е деактивиран + Изскачащият прозорец „Влизане в телевизора“ е активиран + Деактивиране на пропускане на глава с двойно докосване Двойното докосване никога не може да предизвика пропускане до следваща/предишна глава @@ -563,7 +568,7 @@ Second \"item\" text" Бутонът за спиране на реклами е скрит Бутонът за спиране на реклами е показан + This button usually only shows on live streams. --> Бутон за доклади Бутона за докладване е скрит Бутона за докладване се показва @@ -575,12 +580,17 @@ Second \"item\" text" Бутон за изтегляне Бутона за изтегляне е скрит Бутона за изтегляне се показва + + Скриване на бутона за хайп + Бутонът за хайп е скрит + Бутонът за хайп е показан Бутон за благодарност Бутона за благодарност е скрит Бутона за благодарност се показва + This button only shows if the user ip is from specific region such as the USA or EU. --> Скриване на \"Попитай\" Бутонът \"Попитай\" е скрит Бутонът \"Попитай\" е показан diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 6bfa36104..651b71386 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -448,6 +448,11 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ ডায়ালগ প্রদর্শিত হবে এটি বয়সের সীমাবদ্ধতাকে বাইপাস করে না। এটা শুধু স্বয়ংক্রিয়ভাবে গ্রহণ করে। + + টিভিতে সাইন ইন পপআপ অক্ষম করুন + টিভিতে সাইন ইন পপআপ অক্ষম করা হয়েছে + টিভিতে সাইন ইন পপআপ সক্ষম করা হয়েছে + ডাবল ট্যাপ অধ্যায় স্কিপ অক্ষম করুন ডাবল ট্যাপ কখনও পরবর্তী/পূর্ববর্তী অধ্যায়ে স্কিপ ট্রিগার করতে পারে না @@ -559,7 +564,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ বিজ্ঞাপন বন্ধ করুন বোতামটি লুকানো আছে বিজ্ঞাপন বন্ধ করুন বোতামটি দেখানো হচ্ছে + This button usually only shows on live streams. --> Report লুকান রিপোর্ট বাটন লুকিয়ে রয়েছে রিপোর্ট বাটন প্রদর্শিত @@ -571,12 +576,17 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ ডাউনলোডগুলো হাইড করাও ডাউনলোড বোতাম লুকানো আছে ডাউনলোড বোতাম দেখানো হয়েছে + + হাইপ বোতাম লুকান + হাইপ বোতাম লুকানো আছে + হাইপ বাটন দেখানো হয়েছে ধন্যবাদ লুকান ধন্যবাদ বোতাম লুকানো আছে ধন্যবাদ বোতাম দেখানো হয় + This button only shows if the user ip is from specific region such as the USA or EU. --> জিজ্ঞাসা লুকান জিজ্ঞাসা বোতাম লুকানো আছে জিজ্ঞাসা বোতাম দেখানো হয়েছে diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index f9aeb930f..25863205b 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -452,6 +452,11 @@ Tato funkce je dostupná pouze pro starší zařízení" Dialog bude zobrazen Tímto krokem neobcházíte věkové omezení. Pouze jej automaticky akceptujete. + + Zakázat vyskakovací okno Přihlásit se k televizi + Vyskakovací okno Přihlásit se k televizi je zakázáno + Vyskakovací okno Přihlásit se k televizi je povoleno + Zakázat přeskočení kapitoly dvojitým klepnutím Dvojité klepnutí nikdy nespustí přeskočení na další/předchozí kapitolu @@ -563,7 +568,7 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky" Tlačítko pro zastavení reklam je skryté Tlačítko pro zastavení reklam je zobrazeno + This button usually only shows on live streams. --> Skrýt Nahlásit Tlačítko Nahlásit je skryto Tlačítko Nahlásit je zobrazeno @@ -575,12 +580,17 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky" Skrýt Stáhnout Tlačítko Stáhnout je skryto Tlačítko Stáhnout je zobrazeno + + Skrýt tlačítko Hype + Tlačítko Hype je skryto + Tlačítko Hype je zobrazeno Skrýt Poděkování Tlačítko Poděkování je skryto Tlačítko Poděkování je zobrazeno + This button only shows if the user ip is from specific region such as the USA or EU. --> Skrýt Zeptat se Tlačítko Zeptat se je skryté Tlačítko Zeptat se je zobrazeno diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index a173f6bb4..8d38dc757 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -452,6 +452,11 @@ Denne funktion er kun tilgængelig for ældre enheder" Dialog vil blive vist Dette går ikke uden om aldersbegrænsningen. Det accepterer bare det automatisk. + + Deaktiver log ind på TV-pop op + Log ind på TV-pop op er deaktiveret + Log ind på TV-pop op er aktiveret + Deaktiver dobbeltklik kapitelspring Dobbeltklik kan aldrig udløse et spring til næste/forrige kapitel @@ -563,7 +568,7 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen" Knappen \"Stop annoncer\" er skjult Knappen \"Stop annoncer\" vises + This button usually only shows on live streams. --> Skjul Rapport Rapport-knappen er skjult Rapport-knappen er vist @@ -575,12 +580,17 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen" Skjul Download Download-knappen er skjult Download-knappen vises + + Skjul Hype-knap + Hype-knappen er skjult + Hype-knappen vises Skjul Tak Tak knappen er skjult Tak knappen er vist + This button only shows if the user ip is from specific region such as the USA or EU. --> Skjul Spørg Spørg-knappen er skjult Spørg-knappen vises diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index 016ad9a85..243c49bbc 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -449,6 +449,11 @@ Diese Funktion ist nur für ältere Geräte verfügbar" Dialog wird angezeigt Dies umgeht nicht die Altersbeschränkung, sondern akzeptiert sie nur automatisch. + + Pop-up \"Bei TV anmelden\" deaktivieren + Pop-up \"Bei TV anmelden\" ist deaktiviert + Pop-up \"Bei TV anmelden\" ist aktiviert + Doppeltippen zum Kapitelüberspringen deaktivieren Doppeltippen kann niemals ein Überspringen zum nächsten/vorherigen Kapitel auslösen @@ -558,7 +563,7 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver Schaltfläche \"Werbung stoppen\" ist ausgeblendet Schaltfläche \"Werbung stoppen\" ist sichtbar + This button usually only shows on live streams. --> Bericht ausblenden Bericht-Button ist ausgeblendet Bericht-Button wird angezeigt @@ -570,12 +575,17 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver Download ausblenden Download-Button ist ausgeblendet Download-Button wird angezeigt + + Hype-Button ausblenden + Hype-Button ist ausgeblendet + Hype-Button wird angezeigt Dank ausblenden Dankeschön-Taste ist ausgeblendet Dankeschön Button wird angezeigt + This button only shows if the user ip is from specific region such as the USA or EU. --> Ask ausblenden Ask-Button ist ausgeblendet Ask-Button wird angezeigt diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index b6ab6336a..9d524f077 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -454,6 +454,11 @@ Second \"item\" text" Εμφανίζεται Αυτό δεν παρακάμπτει τον ηλικιακό περιορισμό. Απλώς τον αποδέχεται αυτόματα. + + Απενεργοποίηση αναδυόμενου παραθύρου σύνδεσης στην τηλεόραση + Το αναδυόμενο παράθυρο σύνδεσης στην τηλεόραση είναι απενεργοποιημένο + Το αναδυόμενο παράθυρο σύνδεσης στην τηλεόραση είναι ενεργοποιημένο + Απενεργοποίηση παράλειψης κεφαλαίου με διπλό πάτημα Το διπλό πάτημα δεν παράλειπει στο επόμενο/προηγούμενο κεφάλαιο @@ -565,7 +570,7 @@ Second \"item\" text" Κρυμμένο Εμφανίζεται + This button usually only shows on live streams. --> Μενού «Αναφορά» Κρυμμένο Εμφανίζεται @@ -577,12 +582,17 @@ Second \"item\" text" Κουμπί «Λήψη» Κρυμμένο Εμφανίζεται + + Κουμπί «Χάιπ» + Κρυμμένο + Το κουμπί Hype εμφανίζεται Κουμπί «Σας ευχαριστούμε» Κρυμμένο Εμφανίζεται + This button only shows if the user ip is from specific region such as the USA or EU. --> Κουμπί «Ερώτηση» Κρυμμένο Εμφανίζεται diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 14f3b642a..eeb70194a 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -452,6 +452,11 @@ Esta función solo está disponible para dispositivos antiguos" Se mostrará el diálogo Esto no evita la restricción de edad. Solo la acepta automáticamente. + + Desactivar la ventana emergente de Iniciar sesión en TV + La ventana emergente de Iniciar sesión en TV está desactivada + La ventana emergente de Iniciar sesión en TV está activada + Deshabilitar el salto de capítulo con doble toque El doble toque nunca puede activar un salto al capítulo siguiente/anterior @@ -563,7 +568,7 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"El botón de detener anuncios está oculto El botón de detener anuncios está mostrado + This button usually only shows on live streams. --> Ocultar informe El botón Reportar está oculto Se muestra el botón Reportar @@ -575,12 +580,17 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"Ocultar descarga El botón de descarga está oculto Se muestra el botón de descarga + + Ocultar botón de Hype + El botón Hype está oculto + El botón de hype está visible Ocultar Gracias El botón de gracias está oculto Se muestra el botón de gracias + This button only shows if the user ip is from specific region such as the USA or EU. --> Ocultar pregunta El botón \"Preguntar\" está oculto Se muestra el botón \"Preguntar\" diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 6c9a7410b..0d2ddbc11 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -452,6 +452,11 @@ See funktsioon on saadaval ainult vanemates seadmetes" Dialoog kuvatakse See ei mööda vanusepiirangust. See lihtsalt aktsepteerib seda automaatselt. + + Keela telerisse sisselogimise hüpikaken + Telerisse sisselogimise hüpikaken on keelatud + Telerisse sisselogimise hüpikaken on lubatud + Keela topeltpuudutusega peatüki vahelejätmine Topeltpuudutus ei saa kunagi käivitada järgmise/eelmise peatüki vahelejätmist @@ -563,7 +568,7 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"Peata reklaamide nupp on peidetud Peata reklaamide nupp on nähtav + This button usually only shows on live streams. --> Peida Teata Teata nupp on peidetud Teata nupp on nähtav @@ -575,12 +580,17 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"Peida Laadi alla Laadi alla nupp on peidetud Laadi alla nupp on nähtav + + Peida Haip nupp + Hype nupp on peidetud + Hype\'i nupp on nähtav Peida Tänan Tänan nupp on peidetud Tänan nupp on nähtav + This button only shows if the user ip is from specific region such as the USA or EU. --> Peida küsi Küsi nupp on peidetud Küsi nupp on nähtav diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 02fce0932..7e7f8f237 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -114,6 +114,8 @@ Second \"item\" text" + + @@ -131,12 +133,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 05aefc519..32f92ac7a 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -452,6 +452,8 @@ Tämä ominaisuus on käytettävissä vain vanhemmilla laitteilla" Valintaikkuna näytetään Tämä ei ohita ikärajoitusta. Se vain hyväksyy sen automaattisesti. + + Poista videon osan ohittaminen kaksoisnapauttamalla käytöstä Kaksoisnapautus ei voi koskaan aiheuttaa siirtymistä videon seuraavaan/edelliseen osaan @@ -563,7 +565,7 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu Estä mainokset -painike on piilotettu Estä mainokset -painike näytetään + This button usually only shows on live streams. --> Piilota Tee ilmoitus Tee ilmoitus -painike on piilotettu Tee ilmoitus -painike näytetään @@ -575,12 +577,14 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu Piilota Lataa Lataa-painike on piilotettu Lataa-painike näytetään + Piilota Kiitos Kiitos-painike on piilotettu Kiitos-painike näytetään + This button only shows if the user ip is from specific region such as the USA or EU. --> Piilota Ask Ask-painike on piilotettu Ask-painike näytetään diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 3a5f0a218..0c0327cfe 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -452,6 +452,11 @@ Ang tampok na ito ay magagamit lamang para sa mga mas lumang device" Ipapakita ang dialog Hindi nito nilalampasan ang paghihigpit sa edad. Awtomatiko lang itong tinatanggap. + + Huwag paganahin ang popup ng Pag-sign in sa TV + Hindi pinagana ang popup ng Pag-sign in sa TV + Pinagana ang popup ng Pag-sign in sa TV + Huwag paganahin ang paglaktaw ng kabanata sa doble tap Ang doble tap ay hindi kailanman maaaring mag-trigger ng paglaktaw sa susunod/nakaraang kabanata @@ -563,7 +568,7 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc Nakatago ang button ng pagtigil sa mga ad Napakita ang button ng pagtigil sa mga ad + This button usually only shows on live streams. --> Itago ang Ulat Nakatago ang button ng ulat Ang pindutan ng ulat ay ipinapakita @@ -575,12 +580,17 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc Itago ang Download Nakatago ang button sa pag-download Ang pindutan ng pag-download ay ipinapakita + + Itago ang Hype button + Nakatago ang hype button + Ipinapakita ang Hype button Itago Salamat Nakatago ang buton ng salamat Ang pindutan ng salamat ay ipinapakita + This button only shows if the user ip is from specific region such as the USA or EU. --> Itago ang Tanong Nakatago ang button na Tanong Ipinapakita ang button na Tanong diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index bd5f8cdc5..226df230f 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -452,6 +452,11 @@ Cette fonctionnalité est disponible uniquement pour les appareils anciens"Le message sera affiché Cette option ne contourne pas la vérification de l\'âge. Elle est juste confirmée automatiquement. + + Désactiver le pop-up \"Se connecter à la TV\" + Le pop-up \"Se connecter à la TV\" est désactivé + Le pop-up \"Se connecter à la TV\" est activé + Désactiver le double appui pour passer à un chapitre Le double appui ne peut jamais déclencher de saut vers le chapitre suivant/précédent @@ -563,7 +568,7 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Le bouton Zéro annonce est masqué Le bouton Zéro annonce est affiché + This button usually only shows on live streams. --> Masquer \"Signaler\" Le bouton Signaler est masqué Le bouton Signaler est affiché @@ -575,12 +580,17 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Masquer \"Télécharger\" Le bouton Télécharger est masqué Le bouton Télécharger est affiché + + Masquer le bouton Hype + Le bouton Hype est masqué + Le bouton Hype est affiché Masquer \"Merci\" Le bouton Merci est masqué Le bouton Merci est affiché + This button only shows if the user ip is from specific region such as the USA or EU. --> Masquer \"Demander\" Le bouton Demander est masqué Le bouton Demander est affiché diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 42163cf90..142d84c0d 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -25,9 +25,7 @@ Second \"item\" text" Oscailt láithreán gréasáin oifigiúil Neamhaird <h5>Ní cosúil gur tusa a rinne paiste ar an aip seo.</h5><br>B’fhéidir nach bhfeidhmeoidh an aip seo i gceart, <b>agus d’fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>. -Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile: -<br><br><small>%1$s</small><br> <b> -Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó. +Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile:<br><br><small>%1$s</small><br> <b>Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó. Paisteáilte ar ghléas eile Gan a bheith suiteáilte ag ReVanced Manager Paisteáilte níos mó ná 10 nóiméad ó shin @@ -130,15 +128,15 @@ Mar sin féin, logálfaidh sé seo roinnt sonraí úsáideora freisin, mar shamp Cuimsíonn logaí dífhabhtaithe rian cruach Ní chuimsíonn logaí dífhabhtaithe rian cruach Taispeáin tósta ar earráid ReVanced - Taispeántar toast má tharlaíonn earráid - Ní thaispeántar toast má tharlaíonn earráid + Taispeántar tósta má tharlaíonn earráid + Ní thaispeántar tósta má tharlaíonn earráid "Má mhúchtar tóstaí earráide, folaítear gach fógra earráide ReVanced. Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne." Easpórtáil logaí dífhabhtaithe Cóipeálann sé logaí dífhabhtaithe ReVanced chuig an gearrthaisce Tá logáil dífhabhtaithe díchumasaithe - Ní bhfuarthas aon loga + Níor aimsíodh aon logaí Lógaí cóipeáilte Theip ar logaí a easpórtáil: %s Glan logaí dífhabhtaithe @@ -149,10 +147,10 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne." Folaigh cártaí albam Tá cártaí albam i bhfolach Taispeántar cártaí albam - Folaigh cártaí ealaíontóirí + Folaigh cártaí ealaíontóra Tá cártaí ealaíontóirí i bhfolach Taispeántar cártaí ealaíonta - Folaigh an seilf scagairí + Folaigh seilf sceallóga Tá seilf scagairí i bhfolach Taispeántar seilf scagairí Folaigh postálacha pobail @@ -164,13 +162,13 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne." Folaigh bosca slua-mhaoiniú Tá bosca slua-mhaoiniú i bhfolach Taispeántar bosca slua-mhaoiniú - Folaigh cárta insínte + Folaigh cárta inleathnaithe Tá cárta insínte faoi fhíseáin i bhfolach - Tá cárta insínte faoi fhíseáin le feiceáil + Taispeántar cárta inleathnaithe faoi fhíseáin Folaigh an cnaipe micreafón ar snámh Cnaipe micreafóin ar snámh sa chuardach i bhfolach - Tá cnaipe micreafóin ar snámh sa chuardach ar taispeáint - Folaigh seilfeanna cothromán + Taispeántar cnaipe micreafóin ar snámh sa chuardach + Folaigh seilfeanna cothrománacha "Tá seilfeanna cothrománacha i bhfolach, amhail: • Nuacht is déanaí • Lean ar aghaidh ag féachaint @@ -178,11 +176,11 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne." • Is ábhartha • Siopadóireacht • Féach arís air" - Seilfeanna cothrománacha taispeánta + Taispeántar seilfeanna cothrománacha Folaigh seilf íomhá Tá seilf íomhá i dtorthaí cuardaigh i bhfolach - Tá seilf íomhá i dtorthaí cuardaigh le feiceáil - Folaigh na postanna is déanaí + Taispeántar seilf íomhánna i dtorthaí cuardaigh + Folaigh na poist is déanaí Tá postanna is déanaí i bhfolach Taispeántar na postálacha is déanaí Folaigh seinmliostaí meascán @@ -455,6 +453,11 @@ Níl an ghné seo ar fáil ach do ghléasanna níos sine" Taispeánfar dialóg Ní sheachnaíonn sé seo an srian aoise. Ní ghlacann sé leis go huathoibríoch. + + Díchumasaigh an Aníos Sínigh Isteach sa Teilifís + Tá an Aníos Sínigh Isteach sa Teilifís díchumasaithe + Tá an Aníos Sínigh Isteach sa Teilifís cumasaithe + Díchumasaigh scipeáil caibidle le sconna dúbailte Ní féidir le sconna dúbailte scipeáil chuig an gcéad chaibidil eile/roimhe seo a spreagadh go deo @@ -566,7 +569,7 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Tá cnaipe stad fógraí i bhfolach Tá cnaipe stad fógraí taispeánta + This button usually only shows on live streams. --> Folaigh Tuairisc Tá an cnaipe tuairisce i bhfolach Taispeántar an cnaipe tuairisce @@ -578,12 +581,17 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Folaigh Íoslódáil Tá an cnaipe íosluchtaithe i bhfolach Taispeántar cnaipe íoslódáil + + Folaigh Cnaipe Hype + Tá cnaipe an Hype i bhfolach + Tá an cnaipe Hype ar taispeáint Folaigh Go raibh maith agat Tá cnaipe buíochas i bhfolach Taispeántar cnaipe buíochas + This button only shows if the user ip is from specific region such as the USA or EU. --> Folaigh Fiafraigh Tá cnaipe Fiafraigh i bhfolach Taispeántar cnaipe Fiafraigh diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 20bcb7772..276cef82a 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -452,6 +452,11 @@ Ez a funkció csak régebbi eszközökön érhető el" A párbeszédpanel megjelenik Ez nem kerüli meg a korhatárt, csak automatikusan elfogadja. + + TV-bejelentkezési előugró ablak letiltása + A TV-bejelentkezési előugró ablak le van tiltva + A TV-bejelentkezési előugró ablak engedélyezve van + Dupla koppintásos fejezetátugrás letiltása A dupla koppintás soha nem indíthatja el a következő/előző fejezetre való ugrást @@ -563,7 +568,7 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"A hirdetésleállítás gomb rejtett A hirdetésleállítás gomb látható + This button usually only shows on live streams. --> Bejelentés elrejtése A bejelentés gomb el van rejtve A bejelentés gomb látható @@ -575,12 +580,17 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"Letöltés elrejtése A letöltés gomb el van rejtve A letöltés gomb látható + + Hype gomb elrejtése + A Hype gomb rejtett + A hype gomb látható Köszönet elrejtése A köszönet gomb el van rejtve A köszönet gomb látható + This button only shows if the user ip is from specific region such as the USA or EU. --> Ask elrejtése Az Ask gomb el van rejtve Az Ask gomb látható diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index e1991be17..91812da39 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -452,6 +452,11 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Զրույցը կցուցադրվի Սա չի խուսափում տարիքային սահմանափակումից։ Այն պարզապես ավտոմատ կերպով ընդունում է այն։ + + Անջատել հեռուստացույց մուտքի պատուհանը + Հեռուստացույց մուտքի պատուհանն անջատված է + Հեռուստացույց մուտքի պատուհանը միացված է + Անջատել կրկնակի հպումով գլուխը բաց թողնելը Կրկնակի հպումը երբեք չի կարող առաջացնել հաջորդ/նախորդ գլուխն անցնելը @@ -563,7 +568,7 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Գովազդները դադարեցնելու կոճակը թաքցված է Գովազդները դադարեցնելու կոճակը ցուցադրված է + This button usually only shows on live streams. --> Թաքցնել Report Report կոճակը թաքցված է Report կոճակը ցուցադրվում է @@ -575,12 +580,17 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Թաքցնել Download Download կոճակը թաքցված է Download կոճակը ցուցադրվում է + + Թաքցնել «Hype» կոճակը + Հայփ կոճակը թաքնված է + Հայփ կոճակը ցուցադրվում է Թաքցնել Thanks Thanks կոճակը թաքցված է Thanks կոճակը ցուցադրվում է + This button only shows if the user ip is from specific region such as the USA or EU. --> Թաքցնել հարցումը Հարցման կոճակը թաքցված է Հարցման կոճակը երևում է diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 227c59a23..9262640eb 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -452,6 +452,11 @@ Fitur ini hanya tersedia untuk perangkat yang lebih lama" Dialog akan ditampilkan Ini tidak mengabaikan batasan usia. Ini hanya menerimanya secara otomatis. + + Nonaktifkan pop-up Masuk ke TV + Pop-up Masuk ke TV dinonaktifkan + Pop-up Masuk ke TV diaktifkan + Nonaktifkan lewati bab dengan ketuk dua kali Ketuk dua kali tidak akan pernah memicu lewati ke bab berikutnya/sebelumnya @@ -563,7 +568,7 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"Tombol hentikan iklan disembunyikan Tombol hentikan iklan ditampilkan + This button usually only shows on live streams. --> Sembunyikan Laporkan Tombol laporkan disembunyikan Tombol laporkan ditampilkan @@ -575,12 +580,17 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"Sembunyikan Unduhan Tombol unduh disembunyikan Tombol unduh ditampilkan + + Sembunyikan tombol Hype + Tombol Hype disembunyikan + Tombol Hype ditampilkan Sembunyikan Terima kasih Tombol terima kasih disembunyikan Tombol terima kasih ditampilkan + This button only shows if the user ip is from specific region such as the USA or EU. --> Sembunyikan Tanya Tombol Tanya disembunyikan Tombol Tanya ditampilkan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 10c742841..4b852ceea 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -452,6 +452,11 @@ Questa funzione è disponibile solo per i dispositivi più vecchi" La finestra di dialogo verrà mostrata Questo non aggira la restrizione di età. Lo accetta solo automaticamente. + + Disabilita il popup \"Accedi alla TV\" + Il popup \"Accedi alla TV\" è disabilitato + Il popup \"Accedi alla TV\" è abilitato + Disabilita salto capitolo con doppio tocco Il doppio tocco non può mai attivare il salto al capitolo successivo/precedente @@ -563,7 +568,7 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo" Il pulsante per interrompere gli annunci è nascosto Il pulsante per interrompere gli annunci è mostrato + This button usually only shows on live streams. --> Nascondi Segnala Il pulsante Segnala è nascosto Il pulsante Segnala è visibile @@ -575,12 +580,17 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo" Nascondi Scarica Il pulsante Scarica è nascosto Il pulsante Scarica è visibile + + Nascondi pulsante Hype + Il pulsante Hype è nascosto + Pulsante Hype è mostrato Nascondi Grazie Grazie pulsante è nascosto Il pulsante Grazie è visibile + This button only shows if the user ip is from specific region such as the USA or EU. --> Nascondi richiesta Il pulsante Richiedi è nascosto Il pulsante Richiedi è visibile diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index a408e329f..26dacd855 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" דו-שיח יוצג זה לא עוקף את מגבלת הגיל. זה רק מסכים לזה באופן אוטומטי. + + השבתת חלון קופץ של כניסה לטלוויזיה + חלון קופץ של כניסה לטלוויזיה מושבת + חלון קופץ של כניסה לטלוויזיה מופעל + ביטול דילוג פרקים בלחיצה כפולה לחיצה כפולה לעולם לא תפעיל דילוג לפרק הבא/הקודם @@ -563,7 +568,7 @@ Second \"item\" text" כפתור עצירת הפרסומות מוסתר כפתור עצירת הפרסומות מוצג + This button usually only shows on live streams. --> הסתר דיווח לחצן דיווח מוסתר לחצן דיווח מוצג @@ -575,12 +580,17 @@ Second \"item\" text" הסתר הורדה לחצן הורדה מוסתר לחצן הורדה מוצג + + הסתר כפתור הייפ + כפתור הייפ מוסתר + כפתור ההייפ מוצג הסתר תודה לחצן תודה מוסתר לחצן תודה מוצג + This button only shows if the user ip is from specific region such as the USA or EU. --> הסתר Ask לחצן Ask מוסתר לחצן Ask מוצג diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index b14ff15bd..21176e791 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -454,6 +454,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に ダイアログは表示されます この機能によって年齢制限が回避される訳ではありません。自動的に承認するだけです。 + + 「テレビでログイン」ポップアップを無効化 + 「テレビでログイン」ポップアップは無効です + 「テレビでログイン」ポップアップは有効です + ダブルタップ時のチャプター スキップを無効化 ダブルタップしたときに、次または前のチャプターへスキップしてしまうことはありません @@ -565,7 +570,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「広告を停止」ボタンは表示されません 「広告を停止」ボタンは表示されます + This button usually only shows on live streams. --> 報告ボタンを非表示 報告ボタンは表示されません 報告ボタンは表示されます @@ -577,12 +582,17 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に オフライン ボタンを非表示 オフライン ボタンは表示されません オフライン ボタンは表示されます + + 「盛り上げ」ボタンを非表示 + Hype ボタンは表示されません + ハイプボタンは表示されます Thanks ボタンを非表示 Thanks ボタンは表示されません Thanks ボタンは表示されます + This button only shows if the user ip is from specific region such as the USA or EU. --> 質問ボタンを非表示 質問ボタンは表示されません 質問ボタンは表示されます diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index fae118e0c..fa292f027 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -82,6 +82,8 @@ Second \"item\" text" + + @@ -99,12 +101,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 887eb9e63..4a0273a7f 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -454,6 +454,11 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 다음 동영상을 시청하기 전에 표시되는 시청 경고 다이얼로그를 삭제하지 않습니다:\n• 연령 제한 동영상\n• 자살 또는 자해와 관련된 동영상, etc. 이 설정은 다이얼로그를 자동으로 허용하기만 하며 연령 제한(성인인증 절차)을 우회할 수 없습니다. + + \'TV에 로그인\' 팝업 비활성화하기 + \'TV에 로그인\' 팝업을 비활성화합니다 + \'TV에 로그인\' 팝업을 활성화합니다 + 두 번 탭하여 챕터 건너뛰기 비활성화하기 두 번 탭하여 다음/이전 챕터로 건너뛰기가 절대 트리거될 수 없습니다 @@ -561,7 +566,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 광고 중지 버튼이 숨겨집니다 광고 중지 버튼이 표시됩니다 + This button usually only shows on live streams. --> 신고 버튼 숨기기 신고 버튼이 숨겨집니다 신고 버튼이 표시됩니다 @@ -573,12 +578,17 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 오프라인 저장 버튼 숨기기 오프라인 저장 버튼이 숨겨집니다 오프라인 저장 버튼이 표시됩니다 + + 하입 버튼 숨기기 + 하이프 버튼이 숨겨집니다 + 하이프 버튼이 표시됩니다 Thanks 버튼 숨기기 Thanks 버튼이 숨겨집니다 Thanks 버튼이 표시됩니다 + This button only shows if the user ip is from specific region such as the USA or EU. --> \'질문하기\' 버튼 숨기기 \'질문하기\' 버튼이 숨겨집니다 \'질문하기\' 버튼이 표시됩니다 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 9c1cb254f..8ff0dfdf8 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -452,6 +452,11 @@ Apribojimai Dialogas bus rodomas Tai neaplenkia amžiaus apribojimo. Jis tiesiog jį automatiškai priima. + + Išjungti prisijungimo prie TV iškylantįjį langą + Prisijungimo prie TV iškylantysis langas išjungtas + Prisijungimo prie TV iškylantysis langas įjungtas + Išjungti dvigubo bakstelėjimo skyriaus praleidimą Dvigubas bakstelėjimas niekada negali suaktyvinti praleidimo į kitą/ankstesnį skyrių @@ -563,7 +568,7 @@ Reguliuokite garsumą braukdami vertikaliai dešinėje ekrano pusėje" Skelbimų stabdymo mygtukas paslėptas Skelbimų stabdymo mygtukas rodomas + This button usually only shows on live streams. --> Slėpti Pranešti Pranešimo mygtukas paslėptas Pranešimo mygtukas rodomas @@ -575,12 +580,17 @@ Reguliuokite garsumą braukdami vertikaliai dešinėje ekrano pusėje" Slėpti Atsisiųsti Atsisiuntimo mygtukas paslėptas Atsisiuntimo mygtukas rodomas + + Slėpti „Hype“ mygtuką + „Hype“ mygtukas paslėptas + Haipo mygtukas rodomas Slėpti Ačiū Ačiū mygtukas paslėptas Ačiū mygtukas rodomas + This button only shows if the user ip is from specific region such as the USA or EU. --> Slėpti klausimą Klausimo mygtukas yra paslėptas Klausimo mygtukas rodomas diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index ce69c0499..cb4f90120 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -452,6 +452,11 @@ Ierobežojumi Dialogs tiks rādīts Tas neapiet vecuma ierobežojumu. Tas vienkārši automātiski to pieņem. + + Atspējot uznirstošo paziņojumu Pierakstīties televizorā + Uznirstošais paziņojums Pierakstīties televizorā ir atspējots + Uznirstošais paziņojums Pierakstīties televizorā ir iespējots + Atspējot divkāršu pieskārienu nodaļas izlaišanai Divkāršs pieskāriens nekad nevar iedarbināt izlaišanu uz nākamo/iepriekšējo nodaļu @@ -563,7 +568,7 @@ Regulējiet skaļumu, velkot vertikāli ekrāna labajā pusē" Apturēt reklāmas poga ir paslēpta Apturēt reklāmas poga ir redzama + This button usually only shows on live streams. --> Paslēpt Ziņot Ziņot poga ir paslēpta Ziņot poga ir redzama @@ -575,12 +580,17 @@ Regulējiet skaļumu, velkot vertikāli ekrāna labajā pusē" Paslēpt Lejupielādēt Lejupielādēt poga ir paslēpta Lejupielādēt poga ir redzama + + Slēpt Hype pogu + Poga \ + Hype poga tiek rādīta Paslēpt Paldies Paldies poga ir paslēpta Paldies poga ir redzama + This button only shows if the user ip is from specific region such as the USA or EU. --> Paslēpt jautājumu Jautājuma poga ir paslēpta Jautājuma poga ir redzama diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 6488e0feb..7b1c5736e 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index ba62f0b47..1da3c600a 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -69,6 +69,8 @@ Second \"item\" text" + + @@ -86,12 +88,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index 4b785acd7..03f848fa1 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -452,6 +452,11 @@ Deze functie is alleen beschikbaar voor oudere apparaten" Dialog wordt getoond Dit omzeilt de leeftijdsbeperking niet. Het accepteert het alleen automatisch. + + Pop-up \'Inloggen op tv\' uitschakelen + Pop-up \'Inloggen op tv\' is uitgeschakeld + Pop-up \'Inloggen op tv\' is ingeschakeld + Dubbeltik om hoofdstukken over te slaan uitschakelen Dubbeltikken kan nooit leiden tot het overslaan naar het volgende/vorige hoofdstuk. @@ -563,7 +568,7 @@ Pas het volume aan door verticaal over de rechterkant van het scherm te vegen"Knop \"Advertenties stoppen\" is verborgen Knop \"Advertenties stoppen\" is zichtbaar + This button usually only shows on live streams. --> Melden verbergen Melden is verborgen Melden wordt weergegeven @@ -575,12 +580,17 @@ Pas het volume aan door verticaal over de rechterkant van het scherm te vegen"Downloaden verbergen Downloaden knop is verborgen Downloaden knop wordt weergegeven + + Verberg Hype-knop + Hype-knop is verborgen + Hype-knop is zichtbaar Bedankt verbergen Bedankt-knop is verborgen Bedankt-knop wordt weergegeven + This button only shows if the user ip is from specific region such as the USA or EU. --> Vraag verbergen Knop \"Vraag\" is verborgen Knop \"Vraag\" wordt weergegeven diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 3b6828b3c..ce0f173e9 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -448,6 +448,11 @@ Ta funkcja jest dostępna tylko dla starszych urządzeń" Okno dialogowe zostanie wyświetlone To nie pomija ograniczeń wiekowych i akceptuje je automatycznie. + + Wyłącz wyskakujące okienko Zaloguj się do telewizora + Wyskakujące okienko Zaloguj się do telewizora jest wyłączone + Wyskakujące okienko Zaloguj się do telewizora jest włączone + Wyłącz pomijanie rozdziałów dwukrotnym stuknięciem Dwukrotne stuknięcie nigdy nie spowoduje przejścia do następnego/poprzedniego rozdziału @@ -559,7 +564,7 @@ Dostosuj głośność, przesuwając pionowo po prawej stronie ekranu" Przycisk zatrzymania reklam jest ukryty Przycisk zatrzymania reklam jest widoczny + This button usually only shows on live streams. --> Przycisk od zgłaszania Przycisk zgłaszania jest ukryty Przycisk zgłaszania jest widoczny @@ -571,12 +576,17 @@ Dostosuj głośność, przesuwając pionowo po prawej stronie ekranu" Przycisk od pobierania Przycisk pobierania jest ukryty Przycisk pobierania jest widoczny + + Ukryj przycisk Hype + Przycisk Hype jest ukryty + Przycisk Hype jest wyświetlony Przycisk od dziękowania Przycisk od dziękowania jest ukryty Przycisk od dziękowania jest widoczny + This button only shows if the user ip is from specific region such as the USA or EU. --> Ukryj Zapytaj Przycisk Zapytaj jest ukryty Przycisk Zapytaj jest widoczny diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index a5f95073f..886df86f3 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -452,6 +452,11 @@ Este recurso está disponível apenas para dispositivos mais antigos" O diálogo vai ser mostrado Isto não ignora a restrição de idade, apenas a aceita automaticamente. + + Desativar pop-up de fazer login na TV + O pop-up de fazer login na TV está desativado + O pop-up de fazer login na TV está ativado + Desativar pulo de capítulo com toque duplo O toque duplo nunca pode acionar um pulo para o capítulo seguinte/anterior @@ -563,7 +568,7 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" O botão Parar anúncios está oculto O botão Parar anúncios é exibido + This button usually only shows on live streams. --> Ocultar Denúncia Botão de denúncia está oculto O botão de denúncia é mostrado @@ -575,12 +580,17 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" Ocultar Download Botão download está oculto O botão download é mostrado + + Ocultar botão Hype + Botão Hype está oculto + O botão Hype é exibido Ocultar Valeu Botão valeu está oculto O botão valeu é mostrado + This button only shows if the user ip is from specific region such as the USA or EU. --> Ocultar \"Perguntar\" Botão \"Perguntar\" oculto O botão \"Perguntar\" é mostrado diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 67e14fa58..09b838958 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -452,6 +452,11 @@ Tính năng này chỉ khả dụng cho các thiết bị cũ" A caixa de diálogo será exibida Isto não ignora a restrição de idade, apenas a aceita automaticamente. + + Desativar o pop-up Entrar na TV + O pop-up Entrar na TV está desativado + O pop-up Entrar na TV está ativado + Desativar o salto de capítulo com toque duplo O toque duplo nunca acionará um salto para o capítulo seguinte/anterior @@ -563,7 +568,7 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" O botão Parar anúncios está oculto O botão Parar anúncios está exibido + This button usually only shows on live streams. --> Esconder relatório O botão de relatório está escondido Botão de relatório é visível @@ -575,12 +580,17 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" Esconder Transferir O botão transferir está escondido O botão transferir está visível + + Ocultar botão Hype + O botão Hype está oculto + O botão Hype está exibido Esconder Obrigado O botão de agradecimento está escondido O botão Obrigado é visível + This button only shows if the user ip is from specific region such as the USA or EU. --> Ocultar Perguntar O botão Perguntar está oculto O botão Perguntar está visível diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 45dd17549..12a05ace9 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -452,6 +452,11 @@ Această funcție este disponibilă numai pentru dispozitivele mai vechi"Va fi afișat catalogul Aceasta nu ocolește restricția de vârstă. O acceptă automat. + + Dezactivare pop-up Conectare la televizor + Pop-up-ul Conectare la televizor este dezactivat + Pop-up-ul Conectare la televizor este activat + Dezactivare omisiune capitol prin atingere dublă Atingerea dublă nu va declanșa niciodată sărirea la capitolul următor/anterior @@ -563,7 +568,7 @@ Reglați volumul glisând vertical pe partea dreaptă a ecranului" Butonul de oprire a reclamelor este ascuns Butonul de oprire a reclamelor este afișat + This button usually only shows on live streams. --> Ascunde raportul Butonul de raportare este ascuns Butonul de raportare este afișat @@ -575,12 +580,17 @@ Reglați volumul glisând vertical pe partea dreaptă a ecranului" Ascunde Descărcare Butonul de descărcare este ascuns Butonul Descărcare este afișat + + Ascunde butonul Hype + Butonul de Hype este ascuns + Butonul Hype este afișat Ascunde mulţumirile Butonul de multumire este ascuns Butonul de multumire este afisat + This button only shows if the user ip is from specific region such as the USA or EU. --> Ascunde \"Întreabă\" Butonul Întreabă este ascuns Butonul Întreabă este afișat diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 4d7a9b156..96573437f 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" Диалоговое окно о нежелательном контенте показано Данная опция не обходит возрастное ограничение. Она только принимает возрастное ограничение автоматически. + + Отключить всплывающее окно Вход на ТВ + Всплывающее окно Вход на ТВ отключено + Всплывающее окно Вход на ТВ включено + Отключить пропуск главы по двойному касанию Двойное касание никогда не приведет к переходу к следующей/предыдущей главе @@ -563,7 +568,7 @@ Second \"item\" text" Кнопка \"Не показывать рекламу\" скрыта Кнопка \"Не показывать рекламу\" показана + This button usually only shows on live streams. --> Скрыть кнопку \"Пожаловаться\" Кнопка \"Пожаловаться\" под плеером скрыта Кнопка \"Пожаловаться\" под плеером показана @@ -575,12 +580,17 @@ Second \"item\" text" Скрыть кнопку \"Скачать\" Кнопка \"Скачать\" под плеером скрыта Кнопка \"Скачать\" под плеером показана + + Скрыть кнопку «Хайп» + Кнопка Hype скрыта + Кнопка хайпа показана Скрыть кнопку \"Спасибо\" Кнопка \"Спасибо\" под плеером скрыта Кнопка \"Спасибо\" под плеером показана + This button only shows if the user ip is from specific region such as the USA or EU. --> Скрыть кнопку \"Спросить\" Кнопка \"Спросить\" скрыта Кнопка \"Спросить\" показана diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 9c29bc61f..071765088 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -450,6 +450,11 @@ Táto funkcia je dostupná len pre staršie zariadenia" Zobrazí sa dialógové okno Neobchádza sa tým ani vekové obmedzenie. Len to automaticky akceptuje. + + Zakázať vyskakovacie okno Prihlásiť sa do TV + Vyskakovacie okno Prihlásiť sa do TV je zakázané + Vyskakovacie okno Prihlásiť sa do TV je povolené + Zakázať preskočenie kapitoly dvojitým klepnutím Dvojité klepnutie nikdy nespustí preskočenie na ďalšiu/predchádzajúcu kapitolu @@ -561,7 +566,7 @@ Upravte hlasitosť posúvaním vertikálne na pravej strane obrazovky" Tlačidlo Zastaviť reklamy je skryté Tlačidlo Zastaviť reklamy je zobrazené + This button usually only shows on live streams. --> Skryť prehľad Tlačidlo nahlásiť je skryté Zobrazí sa tlačidlo Ohlásiť @@ -573,12 +578,17 @@ Upravte hlasitosť posúvaním vertikálne na pravej strane obrazovky" Skryť stiahnutie Tlačidlo Stiahnuť je skryté Zobrazí sa tlačidlo Stiahnuť + + Skryť tlačidlo Hype + Tlačidlo Hype je skryté + Tlačidlo Hype je zobrazené Skryť Ďakujem Tlačidlo poďakovania je skryté Zobrazí sa tlačidlo Ďakujem + This button only shows if the user ip is from specific region such as the USA or EU. --> Skryť možnosť Opýtať sa Tlačidlo Opýtať sa je skryté Zobrazí sa tlačidlo Opýtať sa diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 5ebe5bb0f..34735d490 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -452,6 +452,11 @@ Ta funkcija je na voljo samo za starejše naprave" Opozorilo bo prikazano To ne obide starostne omejitve. Samo samodejno jo sprejme. + + Onemogoči pojavno okno za prijavo v TV + Pojavno okno za prijavo v TV je onemogočeno + Pojavno okno za prijavo v TV je omogočeno + Onemogoči preskok poglavja z dvojnim dotikom Dvojni dotik nikoli ne more sprožiti preskoka na naslednje/prejšnje poglavje @@ -563,7 +568,7 @@ Prilagodite glasnost s potegom navpično na desni strani zaslona" Gumb za zaustavitev oglasov je skrit Gumb za zaustavitev oglasov je prikazan + This button usually only shows on live streams. --> Skrij Prijavi Gumb Prijavi je skrit Gumb Prijavi je prikazan @@ -575,12 +580,17 @@ Prilagodite glasnost s potegom navpično na desni strani zaslona" Skrij Prenesi Gumb Prenesi je skrit Gumb Prenesi je prikazan + + Skrij gumb Hype + Gumb Hype je skrit + Gumb Hype je prikazan Skrij Hvala Gumb Hvala je skrit Gumb Hvala je prikazan + This button only shows if the user ip is from specific region such as the USA or EU. --> Skrij Vprašaj Gumb Vprašaj je skrit Gumb Vprašaj je prikazan diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index edeb95edc..f08155634 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -452,6 +452,11 @@ Kjo veçori është e disponueshme vetëm për pajisje më të vjetra" Kutia e dialogut do të shfaqet Kjo nuk e anashkalon kufizimin e moshës. Thjesht e pranon atë automatikisht. + + Çaktivizo dritaren kërcyese Hyr në TV + Dritarja kërcyese Hyr në TV është çaktivizuar + Dritarja kërcyese Hyr në TV është aktivizuar + Çaktivizo anashkalimin e kapitullit me prekje të dyfishtë Prekja e dyfishtë nuk mund të shkaktojë kurrë një anashkalim te kapitulli tjetër/i mëparshëm @@ -563,7 +568,7 @@ Përshtate shkëlqimin duke rrëshqitur vertikalisht në anën e majtë të ekra Butoni Ndalo reklamat është i fshehur Butoni Ndalo reklamat është i shfaqur + This button usually only shows on live streams. --> Fsheh \"Raporton\" Butoni \"Raporton\" është i fshehur Butoni \"Raporton\" është i dukshëm @@ -575,12 +580,17 @@ Përshtate shkëlqimin duke rrëshqitur vertikalisht në anën e majtë të ekra Fsheh \"Shkarko\" Butoni \"Shkarko\" është i fshehur Butoni \"Shkarko\" është i dukshëm + + Fshih butonin Hype + Butoni Hype është i fshehur + Butoni Hype është i shfaqur Fsheh \"Faleminderit\" Butoni \"Faleminderit\" është i fshehur Butoni \"Faleminderit\" është i dukshëm + This button only shows if the user ip is from specific region such as the USA or EU. --> Fshih Pyet Butoni Pyet është i fshehur Butoni Pyet shfaqet diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 53035fdcf..237401f18 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -452,6 +452,11 @@ Ova funkcija je dostupna samo za starije uređaje" Dijalog o diskreciji gledaoca će biti prikazan Ovo ne zaobilazi starosno ograničenje. Samo ga automatski prihvata. + + Onemogući iskačući prozor za prijavu na TV + Iskačući prozor za prijavu na TV je onemogućen + Iskačući prozor za prijavu na TV je omogućen + Onemogući preskakanje poglavlja dvostrukim dodirom Dvostruki dodir nikada ne može pokrenuti preskakanje na sledeće/prethodno poglavlje @@ -563,7 +568,7 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Dugme „Zaustavi oglase” je skriveno Dugme „Zaustavi oglase” je prikazano + This button usually only shows on live streams. --> Sakrij dugme „Prijavi” Dugme „Prijavi” je skriveno Dugme „Prijavi” je prikazano @@ -575,12 +580,17 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Sakrij dugme „Preuzmi” Dugme „Preuzmi” je skriveno Dugme „Preuzmi” je prikazano + + Sakrij dugme „Hajp” + Dugme „Hajp” je skriveno + Dugme „Haip” je prikazano Sakrij dugme „Hvala” Dugme „Hvala” je skriveno Dugme „Hvala” je prikazano + This button only shows if the user ip is from specific region such as the USA or EU. --> Sakrij dugme „Pitaj” Dugme „Pitaj” je skriveno Dugme „Pitaj” je prikazano diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index db4333b26..4c723218c 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" Дијалог о дискрецији гледаоца ће бити приказан Ово не заобилази старосно ограничење. Само га аутоматски прихвата. + + Онемогући искачући прозор за пријављивање на ТВ + Искачући прозор за пријављивање на ТВ је онемогућен + Искачући прозор за пријављивање на ТВ је омогућен + Онемогући прескакање поглавља двоструким додиром Двоструки додир никада не може покренути прескакање на следеће/претходно поглавље @@ -563,7 +568,7 @@ Second \"item\" text" Дугме „Заустави огласе” је скривено Дугме „Заустави огласе” је приказано + This button usually only shows on live streams. --> Сакриј дугме „Пријави” Дугме „Пријави” је скривено Дугме „Пријави” је приказано @@ -575,12 +580,17 @@ Second \"item\" text" Сакриј дугме „Преузми” Дугме „Преузми” је скривено Дугме „Преузми” је приказано + + Сакриј дугме „Хајп” + Дугме „Хајп” је скривено + Дугме „Хајп” је приказано Сакриј дугме „Хвала” Дугме „Хвала” је скривено Дугме „Хвала” је приказано + This button only shows if the user ip is from specific region such as the USA or EU. --> Сакриј дугме „Питај” Дугме „Питај” је скривено Дугме „Питај” је приказано diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 535714a66..2fb85a6ea 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -452,6 +452,11 @@ Den här funktionen är endast tillgänglig för äldre enheter" Dialogrutan visas Detta kringgår inte åldersbegränsningen. Det bara godkänner automatiskt. + + Inaktivera \"Logga in på TV\"-popup + \"Logga in på TV\"-popup är inaktiverad + \"Logga in på TV\"-popup är aktiverad + Inaktivera dubbeltryck för att hoppa över kapitel Dubbeltryck kan aldrig utlösa ett hopp till nästa/föregående kapitel @@ -563,7 +568,7 @@ Justera volymen genom att svepa vertikalt till höger på skärmen" Knappen Stoppa annonser är dold Knappen Stoppa annonser visas + This button usually only shows on live streams. --> Dölj Rapportera Knappen Rapportera är dold Knappen Rapportera visas @@ -575,12 +580,17 @@ Justera volymen genom att svepa vertikalt till höger på skärmen" Dölj Ladda ned Knappen Ladda ned är dold Knappen Ladda ned visas + + Dölj knappen Hype + Hype-knappen är dold + Knappen Hype visas Dölj Thanks Knappen Thanks är dold Knappen Thanks visas + This button only shows if the user ip is from specific region such as the USA or EU. --> Dölj Fråga Knappen Fråga är dold Knappen Fråga visas diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 293993826..763340398 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" กล่องโต้ตอบจะแสดง สิ่งนี้ไม่ได้ข้ามข้อจำกัดอายุ มันแค่ยอมรับอายุโดยอัตโนมัติ + + ปิดใช้งานป๊อปอัปเข้าสู่ระบบไปยังทีวี + ปิดใช้งานป๊อปอัปเข้าสู่ระบบไปยังทีวีแล้ว + เปิดใช้งานป๊อปอัปเข้าสู่ระบบไปยังทีวีแล้ว + ปิดใช้งานการแตะสองครั้งเพื่อข้ามบท การแตะสองครั้งจะไม่สามารถเรียกให้เกิดการข้ามไปยังบทถัดไป/ก่อนหน้าได้ @@ -561,7 +566,7 @@ Second \"item\" text" ปุ่มหยุดโฆษณาถูกซ่อน ปุ่มหยุดโฆษณาถูกแสดง + This button usually only shows on live streams. --> ซ่อนรายงาน ปุ่มรายงานถูกซ่อน ปุ่มรายงานถูกแสดง @@ -573,12 +578,17 @@ Second \"item\" text" ซ่อนดาวน์โหลด ปุ่มดาวน์โหลดถูกซ่อน ปุ่มดาวน์โหลดถูกแสดง + + ซ่อนปุ่ม Hype + ปุ่ม Hype ถูกซ่อนอยู่ + ปุ่ม Hype กำลังแสดง ซ่อนขอบคุณ ปุ่มขอบคุณถูกซ่อน ปุ่มขอบคุณถูกแสดง + This button only shows if the user ip is from specific region such as the USA or EU. --> ซ่อนปุ่มถาม ปุ่มถามถูกซ่อนอยู่ ปุ่มถามแสดงอยู่ diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index eeba228b2..9c8cc241d 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -452,6 +452,11 @@ Bu özellik yalnızca eski cihazlarda kullanılabilir" İletişim kutusu gösterilecek Bu, yaş kısıtlamasını atlamaz. Sadece otomatik olarak kabul eder. + + TV\'de oturum açma penceresini devre dışı bırak + TV\'de oturum açma açılır penceresi devre dışı + TV\'de oturum açma açılır penceresi etkin + Çift dokunuşla bölüm atlamayı devre dışı bırak Çift dokunuş asla bir sonraki/önceki bölüme atlamayı tetikleyemez @@ -563,7 +568,7 @@ Ekranın sağ tarafında dikey olarak kaydırarak sesi ayarlayın" Reklamları durdur düğmesi gizli Reklamları durdur düğmesi görünür + This button usually only shows on live streams. --> Bildir\'i gizle Bildir düğmesi gizli Bildir düğmesi görünür @@ -575,12 +580,17 @@ Ekranın sağ tarafında dikey olarak kaydırarak sesi ayarlayın" İndir\'i gizle İndir düğmesi gizli İndir düğmesi görünür + + Hype düğmesini gizle + Coşku düğmesi gizli + Hype düğmesi görünür Teşekkürler\'i gizle Teşekkürler düğmesi gizli Teşekkürler düğmesi görünür + This button only shows if the user ip is from specific region such as the USA or EU. --> Sor\'u gizle Sor düğmesi gizli Sor düğmesi görünür diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index f43a99009..39682c0c8 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" Діалогове вікно про неприйнятний контент буде показуватися Це не обходить вікові обмеження, а просто приймає їх автоматично. + + Вимкнути вікно \"Увійти на телевізорі\" + Спливаюче вікно \"Увійти на телевізорі\" вимкнено + Спливаюче вікно \"Увійти на телевізорі\" увімкнено + Вимкнути пропуск розділу подвійним натисканням Подвійне натискання двома пальцями ніколи не викличе пропуск до наступного/попереднього розділу @@ -563,7 +568,7 @@ Second \"item\" text" Кнопку \"Зупинити показ оголошень\" приховано Кнопка \"Зупинити показ оголошень\" показується + This button usually only shows on live streams. --> Приховати \"Поскаржитися\" Кнопку \"Поскаржитися\" приховано Кнопка \"Поскаржитися\" показується @@ -575,12 +580,17 @@ Second \"item\" text" Приховати \"Завантажити\" Кнопку \"Завантажити\" приховано Кнопка \"Завантажити\" показується + + Приховати \"Хайп\" + Кнопку \"Хайп\" приховано + Кнопка \"Хайп\" показується Приховати \"Дякую\" Кнопку \"Дякую\" приховано Кнопка \"Дякую\" показується + This button only shows if the user ip is from specific region such as the USA or EU. --> Приховати \"Запитати\" Кнопку \"Запитати\" приховано Кнопка \"Запитати\" показується diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 6b0982ad9..1a2c58652 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -169,7 +169,7 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ." Nút micro nổi trong tìm kiếm đang hiển thị Ẩn kệ ngang "Các kệ ngang đã bị ẩn, chẳng hạn như: -• Tin tức nổi bật +• Tin nổi bật • Tiếp tục xem • Khám phá các chủ đề khác • Phù hợp nhất @@ -452,6 +452,11 @@ Tính năng này chỉ khả dụng trên các thiết bị cũ" Hộp thoại sẽ được hiển thị Tuỳ chọn này chỉ tự động chấp nhận mà không bỏ qua giới hạn độ tuổi. + + Tắt cửa sổ Đăng nhập vào TV + Cửa sổ Đăng nhập vào TV đã tắt + Cửa sổ Đăng nhập vào TV đã bật + Tắt bỏ qua chương bằng cách chạm hai lần Chạm hai lần không bao giờ có thể kích hoạt bỏ qua đến chương tiếp theo/trước đó @@ -563,7 +568,7 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Nút ngừng quảng cáo đã bị ẩn Nút ngừng quảng cáo được hiển thị + This button usually only shows on live streams. --> Ẩn Báo cáo Nút báo cáo đã bị ẩn Nút báo cáo được hiển thị @@ -575,12 +580,17 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Ẩn Tải xuống Nút tải xuống đã bị ẩn Nút tải xuống được hiển thị + + Ẩn nút Khuấy động + Nút Khuấy động đã bị ẩn + Nút Khuấy động được hiển thị Ẩn Cảm ơn Nút cảm ơn đã bị ẩn Nút cảm ơn được hiển thị + This button only shows if the user ip is from specific region such as the USA or EU. --> Ẩn Đặt câu hỏi Nút đặt câu hỏi đã bị ẩn Nút đặt câu hỏi được hiển thị diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index b91ec729e..d360a870e 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" 「观看须知」对话框将会显示 这并不会绕过年龄限制,只是自动按下接受按钮。 + + 禁用登录电视弹出窗口 + 登录电视弹出窗口已禁用 + 登录电视弹出窗口已启用 + 禁用双击章节跳过 双击永远不会触发跳到下一/上一章节 @@ -563,7 +568,7 @@ Second \"item\" text" 停止广告按钮已隐藏 停止广告按钮已显示 + This button usually only shows on live streams. --> 隐藏「举报」 举报按钮已隐藏 举报按钮已显示 @@ -575,12 +580,17 @@ Second \"item\" text" 隐藏「下载」按钮 下载按钮已隐藏 下载按钮已显示 + + 隐藏超级留言按钮 + 浮夸按钮已隐藏 + 热度按钮已显示 隐藏「感谢」按钮 感谢按钮已隐藏 感谢按钮已显示 + This button only shows if the user ip is from specific region such as the USA or EU. --> 隐藏“提问” “提问”按钮已隐藏 “提问”按钮已显示 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index 0862b2aa8..29ce07e90 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -452,6 +452,11 @@ Second \"item\" text" 將顯示對話方塊 這不會繞過年齡限制,只會自動按下同意。 + + 停用「登入電視」彈出視窗 + 「登入電視」彈出視窗已停用 + 「登入電視」彈出視窗已啟用 + 停用按兩下跳過章節功能 按兩下永遠不會觸發跳至下一/上一章節 @@ -563,7 +568,7 @@ Second \"item\" text" 「停止廣告」按鈕已隱藏 「停止廣告」按鈕已顯示 + This button usually only shows on live streams. --> 隱藏檢舉 已隱藏「檢舉」按鈕 已顯示「檢舉」按鈕 @@ -575,12 +580,14 @@ Second \"item\" text" 隱藏下載 已隱藏「下載」按鈕 已顯示「下載」按鈕 + 隱藏感謝 已隱藏「感謝」按鈕 已顯示「感謝」按鈕 + This button only shows if the user ip is from specific region such as the USA or EU. --> 隱藏詢問 詢問按鈕已隱藏 詢問按鈕已顯示 @@ -693,6 +700,9 @@ Second \"item\" text" 隱藏「以 VR 模式觀看」 已隱藏「以 VR 模式觀看」 已顯示「以 VR 模式觀看」 + 隱藏影片畫質選單 + 影片畫質選單已隱藏 + 影片畫質選單已顯示 隱藏影片畫質選單頁尾 已隱藏影片畫質選單頁尾 已顯示影片畫質選單頁尾 @@ -1476,6 +1486,9 @@ Second \"item\" text" 不顯示按鈕 + 顯示畫質切換按鈕 + 按鈕已顯示。長按可重設為預設畫質 + 按鈕未顯示 自訂播放速度選單 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index f7ab84c8a..809e1d7a1 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -67,6 +67,8 @@ Second \"item\" text" + + @@ -84,12 +86,14 @@ Second \"item\" text" + This button usually only shows on live streams. --> + + This button only shows if the user ip is from specific region such as the USA or EU. --> From 26c6420de589cedd79c225e1405c93e652e95e1b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 13:20:25 -0400 Subject: [PATCH 28/45] chore: Sync translations (#5663) --- .../src/main/resources/addresources/values-ga-rIE/strings.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 142d84c0d..17422e446 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -24,8 +24,7 @@ Second \"item\" text" Theip ar sheiceálacha Oscailt láithreán gréasáin oifigiúil Neamhaird - <h5>Ní cosúil gur tusa a rinne paiste ar an aip seo.</h5><br>B’fhéidir nach bhfeidhmeoidh an aip seo i gceart, <b>agus d’fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>. -Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile:<br><br><small>%1$s</small><br> <b>Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó. + <h5>Ní cosúil gur tusa a rinne paiste ar an aip seo.</h5><br>B’fhéidir nach bhfeidhmeoidh an aip seo i gceart, <b>agus d’fhéadfadh sé a bheith díobhálach nó fiú contúirteach le húsáid</b>< br><br>.Tugann na seiceálacha seo le fios go bhfuil an aip seo patáilte roimh ré nó gur thángthas uirthi ó dhuine eile:<br><br><small>%1$s</small><br> <b>Moltar go láidir duit an aip seo a dhíshuiteáil agus í a phaisteáil leat féin</b> chun a chinntiú go bhfuil tú ag úsáid aip bailíochtaithe agus slán.<p><br>Mura ndéanann tú aird ar an rabhadh seo, ní thaispeánfar é ach faoi dhó. Paisteáilte ar ghléas eile Gan a bheith suiteáilte ag ReVanced Manager Paisteáilte níos mó ná 10 nóiméad ó shin From 40ac8e114273f608e1ed80e648ea8ea34caf7da0 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 16 Aug 2025 13:21:00 -0400 Subject: [PATCH 29/45] feat(YouTube - Hide video action buttons): Add "Hide Promote button" setting --- .../extension/youtube/patches/components/ButtonsFilter.java | 4 ++++ .../app/revanced/extension/youtube/settings/Settings.java | 1 + .../patches/youtube/layout/buttons/action/HideButtonsPatch.kt | 3 ++- patches/src/main/resources/addresources/values/strings.xml | 4 ++++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java index 775286517..3ac41318c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java @@ -87,6 +87,10 @@ final class ButtonsFilter extends Filter { new ByteArrayFilterGroup( Settings.HIDE_HYPE_BUTTON, "yt_outline_star_shooting" + ), + new ByteArrayFilterGroup( + Settings.HIDE_PROMOTE_BUTTON, + "yt_outline_megaphone" ) ); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 16ba32358..ac24f2301 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -225,6 +225,7 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_DOWNLOAD_BUTTON = new BooleanSetting("revanced_hide_download_button", FALSE); public static final BooleanSetting HIDE_HYPE_BUTTON = new BooleanSetting("revanced_hide_hype_button", FALSE); public static final BooleanSetting HIDE_LIKE_DISLIKE_BUTTON = new BooleanSetting("revanced_hide_like_dislike_button", FALSE); + public static final BooleanSetting HIDE_PROMOTE_BUTTON = new BooleanSetting("revanced_hide_promote_button", FALSE); public static final BooleanSetting HIDE_REMIX_BUTTON = new BooleanSetting("revanced_hide_remix_button", TRUE); public static final BooleanSetting HIDE_REPORT_BUTTON = new BooleanSetting("revanced_hide_report_button", FALSE); public static final BooleanSetting HIDE_SAVE_BUTTON = new BooleanSetting("revanced_hide_save_button", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt index 266e2a97e..7b368f31f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt @@ -42,14 +42,15 @@ val hideButtonsPatch = resourcePatch( SwitchPreference("revanced_hide_ask_button"), SwitchPreference("revanced_hide_clip_button"), SwitchPreference("revanced_hide_download_button"), + SwitchPreference("revanced_hide_hype_button"), SwitchPreference("revanced_hide_like_dislike_button"), + SwitchPreference("revanced_hide_promote_button"), SwitchPreference("revanced_hide_remix_button"), SwitchPreference("revanced_hide_report_button"), SwitchPreference("revanced_hide_save_button"), SwitchPreference("revanced_hide_share_button"), SwitchPreference("revanced_hide_stop_ads_button"), SwitchPreference("revanced_hide_thanks_button"), - SwitchPreference("revanced_hide_hype_button"), ) ) ) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 3717a7eaa..bddeff043 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -648,6 +648,10 @@ Adjust volume by swiping vertically on the right side of the screen" Hide Hype button Hype button is hidden Hype button is shown + + Hide Promote + Promote button is hidden + Promote button is shown Hide Thanks Thanks button is hidden From c89668a540e1c9e3eadb5f3754e9866f56b15e6e Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 16 Aug 2025 17:26:01 +0000 Subject: [PATCH 30/45] chore: Release v5.34.0-dev.10 [skip ci] # [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) ### Features * **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([40ac8e1](https://github.com/ReVanced/revanced-patches/commit/40ac8e114273f608e1ed80e648ea8ea34caf7da0)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de8f39db4..6cc3a6e73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) + + +### Features + +* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b)) + # [5.34.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.8...v5.34.0-dev.9) (2025-08-16) diff --git a/gradle.properties b/gradle.properties index a0c7db27a..b4fce689f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.9 +version = 5.34.0-dev.10 From 7a3ace223140633516f8c50c1f32c1aac0747071 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 16 Aug 2025 13:50:35 -0400 Subject: [PATCH 31/45] chore: Sync translations (#5664) --- .../src/main/resources/addresources/values-af-rZA/strings.xml | 1 + .../src/main/resources/addresources/values-am-rET/strings.xml | 1 + .../src/main/resources/addresources/values-ar-rSA/strings.xml | 4 ++++ .../src/main/resources/addresources/values-as-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-az-rAZ/strings.xml | 1 + .../src/main/resources/addresources/values-be-rBY/strings.xml | 4 ++++ .../src/main/resources/addresources/values-bg-rBG/strings.xml | 4 ++++ .../src/main/resources/addresources/values-bn-rBD/strings.xml | 4 ++++ .../src/main/resources/addresources/values-bs-rBA/strings.xml | 1 + .../src/main/resources/addresources/values-ca-rES/strings.xml | 1 + .../src/main/resources/addresources/values-cs-rCZ/strings.xml | 4 ++++ .../src/main/resources/addresources/values-da-rDK/strings.xml | 4 ++++ .../src/main/resources/addresources/values-de-rDE/strings.xml | 4 ++++ .../src/main/resources/addresources/values-el-rGR/strings.xml | 4 ++++ .../src/main/resources/addresources/values-es-rES/strings.xml | 4 ++++ .../src/main/resources/addresources/values-et-rEE/strings.xml | 4 ++++ .../src/main/resources/addresources/values-eu-rES/strings.xml | 1 + .../src/main/resources/addresources/values-fa-rIR/strings.xml | 1 + .../src/main/resources/addresources/values-fi-rFI/strings.xml | 1 + .../main/resources/addresources/values-fil-rPH/strings.xml | 4 ++++ .../src/main/resources/addresources/values-fr-rFR/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ga-rIE/strings.xml | 4 ++++ .../src/main/resources/addresources/values-gl-rES/strings.xml | 1 + .../src/main/resources/addresources/values-gu-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-hi-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-hr-rHR/strings.xml | 1 + .../src/main/resources/addresources/values-hu-rHU/strings.xml | 4 ++++ .../src/main/resources/addresources/values-hy-rAM/strings.xml | 4 ++++ .../src/main/resources/addresources/values-in-rID/strings.xml | 4 ++++ .../src/main/resources/addresources/values-is-rIS/strings.xml | 1 + .../src/main/resources/addresources/values-it-rIT/strings.xml | 4 ++++ .../src/main/resources/addresources/values-iw-rIL/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ja-rJP/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ka-rGE/strings.xml | 1 + .../src/main/resources/addresources/values-kk-rKZ/strings.xml | 1 + .../src/main/resources/addresources/values-km-rKH/strings.xml | 1 + .../src/main/resources/addresources/values-kn-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-ko-rKR/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ky-rKG/strings.xml | 1 + .../src/main/resources/addresources/values-lo-rLA/strings.xml | 1 + .../src/main/resources/addresources/values-lt-rLT/strings.xml | 4 ++++ .../src/main/resources/addresources/values-lv-rLV/strings.xml | 4 ++++ .../src/main/resources/addresources/values-mk-rMK/strings.xml | 1 + .../src/main/resources/addresources/values-ml-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-mn-rMN/strings.xml | 1 + .../src/main/resources/addresources/values-mr-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-ms-rMY/strings.xml | 1 + .../src/main/resources/addresources/values-my-rMM/strings.xml | 1 + .../src/main/resources/addresources/values-nb-rNO/strings.xml | 1 + .../src/main/resources/addresources/values-ne-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-nl-rNL/strings.xml | 4 ++++ .../src/main/resources/addresources/values-or-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-pa-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-pl-rPL/strings.xml | 4 ++++ .../src/main/resources/addresources/values-pt-rBR/strings.xml | 4 ++++ .../src/main/resources/addresources/values-pt-rPT/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ro-rRO/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ru-rRU/strings.xml | 4 ++++ .../src/main/resources/addresources/values-si-rLK/strings.xml | 1 + .../src/main/resources/addresources/values-sk-rSK/strings.xml | 4 ++++ .../src/main/resources/addresources/values-sl-rSI/strings.xml | 4 ++++ .../src/main/resources/addresources/values-sq-rAL/strings.xml | 4 ++++ .../src/main/resources/addresources/values-sr-rCS/strings.xml | 4 ++++ .../src/main/resources/addresources/values-sr-rSP/strings.xml | 4 ++++ .../src/main/resources/addresources/values-sv-rSE/strings.xml | 4 ++++ .../src/main/resources/addresources/values-sw-rKE/strings.xml | 1 + .../src/main/resources/addresources/values-ta-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-te-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-th-rTH/strings.xml | 4 ++++ .../src/main/resources/addresources/values-tr-rTR/strings.xml | 4 ++++ .../src/main/resources/addresources/values-uk-rUA/strings.xml | 4 ++++ .../src/main/resources/addresources/values-ur-rIN/strings.xml | 1 + .../src/main/resources/addresources/values-uz-rUZ/strings.xml | 1 + .../src/main/resources/addresources/values-vi-rVN/strings.xml | 4 ++++ .../src/main/resources/addresources/values-zh-rCN/strings.xml | 4 ++++ .../src/main/resources/addresources/values-zh-rTW/strings.xml | 1 + .../src/main/resources/addresources/values-zu-rZA/strings.xml | 1 + 77 files changed, 194 insertions(+) diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-am-rET/strings.xml +++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index daecb24ed..07120eda3 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" إخفاء زر Hype زر الضجة مخفي يظهر زر الحماس + + إخفاء الترويج + زر الترويج مخفي + زر الترويج ظاهر إخفاء شكرًا تم إخفاء زر شكرًا diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml index dd04fa401..53103622e 100644 --- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 8ff106a97..a9a1995cc 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -582,6 +582,7 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz Yükləmə düyməsi göstərilir + \"Təşəkkürlər\"i gizlət Təşəkkür düyməsi gizlidir diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 6f5ec7c63..1507d7a66 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" Схаваць кнопку Hype Кнопка Hype схаваная Кнопка хайпу паказана + + Схаваць Рэкламу + Кнопка \"Прасоўваць\" схавана + Кнопка \"Прасоўваць\" паказана Схаваць Дзякуй Кнопка падзякі схавана diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index debbe34a0..cb6a4ec7f 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" Скриване на бутона за хайп Бутонът за хайп е скрит Бутонът за хайп е показан + + Скриване на промоция + Бутонът за популяризиране е скрит + Бутонът за популяризиране е показан Бутон за благодарност Бутона за благодарност е скрит diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 651b71386..4ce66b900 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -581,6 +581,10 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ হাইপ বোতাম লুকান হাইপ বোতাম লুকানো আছে হাইপ বাটন দেখানো হয়েছে + + প্রমোট লুকান + প্রোমোশন বাটন লুকানো আছে + প্রোমোশন বাটন দেখানো আছে ধন্যবাদ লুকান ধন্যবাদ বোতাম লুকানো আছে diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml +++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 25863205b..3a358ca9d 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -585,6 +585,10 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky" Skrýt tlačítko Hype Tlačítko Hype je skryto Tlačítko Hype je zobrazeno + + Skrýt propagaci + Tlačítko Propagovat je skryto + Tlačítko Propagovat je zobrazeno Skrýt Poděkování Tlačítko Poděkování je skryto diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 8d38dc757..bedc9d3b7 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -585,6 +585,10 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen" Skjul Hype-knap Hype-knappen er skjult Hype-knappen vises + + Skjul fremhævelse + Promoveringsknappen er skjult + Promoveringsknappen vises Skjul Tak Tak knappen er skjult diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index 243c49bbc..10d184e83 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -580,6 +580,10 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver Hype-Button ausblenden Hype-Button ist ausgeblendet Hype-Button wird angezeigt + + Werbung ausblenden + Schaltfläche \"Promoten\" ist ausgeblendet + Schaltfläche \"Promoten\" ist sichtbar Dank ausblenden Dankeschön-Taste ist ausgeblendet diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 9d524f077..375a7c8dd 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -587,6 +587,10 @@ Second \"item\" text" Κουμπί «Χάιπ» Κρυμμένο Το κουμπί Hype εμφανίζεται + + Κουμπί «Προώθηση» + Κρυμμένο + Εμφανίζεται Κουμπί «Σας ευχαριστούμε» Κρυμμένο diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index eeb70194a..62f603363 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -585,6 +585,10 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"Ocultar botón de Hype El botón Hype está oculto El botón de hype está visible + + Ocultar pestaña \'Promocionar\' + El botón de Promocionar está oculto + El botón de Promocionar está visible Ocultar Gracias El botón de gracias está oculto diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index 0d2ddbc11..e79d413f7 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -585,6 +585,10 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"Peida Haip nupp Hype nupp on peidetud Hype\'i nupp on nähtav + + Peida reklaam + Reklaami nupp on peidetud + Reklaami nupp on nähtav Peida Tänan Tänan nupp on peidetud diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 7e7f8f237..334e19ee7 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -138,6 +138,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 32f92ac7a..a01c1d8e5 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -579,6 +579,7 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu Lataa-painike näytetään + Piilota Kiitos Kiitos-painike on piilotettu diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 0c0327cfe..2a61e9294 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -585,6 +585,10 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc Itago ang Hype button Nakatago ang hype button Ipinapakita ang Hype button + + Itago ang I-promote + Nakatago ang button na Promote + Nakikita ang button na Promote Itago Salamat Nakatago ang buton ng salamat diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 226df230f..ed2bbbb80 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -585,6 +585,10 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Masquer le bouton Hype Le bouton Hype est masqué Le bouton Hype est affiché + + Masquer Promouvoir + Le bouton Promouvoir est masqué + Le bouton Promouvoir est affiché Masquer \"Merci\" Le bouton Merci est masqué diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 17422e446..89d4b8c5a 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -585,6 +585,10 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Folaigh Cnaipe Hype Tá cnaipe an Hype i bhfolach Tá an cnaipe Hype ar taispeáint + + Folaigh Cur Chun Cinn + Tá an cnaipe Cur Chun Cinn folaithe + Tá an cnaipe Cur Chun Cinn taispeánta Folaigh Go raibh maith agat Tá cnaipe buíochas i bhfolach diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 276cef82a..dd8ed53a7 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -585,6 +585,10 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"Hype gomb elrejtése A Hype gomb rejtett A hype gomb látható + + Promóció elrejtése + A promóció gomb el van rejtve + A promóció gomb látható Köszönet elrejtése A köszönet gomb el van rejtve diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index 91812da39..7a7b3968b 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -585,6 +585,10 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Թաքցնել «Hype» կոճակը Հայփ կոճակը թաքնված է Հայփ կոճակը ցուցադրվում է + + Թաքցնել Գովազդը + Խթանել կոճակը թաքնված է + Խթանել կոճակը ցուցադրված է Թաքցնել Thanks Thanks կոճակը թաքցված է diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 9262640eb..22a9c3a1f 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -585,6 +585,10 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"Sembunyikan tombol Hype Tombol Hype disembunyikan Tombol Hype ditampilkan + + Sembunyikan Promosi + Tombol Promote disembunyikan + Tombol Promote ditampilkan Sembunyikan Terima kasih Tombol terima kasih disembunyikan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 4b852ceea..534a2d634 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -585,6 +585,10 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo" Nascondi pulsante Hype Il pulsante Hype è nascosto Pulsante Hype è mostrato + + Nascondi Promuovi + Il pulsante Promuovi è nascosto + Il pulsante Promuovi è mostrato Nascondi Grazie Grazie pulsante è nascosto diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 26dacd855..67f32e4c5 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" הסתר כפתור הייפ כפתור הייפ מוסתר כפתור ההייפ מוצג + + הסתר קידום + כפתור קידום מוסתר + כפתור קידום מוצג הסתר תודה לחצן תודה מוסתר diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 21176e791..d747c704d 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -587,6 +587,10 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「盛り上げ」ボタンを非表示 Hype ボタンは表示されません ハイプボタンは表示されます + + 「プロモーション」を非表示 + 宣伝ボタンは表示されません + 宣伝ボタンは表示されます Thanks ボタンを非表示 Thanks ボタンは表示されません diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml +++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml +++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml +++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml index fa292f027..b52af3207 100644 --- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml @@ -106,6 +106,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 4a0273a7f..2775aba92 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -583,6 +583,10 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 하입 버튼 숨기기 하이프 버튼이 숨겨집니다 하이프 버튼이 표시됩니다 + + 홍보 버튼 숨기기 + 홍보 버튼이 숨겨집니다 + 홍보 버튼이 표시됩니다 Thanks 버튼 숨기기 Thanks 버튼이 숨겨집니다 diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml +++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml +++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 8ff0dfdf8..9dc0bbe04 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -585,6 +585,10 @@ Reguliuokite garsumą braukdami vertikaliai dešinėje ekrano pusėje" Slėpti „Hype“ mygtuką „Hype“ mygtukas paslėptas Haipo mygtukas rodomas + + Slėpti reklamą + Reklamos mygtukas paslėptas + Reklamos mygtukas rodomas Slėpti Ačiū Ačiū mygtukas paslėptas diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index cb4f90120..a7ac965b8 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -585,6 +585,10 @@ Regulējiet skaļumu, velkot vertikāli ekrāna labajā pusē" Slēpt Hype pogu Poga \ Hype poga tiek rādīta + + Slēpt Reklamēt + Reklāmas poga ir paslēpta + Reklāmas poga ir redzama Paslēpt Paldies Paldies poga ir paslēpta diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml +++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml +++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 7b1c5736e..55ea888c7 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml +++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml index 1da3c600a..a4d92aec7 100644 --- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml @@ -93,6 +93,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index 03f848fa1..b5a2f2b95 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -585,6 +585,10 @@ Pas het volume aan door verticaal over de rechterkant van het scherm te vegen"Verberg Hype-knop Hype-knop is verborgen Hype-knop is zichtbaar + + Promotie verbergen + Promootknop is verborgen + Promootknop is weergegeven Bedankt verbergen Bedankt-knop is verborgen diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index ce0f173e9..4b70653bb 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -581,6 +581,10 @@ Dostosuj głośność, przesuwając pionowo po prawej stronie ekranu" Ukryj przycisk Hype Przycisk Hype jest ukryty Przycisk Hype jest wyświetlony + + Ukryj Promuj + Przycisk promocji jest ukryty + Przycisk promocji jest widoczny Przycisk od dziękowania Przycisk od dziękowania jest ukryty diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 886df86f3..e1462f651 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -585,6 +585,10 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" Ocultar botão Hype Botão Hype está oculto O botão Hype é exibido + + Ocultar Promoções + Botão de promoção está oculto + Botão de promoção está visível Ocultar Valeu Botão valeu está oculto diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 09b838958..47c25013a 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -585,6 +585,10 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" Ocultar botão Hype O botão Hype está oculto O botão Hype está exibido + + Ocultar Promover + O botão Promover está oculto + O botão Promover está exibido Esconder Obrigado O botão de agradecimento está escondido diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index 12a05ace9..bbfc4350f 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -585,6 +585,10 @@ Reglați volumul glisând vertical pe partea dreaptă a ecranului" Ascunde butonul Hype Butonul de Hype este ascuns Butonul Hype este afișat + + Ascundeți Promovare + Butonul de promovare este ascuns + Butonul de promovare este afișat Ascunde mulţumirile Butonul de multumire este ascuns diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 96573437f..cff40dcac 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" Скрыть кнопку «Хайп» Кнопка Hype скрыта Кнопка хайпа показана + + Скрыть кнопку \ + Кнопка \"Продвигать\" скрыта + Кнопка \"Продвигать\" показана Скрыть кнопку \"Спасибо\" Кнопка \"Спасибо\" под плеером скрыта diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml +++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 071765088..0fee735cc 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -583,6 +583,10 @@ Upravte hlasitosť posúvaním vertikálne na pravej strane obrazovky" Skryť tlačidlo Hype Tlačidlo Hype je skryté Tlačidlo Hype je zobrazené + + Skryť propagáciu + Tlačidlo Propagovať je skryté + Tlačidlo Propagovať je zobrazené Skryť Ďakujem Tlačidlo poďakovania je skryté diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 34735d490..43bfab4d3 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -585,6 +585,10 @@ Prilagodite glasnost s potegom navpično na desni strani zaslona" Skrij gumb Hype Gumb Hype je skrit Gumb Hype je prikazan + + Skrij Promocijo + Gumb za promocijo je skrit + Gumb za promocijo je prikazan Skrij Hvala Gumb Hvala je skrit diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index f08155634..342893d9f 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -585,6 +585,10 @@ Përshtate shkëlqimin duke rrëshqitur vertikalisht në anën e majtë të ekra Fshih butonin Hype Butoni Hype është i fshehur Butoni Hype është i shfaqur + + Fshihe Promovo + Butoni i promovimit është fshehur + Butoni i promovimit është shfaqur Fsheh \"Faleminderit\" Butoni \"Faleminderit\" është i fshehur diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 237401f18..53b04494a 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -585,6 +585,10 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Sakrij dugme „Hajp” Dugme „Hajp” je skriveno Dugme „Haip” je prikazano + + Sakrij Promoviši + Dugme „Promoviši” je skriveno + Dugme „Promoviši” je prikazano Sakrij dugme „Hvala” Dugme „Hvala” je skriveno diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 4c723218c..456b4106d 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" Сакриј дугме „Хајп” Дугме „Хајп” је скривено Дугме „Хајп” је приказано + + Сакриј промоцију + Дугме „Промовиши” је скривено + Дугме „Промовиши” је приказано Сакриј дугме „Хвала” Дугме „Хвала” је скривено diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 2fb85a6ea..e0ea6f968 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -585,6 +585,10 @@ Justera volymen genom att svepa vertikalt till höger på skärmen" Dölj knappen Hype Hype-knappen är dold Knappen Hype visas + + Dölj Marknadsför + Knappen Marknadsför är dold + Knappen Marknadsför visas Dölj Thanks Knappen Thanks är dold diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml +++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 763340398..343e6febe 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -583,6 +583,10 @@ Second \"item\" text" ซ่อนปุ่ม Hype ปุ่ม Hype ถูกซ่อนอยู่ ปุ่ม Hype กำลังแสดง + + ซ่อนโปรโมต + ปุ่มโปรโมทถูกซ่อน + ปุ่มโปรโมทแสดงอยู่ ซ่อนขอบคุณ ปุ่มขอบคุณถูกซ่อน diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 9c8cc241d..7172bf782 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -585,6 +585,10 @@ Ekranın sağ tarafında dikey olarak kaydırarak sesi ayarlayın" Hype düğmesini gizle Coşku düğmesi gizli Hype düğmesi görünür + + Tanıt\'ı Gizle + Tanıt düğmesi gizli + Tanıt düğmesi görünür Teşekkürler\'i gizle Teşekkürler düğmesi gizli diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 39682c0c8..2826e0724 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" Приховати \"Хайп\" Кнопку \"Хайп\" приховано Кнопка \"Хайп\" показується + + Приховати \"Рекламувати\" + Кнопку \"Рекламувати\" приховано + Кнопка \"Рекламувати\" показується Приховати \"Дякую\" Кнопку \"Дякую\" приховано diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 1a2c58652..8fd6c90f3 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -585,6 +585,10 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Ẩn nút Khuấy động Nút Khuấy động đã bị ẩn Nút Khuấy động được hiển thị + + Ẩn Quảng bá + Nút Quảng bá đã bị ẩn + Nút Quảng bá được hiển thị Ẩn Cảm ơn Nút cảm ơn đã bị ẩn diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index d360a870e..41608adf5 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -585,6 +585,10 @@ Second \"item\" text" 隐藏超级留言按钮 浮夸按钮已隐藏 热度按钮已显示 + + 隐藏推广 + 推广按钮已隐藏 + 推广按钮已显示 隐藏「感谢」按钮 感谢按钮已隐藏 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index 29ce07e90..fadc1dd18 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -582,6 +582,7 @@ Second \"item\" text" 已顯示「下載」按鈕 + 隱藏感謝 已隱藏「感謝」按鈕 diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml index 809e1d7a1..9c4e2aa79 100644 --- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml +++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml @@ -91,6 +91,7 @@ Second \"item\" text" + From d3f63461e7ab140a35a222214c803bf065531c05 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 16 Aug 2025 17:53:26 +0000 Subject: [PATCH 32/45] chore: Release v5.34.0-dev.10 [skip ci] # [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) ### Features * **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([40ac8e1](https://github.com/ReVanced/revanced-patches/commit/40ac8e114273f608e1ed80e648ea8ea34caf7da0)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cc3a6e73..5670d1318 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) +### Features + +* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b)) + +# [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) + + ### Features * **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b)) From 4aaa7ca89501ceb6a3357cf41b15c31fa3ebd218 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 16 Aug 2025 15:10:31 -0400 Subject: [PATCH 33/45] fix(YouTube - Video playback): Disable HDR video does not disable Dolby Vision HDR (#5661) --- .../youtube/patches/DisableHdrPatch.java | 8 ++- .../youtube/video/hdr/DisableHdrPatch.kt | 54 ++++++++++--------- .../patches/youtube/video/hdr/Fingerprints.kt | 12 ----- 3 files changed, 34 insertions(+), 40 deletions(-) delete mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/Fingerprints.kt diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableHdrPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableHdrPatch.java index 174e8a47e..d89bf72f5 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableHdrPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableHdrPatch.java @@ -1,5 +1,7 @@ package app.revanced.extension.youtube.patches; +import android.view.Display; + import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") @@ -8,8 +10,10 @@ public class DisableHdrPatch { /** * Injection point. */ - public static boolean disableHDRVideo() { - return !Settings.DISABLE_HDR_VIDEO.get(); + public static int[] disableHdrVideo(Display.HdrCapabilities capabilities) { + return Settings.DISABLE_HDR_VIDEO.get() + ? new int[0] + : capabilities.getSupportedHdrTypes(); } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt index 5d8e6d1c0..abea2c22c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/DisableHdrPatch.kt @@ -1,15 +1,16 @@ package app.revanced.patches.youtube.video.hdr -import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.all.misc.transformation.transformInstructionsPatch import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.MethodReference private const val EXTENSION_CLASS_DESCRIPTOR = @@ -24,6 +25,31 @@ val disableHdrPatch = bytecodePatch( sharedExtensionPatch, settingsPatch, addResourcesPatch, + // Override all calls of `getSupportedHdrTypes`. + transformInstructionsPatch( + filterMap = filterMap@{ classDef, _, instruction, instructionIndex -> + if (classDef.type.startsWith("Lapp/revanced/")) { + return@filterMap null + } + + val reference = instruction.getReference() + if (reference?.definingClass =="Landroid/view/Display\$HdrCapabilities;" + && reference.name == "getSupportedHdrTypes") { + return@filterMap instruction to instructionIndex + } + return@filterMap null + }, + transform = { method, entry -> + val (instruction, index) = entry + val register = (instruction as FiveRegisterInstruction).registerC + + method.replaceInstruction( + index, + "invoke-static/range { v$register .. v$register }, $EXTENSION_CLASS_DESCRIPTOR->" + + "disableHdrVideo(Landroid/view/Display\$HdrCapabilities;)[I", + ) + } + ) ) compatibleWith( @@ -43,29 +69,5 @@ val disableHdrPatch = bytecodePatch( PreferenceScreen.VIDEO.addPreferences( SwitchPreference("revanced_disable_hdr_video") ) - - hdrCapabilityFingerprint.let { - it.originalMethod.apply { - val stringIndex = it.stringMatches!!.first().index - val navigateIndex = indexOfFirstInstructionOrThrow(stringIndex) { - val reference = getReference() - reference?.parameterTypes == listOf("I", "Landroid/view/Display;") && - reference.returnType == "Z" - } - - // Modify the HDR lookup method (Method is in the same class as the fingerprint). - navigate(this).to(navigateIndex).stop().addInstructionsWithLabels( - 0, - """ - invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->disableHDRVideo()Z - move-result v0 - if-nez v0, :useHdr - return v0 - :useHdr - nop - """ - ) - } - } } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/Fingerprints.kt deleted file mode 100644 index fe8d2dce3..000000000 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/video/hdr/Fingerprints.kt +++ /dev/null @@ -1,12 +0,0 @@ -package app.revanced.patches.youtube.video.hdr - -import app.revanced.patcher.fingerprint -import com.android.tools.smali.dexlib2.AccessFlags - -internal val hdrCapabilityFingerprint = fingerprint { - accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) - strings( - "av1_profile_main_10_hdr_10_plus_supported", - "video/av01" - ) -} \ No newline at end of file From b86da73a87d11c66708d8dc0bd03fe07d9a9b853 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 16 Aug 2025 19:14:17 +0000 Subject: [PATCH 34/45] chore: Release v5.34.0-dev.10 [skip ci] # [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) ### Bug Fixes * **YouTube - Video playback:** Disable HDR video does not disable Dolby Vision HDR ([#5661](https://github.com/ReVanced/revanced-patches/issues/5661)) ([4aaa7ca](https://github.com/ReVanced/revanced-patches/commit/4aaa7ca89501ceb6a3357cf41b15c31fa3ebd218)) ### Features * **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([40ac8e1](https://github.com/ReVanced/revanced-patches/commit/40ac8e114273f608e1ed80e648ea8ea34caf7da0)) --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5670d1318..81b7b2ec0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ # [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) +### Bug Fixes + +* **YouTube - Video playback:** Disable HDR video does not disable Dolby Vision HDR ([#5661](https://github.com/ReVanced/revanced-patches/issues/5661)) ([6dab988](https://github.com/ReVanced/revanced-patches/commit/6dab98810645b96bd0387ba7d607e5d8ffb1b5bb)) + + +### Features + +* **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b)) + +# [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) + + ### Features * **YouTube - Hide video action buttons:** Add "Hide Promote button" setting ([1959396](https://github.com/ReVanced/revanced-patches/commit/1959396a53f4c07b94acddc5c0ee6cdf7ade7c7b)) From 25470baeeee34832599afeea8c453cb453173088 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 16 Aug 2025 16:17:43 -0400 Subject: [PATCH 35/45] fix(YouTube - SponsorBlock): Do not hide voting or create button when the video ends This logic is no longer needed, since YouTube no longer hides the overlay buttons when the video ends --- .../ui/SponsorBlockViewController.java | 19 ------------------- .../layout/sponsorblock/SponsorBlockPatch.kt | 12 +----------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java index 4749c6930..dd753934a 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java @@ -16,7 +16,6 @@ import java.util.Objects; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; -import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.shared.PlayerType; import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment; import kotlin.Unit; @@ -227,22 +226,4 @@ public class SponsorBlockViewController { params.bottomMargin = fullScreen ? ctaBottomMargin : defaultBottomMargin; view.setLayoutParams(params); } - - /** - * Injection point. - */ - public static void endOfVideoReached() { - try { - Logger.printDebug(() -> "endOfVideoReached"); - // the buttons automatically set themselves to visible when appropriate, - // but if buttons are showing when the end of the video is reached then they need - // to be forcefully hidden - if (!Settings.AUTO_REPEAT.get()) { - CreateSegmentButton.hideControls(); - VotingButton.hideControls(); - } - } catch (Exception ex) { - Logger.printException(() -> "endOfVideoReached failure", ex); - } - } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt index 92407e8bb..06c271b97 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/sponsorblock/SponsorBlockPatch.kt @@ -202,7 +202,7 @@ val sponsorBlockPatch = bytecodePatch( """ invoke-static { v$register }, $EXTENSION_SEGMENT_PLAYBACK_CONTROLLER_CLASS_DESCRIPTOR->appendTimeWithoutSegments(Ljava/lang/String;)Ljava/lang/String; move-result-object v$register - """, + """ ) } @@ -252,15 +252,5 @@ val sponsorBlockPatch = bytecodePatch( } } ?: throw PatchException("Could not find the method which contains the replaceMeWith* strings") } - - // The vote and create segment buttons automatically change their visibility when appropriate, - // but if buttons are showing when the end of the video is reached then they will not automatically hide. - // Add a hook to forcefully hide when the end of the video is reached. - autoRepeatFingerprint.match(autoRepeatParentFingerprint.originalClassDef).method.addInstruction( - 0, - "invoke-static {}, $EXTENSION_SPONSORBLOCK_VIEW_CONTROLLER_CLASS_DESCRIPTOR->endOfVideoReached()V", - ) - - // TODO: Channel whitelisting. } } From 84f3c6f02d4b3a540f317cfe5b4a05a94507cabe Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 16 Aug 2025 20:21:35 +0000 Subject: [PATCH 36/45] chore: Release v5.34.0-dev.11 [skip ci] # [5.34.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.10...v5.34.0-dev.11) (2025-08-16) ### Bug Fixes * **YouTube - SponsorBlock:** Do not hide voting or create button when the video ends ([25470ba](https://github.com/ReVanced/revanced-patches/commit/25470baeeee34832599afeea8c453cb453173088)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81b7b2ec0..7c07df20f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.10...v5.34.0-dev.11) (2025-08-16) + + +### Bug Fixes + +* **YouTube - SponsorBlock:** Do not hide voting or create button when the video ends ([6aba4e2](https://github.com/ReVanced/revanced-patches/commit/6aba4e284de9bb94b49eea8be2baf2870eecbbcf)) + # [5.34.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.9...v5.34.0-dev.10) (2025-08-16) diff --git a/gradle.properties b/gradle.properties index b4fce689f..1c9f618c7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.10 +version = 5.34.0-dev.11 From bedabd3fa3fb70d05bcf811a342e5f2f646f2c88 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 16 Aug 2025 16:24:24 -0400 Subject: [PATCH 37/45] refactor: Show SB buttons with other overlay buttons when the video has ended --- .../youtube/sponsorblock/ui/CreateSegmentButton.java | 5 ++--- .../extension/youtube/sponsorblock/ui/VotingButton.java | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java index 8e9cc4228..77ae650c0 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java @@ -5,10 +5,10 @@ import android.view.View; import androidx.annotation.Nullable; import app.revanced.extension.shared.Logger; -import app.revanced.extension.youtube.patches.VideoInformation; import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.videoplayer.PlayerControlButton; +@SuppressWarnings("unused") public class CreateSegmentButton { @Nullable private static PlayerControlButton instance; @@ -51,7 +51,6 @@ public class CreateSegmentButton { } private static boolean shouldBeShown() { - return Settings.SB_ENABLED.get() && Settings.SB_CREATE_NEW_SEGMENT.get() - && !VideoInformation.isAtEndOfVideo(); + return Settings.SB_ENABLED.get() && Settings.SB_CREATE_NEW_SEGMENT.get(); } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java index 8198a5ba3..cc9850253 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java @@ -5,12 +5,12 @@ import android.view.View; import androidx.annotation.Nullable; import app.revanced.extension.shared.Logger; -import app.revanced.extension.youtube.patches.VideoInformation; import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController; import app.revanced.extension.youtube.sponsorblock.SponsorBlockUtils; import app.revanced.extension.youtube.videoplayer.PlayerControlButton; +@SuppressWarnings("unused") public class VotingButton { @Nullable private static PlayerControlButton instance; @@ -54,6 +54,6 @@ public class VotingButton { private static boolean shouldBeShown() { return Settings.SB_ENABLED.get() && Settings.SB_VOTING_BUTTON.get() - && SegmentPlaybackController.videoHasSegments() && !VideoInformation.isAtEndOfVideo(); + && SegmentPlaybackController.videoHasSegments(); } } From 16b27fb8721fb311ae538a5b956728606a4049d9 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 17 Aug 2025 11:17:54 -0400 Subject: [PATCH 38/45] chore: Fix typo --- patches/src/main/resources/addresources/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index bddeff043..d63f43d55 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -645,7 +645,7 @@ Adjust volume by swiping vertically on the right side of the screen" Download button is shown - Hide Hype button + Hide Hype Hype button is hidden Hype button is shown From 3130225d9ddb895de45d43b1540b7191cca00767 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 20:13:55 -0400 Subject: [PATCH 39/45] chore: Sync translations (#5671) --- .../addresources/values-ar-rSA/strings.xml | 2 +- .../addresources/values-be-rBY/strings.xml | 2 +- .../addresources/values-bg-rBG/strings.xml | 2 +- .../addresources/values-bn-rBD/strings.xml | 2 +- .../addresources/values-cs-rCZ/strings.xml | 2 +- .../addresources/values-da-rDK/strings.xml | 2 +- .../addresources/values-de-rDE/strings.xml | 20 +++++++++---------- .../addresources/values-el-rGR/strings.xml | 4 ++-- .../addresources/values-es-rES/strings.xml | 2 +- .../addresources/values-et-rEE/strings.xml | 2 +- .../addresources/values-fi-rFI/strings.xml | 6 ++++++ .../addresources/values-fil-rPH/strings.xml | 2 +- .../addresources/values-fr-rFR/strings.xml | 2 +- .../addresources/values-ga-rIE/strings.xml | 2 +- .../addresources/values-hu-rHU/strings.xml | 2 +- .../addresources/values-hy-rAM/strings.xml | 2 +- .../addresources/values-in-rID/strings.xml | 6 +++--- .../addresources/values-it-rIT/strings.xml | 2 +- .../addresources/values-iw-rIL/strings.xml | 2 +- .../addresources/values-ja-rJP/strings.xml | 10 +++++----- .../addresources/values-ko-rKR/strings.xml | 6 +++--- .../addresources/values-lt-rLT/strings.xml | 2 +- .../addresources/values-lv-rLV/strings.xml | 2 +- .../addresources/values-nl-rNL/strings.xml | 2 +- .../addresources/values-pl-rPL/strings.xml | 2 +- .../addresources/values-pt-rBR/strings.xml | 2 +- .../addresources/values-pt-rPT/strings.xml | 2 +- .../addresources/values-ro-rRO/strings.xml | 2 +- .../addresources/values-ru-rRU/strings.xml | 18 ++++++++--------- .../addresources/values-sk-rSK/strings.xml | 2 +- .../addresources/values-sl-rSI/strings.xml | 2 +- .../addresources/values-sq-rAL/strings.xml | 2 +- .../addresources/values-sr-rCS/strings.xml | 2 +- .../addresources/values-sr-rSP/strings.xml | 2 +- .../addresources/values-sv-rSE/strings.xml | 2 +- .../addresources/values-th-rTH/strings.xml | 2 +- .../addresources/values-tr-rTR/strings.xml | 2 +- .../addresources/values-vi-rVN/strings.xml | 18 ++++++++--------- .../addresources/values-zh-rCN/strings.xml | 2 +- 39 files changed, 78 insertions(+), 72 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 07120eda3..8143f8f83 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" يتم عرض زر التنزيل - إخفاء زر Hype + إخفاء الضجة زر الضجة مخفي يظهر زر الحماس diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 1507d7a66..6fefe9d2b 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" Паказана кнопка загрузкі - Схаваць кнопку Hype + Схаваць хайп Кнопка Hype схаваная Кнопка хайпу паказана diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index cb6a4ec7f..862cfa98e 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" Бутона за изтегляне се показва - Скриване на бутона за хайп + Скрий хайпа Бутонът за хайп е скрит Бутонът за хайп е показан diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 4ce66b900..6e94cbe7a 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -578,7 +578,7 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ ডাউনলোড বোতাম দেখানো হয়েছে - হাইপ বোতাম লুকান + হাইপ লুকান হাইপ বোতাম লুকানো আছে হাইপ বাটন দেখানো হয়েছে diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 3a358ca9d..feab83001 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -582,7 +582,7 @@ Hlasitost se upravuje svislým přejetím po pravé straně obrazovky" Tlačítko Stáhnout je zobrazeno - Skrýt tlačítko Hype + Skrýt Hype Tlačítko Hype je skryto Tlačítko Hype je zobrazeno diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index bedc9d3b7..303d55613 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -582,7 +582,7 @@ Juster lydstyrken ved at swipe lodret i højre side af skærmen" Download-knappen vises - Skjul Hype-knap + Skjul Hype Hype-knappen er skjult Hype-knappen vises diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index 10d184e83..b45989a12 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -150,9 +150,9 @@ Sie werden nicht über unerwartete Ereignisse informiert." Chips ausblenden Chips sind ausgeblendet Chips werden angezeigt - Community-Beiträge ausblenden - Community-Beiträge sind ausgeblendet - Gemeinschaftsbeiträge werden angezeigt + Communitybeiträge ausblenden + Communitybeiträge sind ausgeblendet + Communitybeiträge werden angezeigt Kompakte Banner ausblenden Kompakte Banner sind ausgeblendet Kompakte Banner werden angezeigt @@ -218,7 +218,7 @@ Wenn ein Doodle zurzeit in Ihrer Region angezeigt wird und diese Einstellung zum Senderleiste ausblenden Kanalleiste ist ausgeblendet Kanalleiste wird angezeigt - Wasserzeichen ausblenden + Kanal-Wasserzeichen ausblenden Wasserzeichen ist ausgeblendet Wasserzeichen wird angezeigt Notfall-Boxen ausblenden @@ -303,9 +303,9 @@ Wenn ein Doodle zurzeit in Ihrer Region angezeigt wird und diese Einstellung zum Mitglieder-Regal ist ausgeblendet Mitglieder-Regal wird angezeigt - Schaltfläche \'Community besuchen\' ausblenden - Schaltfläche \'Community besuchen\' ist ausgeblendet - Schaltfläche \"Community besuchen\" ist angezeigt + Schaltfläche \'Zur Community\' ausblenden + Schaltfläche \'Zur Community\' ist ausgeblendet + Schaltfläch \"Zur Community\" wird angezeigt Den \'Store besuchen\'-Button auf Kanalseiten ausblenden Schaltfläche \"Shop besuchen\" ist ausgeblendet @@ -577,9 +577,9 @@ Passen Sie die Helligkeit an, indem Sie auf der linken Seite des Bildschirms ver Download-Button wird angezeigt - Hype-Button ausblenden - Hype-Button ist ausgeblendet - Hype-Button wird angezeigt + Hypen ausblenden + Hypen-Button ist ausgeblendet + Hypen-Button wird angezeigt Werbung ausblenden Schaltfläche \"Promoten\" ist ausgeblendet diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index 375a7c8dd..374209ecb 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -584,9 +584,9 @@ Second \"item\" text" Εμφανίζεται - Κουμπί «Χάιπ» + Κουμπί «Hype» Κρυμμένο - Το κουμπί Hype εμφανίζεται + Εμφανίζεται Κουμπί «Προώθηση» Κρυμμένο diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 62f603363..5b8d539ee 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -582,7 +582,7 @@ Ajusta el volumen deslizando verticalmente en el lado derecho de la pantalla"Se muestra el botón de descarga - Ocultar botón de Hype + Ocultar Hype El botón Hype está oculto El botón de hype está visible diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index e79d413f7..12563fedd 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -582,7 +582,7 @@ Helitugevuse reguleerimiseks pühkige ekraani paremal küljel vertikaalselt"Laadi alla nupp on nähtav - Peida Haip nupp + Peida Hype Hype nupp on peidetud Hype\'i nupp on nähtav diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index a01c1d8e5..7513f3f9b 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -579,7 +579,13 @@ Säädä äänenvoimakkuutta pyyhkäisemällä pystysuoraan näytön oikealta pu Lataa-painike näytetään + Piilota Hypetä + Hypetä-painike on piilotettu + Hypetä-painike näytetään + Piilota Mainosta + Mainosta-painike on piilotettu + Mainosta-painike näytetään Piilota Kiitos Kiitos-painike on piilotettu diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index 2a61e9294..1d538ff94 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -582,7 +582,7 @@ Ayusin ang volume sa pamamagitan ng pag-swipe nang patayo sa kanang bahagi ng sc Ang pindutan ng pag-download ay ipinapakita - Itago ang Hype button + Itago ang Ingay Nakatago ang hype button Ipinapakita ang Hype button diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index ed2bbbb80..3a36693dd 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -582,7 +582,7 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Le bouton Télécharger est affiché - Masquer le bouton Hype + Masquer l\'Hype Le bouton Hype est masqué Le bouton Hype est affiché diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 89d4b8c5a..3481ba1eb 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -582,7 +582,7 @@ Coigeartaigh an toirt trí haisceartán go hingearach ar thaobh deas an scáile Taispeántar cnaipe íoslódáil - Folaigh Cnaipe Hype + Folaigh Borradh Tá cnaipe an Hype i bhfolach Tá an cnaipe Hype ar taispeáint diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index dd8ed53a7..e4b67eae2 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -582,7 +582,7 @@ A hangerő a képernyő jobb oldalán függőlegesen húzva állítható be"A letöltés gomb látható - Hype gomb elrejtése + Aktivitás elrejtése A Hype gomb rejtett A hype gomb látható diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index 7a7b3968b..5b2451886 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -582,7 +582,7 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել Download կոճակը ցուցադրվում է - Թաքցնել «Hype» կոճակը + Թաքցնել Հայփը Հայփ կոճակը թաքնված է Հայփ կոճակը ցուցադրվում է diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 22a9c3a1f..334c98887 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -582,13 +582,13 @@ Menyesuaikan volume dengan mengusap secara vertikal di sisi kanan layar"Tombol unduh ditampilkan - Sembunyikan tombol Hype + Sembunyikan Hype Tombol Hype disembunyikan Tombol Hype ditampilkan Sembunyikan Promosi - Tombol Promote disembunyikan - Tombol Promote ditampilkan + Tombol Promosi disembunyikan + Tombol Promosi ditampilkan Sembunyikan Terima kasih Tombol terima kasih disembunyikan diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 534a2d634..987d16c24 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -582,7 +582,7 @@ Regola il volume scorrendo verticalmente sul lato destro dello schermo" Il pulsante Scarica è visibile - Nascondi pulsante Hype + Nascondi Hype Il pulsante Hype è nascosto Pulsante Hype è mostrato diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index 67f32e4c5..f05fcf947 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" לחצן הורדה מוצג - הסתר כפתור הייפ + הסתר הייפ כפתור הייפ מוסתר כפתור ההייפ מוצג diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index d747c704d..63b342a7f 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -584,13 +584,13 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に オフライン ボタンは表示されます - 「盛り上げ」ボタンを非表示 - Hype ボタンは表示されません + ハイプボタンを非表示 + ハイプボタンは表示されません ハイプボタンは表示されます - 「プロモーション」を非表示 - 宣伝ボタンは表示されません - 宣伝ボタンは表示されます + プロモート ボタンを非表示 + プロモート ボタンは表示されません + プロモート ボタンは表示されます Thanks ボタンを非表示 Thanks ボタンは表示されません diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 2775aba92..d0392ea61 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -580,9 +580,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 오프라인 저장 버튼이 표시됩니다 - 하입 버튼 숨기기 - 하이프 버튼이 숨겨집니다 - 하이프 버튼이 표시됩니다 + Hype 버튼 숨기기 + Hype 버튼이 숨겨집니다 + Hype 버튼이 표시됩니다 홍보 버튼 숨기기 홍보 버튼이 숨겨집니다 diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 9dc0bbe04..0f5168e48 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -582,7 +582,7 @@ Reguliuokite garsumą braukdami vertikaliai dešinėje ekrano pusėje" Atsisiuntimo mygtukas rodomas - Slėpti „Hype“ mygtuką + Slėpti Ažiotažą „Hype“ mygtukas paslėptas Haipo mygtukas rodomas diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index a7ac965b8..9a282ec96 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -582,7 +582,7 @@ Regulējiet skaļumu, velkot vertikāli ekrāna labajā pusē" Lejupielādēt poga ir redzama - Slēpt Hype pogu + Paslēpt ažiotāžu Poga \ Hype poga tiek rādīta diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index b5a2f2b95..bd265ead6 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -582,7 +582,7 @@ Pas het volume aan door verticaal over de rechterkant van het scherm te vegen"Downloaden knop wordt weergegeven - Verberg Hype-knop + Verberg Hype Hype-knop is verborgen Hype-knop is zichtbaar diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 4b70653bb..6c72ec9eb 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -578,7 +578,7 @@ Dostosuj głośność, przesuwając pionowo po prawej stronie ekranu" Przycisk pobierania jest widoczny - Ukryj przycisk Hype + Ukryj Hype Przycisk Hype jest ukryty Przycisk Hype jest wyświetlony diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index e1462f651..7d41182b5 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -582,7 +582,7 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" O botão download é mostrado - Ocultar botão Hype + Ocultar Hype Botão Hype está oculto O botão Hype é exibido diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 47c25013a..9a8ad98d5 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -582,7 +582,7 @@ Ajuste o volume deslizando verticalmente no lado direito da tela" O botão transferir está visível - Ocultar botão Hype + Ocultar Hype O botão Hype está oculto O botão Hype está exibido diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index bbfc4350f..65ea04996 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -582,7 +582,7 @@ Reglați volumul glisând vertical pe partea dreaptă a ecranului" Butonul Descărcare este afișat - Ascunde butonul Hype + Ascunde Freamătul Butonul de Hype este ascuns Butonul Hype este afișat diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index cff40dcac..c1df13b53 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -453,9 +453,9 @@ Second \"item\" text" Данная опция не обходит возрастное ограничение. Она только принимает возрастное ограничение автоматически. - Отключить всплывающее окно Вход на ТВ - Всплывающее окно Вход на ТВ отключено - Всплывающее окно Вход на ТВ включено + Отключить всплывающее окно \"Вход на ТВ\" + Всплывающее окно \"Вход на ТВ\" отключено + Всплывающее окно \"Вход на ТВ\" включено Отключить пропуск главы по двойному касанию @@ -582,13 +582,13 @@ Second \"item\" text" Кнопка \"Скачать\" под плеером показана - Скрыть кнопку «Хайп» - Кнопка Hype скрыта - Кнопка хайпа показана + Скрыть кнопку \"Hype\" + Кнопка \"Хайп\" скрыта + Кнопка \"Хайп\" показана - Скрыть кнопку \ - Кнопка \"Продвигать\" скрыта - Кнопка \"Продвигать\" показана + Скрыть кнопку \"Рекламировать\" + Кнопка \"Рекламировать\" скрыта + Кнопка \"Рекламировать\" показана Скрыть кнопку \"Спасибо\" Кнопка \"Спасибо\" под плеером скрыта diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 0fee735cc..768e31a5b 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -580,7 +580,7 @@ Upravte hlasitosť posúvaním vertikálne na pravej strane obrazovky" Zobrazí sa tlačidlo Stiahnuť - Skryť tlačidlo Hype + Skryť Hype Tlačidlo Hype je skryté Tlačidlo Hype je zobrazené diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 43bfab4d3..541dcb6f0 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -582,7 +582,7 @@ Prilagodite glasnost s potegom navpično na desni strani zaslona" Gumb Prenesi je prikazan - Skrij gumb Hype + Skrij Hype Gumb Hype je skrit Gumb Hype je prikazan diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index 342893d9f..40b0d0db8 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -582,7 +582,7 @@ Përshtate shkëlqimin duke rrëshqitur vertikalisht në anën e majtë të ekra Butoni \"Shkarko\" është i dukshëm - Fshih butonin Hype + Fsheh Zhurmën Butoni Hype është i fshehur Butoni Hype është i shfaqur diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 53b04494a..38dfd4d13 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -582,7 +582,7 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Dugme „Preuzmi” je prikazano - Sakrij dugme „Hajp” + Sakrij Hajp Dugme „Hajp” je skriveno Dugme „Haip” je prikazano diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 456b4106d..b444e76b6 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" Дугме „Преузми” је приказано - Сакриј дугме „Хајп” + Сакриј Хајп Дугме „Хајп” је скривено Дугме „Хајп” је приказано diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index e0ea6f968..6a8d09a56 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -582,7 +582,7 @@ Justera volymen genom att svepa vertikalt till höger på skärmen" Knappen Ladda ned visas - Dölj knappen Hype + Dölj Hajp Hype-knappen är dold Knappen Hype visas diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index 343e6febe..4b17bf4e4 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -580,7 +580,7 @@ Second \"item\" text" ปุ่มดาวน์โหลดถูกแสดง - ซ่อนปุ่ม Hype + ซ่อนกระแส ปุ่ม Hype ถูกซ่อนอยู่ ปุ่ม Hype กำลังแสดง diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index 7172bf782..e98108462 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -582,7 +582,7 @@ Ekranın sağ tarafında dikey olarak kaydırarak sesi ayarlayın" İndir düğmesi görünür - Hype düğmesini gizle + Abartıyı Gizle Coşku düğmesi gizli Hype düğmesi görünür diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index 8fd6c90f3..cfec1375a 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -238,12 +238,12 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v Ẩn bảng thông tin y tế Bảng thông tin y tế đã bị ẩn Bảng thông tin y tế được hiển thị - Ẩn tác vụ nhanh - Các tác vụ nhanh ở chế độ toàn màn hình đã bị ẩn - Các tác vụ nhanh ở chế độ toàn màn hình được hiển thị + Ẩn bảng thao tác nhanh + Bảng thao tác nhanh ở chế độ toàn màn hình đã bị ẩn + Bảng thao tác nhanh ở chế độ toàn màn hình được hiển thị Ẩn video liên quan - Video liên quan trong tác vụ nhanh đã bị ẩn - Video liên quan trong tác vụ nhanh được hiển thị + Video liên quan trong bảng thao tác nhanh đã bị ẩn + Video liên quan trong bảng thao tác nhanh được hiển thị Ẩn nguyên tắc cộng đồng cho người đăng ký Nguyên tắc cộng đồng cho người đăng ký đã bị ẩn Nguyên tắc cộng đồng dành cho người đăng ký được hiển thị @@ -551,7 +551,7 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Phụ đề tự động đã bật - Nút tác vụ + Nút thao tác Ẩn hoặc hiển thị các nút bên dưới video Tắt hiệu ứng phát sáng nút Thích và Đăng ký Nút Thích và Đăng ký sẽ không phát sáng khi được tương tác @@ -582,9 +582,9 @@ Vui lòng kiểm tra lại tên gói và đảm bảo ứng dụng đã được Nút tải xuống được hiển thị - Ẩn nút Khuấy động - Nút Khuấy động đã bị ẩn - Nút Khuấy động được hiển thị + Ẩn Khuấy động + Nút khuấy động đã bị ẩn + Nút khuấy động được hiển thị Ẩn Quảng bá Nút Quảng bá đã bị ẩn diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 41608adf5..668961e65 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" 下载按钮已显示 - 隐藏超级留言按钮 + 隐藏热度 浮夸按钮已隐藏 热度按钮已显示 From 01a04c338c2b1bbce919afc659a4ad447aa404fa Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sun, 17 Aug 2025 20:14:44 -0400 Subject: [PATCH 40/45] fix(YouTube): Use correct fade out animation when tapping to dismiss the video overlay (#5670) --- .../youtube/patches/PlayerControlsPatch.java | 7 --- .../PlayerControlsVisibilityHookPatch.java | 18 ++++++ .../patches/spoof/SpoofAppVersionPatch.java | 2 +- .../patches/theme/SeekbarColorPatch.java | 2 +- .../shared/PlayerControlsVisibility.kt | 48 ++++++++++++++++ .../SegmentPlaybackController.java | 5 +- .../sponsorblock/ui/CreateSegmentButton.java | 13 ++++- .../youtube/sponsorblock/ui/VotingButton.java | 13 ++++- .../videoplayer/CopyVideoUrlButton.java | 11 +++- .../CopyVideoUrlTimestampButton.java | 11 +++- .../videoplayer/ExternalDownloadButton.java | 11 +++- .../PlaybackSpeedDialogButton.java | 7 +++ .../videoplayer/PlayerControlButton.java | 30 +++++++++- .../videoplayer/VideoQualityDialogButton.java | 7 +++ patches/api/patches.api | 4 ++ .../misc/playercontrols/Fingerprints.kt | 57 +++++++++++++++++-- .../PlayerControlsOverlayVisibilityPatch.kt | 42 ++++++++++++++ .../playercontrols/PlayerControlsPatch.kt | 48 +++++++++++----- 18 files changed, 291 insertions(+), 45 deletions(-) create mode 100644 extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsVisibilityHookPatch.java create mode 100644 extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibility.kt create mode 100644 patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsOverlayVisibilityPatch.kt diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java index a8458310d..a96999683 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java @@ -57,11 +57,4 @@ public class PlayerControlsPatch { private static void fullscreenButtonVisibilityChanged(boolean isVisible) { // Code added during patching. } - - /** - * Injection point. - */ - public static String getPlayerTopControlsLayoutResourceName(String original) { - return "default"; - } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsVisibilityHookPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsVisibilityHookPatch.java new file mode 100644 index 000000000..75f37a570 --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsVisibilityHookPatch.java @@ -0,0 +1,18 @@ +package app.revanced.extension.youtube.patches; + +import androidx.annotation.Nullable; + +import app.revanced.extension.youtube.shared.PlayerControlsVisibility; + +@SuppressWarnings("unused") +public class PlayerControlsVisibilityHookPatch { + + /** + * Injection point. + */ + public static void setPlayerControlsVisibility(@Nullable Enum youTubePlayerControlsVisibility) { + if (youTubePlayerControlsVisibility == null) return; + + PlayerControlsVisibility.setFromString(youTubePlayerControlsVisibility.name()); + } +} diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java index 25ad35d64..64628661a 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java @@ -9,7 +9,7 @@ public class SpoofAppVersionPatch { private static final String SPOOF_APP_VERSION_TARGET = Settings.SPOOF_APP_VERSION_TARGET.get(); /** - * Injection point + * injection point. */ public static String getYouTubeVersionOverride(String version) { if (SPOOF_APP_VERSION_ENABLED) return SPOOF_APP_VERSION_TARGET; diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java index 4e3405860..965b16364 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java @@ -126,7 +126,7 @@ public final class SeekbarColorPatch { } /** - * Injection point + * injection point. */ public static boolean useLotteLaunchSplashScreen(boolean original) { // This method is only used for development purposes to force the old style launch screen. diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibility.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibility.kt new file mode 100644 index 000000000..5585bc157 --- /dev/null +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibility.kt @@ -0,0 +1,48 @@ +package app.revanced.extension.youtube.shared + +import app.revanced.extension.shared.Logger +import app.revanced.extension.youtube.Event + +/** + * PlayerControls visibility state. + */ +enum class PlayerControlsVisibility { + PLAYER_CONTROLS_VISIBILITY_UNKNOWN, + PLAYER_CONTROLS_VISIBILITY_WILL_HIDE, + PLAYER_CONTROLS_VISIBILITY_HIDDEN, + PLAYER_CONTROLS_VISIBILITY_WILL_SHOW, + PLAYER_CONTROLS_VISIBILITY_SHOWN; + + companion object { + + private val nameToPlayerControlsVisibility = PlayerControlsVisibility.entries.associateBy { it.name } + + @JvmStatic + fun setFromString(enumName: String) { + val newType = nameToPlayerControlsVisibility[enumName] + if (newType == null) { + Logger.printException { "Unknown PlayerControlsVisibility encountered: $enumName" } + } else { + current = newType + } + } + + @JvmStatic + var current + get() = currentPlayerControlsVisibility + private set(type) { + if (currentPlayerControlsVisibility != type) { + Logger.printDebug { "Changed to: $type" } + + currentPlayerControlsVisibility = type + onChange(type) + } + } + + @Volatile // Read/write from different threads. + private var currentPlayerControlsVisibility = PLAYER_CONTROLS_VISIBILITY_UNKNOWN + + @JvmStatic + val onChange = Event() + } +} \ No newline at end of file diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java index 300488390..c53c12460 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java @@ -13,7 +13,6 @@ import android.graphics.Rect; import android.graphics.drawable.ShapeDrawable; import android.graphics.drawable.shapes.RoundRectShape; import android.text.TextUtils; -import android.util.DisplayMetrics; import android.util.Range; import android.view.Gravity; import android.view.ViewGroup; @@ -877,7 +876,7 @@ public class SegmentPlaybackController { } /** - * Injection point + * injection point. */ @SuppressWarnings("unused") public static void setSponsorBarRect(Object self) { @@ -909,7 +908,7 @@ public class SegmentPlaybackController { } /** - * Injection point + * injection point. */ @SuppressWarnings("unused") public static void setSponsorBarThickness(int thickness) { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java index 77ae650c0..3d4f1d888 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java @@ -18,7 +18,7 @@ public class CreateSegmentButton { } /** - * injection point + * injection point. */ public static void initialize(View controlsView) { try { @@ -37,14 +37,21 @@ public class CreateSegmentButton { } /** - * Injection point + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + + /** + * injection point. */ public static void setVisibilityImmediate(boolean visible) { if (instance != null) instance.setVisibilityImmediate(visible); } /** - * Injection point + * injection point. */ public static void setVisibility(boolean visible, boolean animated) { if (instance != null) instance.setVisibility(visible, animated); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java index cc9850253..e8f793d05 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java @@ -20,7 +20,7 @@ public class VotingButton { } /** - * injection point + * injection point. */ public static void initialize(View controlsView) { try { @@ -39,14 +39,21 @@ public class VotingButton { } /** - * Injection point + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + + /** + * injection point. */ public static void setVisibilityImmediate(boolean visible) { if (instance != null) instance.setVisibilityImmediate(visible); } /** - * Injection point + * injection point. */ public static void setVisibility(boolean visible, boolean animated) { if (instance != null) instance.setVisibility(visible, animated); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java index 5568a99b9..9b9d46cce 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java @@ -35,15 +35,22 @@ public class CopyVideoUrlButton { } } + /**` + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + /** - * injection point + * injection point. */ public static void setVisibilityImmediate(boolean visible) { if (instance != null) instance.setVisibilityImmediate(visible); } /** - * injection point + * injection point. */ public static void setVisibility(boolean visible, boolean animated) { if (instance != null) instance.setVisibility(visible, animated); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java index a8f4e7c12..55ec75543 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java @@ -36,14 +36,21 @@ public class CopyVideoUrlTimestampButton { } /** - * injection point + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + + /** + * injection point. */ public static void setVisibilityImmediate(boolean visible) { if (instance != null) instance.setVisibilityImmediate(visible); } /** - * injection point + * injection point. */ public static void setVisibility(boolean visible, boolean animated) { if (instance != null) instance.setVisibility(visible, animated); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java index ae3304ecc..af158ca9e 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java @@ -34,14 +34,21 @@ public class ExternalDownloadButton { } /** - * injection point + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + + /** + * injection point. */ public static void setVisibilityImmediate(boolean visible) { if (instance != null) instance.setVisibilityImmediate(visible); } /** - * Injection point + * injection point. */ public static void setVisibility(boolean visible, boolean animated) { if (instance != null) instance.setVisibility(visible, animated); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java index 60795851c..57cb5912b 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java @@ -69,6 +69,13 @@ public class PlaybackSpeedDialogButton { } } + /** + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + /** * Injection point. */ diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java index 548ee86c0..64551d327 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java @@ -11,6 +11,7 @@ import java.lang.ref.WeakReference; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; +import app.revanced.extension.youtube.shared.PlayerControlsVisibility; import app.revanced.extension.youtube.shared.PlayerType; import kotlin.Unit; @@ -40,8 +41,6 @@ public class PlayerControlButton { fadeOutAnimation = Utils.getResourceAnimation("fade_out"); fadeOutAnimation.setDuration(fadeOutDuration); - // Animation for the fast fade out after tapping the overlay. - // Currently not used but should be. fadeOutImmediate = Utils.getResourceAnimation("abc_fade_out"); fadeOutImmediate.setDuration(Utils.getResourceInteger("fade_duration_fast")); } @@ -114,6 +113,33 @@ public class PlayerControlButton { }); } + public void setVisibilityNegatedImmediate() { + if (PlayerControlsVisibility.getCurrent() != PlayerControlsVisibility.PLAYER_CONTROLS_VISIBILITY_HIDDEN) { + return; + } + + final boolean buttonEnabled = enabledStatus.buttonEnabled(); + if (!buttonEnabled) { + return; + } + + View container = containerRef.get(); + if (container == null) { + return; + } + + isVisible = false; + + container.clearAnimation(); + container.startAnimation(fadeOutImmediate); + container.setVisibility(View.GONE); + + View placeholder = placeHolderRef.get(); + if (placeholder != null) { + container.setVisibility(View.VISIBLE); + } + } + public void setVisibilityImmediate(boolean visible) { if (visible) { // Fix button flickering, by pushing this call to the back of diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java index 6b43abf51..109eaadd2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java @@ -116,6 +116,13 @@ public class VideoQualityDialogButton { } } + /** + * injection point. + */ + public static void setVisibilityNegatedImmediate() { + if (instance != null) instance.setVisibilityNegatedImmediate(); + } + /** * Injection point. */ diff --git a/patches/api/patches.api b/patches/api/patches.api index 835beeb59..aae1502c1 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1536,6 +1536,10 @@ public final class app/revanced/patches/youtube/misc/navigation/NavigationBarHoo public static final fun setHookNavigationButtonCreated (Lkotlin/jvm/functions/Function1;)V } +public final class app/revanced/patches/youtube/misc/playercontrols/PlayerControlsOverlayVisibilityPatchKt { + public static final fun getPlayerControlsOverlayVisibilityPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + 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; diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/Fingerprints.kt index 95dbd54ec..da2137135 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/Fingerprints.kt @@ -2,14 +2,63 @@ package app.revanced.patches.youtube.misc.playercontrols import app.revanced.patcher.fingerprint import app.revanced.util.containsLiteralInstruction +import app.revanced.util.getReference +import app.revanced.util.indexOfFirstInstruction +import app.revanced.util.indexOfFirstInstructionReversed 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.Method +import com.android.tools.smali.dexlib2.iface.reference.MethodReference + +internal fun indexOfFocusableInTouchModeInstruction(method: Method) = + method.indexOfFirstInstruction { + getReference()?.name == "setFocusableInTouchMode" + } + +internal fun indexOfTranslationInstruction(method: Method) = + method.indexOfFirstInstructionReversed { + getReference()?.name == "setTranslationY" + } + +internal val playerControlsVisibilityEntityModelFingerprint = fingerprint { + accessFlags(AccessFlags.PUBLIC) + returns("L") + parameters() + opcodes( + Opcode.IGET, + Opcode.INVOKE_STATIC + ) + custom { method, _ -> + method.name == "getPlayerControlsVisibility" + } +} + +internal val youtubeControlsOverlayFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL) + returns("V") + parameters() + custom { method, _ -> + indexOfFocusableInTouchModeInstruction(method) >= 0 && + method.containsLiteralInstruction(inset_overlay_view_layout_id) && + method.containsLiteralInstruction(scrim_overlay_id) + + } +} + +internal val motionEventFingerprint = fingerprint { + returns("V") + parameters("Landroid/view/MotionEvent;") + custom { method, _ -> + indexOfTranslationInstruction(method) >= 0 + } +} internal val playerTopControlsInflateFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) returns("V") parameters() - literal { controlsLayoutStub } + literal { controls_layout_stub_id } } internal val playerControlsExtensionHookListenersExistFingerprint = fingerprint { @@ -35,7 +84,7 @@ internal val playerControlsExtensionHookFingerprint = fingerprint { internal val playerBottomControlsInflateFingerprint = fingerprint { returns("Ljava/lang/Object;") parameters() - literal { bottomUiContainerResourceId } + literal { bottom_ui_container_stub_id } } internal val overlayViewInflateFingerprint = fingerprint { @@ -43,8 +92,8 @@ internal val overlayViewInflateFingerprint = fingerprint { returns("V") parameters("Landroid/view/View;") custom { methodDef, _ -> - methodDef.containsLiteralInstruction(fullscreenButton) && - methodDef.containsLiteralInstruction(heatseekerViewstub) + methodDef.containsLiteralInstruction(fullscreen_button_id) && + methodDef.containsLiteralInstruction(heatseeker_viewstub_id) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsOverlayVisibilityPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsOverlayVisibilityPatch.kt new file mode 100644 index 000000000..e10725f76 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsOverlayVisibilityPatch.kt @@ -0,0 +1,42 @@ +package app.revanced.patches.youtube.misc.playercontrols + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.getInstruction +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.util.indexOfFirstInstructionOrThrow +import com.android.tools.smali.dexlib2.Opcode +import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction +import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction + +private const val EXTENSION_PLAYER_CONTROLS_VISIBILITY_HOOK_CLASS_DESCRIPTOR = + "Lapp/revanced/extension/youtube/patches/PlayerControlsVisibilityHookPatch;" + +val PlayerControlsOverlayVisibilityPatch = bytecodePatch { + dependsOn(sharedExtensionPatch) + + execute { + playerControlsVisibilityEntityModelFingerprint.let { + it.method.apply { + val startIndex = it.patternMatch!!.startIndex + val iGetReference = getInstruction(startIndex).reference + val staticReference = getInstruction(startIndex + 1).reference + + it.classDef.methods.find { method -> method.name == "" }?.apply { + val targetIndex = indexOfFirstInstructionOrThrow(Opcode.IPUT_OBJECT) + val targetRegister = getInstruction(targetIndex).registerA + + addInstructions( + targetIndex + 1, + """ + iget v$targetRegister, v$targetRegister, $iGetReference + invoke-static { v$targetRegister }, $staticReference + move-result-object v$targetRegister + invoke-static { v$targetRegister }, $EXTENSION_PLAYER_CONTROLS_VISIBILITY_HOOK_CLASS_DESCRIPTOR->setPlayerControlsVisibility(Ljava/lang/Enum;)V + """ + ) + } + } + } + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt index 7eb292bfd..e5949586d 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt @@ -1,7 +1,6 @@ package app.revanced.patches.youtube.misc.playercontrols import app.revanced.patcher.extensions.InstructionExtensions.addInstruction -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.bytecodePatch @@ -40,13 +39,17 @@ internal lateinit var addTopControl: (String) -> Unit lateinit var addBottomControl: (String) -> Unit private set -internal var bottomUiContainerResourceId = -1L +internal var bottom_ui_container_stub_id = -1L private set -internal var controlsLayoutStub = -1L +internal var controls_layout_stub_id = -1L private set -internal var heatseekerViewstub = -1L +internal var heatseeker_viewstub_id = -1L private set -internal var fullscreenButton = -1L +internal var fullscreen_button_id = -1L + private set +internal var inset_overlay_view_layout_id = -1L + private set +internal var scrim_overlay_id = -1L private set val playerControlsResourcePatch = resourcePatch { @@ -65,10 +68,12 @@ val playerControlsResourcePatch = resourcePatch { execute { val targetResourceName = "youtube_controls_bottom_ui_container.xml" - bottomUiContainerResourceId = resourceMappings["id", "bottom_ui_container_stub"] - controlsLayoutStub = resourceMappings["id", "controls_layout_stub"] - heatseekerViewstub = resourceMappings["id", "heatseeker_viewstub"] - fullscreenButton = resourceMappings["id", "fullscreen_button"] + bottom_ui_container_stub_id = resourceMappings["id", "bottom_ui_container_stub"] + controls_layout_stub_id = resourceMappings["id", "controls_layout_stub"] + heatseeker_viewstub_id = resourceMappings["id", "heatseeker_viewstub"] + fullscreen_button_id = resourceMappings["id", "fullscreen_button"] + inset_overlay_view_layout_id = resourceMappings["id", "inset_overlay_view_layout"] + scrim_overlay_id = resourceMappings["id", "scrim_overlay"] bottomTargetDocument = document("res/layout/$targetResourceName") @@ -198,6 +203,13 @@ fun injectVisibilityCheckCall(descriptor: String) { visibilityImmediateInsertIndex++, "invoke-static { p0 }, $descriptor->setVisibilityImmediate(Z)V", ) + + // Patch works without this hook, but it is needed to use the correct fade out animation + // duration when tapping the overlay to dismiss. + visibilityNegatedImmediateMethod.addInstruction( + visibilityNegatedImmediateInsertIndex++, + "invoke-static { }, $descriptor->setVisibilityNegatedImmediate()V", + ) } internal const val EXTENSION_CLASS_DESCRIPTOR = @@ -220,12 +232,16 @@ private lateinit var visibilityImmediateCallbacksExistMethod : MutableMethod private lateinit var visibilityImmediateMethod: MutableMethod private var visibilityImmediateInsertIndex: Int = 0 +private lateinit var visibilityNegatedImmediateMethod: MutableMethod +private var visibilityNegatedImmediateInsertIndex: Int = 0 + val playerControlsPatch = bytecodePatch( description = "Manages the code for the player controls of the YouTube player.", ) { dependsOn( playerControlsResourcePatch, sharedExtensionPatch, + PlayerControlsOverlayVisibilityPatch ) execute { @@ -258,7 +274,7 @@ val playerControlsPatch = bytecodePatch( // Hook the fullscreen close button. Used to fix visibility // when seeking and other situations. overlayViewInflateFingerprint.method.apply { - val resourceIndex = indexOfFirstLiteralInstructionReversedOrThrow(fullscreenButton) + val resourceIndex = indexOfFirstLiteralInstructionReversedOrThrow(fullscreen_button_id) val index = indexOfFirstInstructionOrThrow(resourceIndex) { opcode == Opcode.CHECK_CAST && @@ -277,6 +293,11 @@ val playerControlsPatch = bytecodePatch( visibilityImmediateCallbacksExistMethod = playerControlsExtensionHookListenersExistFingerprint.method visibilityImmediateMethod = playerControlsExtensionHookFingerprint.method + motionEventFingerprint.match(youtubeControlsOverlayFingerprint.originalClassDef).method.apply { + visibilityNegatedImmediateMethod = this + visibilityNegatedImmediateInsertIndex = indexOfTranslationInstruction(this) + 1 + } + // A/B test for a slightly different bottom overlay controls, // that uses layout file youtube_video_exploder_controls_bottom_ui_container.xml // The change to support this is simple and only requires adding buttons to both layout files, @@ -299,12 +320,9 @@ val playerControlsPatch = bytecodePatch( val index = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_OBJECT) val register = getInstruction(index).registerA - addInstructions( + addInstruction( index + 1, - """ - invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getPlayerTopControlsLayoutResourceName(Ljava/lang/String;)Ljava/lang/String; - move-result-object v$register - """, + "const-string v$register, \"default\"" ) } } From c3ee6eca4448513d72e4a472777404623ea6e3e2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 18 Aug 2025 00:17:30 +0000 Subject: [PATCH 41/45] chore: Release v5.34.0-dev.12 [skip ci] # [5.34.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.11...v5.34.0-dev.12) (2025-08-18) ### Bug Fixes * **YouTube:** Use correct fade out animation when tapping to dismiss the video overlay ([#5670](https://github.com/ReVanced/revanced-patches/issues/5670)) ([01a04c3](https://github.com/ReVanced/revanced-patches/commit/01a04c338c2b1bbce919afc659a4ad447aa404fa)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c07df20f..d723d9002 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.11...v5.34.0-dev.12) (2025-08-18) + + +### Bug Fixes + +* **YouTube:** Use correct fade out animation when tapping to dismiss the video overlay ([#5670](https://github.com/ReVanced/revanced-patches/issues/5670)) ([cce6737](https://github.com/ReVanced/revanced-patches/commit/cce6737f627fc7621bbde50a5653b6af14c6f31a)) + # [5.34.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.10...v5.34.0-dev.11) (2025-08-16) diff --git a/gradle.properties b/gradle.properties index 1c9f618c7..848b693bd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.11 +version = 5.34.0-dev.12 From 150bee2833ac27787c427be644c5843965f98a0c Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Tue, 19 Aug 2025 01:27:14 +0300 Subject: [PATCH 42/45] fix(YouTube - Player Controls): Fix chapter title overlapping the bottom buttons (#5673) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../sponsorblock/ui/CreateSegmentButton.java | 1 - .../youtube/sponsorblock/ui/VotingButton.java | 1 - .../videoplayer/CopyVideoUrlButton.java | 1 - .../CopyVideoUrlTimestampButton.java | 1 - .../videoplayer/ExternalDownloadButton.java | 1 - .../PlaybackSpeedDialogButton.java | 1 - .../videoplayer/PlayerControlButton.java | 264 +++++++++--------- .../videoplayer/VideoQualityDialogButton.java | 1 - .../youtube_controls_bottom_ui_container.xml | 16 -- .../youtube_controls_bottom_ui_container.xml | 8 - .../youtube_controls_bottom_ui_container.xml | 6 - .../youtube_controls_bottom_ui_container.xml | 6 - 12 files changed, 126 insertions(+), 181 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java index 3d4f1d888..57d7caec8 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButton.java @@ -26,7 +26,6 @@ public class CreateSegmentButton { controlsView, "revanced_sb_create_segment_button", null, - null, CreateSegmentButton::shouldBeShown, v -> SponsorBlockViewController.toggleNewSegmentLayoutVisibility(), null diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java index e8f793d05..32af03272 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButton.java @@ -28,7 +28,6 @@ public class VotingButton { controlsView, "revanced_sb_voting_button", null, - null, VotingButton::shouldBeShown, v -> SponsorBlockUtils.onVotingClicked(v.getContext()), null diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java index 9b9d46cce..b0dc22e76 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java @@ -21,7 +21,6 @@ public class CopyVideoUrlButton { instance = new PlayerControlButton( controlsView, "revanced_copy_video_url_button", - "revanced_copy_video_url_button_placeholder", null, Settings.COPY_VIDEO_URL::get, view -> CopyVideoUrlPatch.copyUrl(false), diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java index 55ec75543..c702756ed 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java @@ -21,7 +21,6 @@ public class CopyVideoUrlTimestampButton { instance = new PlayerControlButton( controlsView, "revanced_copy_video_url_timestamp_button", - "revanced_copy_video_url_timestamp_button_placeholder", null, Settings.COPY_VIDEO_URL_TIMESTAMP::get, view -> CopyVideoUrlPatch.copyUrl(true), diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java index af158ca9e..12e465ec2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java @@ -22,7 +22,6 @@ public class ExternalDownloadButton { instance = new PlayerControlButton( controlsView, "revanced_external_download_button", - "revanced_external_download_button_placeholder", null, Settings.EXTERNAL_DOWNLOADER::get, ExternalDownloadButton::onDownloadClick, diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java index 57cb5912b..d7c4fc346 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java @@ -33,7 +33,6 @@ public class PlaybackSpeedDialogButton { controlsView, "revanced_playback_speed_dialog_button_container", "revanced_playback_speed_dialog_button", - "revanced_playback_speed_dialog_button_placeholder", "revanced_playback_speed_dialog_button_text", Settings.PLAYBACK_SPEED_DIALOG_BUTTON::get, view -> { diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java index 64551d327..c9d61a8d3 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java @@ -1,7 +1,7 @@ package app.revanced.extension.youtube.videoplayer; import android.view.View; -import android.view.animation.Animation; +import android.view.ViewPropertyAnimator; import android.widget.ImageView; import android.widget.TextView; @@ -24,53 +24,29 @@ public class PlayerControlButton { boolean buttonEnabled(); } - private static final int fadeInDuration; - private static final int fadeOutDuration; - - private static final Animation fadeInAnimation; - private static final Animation fadeOutAnimation; - private static final Animation fadeOutImmediate; - - static { - fadeInDuration = Utils.getResourceInteger("fade_duration_fast"); - fadeOutDuration = Utils.getResourceInteger("fade_duration_scheduled"); - - fadeInAnimation = Utils.getResourceAnimation("fade_in"); - fadeInAnimation.setDuration(fadeInDuration); - - fadeOutAnimation = Utils.getResourceAnimation("fade_out"); - fadeOutAnimation.setDuration(fadeOutDuration); - - fadeOutImmediate = Utils.getResourceAnimation("abc_fade_out"); - fadeOutImmediate.setDuration(Utils.getResourceInteger("fade_duration_fast")); - } + private static final int fadeInDuration = Utils.getResourceInteger("fade_duration_fast"); + private static final int fadeOutDuration = Utils.getResourceInteger("fade_duration_scheduled"); private final WeakReference containerRef; private final WeakReference buttonRef; - /** - * Empty view with the same layout size as the button. Used to fill empty space while the - * fade out animation runs. Without this the chapter titles overlapping the button when fading out. - */ - private final WeakReference placeHolderRef; private final WeakReference textOverlayRef; private final PlayerControlButtonStatus enabledStatus; private boolean isVisible; + private long lastTimeSetVisible; public PlayerControlButton(View controlsViewGroup, String buttonId, - @Nullable String placeholderId, @Nullable String textOverlayId, PlayerControlButtonStatus enabledStatus, View.OnClickListener onClickListener, @Nullable View.OnLongClickListener longClickListener) { - this(controlsViewGroup, buttonId, buttonId, placeholderId, textOverlayId, + this(controlsViewGroup, buttonId, buttonId, textOverlayId, enabledStatus, onClickListener, longClickListener); } public PlayerControlButton(View controlsViewGroup, String viewToHide, String buttonId, - @Nullable String placeholderId, @Nullable String textOverlayId, PlayerControlButtonStatus enabledStatus, View.OnClickListener onClickListener, @@ -86,13 +62,6 @@ public class PlayerControlButton { } buttonRef = new WeakReference<>(button); - View tempPlaceholder = null; - if (placeholderId != null) { - tempPlaceholder = Utils.getChildViewByResourceName(controlsViewGroup, placeholderId); - tempPlaceholder.setVisibility(View.GONE); - } - placeHolderRef = new WeakReference<>(tempPlaceholder); - TextView tempTextOverlay = null; if (textOverlayId != null) { tempTextOverlay = Utils.getChildViewByResourceName(controlsViewGroup, textOverlayId); @@ -114,12 +83,117 @@ public class PlayerControlButton { } public void setVisibilityNegatedImmediate() { - if (PlayerControlsVisibility.getCurrent() != PlayerControlsVisibility.PLAYER_CONTROLS_VISIBILITY_HIDDEN) { - return; - } + try { + Utils.verifyOnMainThread(); + if (PlayerControlsVisibility.getCurrent() != PlayerControlsVisibility.PLAYER_CONTROLS_VISIBILITY_HIDDEN) { + return; + } - final boolean buttonEnabled = enabledStatus.buttonEnabled(); - if (!buttonEnabled) { + final boolean buttonEnabled = enabledStatus.buttonEnabled(); + if (!buttonEnabled) { + return; + } + + View container = containerRef.get(); + if (container == null) { + return; + } + + isVisible = false; + + ViewPropertyAnimator animate = container.animate(); + animate.cancel(); + + // If the overlay is tapped to display then immediately tapped to dismiss + // before the fade in animation finishes, then the fade out animation is + // the time between when the fade in started and now. + final long animationDuration = Math.min(fadeInDuration, + System.currentTimeMillis() - lastTimeSetVisible); + if (animationDuration <= 0) { + // Should never happen, but handle just in case. + container.setVisibility(View.GONE); + return; + } + + animate.alpha(0) + .setDuration(animationDuration) + .withEndAction(() -> container.setVisibility(View.GONE)) + .start(); + } catch (Exception ex) { + Logger.printException(() -> "setVisibilityNegatedImmediate failure", ex); + } + } + + public void setVisibilityImmediate(boolean visible) { + if (visible) { + // Fix button flickering, by pushing this call to the back of + // the main thread and letting other layout code run first. + Utils.runOnMainThread(() -> privateSetVisibility(true, false)); + } else { + privateSetVisibility(false, false); + } + } + + public void setVisibility(boolean visible, boolean animated) { + // Ignore this call, otherwise with full screen thumbnails the buttons are visible while seeking. + if (visible && !animated) return; + + privateSetVisibility(visible, animated); + } + + private void privateSetVisibility(boolean visible, boolean animated) { + try { + Utils.verifyOnMainThread(); + + if (isVisible == visible) return; + isVisible = visible; + + if (visible) { + lastTimeSetVisible = System.currentTimeMillis(); + } + + View container = containerRef.get(); + if (container == null) { + return; + } + + if (visible && enabledStatus.buttonEnabled()) { + ViewPropertyAnimator animate = container.animate(); + animate.cancel(); + container.setVisibility(View.VISIBLE); + + if (animated) { + container.setAlpha(0); + animate.alpha(1) + .setDuration(fadeInDuration) + .start(); + } else { + container.setAlpha(1); + } + } else if (container.getVisibility() == View.VISIBLE) { + ViewPropertyAnimator animate = container.animate(); + animate.cancel(); + + if (animated) { + animate.alpha(0) + .setDuration(fadeOutDuration) + .withEndAction(() -> container.setVisibility(View.GONE)) + .start(); + } else { + container.setVisibility(View.GONE); + } + } + } catch (Exception ex) { + Logger.printException(() -> "privateSetVisibility failure", ex); + } + } + + /** + * Synchronizes the button state after the player state changes. + */ + private void playerTypeChanged(PlayerType newType) { + Utils.verifyOnMainThread(); + if (newType != PlayerType.WATCH_WHILE_MINIMIZED && !newType.isMaximizedOrFullscreen()) { return; } @@ -128,116 +202,26 @@ public class PlayerControlButton { return; } - isVisible = false; + container.animate().cancel(); - container.clearAnimation(); - container.startAnimation(fadeOutImmediate); - container.setVisibility(View.GONE); - - View placeholder = placeHolderRef.get(); - if (placeholder != null) { + if (isVisible && enabledStatus.buttonEnabled()) { container.setVisibility(View.VISIBLE); - } - } - - public void setVisibilityImmediate(boolean visible) { - if (visible) { - // Fix button flickering, by pushing this call to the back of - // the main thread and letting other layout code run first. - Utils.runOnMainThread(() -> private_setVisibility(true, false)); - } else { - private_setVisibility(false, false); - } - } - - public void setVisibility(boolean visible, boolean animated) { - // Ignore this call, otherwise with full screen thumbnails the buttons are visible while seeking. - if (visible && !animated) return; - - private_setVisibility(visible, animated); - } - - private void private_setVisibility(boolean visible, boolean animated) { - try { - if (isVisible == visible) return; - isVisible = visible; - - View container = containerRef.get(); - if (container == null) return; - - View placeholder = placeHolderRef.get(); - final boolean buttonEnabled = enabledStatus.buttonEnabled(); - - if (visible && buttonEnabled) { - container.clearAnimation(); - if (animated) { - container.startAnimation(fadeInAnimation); - } - container.setVisibility(View.VISIBLE); - - if (placeholder != null) { - placeholder.setVisibility(View.GONE); - } - } else { - if (container.getVisibility() == View.VISIBLE) { - container.clearAnimation(); - if (animated) { - container.startAnimation(fadeOutAnimation); - } - container.setVisibility(View.GONE); - } - - if (placeholder != null) { - placeholder.setVisibility(buttonEnabled - ? View.VISIBLE - : View.GONE); - } - } - } catch (Exception ex) { - Logger.printException(() -> "private_setVisibility failure", ex); - } - } - - /** - * Synchronizes the button state after the player state changes. - */ - private void playerTypeChanged(PlayerType newType) { - if (newType != PlayerType.WATCH_WHILE_MINIMIZED && !newType.isMaximizedOrFullscreen()) { - return; - } - - View container = containerRef.get(); - if (container == null) return; - - container.clearAnimation(); - View placeholder = placeHolderRef.get(); - - if (enabledStatus.buttonEnabled()) { - if (isVisible) { - container.setVisibility(View.VISIBLE); - if (placeholder != null) placeholder.setVisibility(View.GONE); - } else { - container.setVisibility(View.GONE); - if (placeholder != null) placeholder.setVisibility(View.VISIBLE); - } + container.setAlpha(1); } else { container.setVisibility(View.GONE); - if (placeholder != null) placeholder.setVisibility(View.GONE); } } public void hide() { Utils.verifyOnMainThread(); - if (!isVisible) return; + if (!isVisible) { + return; + } + isVisible = false; View view = containerRef.get(); if (view == null) return; view.setVisibility(View.GONE); - - View placeHolder = placeHolderRef.get(); - if (placeHolder != null) view.setVisibility(View.GONE); - - isVisible = false; } /** @@ -245,6 +229,8 @@ public class PlayerControlButton { * @param resourceId Drawable identifier, or zero to hide the icon. */ public void setIcon(int resourceId) { + Utils.verifyOnMainThread(); + View button = buttonRef.get(); if (button instanceof ImageView imageButton) { imageButton.setImageResource(resourceId); @@ -256,6 +242,8 @@ public class PlayerControlButton { * @param text The text to set on the overlay, or null to clear the text. */ public void setTextOverlay(CharSequence text) { + Utils.verifyOnMainThread(); + TextView textOverlay = textOverlayRef.get(); if (textOverlay != null) { textOverlay.setText(text); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java index 109eaadd2..0c878616c 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java @@ -69,7 +69,6 @@ public class VideoQualityDialogButton { controlsView, "revanced_video_quality_dialog_button_container", "revanced_video_quality_dialog_button", - "revanced_video_quality_dialog_button_placeholder", "revanced_video_quality_dialog_button_text", Settings.VIDEO_QUALITY_DIALOG_BUTTON::get, view -> { diff --git a/patches/src/main/resources/copyvideourl/host/layout/youtube_controls_bottom_ui_container.xml b/patches/src/main/resources/copyvideourl/host/layout/youtube_controls_bottom_ui_container.xml index 34093f120..1dd0e3dc1 100644 --- a/patches/src/main/resources/copyvideourl/host/layout/youtube_controls_bottom_ui_container.xml +++ b/patches/src/main/resources/copyvideourl/host/layout/youtube_controls_bottom_ui_container.xml @@ -18,14 +18,6 @@ yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" /> - - - - diff --git a/patches/src/main/resources/downloads/host/layout/youtube_controls_bottom_ui_container.xml b/patches/src/main/resources/downloads/host/layout/youtube_controls_bottom_ui_container.xml index eb9c2d779..a243eea71 100644 --- a/patches/src/main/resources/downloads/host/layout/youtube_controls_bottom_ui_container.xml +++ b/patches/src/main/resources/downloads/host/layout/youtube_controls_bottom_ui_container.xml @@ -18,12 +18,4 @@ android:src="@drawable/revanced_yt_download_button" yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container" yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" /> - - diff --git a/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml b/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml index 6a8772d8a..ab5da7e36 100644 --- a/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml +++ b/patches/src/main/resources/qualitybutton/host/layout/youtube_controls_bottom_ui_container.xml @@ -33,11 +33,5 @@ android:paddingTop="5.5dp" android:textColor="@android:color/white" android:textSize="10dp" /> - - diff --git a/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml b/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml index c7532ecd6..2541113c5 100644 --- a/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml +++ b/patches/src/main/resources/speedbutton/host/layout/youtube_controls_bottom_ui_container.xml @@ -33,11 +33,5 @@ android:paddingTop="5.5dp" android:textColor="@android:color/white" android:textSize="10dp" /> - - From 6d87c848d671499f00aed63b8abe62726343e534 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 18 Aug 2025 22:29:41 +0000 Subject: [PATCH 43/45] chore: Release v5.34.0-dev.13 [skip ci] # [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-18) ### Bug Fixes * **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([150bee2](https://github.com/ReVanced/revanced-patches/commit/150bee2833ac27787c427be644c5843965f98a0c)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d723d9002..9f2a9c1cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-18) + + +### Bug Fixes + +* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868)) + # [5.34.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.11...v5.34.0-dev.12) (2025-08-18) diff --git a/gradle.properties b/gradle.properties index 848b693bd..cd5e03f85 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.34.0-dev.12 +version = 5.34.0-dev.13 From 1b7f84b7fa6b69bab4840f0309f3fd6b7f2cf69e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 10:52:35 -0400 Subject: [PATCH 44/45] chore: Sync translations (#5677) --- .../addresources/values-az-rAZ/strings.xml | 6 + .../addresources/values-fr-rFR/strings.xml | 14 +-- .../addresources/values-ja-rJP/strings.xml | 104 +++++++++--------- .../addresources/values-ko-rKR/strings.xml | 12 +- .../addresources/values-ru-rRU/strings.xml | 2 +- .../addresources/values-sr-rCS/strings.xml | 12 +- .../addresources/values-sr-rSP/strings.xml | 10 +- 7 files changed, 83 insertions(+), 77 deletions(-) diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index a9a1995cc..fe739eb16 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -582,7 +582,13 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz Yükləmə düyməsi göstərilir + Coşqu Gizlət + Coşqu düyməsi gizlidir + Coşqu düyməsi görünür + Sponsor-u Gizlət + Sponsor düyməsi gizlidir + Sponsor düyməsi görünür \"Təşəkkürlər\"i gizlət Təşəkkür düyməsi gizlidir diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 3a36693dd..8bd630563 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -453,9 +453,9 @@ Cette fonctionnalité est disponible uniquement pour les appareils anciens"Cette option ne contourne pas la vérification de l\'âge. Elle est juste confirmée automatiquement. - Désactiver le pop-up \"Se connecter à la TV\" - Le pop-up \"Se connecter à la TV\" est désactivé - Le pop-up \"Se connecter à la TV\" est activé + Désactiver le pop-up \"Connectez-vous à la TV\" + Le pop-up \"Connectez-vous à la TV\" est désactivé + Le pop-up \"Connectez-vous à la TV\" est activé Désactiver le double appui pour passer à un chapitre @@ -582,11 +582,11 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"Le bouton Télécharger est affiché - Masquer l\'Hype - Le bouton Hype est masqué - Le bouton Hype est affiché + Masquer \"Booster\" + Le bouton Booster est masqué + Le bouton Booster est affiché - Masquer Promouvoir + Masquer \"Promouvoir\" Le bouton Promouvoir est masqué Le bouton Promouvoir est affiché diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 63b342a7f..23d203e21 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -258,7 +258,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 質問セクションを非表示 質問セクションは表示されません 質問セクションは表示されます - 関連情報を非表示 + 付随情報を非表示 注目の場所 / ゲーム / 音楽 / 言及されている人物セクションは表示されません 注目の場所 / ゲーム / 音楽 / 言及されている人物セクションは表示されます チャプター セクションを非表示 @@ -270,9 +270,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「ポッドキャストを検索」を非表示 「ポッドキャストを検索」セクションは表示されません 「ポッドキャストを検索」セクションは表示されます - チャンネル情報を非表示 - チャンネル情報セクションは表示されません - チャンネル情報セクションは表示されます + 情報カード セクションを非表示 + 情報カード セクションは表示されません + 情報カード セクションは表示されます 「主な概念」を非表示 主な概念セクションは表示されません 主な概念セクションが表示されます @@ -316,7 +316,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 「ストアに移動」ボタンは表示されません 「ストアに移動」ボタンは表示されます コメント - コメント セクションの設定 + コメント セクションのコンポーネントを表示または非表示にします AI による「チャットの要約」を非表示 AI による「チャットの要約」は表示されません AI による「チャットの要約」は表示されます @@ -441,12 +441,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に URL をクリップボードにコピーしました タイムスタンプ付きの URL がコピーされました - 「動画の URL をコピー」ボタンを表示する - ボタンはオーバーレイに表示されます。タップすると動画の URL を、長押しするとタイムスタンプ付きの URL をそれぞれコピーできます - ボタンはオーバーレイに表示されません - 「動画のタイムスタンプ付き URL をコピー」ボタンを表示する - ボタンはオーバーレイに表示されます。タップするとタイムスタンプ付きの URL を、長押しするとタイムスタンプなしの URL をそれぞれコピーできます - ボタンはオーバーレイに表示されません + 「動画の URL をコピー」ボタンを表示 + ボタンがプレーヤー オーバーレイに表示されます。タップすると動画の URL が、長押しするとタイムスタンプ付きの URL がそれぞれコピーされます + ボタンはプレーヤー オーバーレイに表示されません + 「動画のタイムスタンプ付き URL をコピー」ボタンを表示 + ボタンがプレーヤー オーバーレイに表示されます。タップするとタイムスタンプ付きの URL が、長押しするとタイムスタンプなしの URL がそれぞれコピーされます + ボタンはプレーヤー オーバーレイに表示されません 「ご自身の責任」ダイアログを削除 @@ -467,11 +467,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 外部ダウンロード 外部ダウンローダーの設定 - 外部ダウンロード ボタンを表示する - 外部ダウンロード ボタンはオーバーレイに表示されます - 外部ダウンロード ボタンはオーバーレイに表示されません + 外部ダウンロード ボタンを表示 + 外部ダウンロード ボタンがプレーヤー オーバーレイに表示されます + 外部ダウンロード ボタンはプレーヤー オーバーレイに表示されません - オフライン ボタンの動作を上書きする + オフライン ボタンの動作を上書き オフライン ボタンは外部ダウンローダーを呼び出します オフライン ボタンはアプリ内のダウンローダーを呼び出します 外部ダウンローダーのパッケージ名 @@ -549,13 +549,13 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 自動字幕表示を無効化 - 動画を開いた際の自動字幕表示は無効です - 動画を開いた際の自動字幕表示は有効です + 自動字幕表示は無効です\n\n動画を開いた際にデフォルトで字幕は表示されません + 自動字幕表示は有効です\n\n動画を開いた際にデフォルトで字幕が表示される場合があります アクション ボタン - プレーヤー画面下のボタンの設定 - 高評価とチャンネル登録のエフェクトを無効にする + プレーヤー画面下のボタンを表示または非表示にします + 高評価とチャンネル登録のエフェクトを無効化 高評価ボタンとチャンネル登録ボタンのエフェクトは無効です 高評価ボタンとチャンネル登録ボタンのエフェクトは有効です 高評価ボタンと低評価ボタンを非表示 @@ -718,29 +718,29 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 自動再生ボタンを非表示 - 自動再生ボタンはオーバーレイに表示されません - 自動再生ボタンはオーバーレイに表示されます + プレーヤー オーバーレイの自動再生ボタンは表示されません + プレーヤー オーバーレイの自動再生ボタンは表示されます 字幕ボタンを非表示 - 字幕ボタンはオーバーレイに表示されません - 字幕ボタンはオーバーレイに表示されます + プレーヤー オーバーレイの字幕ボタンは表示されません + プレーヤー オーバーレイの字幕ボタンは表示されます キャストボタンを非表示 - キャストボタンはオーバーレイに表示されません - キャストボタンはオーバーレイに表示されます - プレーヤーのコントロールの背景を非表示 - プレーヤーのコントロールの背景は表示されません - プレーヤーのコントロールの背景は表示されます + プレーヤー オーバーレイのキャストボタンは表示されません + プレーヤー オーバーレイのキャストボタンは表示されます + プレーヤー コントロールの背景を非表示 + プレーヤー コントロールの背景は表示されません + プレーヤー コントロールの背景は表示されます 前の動画ボタンと次の動画ボタンを非表示 前の動画ボタンと次の動画ボタンは表示されません 前の動画ボタンと次の動画ボタンは表示されます - 動画の終了画面を非表示 - 動画の終了画面は表示されません - 動画の終了画面は表示されます + 終了画面カードを非表示 + 終了画面カードは表示されません + 終了画面カードは表示されます - 全画面表示中のアンビエント モードを無効にする + 全画面表示中のアンビエント モードを無効化 全画面表示中のアンビエント モードは無効です 全画面表示中のアンビエント モードは有効です @@ -750,9 +750,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 情報カードはプレーヤー画面に表示されます - 数字のアニメーションを無効にする - 数字のアニメーションは無効です - 数字のアニメーションは有効です + 数字の回転アニメーションを無効化 + 数字の回転アニメーションは無効です + 数字の回転アニメーションは有効です 動画プレーヤーのシークバーを非表示 @@ -878,12 +878,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に ナビゲーション バーは表示されます - 再生終了時の「関連動画」オーバーレイを非表示 - "再生終了時に、「関連動画」オーバーレイはプレーヤー画面に表示されませんが、自動再生がオンの場合は次の動画が自動で再生されます + 再生終了時の「関連動画」を非表示 + "再生が終了したときに、「関連動画」はプレーヤー画面に表示されませんが、自動再生がオンの場合は次の動画が自動で再生されます 自動再生の設定は YouTube の設定で変更できます: 設定 → 再生 → 次の動画を自動再生" - 再生終了時に、「関連動画」オーバーレイがプレーヤー画面に表示されます + 再生が終了したときに「関連動画」がプレーヤー画面に表示されます 関連動画オーバーレイを非表示 @@ -897,11 +897,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に プレーヤー ポップアップ パネルを非表示 - 動画を開いた際のプレイリストやチャット欄などのプレーヤー ポップアップ パネルは表示されません - 動画を開いた際のプレイリストやチャット欄などのプレーヤー ポップアップ パネルは表示されます + プレーヤー ポップアップ パネルは表示されません\n\nプレイリストやチャット欄などを閉じた状態で動画を開きます + プレーヤー ポップアップ パネルは表示されます\n\nプレイリストやチャット欄などを展開した状態で動画を開きます - 再生終了時に全画面表示を解除する + 再生終了時に全画面表示を解除 無効 縦画面 横画面 @@ -913,9 +913,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に 通常表示で動画を開きます - オーバーレイの透明度 + プレーヤー オーバーレイの透明度 透明度の範囲は 0-100 で、0 が透明です - 動画プレーヤー: 透明度の範囲は 0-100 です + プレーヤー: 透明度の範囲は 0-100 です @@ -1282,24 +1282,24 @@ Automotive レイアウト モダン 2 モダン 3 モダン 4 - 角を丸くする + 丸角を有効化 ミニプレーヤーの角は丸角です ミニプレーヤーの角は直角です - 「ダブルタップとピンチでサイズ変更」を有効にする + 「ダブルタップとピンチでサイズ変更」を有効化 "「ダブルタップとピンチでサイズ変更」は有効です • ダブルタップすると、ミニプレーヤーのサイズが大きくなる • もう一度ダブルタップすると、元のサイズに戻る" 「 ダブルタップとピンチでサイズ変更」は無効です - ドラッグ&ドロップを有効にする + ドラッグ&ドロップを有効化 "ドラッグ&ドロップは有効です ミニプレーヤーを画面の四隅に移動できます" ドラッグ&ドロップは無効です - 横方向ドラッグ ジェスチャーを有効にする + 横方向ドラッグ ジェスチャーを有効化 "横方向ドラッグ ジェスチャーは有効です -ミニプレーヤーを画面の左端または右端までドラッグすると最小化できます" +ミニプレーヤーを画面の左端または右端までドラッグすると最小化されます" 横方向ドラッグ ジェスチャーは無効です オーバーレイ ボタンを非表示 オーバーレイ ボタンは表示されません @@ -1479,13 +1479,13 @@ Automotive レイアウト 再生速度設定ボタンを表示 - ボタンがオーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます - ボタンはオーバーレイに表示されません + ボタンがプレーヤー オーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます + ボタンはプレーヤー オーバーレイに表示されません 画質設定ボタンを表示 - ボタンがオーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます - ボタンはオーバーレイに表示されません + ボタンがプレーヤー オーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます + ボタンはプレーヤー オーバーレイに表示されません カスタム再生速度メニュー diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index d0392ea61..26e27fab7 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -584,9 +584,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 Hype 버튼이 숨겨집니다 Hype 버튼이 표시됩니다 - 홍보 버튼 숨기기 - 홍보 버튼이 숨겨집니다 - 홍보 버튼이 표시됩니다 + 프로모션 버튼 숨기기 + 프로모션 버튼이 숨겨집니다 + 프로모션 버튼이 표시됩니다 Thanks 버튼 숨기기 Thanks 버튼이 숨겨집니다 @@ -1193,7 +1193,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 레이아웃 폼 팩터 변경하기 - 기기 기본값 사용 + 기본값 태블릿 오토모티브 @@ -1221,7 +1221,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 앱 시작 페이지 변경하기 - 홈 (기본값) + 기본값 모든 구독 채널 채널 둘러보기 학습 프로그램 @@ -1276,7 +1276,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배 앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다 미니 플레이어 유형 사용 안함 - 기기 기본값 사용 + 기본값 최소화 태블릿 모던 스타일 1 diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index c1df13b53..1419dd685 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -582,7 +582,7 @@ Second \"item\" text" Кнопка \"Скачать\" под плеером показана - Скрыть кнопку \"Hype\" + Скрыть кнопку \"Хайп\" Кнопка \"Хайп\" скрыта Кнопка \"Хайп\" показана diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 38dfd4d13..a78822bb9 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -453,9 +453,9 @@ Ova funkcija je dostupna samo za starije uređaje" Ovo ne zaobilazi starosno ograničenje. Samo ga automatski prihvata. - Onemogući iskačući prozor za prijavu na TV - Iskačući prozor za prijavu na TV je onemogućen - Iskačući prozor za prijavu na TV je omogućen + Onemogući iskačući prozor „Prijava na TV” + Iskačući prozor „Prijava na TV” je onemogućen + Iskačući prozor „Prijava na TV” je omogućen Onemogući preskakanje poglavlja dvostrukim dodirom @@ -582,11 +582,11 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"Dugme „Preuzmi” je prikazano - Sakrij Hajp + Sakrij dugme „Hajp” Dugme „Hajp” je skriveno - Dugme „Haip” je prikazano + Dugme „Hajp” je prikazano - Sakrij Promoviši + Sakrij dugme „Promoviši” Dugme „Promoviši” je skriveno Dugme „Promoviši” je prikazano diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index b444e76b6..a24f4ba57 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -453,9 +453,9 @@ Second \"item\" text" Ово не заобилази старосно ограничење. Само га аутоматски прихвата. - Онемогући искачући прозор за пријављивање на ТВ - Искачући прозор за пријављивање на ТВ је онемогућен - Искачући прозор за пријављивање на ТВ је омогућен + Онемогући искачући прозор „Пријава на ТВ” + Искачући прозор „Пријава на ТВ” је онемогућен + Искачући прозор „Пријава на ТВ” је омогућен Онемогући прескакање поглавља двоструким додиром @@ -582,11 +582,11 @@ Second \"item\" text" Дугме „Преузми” је приказано - Сакриј Хајп + Сакриј дугме „Хајп” Дугме „Хајп” је скривено Дугме „Хајп” је приказано - Сакриј промоцију + Сакриј дугме „Промовиши” Дугме „Промовиши” је скривено Дугме „Промовиши” је приказано From c0824db142f986280f02cda3d3b202e50f49625d Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 19 Aug 2025 14:55:36 +0000 Subject: [PATCH 45/45] chore: Release v5.34.0-dev.13 [skip ci] # [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-19) ### Bug Fixes * **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([150bee2](https://github.com/ReVanced/revanced-patches/commit/150bee2833ac27787c427be644c5843965f98a0c)) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f2a9c1cb..71fcd8c40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-19) + + +### Bug Fixes + +* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868)) + # [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-18)