spliterator() {
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java
index ff55d18a9..d365d6802 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java
@@ -4,11 +4,8 @@ import static app.revanced.extension.shared.StringRef.str;
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton;
import static java.lang.Character.UnicodeBlock.*;
-import android.os.Build;
-
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap;
@@ -44,7 +41,6 @@ import app.revanced.extension.youtube.shared.PlayerType;
* - When using whole word syntax, some keywords may need additional pluralized variations.
*/
@SuppressWarnings("unused")
-@RequiresApi(api = Build.VERSION_CODES.N)
final class KeywordContentFilter extends Filter {
/**
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 0b43c821c..23b609328 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
@@ -3,11 +3,9 @@ package app.revanced.extension.youtube.patches.components;
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton;
import android.graphics.drawable.Drawable;
-import android.os.Build;
import android.view.View;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
@@ -38,6 +36,7 @@ public final class LayoutComponentsFilter extends Filter {
private final StringTrieSearch exceptions = new StringTrieSearch();
private final StringFilterGroup inFeedSurvey;
private final StringFilterGroup notifyMe;
+ private final StringFilterGroup singleItemInformationPanel;
private final StringFilterGroup expandableMetadata;
private final ByteArrayFilterGroup searchResultRecommendations;
private final StringFilterGroup searchResultVideo;
@@ -47,7 +46,6 @@ public final class LayoutComponentsFilter extends Filter {
private final StringFilterGroup likeSubscribeGlow;
private final StringFilterGroup horizontalShelves;
- @RequiresApi(api = Build.VERSION_CODES.N)
public LayoutComponentsFilter() {
exceptions.addPatterns(
"home_video_with_context",
@@ -123,8 +121,12 @@ public final class LayoutComponentsFilter extends Filter {
);
final var infoPanel = new StringFilterGroup(
- Settings.HIDE_HIDE_INFO_PANELS,
- "publisher_transparency_panel",
+ Settings.HIDE_INFO_PANELS,
+ "publisher_transparency_panel"
+ );
+
+ singleItemInformationPanel = new StringFilterGroup(
+ Settings.HIDE_INFO_PANELS,
"single_item_information_panel"
);
@@ -269,6 +271,7 @@ public final class LayoutComponentsFilter extends Filter {
compactChannelBarInner,
medicalPanel,
infoPanel,
+ singleItemInformationPanel,
emergencyBox,
subscribersCommunityGuidelines,
channelGuidelines,
@@ -285,6 +288,19 @@ public final class LayoutComponentsFilter extends Filter {
@Override
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
+ // This identifier is used not only in players but also in search results:
+ // https://github.com/ReVanced/revanced-patches/issues/3245
+ // Until 2024, medical information panels such as Covid 19 also used this identifier and were shown in the search results.
+ // From 2025, the medical information panel is no longer shown in the search results.
+ // Therefore, this identifier does not filter when the search bar is activated.
+ if (matchedGroup == singleItemInformationPanel) {
+ if (PlayerType.getCurrent().isMaximizedOrFullscreen() || !NavigationBar.isSearchBarActive()) {
+ return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex);
+ }
+
+ return false;
+ }
+
if (matchedGroup == searchResultVideo) {
if (searchResultRecommendations.check(protobufBufferArray).isFiltered()) {
return super.isFiltered(identifier, path, protobufBufferArray, matchedGroup, contentType, contentIndex);
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 888687d8c..6b59d484e 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
@@ -1,9 +1,6 @@
package app.revanced.extension.youtube.patches.components;
-import android.os.Build;
-
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.PlayerType;
@@ -16,7 +13,6 @@ public class PlayerFlyoutMenuItemsFilter extends Filter {
private final ByteArrayFilterGroup exception;
private final StringFilterGroup videoQualityMenuFooter;
- @RequiresApi(api = Build.VERSION_CODES.N)
public PlayerFlyoutMenuItemsFilter() {
exception = new ByteArrayFilterGroup(
// Whitelist Quality menu item when "Hide Additional settings menu" is enabled
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java
index 8ce9172b8..528703310 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java
@@ -5,15 +5,12 @@ import static app.revanced.extension.shared.Utils.getResourceIdentifier;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
-import android.os.Build;
import android.preference.PreferenceFragment;
import android.util.TypedValue;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toolbar;
-import androidx.annotation.RequiresApi;
-
import java.util.Objects;
import app.revanced.extension.shared.Logger;
@@ -79,7 +76,6 @@ public class LicenseActivityHook {
*
* Hooks LicenseActivity#onCreate in order to inject our own fragment.
*/
- @RequiresApi(api = Build.VERSION_CODES.N)
public static void initialize(Activity licenseActivity) {
try {
ThemeHelper.setActivityTheme(licenseActivity);
@@ -119,7 +115,6 @@ public class LicenseActivityHook {
}
}
- @RequiresApi(api = Build.VERSION_CODES.N)
@SuppressLint("UseCompatLoadingForDrawables")
private static void createToolbar(Activity activity, String toolbarTitleResourceName) {
// Replace dummy placeholder toolbar.
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 72f946a7d..c00b861c0 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
@@ -137,7 +137,7 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_EMERGENCY_BOX = new BooleanSetting("revanced_hide_emergency_box", TRUE);
public static final BooleanSetting HIDE_ENDSCREEN_CARDS = new BooleanSetting("revanced_hide_endscreen_cards", FALSE);
public static final BooleanSetting HIDE_HIDE_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_channel_guidelines", TRUE);
- public static final BooleanSetting HIDE_HIDE_INFO_PANELS = new BooleanSetting("revanced_hide_info_panels", TRUE);
+ public static final BooleanSetting HIDE_INFO_PANELS = new BooleanSetting("revanced_hide_info_panels", TRUE);
public static final BooleanSetting HIDE_INFO_CARDS = new BooleanSetting("revanced_hide_info_cards", FALSE);
public static final BooleanSetting HIDE_JOIN_MEMBERSHIP_BUTTON = new BooleanSetting("revanced_hide_join_membership_button", TRUE);
public static final BooleanSetting HIDE_MEDICAL_PANELS = new BooleanSetting("revanced_hide_medical_panels", TRUE);
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java
index bd9db08f5..ecdcf03cf 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java
@@ -3,18 +3,14 @@ package app.revanced.extension.youtube.settings.preference;
import static android.text.Html.FROM_HTML_MODE_COMPACT;
import android.content.Context;
-import android.os.Build;
import android.preference.Preference;
import android.text.Html;
import android.util.AttributeSet;
-import androidx.annotation.RequiresApi;
-
/**
* Allows using basic html for the summary text.
*/
@SuppressWarnings({"unused", "deprecation"})
-@RequiresApi(api = Build.VERSION_CODES.O)
public class HtmlPreference extends Preference {
{
setSummary(Html.fromHtml(getSummary().toString(), FROM_HTML_MODE_COMPACT));
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java
index 3a826107f..6a99f144b 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java
@@ -17,8 +17,6 @@ import android.view.WindowInsets;
import android.widget.TextView;
import android.widget.Toolbar;
-import androidx.annotation.RequiresApi;
-
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -98,7 +96,6 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
listPreference.setEntryValues(sortedEntryValues);
}
- @RequiresApi(api = Build.VERSION_CODES.O)
@Override
protected void initialize() {
super.initialize();
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java
index a302a59ba..6f2deca16 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java
@@ -3,11 +3,9 @@ package app.revanced.extension.youtube.shared;
import static app.revanced.extension.youtube.shared.NavigationBar.NavigationButton.CREATE;
import android.app.Activity;
-import android.os.Build;
import android.view.View;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import java.lang.ref.WeakReference;
import java.util.Arrays;
@@ -257,7 +255,6 @@ public final class NavigationBar {
* Injection point.
* Fixes missing drawable.
*/
- @RequiresApi(api = Build.VERSION_CODES.N)
@SuppressWarnings({"unchecked", "rawtypes"})
public static void setCairoNotificationFilledIcon(EnumMap enumMap, Enum tabActivityCairo) {
if (fillBellCairoBlack != 0) {
From ae8041e6305adc5ed8b6b3cb82c1c7ee3659e65e Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Tue, 18 Feb 2025 07:11:45 +0000
Subject: [PATCH 05/54] chore: Release v5.13.0-dev.1 [skip ci]
# [5.13.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.12.0...v5.13.0-dev.1) (2025-02-18)
### Bug Fixes
* **YouTube - Hide layout components:** Do not hide 'Show anyway' button in search results ([4ac8854](https://github.com/ReVanced/revanced-patches/commit/4ac8854b99808a8957f3b0b7438e1e0cdedffbaf))
### Features
* **YouTube - Swipe controls:** Swipe controls UI improvements ([#4422](https://github.com/ReVanced/revanced-patches/issues/4422)) ([198e4d2](https://github.com/ReVanced/revanced-patches/commit/198e4d2a2315c24a09eb9ecfefbd131a75384d2c))
---
CHANGELOG.md | 12 ++++++++++++
gradle.properties | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8724c7e29..14e7411ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+# [5.13.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.12.0...v5.13.0-dev.1) (2025-02-18)
+
+
+### Bug Fixes
+
+* **YouTube - Hide layout components:** Do not hide 'Show anyway' button in search results ([4ac8854](https://github.com/ReVanced/revanced-patches/commit/4ac8854b99808a8957f3b0b7438e1e0cdedffbaf))
+
+
+### Features
+
+* **YouTube - Swipe controls:** Swipe controls UI improvements ([#4422](https://github.com/ReVanced/revanced-patches/issues/4422)) ([198e4d2](https://github.com/ReVanced/revanced-patches/commit/198e4d2a2315c24a09eb9ecfefbd131a75384d2c))
+
# [5.12.0](https://github.com/ReVanced/revanced-patches/compare/v5.11.0...v5.12.0) (2025-02-17)
diff --git a/gradle.properties b/gradle.properties
index d9faa5bf1..5589c3545 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.12.0
+version = 5.13.0-dev.1
From 95b138ed9ba48eba5e1b24614ec6e4cb5b00ffaf Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 18 Feb 2025 09:24:59 +0200
Subject: [PATCH 06/54] chore: Sync translations (#4473)
---
.../addresources/values-ar-rSA/strings.xml | 21 ++++++++++++-------
.../addresources/values-az-rAZ/strings.xml | 7 -------
.../addresources/values-be-rBY/strings.xml | 21 ++++++++++++-------
.../addresources/values-bg-rBG/strings.xml | 21 ++++++++++++-------
.../addresources/values-bn-rBD/strings.xml | 21 ++++++++++++-------
.../addresources/values-ca-rES/strings.xml | 21 ++++++++++++-------
.../addresources/values-cs-rCZ/strings.xml | 21 ++++++++++++-------
.../addresources/values-da-rDK/strings.xml | 21 ++++++++++++-------
.../addresources/values-de-rDE/strings.xml | 19 ++++++++++-------
.../addresources/values-el-rGR/strings.xml | 21 ++++++++++++-------
.../addresources/values-es-rES/strings.xml | 19 +++++++++++------
.../addresources/values-et-rEE/strings.xml | 21 ++++++++++++-------
.../addresources/values-fi-rFI/strings.xml | 7 -------
.../addresources/values-fil-rPH/strings.xml | 21 ++++++++++++-------
.../addresources/values-fr-rFR/strings.xml | 21 ++++++++++++-------
.../addresources/values-ga-rIE/strings.xml | 13 ++++++------
.../addresources/values-hu-rHU/strings.xml | 21 ++++++++++++-------
.../addresources/values-hy-rAM/strings.xml | 21 ++++++++++++-------
.../addresources/values-in-rID/strings.xml | 21 ++++++++++++-------
.../addresources/values-it-rIT/strings.xml | 21 ++++++++++++-------
.../addresources/values-ja-rJP/strings.xml | 21 ++++++++++++-------
.../addresources/values-ko-rKR/strings.xml | 19 +++++++++++------
.../addresources/values-lt-rLT/strings.xml | 21 ++++++++++++-------
.../addresources/values-lv-rLV/strings.xml | 21 ++++++++++++-------
.../addresources/values-nl-rNL/strings.xml | 21 ++++++++++++-------
.../addresources/values-pl-rPL/strings.xml | 21 ++++++++++++-------
.../addresources/values-pt-rBR/strings.xml | 21 ++++++++++++-------
.../addresources/values-pt-rPT/strings.xml | 21 ++++++++++++-------
.../addresources/values-ro-rRO/strings.xml | 21 ++++++++++++-------
.../addresources/values-ru-rRU/strings.xml | 19 +++++++++++------
.../addresources/values-sk-rSK/strings.xml | 21 ++++++++++++-------
.../addresources/values-sl-rSI/strings.xml | 21 ++++++++++++-------
.../addresources/values-sq-rAL/strings.xml | 21 ++++++++++++-------
.../addresources/values-sr-rCS/strings.xml | 21 ++++++++++++-------
.../addresources/values-sr-rSP/strings.xml | 21 ++++++++++++-------
.../addresources/values-sv-rSE/strings.xml | 21 ++++++++++++-------
.../addresources/values-th-rTH/strings.xml | 19 ++++++++++-------
.../addresources/values-tr-rTR/strings.xml | 21 ++++++++++++-------
.../addresources/values-uk-rUA/strings.xml | 17 ++++++++++-----
.../addresources/values-vi-rVN/strings.xml | 19 +++++++++++------
.../addresources/values-zh-rCN/strings.xml | 21 ++++++++++++-------
.../addresources/values-zh-rTW/strings.xml | 7 -------
42 files changed, 528 insertions(+), 288 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 694edd445..01a034e58 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -484,11 +484,15 @@ Second \"item\" text"