feat(YouTube - Hide layout components): Add Account menu filter type setting (Close https://github.com/inotia00/ReVanced_Extended/issues/2574)

This commit is contained in:
inotia00 2025-01-28 18:22:17 +09:00
parent 8927bc39d1
commit 955f07fe36
4 changed files with 24 additions and 5 deletions

View File

@ -171,15 +171,25 @@ public class GeneralPatch {
private static void hideAccountMenu(ViewGroup viewGroup, String menuTitleString) {
for (String filter : accountMenuBlockList) {
if (!filter.isEmpty() && menuTitleString.equals(filter)) {
if (viewGroup.getLayoutParams() instanceof MarginLayoutParams)
hideViewGroupByMarginLayoutParams(viewGroup);
else
viewGroup.setLayoutParams(new LayoutParams(0, 0));
if (!filter.isEmpty()) {
if (Settings.HIDE_ACCOUNT_MENU_FILTER_TYPE.get()) {
if (menuTitleString.contains(filter))
hideViewGroup(viewGroup);
} else {
if (menuTitleString.equals(filter))
hideViewGroup(viewGroup);
}
}
}
}
private static void hideViewGroup(ViewGroup viewGroup) {
if (viewGroup.getLayoutParams() instanceof MarginLayoutParams)
hideViewGroupByMarginLayoutParams(viewGroup);
else
viewGroup.setLayoutParams(new LayoutParams(0, 0));
}
public static int hideHandle(int originalValue) {
return Settings.HIDE_HANDLE.get() ? 8 : originalValue;
}

View File

@ -161,6 +161,7 @@ public class Settings extends BaseSettings {
// PreferenceScreen: General - Account menu
public static final BooleanSetting HIDE_ACCOUNT_MENU = new BooleanSetting("revanced_hide_account_menu", FALSE);
public static final BooleanSetting HIDE_ACCOUNT_MENU_FILTER_TYPE = new BooleanSetting("revanced_hide_account_menu_filter_type", FALSE, true, parent(HIDE_ACCOUNT_MENU));
public static final StringSetting HIDE_ACCOUNT_MENU_FILTER_STRINGS = new StringSetting("revanced_hide_account_menu_filter_strings", "", true, parent(HIDE_ACCOUNT_MENU));
public static final BooleanSetting HIDE_HANDLE = new BooleanSetting("revanced_hide_handle", TRUE, true);

View File

@ -473,6 +473,13 @@ If later turned off, it is recommended to clear the app data to prevent UI bugs.
<string name="revanced_hide_account_menu_title">Hide account menu</string>
<string name="revanced_hide_account_menu_summary">"Hide elements of the account menu and You tab.
Some components may not be hidden."</string>
<string name="revanced_hide_account_menu_filter_type_title">Account menu filter type</string>
<string name="revanced_hide_account_menu_filter_type_summary_on">"Filter if contains.
To hide the <b>Get YouTube Premium</b> menu, you can use <b>YouTube Premium</b> or <b>Premium</b> as keywords."</string>
<string name="revanced_hide_account_menu_filter_type_summary_off">"Filter if matches.
To hide the <b>Get YouTube Premium</b> menu, you can only use <b>Get YouTube Premium</b> as keywords."</string>
<string name="revanced_hide_account_menu_filter_strings_title">Account menu filter</string>
<string name="revanced_hide_account_menu_filter_strings_summary">List of account menu names to filter, separated by new lines.</string>
<string name="revanced_hide_handle_title">Hide handle</string>

View File

@ -131,6 +131,7 @@
<!-- SETTINGS: HIDE_LAYOUT_COMPONENTS
<PreferenceScreen android:title="@string/revanced_preference_screen_account_menu_title" android:key="revanced_preference_screen_account_menu" android:summary="@string/revanced_preference_screen_account_menu_summary">
<SwitchPreference android:title="@string/revanced_hide_account_menu_title" android:key="revanced_hide_account_menu" android:summary="@string/revanced_hide_account_menu_summary" />
<SwitchPreference android:title="@string/revanced_hide_account_menu_filter_type_title" android:key="revanced_hide_account_menu_filter_type" android:summaryOn="@string/revanced_hide_account_menu_filter_type_summary_on" android:summaryOff="@string/revanced_hide_account_menu_filter_type_summary_off" />
<app.revanced.extension.shared.settings.preference.ResettableEditTextPreference android:title="@string/revanced_hide_account_menu_filter_strings_title" android:key="revanced_hide_account_menu_filter_strings" android:summary="@string/revanced_hide_account_menu_filter_strings_summary" android:inputType="textMultiLine" />
<SwitchPreference android:title="@string/revanced_hide_handle_title" android:key="revanced_hide_handle" android:summaryOn="@string/revanced_hide_handle_summary_on" android:summaryOff="@string/revanced_hide_handle_summary_off" />
</PreferenceScreen>