refactor -> add placeholder if no preferences are found

This commit is contained in:
MarcadIan 2025-05-09 10:39:05 +03:00
parent 8e12674c85
commit e94a55c2df
No known key found for this signature in database
GPG key ID: 006D2B6B076AD2AA
2 changed files with 16 additions and 0 deletions

View file

@ -42,6 +42,7 @@ import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.EnumSetting;
import app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment;
import app.revanced.extension.shared.settings.preference.NoTitlePreferenceCategory;
import app.revanced.extension.shared.StringRef;
import app.revanced.extension.youtube.ThemeHelper;
import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch;
import app.revanced.extension.youtube.settings.LicenseActivityHook;
@ -440,6 +441,19 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment {
group.addPreference(preference);
}
}
// Add placeholder if no preferences were added
if (categoryMap.isEmpty()) {
Preference noResultsPreference = new Preference(preferenceScreen.getContext());
noResultsPreference.setTitle(String.format(StringRef.str("revanced_search_settings_no_results_title"), query));
noResultsPreference.setSummary(StringRef.str("revanced_search_settings_no_results_summary"));
noResultsPreference.setSelectable(false);
// Set icon for the placeholder preference
noResultsPreference.setIcon(getResourceIdentifier(
ThemeHelper.isDarkTheme() ? "yt_outline_search_white_24" : "yt_outline_search_black_24",
"drawable"));
preferenceScreen.addPreference(noResultsPreference);
}
}
/**

View file

@ -34,6 +34,8 @@ Second \"item\" text"</string>
<string name="revanced_settings_submenu_title">Settings</string>
<string name="revanced_settings_title" translatable="false">ReVanced</string>
<string name="revanced_search_settings">Search settings</string>
<string name="revanced_search_settings_no_results_title">No results found for \'%s\'</string>
<string name="revanced_search_settings_no_results_summary">Try another keyword</string>
<string name="revanced_settings_confirm_user_dialog_title">Do you wish to proceed?</string>
<string name="revanced_settings_reset">Reset</string>
<string name="revanced_settings_restart_title">Refresh and restart</string>