+ * If the factor is greater than 1, the color is lightened by interpolating toward white (#FFFFFF). + * If the factor is less than or equal to 1, the color is darkened by scaling its RGB components toward black (#000000). + * The alpha channel remains unchanged. + * + * @param color The input color to adjust, in ARGB format. + * @param factor The adjustment factor. Use values > 1.0f to lighten (e.g., 1.11f for slight lightening) + * or values <= 1.0f to darken (e.g., 0.95f for slight darkening). + * @return The adjusted color in ARGB format. + */ + public static int adjustColorBrightness(int color, float factor) { + final int alpha = Color.alpha(color); + int red = Color.red(color); + int green = Color.green(color); + int blue = Color.blue(color); + + if (factor > 1.0f) { + // Lighten: Interpolate toward white (255) + final float t = 1.0f - (1.0f / factor); // Interpolation parameter + red = Math.round(red + (255 - red) * t); + green = Math.round(green + (255 - green) * t); + blue = Math.round(blue + (255 - blue) * t); + } else { + // Darken or no change: Scale toward black + red = (int) (red * factor); + green = (int) (green * factor); + blue = (int) (blue * factor); + } + + // Ensure values are within [0, 255] + red = clamp(red, 0, 255); + green = clamp(green, 0, 255); + blue = clamp(blue, 0, 255); + + return Color.argb(alpha, red, green, blue); + } } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java index c5ba1c033..2db744ae6 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java @@ -18,7 +18,6 @@ import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; import app.revanced.extension.youtube.patches.components.ReturnYouTubeDislikeFilterPatch; import app.revanced.extension.youtube.returnyoutubedislike.ReturnYouTubeDislike; -import app.revanced.extension.youtube.returnyoutubedislike.requests.ReturnYouTubeDislikeApi; import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.shared.PlayerType; @@ -69,13 +68,6 @@ public class ReturnYouTubeDislikePatch { @Nullable private static volatile String lastPrefetchedVideoId; - public static void onRYDStatusChange(boolean rydEnabled) { - ReturnYouTubeDislikeApi.resetRateLimits(); - // Must remove all values to protect against using stale data - // if the user enables RYD while a video is on screen. - clearData(); - } - private static void clearData() { currentVideoData = null; lastLithoShortsVideoData = null; @@ -274,7 +266,7 @@ public class ReturnYouTubeDislikePatch { Logger.printDebug(() -> "Adding rolling number TextView changes"); view.setCompoundDrawablePadding(ReturnYouTubeDislike.leftSeparatorShapePaddingPixels); ShapeDrawable separator = ReturnYouTubeDislike.getLeftSeparatorDrawable(); - if (Utils.isRightToLeftTextLayout()) { + if (Utils.isRightToLeftLocale()) { view.setCompoundDrawables(null, null, separator, null); } else { view.setCompoundDrawables(separator, null, null, null); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java index aeff4ac26..90f18a6c2 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java @@ -36,7 +36,7 @@ public final class WideSearchbarPatch { final int paddingStart = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8, Resources.getSystem().getDisplayMetrics()); - if (Utils.isRightToLeftTextLayout()) { + if (Utils.isRightToLeftLocale()) { searchBarView.setPadding(paddingLeft, paddingTop, paddingStart, paddingBottom); } else { searchBarView.setPadding(paddingStart, paddingTop, paddingRight, paddingBottom); 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 8cde513bd..9b6224106 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 @@ -1,16 +1,12 @@ package app.revanced.extension.youtube.patches.playback.speed; -import static app.revanced.extension.shared.StringRef.sf; import static app.revanced.extension.shared.StringRef.str; -import android.preference.ListPreference; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; -import androidx.annotation.NonNull; - import java.util.Arrays; import app.revanced.extension.shared.Logger; @@ -21,8 +17,6 @@ import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") public class CustomPlaybackSpeedPatch { - private static final float PLAYBACK_SPEED_AUTO = Settings.PLAYBACK_SPEED_DEFAULT.defaultValue; - /** * Maximum playback speed, exclusive value. Custom speeds must be less than this value. *
@@ -47,11 +41,6 @@ public class CustomPlaybackSpeedPatch {
*/
private static long lastTimeOldPlaybackMenuInvoked;
- /**
- * PreferenceList entries and values, of all available playback speeds.
- */
- private static String[] preferenceListEntries, preferenceListEntryValues;
-
static {
final float holdSpeed = Settings.SPEED_TAP_AND_HOLD.get();
@@ -117,33 +106,6 @@ public class CustomPlaybackSpeedPatch {
return false;
}
- /**
- * Initialize a settings preference list with the available playback speeds.
- */
- @SuppressWarnings("deprecation")
- public static void initializeListPreference(ListPreference preference) {
- if (preferenceListEntries == null) {
- final int numberOfEntries = customPlaybackSpeeds.length + 1;
- preferenceListEntries = new String[numberOfEntries];
- preferenceListEntryValues = new String[numberOfEntries];
-
- // Auto speed (same behavior as unpatched).
- preferenceListEntries[0] = sf("revanced_custom_playback_speeds_auto").toString();
- preferenceListEntryValues[0] = String.valueOf(PLAYBACK_SPEED_AUTO);
-
- int i = 1;
- for (float speed : customPlaybackSpeeds) {
- String speedString = String.valueOf(speed);
- preferenceListEntries[i] = speedString + "x";
- preferenceListEntryValues[i] = speedString;
- i++;
- }
- }
-
- preference.setEntries(preferenceListEntries);
- preference.setEntryValues(preferenceListEntryValues);
- }
-
/**
* Injection point.
*/
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 2283106bf..4d036509e 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
@@ -1,6 +1,7 @@
package app.revanced.extension.youtube.patches.theme;
import static app.revanced.extension.shared.StringRef.str;
+import static app.revanced.extension.shared.Utils.clamp;
import android.content.res.Resources;
import android.graphics.Color;
@@ -378,14 +379,4 @@ public final class SeekbarColorPatch {
return originalColor;
}
}
-
- /** @noinspection SameParameterValue */
- private static int clamp(int value, int lower, int upper) {
- return Math.max(lower, Math.min(value, upper));
- }
-
- /** @noinspection SameParameterValue */
- private static float clamp(float value, float lower, float upper) {
- return Math.max(lower, Math.min(value, upper));
- }
}
\ No newline at end of file
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java
index a258dffd2..a0730c055 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java
@@ -235,7 +235,7 @@ public class ReturnYouTubeDislike {
final boolean compactLayout = Settings.RYD_COMPACT_LAYOUT.get();
if (!compactLayout) {
- String leftSeparatorString = getTextDirectionString();
+ String leftSeparatorString = Utils.getTextDirectionString();
final Spannable leftSeparatorSpan;
if (isRollingNumber) {
leftSeparatorSpan = new SpannableString(leftSeparatorString);
@@ -279,12 +279,6 @@ public class ReturnYouTubeDislike {
return new SpannableString(builder);
}
- private static @NonNull String getTextDirectionString() {
- return Utils.isRightToLeftTextLayout()
- ? "\u200F" // u200F = right to left character
- : "\u200E"; // u200E = left to right character
- }
-
/**
* @return If the text is likely for a previously created likes/dislikes segmented span.
*/
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ui/ReturnYouTubeDislikeAboutPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ui/ReturnYouTubeDislikeAboutPreference.java
new file mode 100644
index 000000000..c37b472d3
--- /dev/null
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ui/ReturnYouTubeDislikeAboutPreference.java
@@ -0,0 +1,29 @@
+package app.revanced.extension.youtube.returnyoutubedislike.ui;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import app.revanced.extension.youtube.settings.preference.UrlLinkPreference;
+
+/**
+ * Allows tapping the RYD about preference to open the website.
+ */
+@SuppressWarnings("unused")
+public class ReturnYouTubeDislikeAboutPreference extends UrlLinkPreference {
+ {
+ externalUrl = "https://returnyoutubedislike.com";
+ }
+
+ public ReturnYouTubeDislikeAboutPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+ public ReturnYouTubeDislikeAboutPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+ public ReturnYouTubeDislikeAboutPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+ public ReturnYouTubeDislikeAboutPreference(Context context) {
+ super(context);
+ }
+}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ui/ReturnYouTubeDislikeDebugStatsPreferenceCategory.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ui/ReturnYouTubeDislikeDebugStatsPreferenceCategory.java
new file mode 100644
index 000000000..dac275e4f
--- /dev/null
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ui/ReturnYouTubeDislikeDebugStatsPreferenceCategory.java
@@ -0,0 +1,126 @@
+package app.revanced.extension.youtube.returnyoutubedislike.ui;
+
+import static app.revanced.extension.shared.StringRef.str;
+
+import android.content.Context;
+import android.preference.Preference;
+import android.preference.PreferenceCategory;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+
+import app.revanced.extension.shared.Logger;
+import app.revanced.extension.shared.settings.BaseSettings;
+import app.revanced.extension.youtube.returnyoutubedislike.requests.ReturnYouTubeDislikeApi;
+
+@SuppressWarnings({"unused", "deprecation"})
+public class ReturnYouTubeDislikeDebugStatsPreferenceCategory extends PreferenceCategory {
+
+ private static final boolean SHOW_RYD_DEBUG_STATS = BaseSettings.DEBUG.get();
+
+ private static String createSummaryText(int value, String summaryStringZeroKey, String summaryStringOneOrMoreKey) {
+ if (value == 0) {
+ return str(summaryStringZeroKey);
+ }
+ return str(summaryStringOneOrMoreKey, value);
+ }
+
+ private static String createMillisecondStringFromNumber(long number) {
+ return String.format(str("revanced_ryd_statistics_millisecond_text"), number);
+ }
+
+ public ReturnYouTubeDislikeDebugStatsPreferenceCategory(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public ReturnYouTubeDislikeDebugStatsPreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ public ReturnYouTubeDislikeDebugStatsPreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+
+ @Override
+ protected View onCreateView(ViewGroup parent) {
+ if (!SHOW_RYD_DEBUG_STATS) {
+ // Use an empty view to hide without removing.
+ return new View(getContext());
+ }
+
+ return super.onCreateView(parent);
+ }
+
+ protected void onAttachedToActivity() {
+ try {
+ super.onAttachedToActivity();
+ if (!SHOW_RYD_DEBUG_STATS) {
+ return;
+ }
+
+ Logger.printDebug(() -> "Updating stats preferences");
+ removeAll();
+
+ addStatisticPreference(
+ "revanced_ryd_statistics_getFetchCallResponseTimeAverage_title",
+ createMillisecondStringFromNumber(ReturnYouTubeDislikeApi.getFetchCallResponseTimeAverage())
+ );
+
+ addStatisticPreference(
+ "revanced_ryd_statistics_getFetchCallResponseTimeMin_title",
+ createMillisecondStringFromNumber(ReturnYouTubeDislikeApi.getFetchCallResponseTimeMin())
+ );
+
+ addStatisticPreference(
+ "revanced_ryd_statistics_getFetchCallResponseTimeMax_title",
+ createMillisecondStringFromNumber(ReturnYouTubeDislikeApi.getFetchCallResponseTimeMax())
+ );
+
+ String fetchCallTimeWaitingLastSummary;
+ final long fetchCallTimeWaitingLast = ReturnYouTubeDislikeApi.getFetchCallResponseTimeLast();
+ if (fetchCallTimeWaitingLast == ReturnYouTubeDislikeApi.FETCH_CALL_RESPONSE_TIME_VALUE_RATE_LIMIT) {
+ fetchCallTimeWaitingLastSummary = str("revanced_ryd_statistics_getFetchCallResponseTimeLast_rate_limit_summary");
+ } else {
+ fetchCallTimeWaitingLastSummary = createMillisecondStringFromNumber(fetchCallTimeWaitingLast);
+ }
+ addStatisticPreference(
+ "revanced_ryd_statistics_getFetchCallResponseTimeLast_title",
+ fetchCallTimeWaitingLastSummary
+ );
+
+ addStatisticPreference(
+ "revanced_ryd_statistics_getFetchCallCount_title",
+ createSummaryText(ReturnYouTubeDislikeApi.getFetchCallCount(),
+ "revanced_ryd_statistics_getFetchCallCount_zero_summary",
+ "revanced_ryd_statistics_getFetchCallCount_non_zero_summary"
+ )
+ );
+
+ addStatisticPreference(
+ "revanced_ryd_statistics_getFetchCallNumberOfFailures_title",
+ createSummaryText(ReturnYouTubeDislikeApi.getFetchCallNumberOfFailures(),
+ "revanced_ryd_statistics_getFetchCallNumberOfFailures_zero_summary",
+ "revanced_ryd_statistics_getFetchCallNumberOfFailures_non_zero_summary"
+ )
+ );
+
+ addStatisticPreference(
+ "revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_title",
+ createSummaryText(ReturnYouTubeDislikeApi.getNumberOfRateLimitRequestsEncountered(),
+ "revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_zero_summary",
+ "revanced_ryd_statistics_getNumberOfRateLimitRequestsEncountered_non_zero_summary"
+ )
+ );
+ } catch (Exception ex) {
+ Logger.printException(() -> "onAttachedToActivity failure", ex);
+ }
+ }
+
+ private void addStatisticPreference(String titleKey, String SummaryText) {
+ Preference statisticPreference = new Preference(getContext());
+ statisticPreference.setSelectable(false);
+ statisticPreference.setTitle(str(titleKey));
+ statisticPreference.setSummary(SummaryText);
+ addPreference(statisticPreference);
+ }
+}
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 b9c193d1a..5a14ca39c 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
@@ -11,8 +11,6 @@ import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toolbar;
-import java.util.Objects;
-
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.AppLanguage;
@@ -21,8 +19,6 @@ import app.revanced.extension.youtube.ThemeHelper;
import app.revanced.extension.youtube.patches.VersionCheckPatch;
import app.revanced.extension.youtube.patches.spoof.SpoofAppVersionPatch;
import app.revanced.extension.youtube.settings.preference.ReVancedPreferenceFragment;
-import app.revanced.extension.youtube.settings.preference.ReturnYouTubeDislikePreferenceFragment;
-import app.revanced.extension.youtube.settings.preference.SponsorBlockPreferenceFragment;
/**
* Hooks LicenseActivity.
@@ -88,28 +84,15 @@ public class LicenseActivityHook {
licenseActivity.setContentView(getResourceIdentifier(
"revanced_settings_with_toolbar", "layout"));
- PreferenceFragment fragment;
- String toolbarTitleResourceName;
- String dataString = Objects.requireNonNull(licenseActivity.getIntent().getDataString());
- switch (dataString) {
- case "revanced_sb_settings_intent":
- toolbarTitleResourceName = "revanced_sb_settings_title";
- fragment = new SponsorBlockPreferenceFragment();
- break;
- case "revanced_ryd_settings_intent":
- toolbarTitleResourceName = "revanced_ryd_settings_title";
- fragment = new ReturnYouTubeDislikePreferenceFragment();
- break;
- case "revanced_settings_intent":
- toolbarTitleResourceName = "revanced_settings_title";
- fragment = new ReVancedPreferenceFragment();
- break;
- default:
- Logger.printException(() -> "Unknown setting: " + dataString);
- return;
+ // Sanity check.
+ String dataString = licenseActivity.getIntent().getDataString();
+ if (!"revanced_settings_intent".equals(dataString)) {
+ Logger.printException(() -> "Unknown intent: " + dataString);
+ return;
}
- createToolbar(licenseActivity, toolbarTitleResourceName);
+ PreferenceFragment fragment = new ReVancedPreferenceFragment();
+ createToolbar(licenseActivity, fragment);
//noinspection deprecation
licenseActivity.getFragmentManager()
@@ -122,7 +105,7 @@ public class LicenseActivityHook {
}
@SuppressLint("UseCompatLoadingForDrawables")
- private static void createToolbar(Activity activity, String toolbarTitleResourceName) {
+ private static void createToolbar(Activity activity, PreferenceFragment fragment) {
// Replace dummy placeholder toolbar.
// This is required to fix submenu title alignment issue with Android ASOP 15+
ViewGroup toolBarParent = activity.findViewById(
@@ -134,8 +117,7 @@ public class LicenseActivityHook {
Toolbar toolbar = new Toolbar(toolBarParent.getContext());
toolbar.setBackgroundColor(ThemeHelper.getToolbarBackgroundColor());
toolbar.setNavigationIcon(ReVancedPreferenceFragment.getBackButtonDrawable());
- toolbar.setNavigationOnClickListener(view -> activity.onBackPressed());
- toolbar.setTitle(getResourceIdentifier(toolbarTitleResourceName, "string"));
+ toolbar.setTitle(getResourceIdentifier("revanced_settings_title", "string"));
final int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 16,
Utils.getContext().getResources().getDisplayMetrics());
@@ -148,6 +130,11 @@ public class LicenseActivityHook {
}
setToolbarLayoutParams(toolbar);
+ // Add Search Icon and EditText for ReVancedPreferenceFragment only.
+ if (fragment instanceof ReVancedPreferenceFragment) {
+ SearchViewController.addSearchViewComponents(activity, toolbar, (ReVancedPreferenceFragment) fragment);
+ }
+
toolBarParent.addView(toolbar, 0);
}
-}
\ No newline at end of file
+}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/SearchViewController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/SearchViewController.java
new file mode 100644
index 000000000..cb2b42d7a
--- /dev/null
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/SearchViewController.java
@@ -0,0 +1,381 @@
+package app.revanced.extension.youtube.settings;
+
+import static app.revanced.extension.shared.StringRef.str;
+import static app.revanced.extension.shared.Utils.getResourceIdentifier;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.graphics.drawable.GradientDrawable;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.ArrayAdapter;
+import android.widget.AutoCompleteTextView;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+import android.widget.SearchView;
+import android.widget.TextView;
+import android.widget.Toolbar;
+
+import androidx.annotation.NonNull;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Deque;
+import java.util.LinkedList;
+import java.util.List;
+
+import app.revanced.extension.shared.Logger;
+import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.settings.AppLanguage;
+import app.revanced.extension.shared.settings.BaseSettings;
+import app.revanced.extension.shared.settings.StringSetting;
+import app.revanced.extension.youtube.ThemeHelper;
+import app.revanced.extension.youtube.settings.preference.ReVancedPreferenceFragment;
+
+/**
+ * Controller for managing the search view in ReVanced settings.
+ */
+@SuppressWarnings({"deprecated", "DiscouragedApi"})
+public class SearchViewController {
+ private static final int MAX_HISTORY_SIZE = 5;
+
+ private final SearchView searchView;
+ private final FrameLayout searchContainer;
+ private final Toolbar toolbar;
+ private final Activity activity;
+ private boolean isSearchActive;
+ private final CharSequence originalTitle;
+ private final Deque
- * If the content is to be filtered, subclasses should always - * call this method (and never return a plain 'true'). - * That way the logs will always show when a component was filtered and which filter hide it. + * *
* Method is called off the main thread.
*
@@ -76,14 +70,6 @@ abstract class Filter {
*/
boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray,
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
- if (BaseSettings.DEBUG.get()) {
- String filterSimpleName = getClass().getSimpleName();
- if (contentType == FilterContentType.IDENTIFIER) {
- Logger.printDebug(() -> filterSimpleName + " Filtered identifier: " + identifier);
- } else {
- Logger.printDebug(() -> filterSimpleName + " Filtered path: " + path);
- }
- }
return true;
}
}
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 d365d6802..45fdcd7d2 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
@@ -576,7 +576,7 @@ final class KeywordContentFilter extends Filter {
MutableReference