fix(YouTube): Fix Custom settings strings misplacement and disable broken array-based list preferences
The Custom settings strings added in 97b4fc5b5 were accidentally placed
under the Twitch settings patch block instead of YouTube's, which broke
resource compilation entirely. Moved them to the correct block and added
the missing _summary_on/_summary_off pairs for the switch preferences.
Also comments out 3 ListPreferences (playback speed, video quality,
startup tab) that reference "${key}_entries"/"${key}_entry_values" array
resources: the addresources/values/strings.xml pipeline only extracts
<string> elements and silently drops <array>/<string-array>, so these
preferences had no backing entries and broke patching. Re-enabling them
needs real ArrayResource wiring through ListPreference(entries=,
entryValues=).
Found by running the patches through revanced-cli against a real
YouTube 21.34.248 APK.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NXRsEcWGqDhsCbfEdrfCdE
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
97b4fc5b5a
commit
37ef795322
+22
-12
@@ -238,17 +238,27 @@ val settingsPatch = bytecodePatch(
|
||||
SwitchPreference(
|
||||
"revanced_custom_hide_shorts",
|
||||
),
|
||||
ListPreference(
|
||||
key = "revanced_custom_default_playback_speed",
|
||||
tag = "app.revanced.extension.shared.settings.preference.SortedListPreference",
|
||||
),
|
||||
// TEMPORARILY DISABLED FOR TESTING (revanced-cli verification pass): this
|
||||
// ListPreference references "${key}_entries"/"${key}_entry_values" array
|
||||
// resources that don't exist anywhere and can't be added via addresources/
|
||||
// values/strings.xml, since patches/strings-processing.gradle.kts only
|
||||
// extracts <string> elements (see its `"string" -> transform(...)` case
|
||||
// vs. the `else -> walk children` fallthrough that silently drops <array>/
|
||||
// <string-array>). Needs a real app.revanced.util.resource.ArrayResource
|
||||
// wired through the ListPreference(entries=, entryValues=) constructor
|
||||
// (see patches/.../shared/misc/settings/preference/ListPreference.kt) or
|
||||
// another array-resource source before this can ship.
|
||||
// ListPreference(
|
||||
// key = "revanced_custom_default_playback_speed",
|
||||
// tag = "app.revanced.extension.shared.settings.preference.SortedListPreference",
|
||||
// ),
|
||||
SwitchPreference(
|
||||
"revanced_custom_remember_playback_speed",
|
||||
),
|
||||
ListPreference(
|
||||
key = "revanced_custom_default_video_quality",
|
||||
tag = "app.revanced.extension.shared.settings.preference.SortedListPreference",
|
||||
),
|
||||
// ListPreference(
|
||||
// key = "revanced_custom_default_video_quality",
|
||||
// tag = "app.revanced.extension.shared.settings.preference.SortedListPreference",
|
||||
// ),
|
||||
SwitchPreference(
|
||||
"revanced_custom_remember_video_quality",
|
||||
),
|
||||
@@ -264,10 +274,10 @@ val settingsPatch = bytecodePatch(
|
||||
inputType = InputType.TEXT_CAP_CHARACTERS,
|
||||
tag = "app.revanced.extension.shared.settings.preference.TextInputPreference",
|
||||
),
|
||||
ListPreference(
|
||||
key = "revanced_custom_startup_tab",
|
||||
tag = "app.revanced.extension.shared.settings.preference.SortedListPreference",
|
||||
),
|
||||
// ListPreference(
|
||||
// key = "revanced_custom_startup_tab",
|
||||
// tag = "app.revanced.extension.shared.settings.preference.SortedListPreference",
|
||||
// ),
|
||||
SwitchPreference(
|
||||
"revanced_custom_clean_urls",
|
||||
),
|
||||
|
||||
@@ -241,6 +241,42 @@ However, enabling this will also log some user data such as your IP address."</s
|
||||
<string name="revanced_restore_old_settings_menus_title">Restore old settings menus</string>
|
||||
<string name="revanced_restore_old_settings_menus_summary_on">Old settings menus are shown</string>
|
||||
<string name="revanced_restore_old_settings_menus_summary_off">Old settings menus are not shown</string>
|
||||
<!-- Custom settings -->
|
||||
<string name="revanced_custom_title">Custom</string>
|
||||
<string name="revanced_custom_reset_title">Reset Custom Settings</string>
|
||||
<string name="revanced_custom_reset_summary">Restore custom preferences to defaults</string>
|
||||
<string name="revanced_custom_force_amoled_title">Force AMOLED</string>
|
||||
<string name="revanced_custom_force_amoled_summary_on">True black is used in the YouTube UI</string>
|
||||
<string name="revanced_custom_force_amoled_summary_off">True black is not used in the YouTube UI</string>
|
||||
<string name="revanced_custom_pure_black_player_title">Pure Black Player</string>
|
||||
<string name="revanced_custom_pure_black_player_summary_on">Player background is pure black</string>
|
||||
<string name="revanced_custom_pure_black_player_summary_off">Player background is not pure black</string>
|
||||
<string name="revanced_custom_disable_ambient_mode_title">Disable Ambient Mode</string>
|
||||
<string name="revanced_custom_disable_ambient_mode_summary_on">Ambient Mode is prevented from activating</string>
|
||||
<string name="revanced_custom_disable_ambient_mode_summary_off">Ambient Mode can activate</string>
|
||||
<string name="revanced_custom_hide_shorts_title">Hide Shorts</string>
|
||||
<string name="revanced_custom_hide_shorts_summary_on">Shorts UI entries are removed</string>
|
||||
<string name="revanced_custom_hide_shorts_summary_off">Shorts UI entries are shown</string>
|
||||
<string name="revanced_custom_default_playback_speed_title">Default Playback Speed</string>
|
||||
<string name="revanced_custom_remember_playback_speed_title">Remember Playback Speed</string>
|
||||
<string name="revanced_custom_remember_playback_speed_summary_on">Playback speed is remembered across videos</string>
|
||||
<string name="revanced_custom_remember_playback_speed_summary_off">Playback speed is not remembered across videos</string>
|
||||
<string name="revanced_custom_default_video_quality_title">Default Video Quality</string>
|
||||
<string name="revanced_custom_remember_video_quality_title">Remember Video Quality</string>
|
||||
<string name="revanced_custom_remember_video_quality_summary_on">Video quality is remembered across videos</string>
|
||||
<string name="revanced_custom_remember_video_quality_summary_off">Video quality is not remembered across videos</string>
|
||||
<string name="revanced_custom_force_highest_quality_title">Force Highest Available Quality</string>
|
||||
<string name="revanced_custom_force_highest_quality_summary_on">Highest quality option is preferred</string>
|
||||
<string name="revanced_custom_force_highest_quality_summary_off">Highest quality option is not preferred</string>
|
||||
<string name="revanced_custom_debug_video_info_title">Debug Video Information</string>
|
||||
<string name="revanced_custom_debug_video_info_summary_on">Technical video details are shown</string>
|
||||
<string name="revanced_custom_debug_video_info_summary_off">Technical video details are hidden</string>
|
||||
<string name="revanced_custom_app_name_title">Custom App Name</string>
|
||||
<string name="revanced_custom_app_name_summary">Change the visible application name</string>
|
||||
<string name="revanced_custom_startup_tab_title">Default Startup Tab</string>
|
||||
<string name="revanced_custom_clean_urls_title">Clean YouTube URLs</string>
|
||||
<string name="revanced_custom_clean_urls_summary_on">Tracking parameters are removed from shared links</string>
|
||||
<string name="revanced_custom_clean_urls_summary_off">Tracking parameters are not removed from shared links</string>
|
||||
</patch>
|
||||
<patch id="misc.backgroundplayback.backgroundPlaybackPatch">
|
||||
<string name="revanced_shorts_disable_background_playback_title">Disable Shorts background play</string>
|
||||
@@ -1945,36 +1981,6 @@ Video playback with AV1 may stutter or drop frames."</string>
|
||||
<string name="revanced_twitch_debug_title">Debug logging</string>
|
||||
<string name="revanced_twitch_debug_summary_on">Debug logs are enabled</string>
|
||||
<string name="revanced_twitch_debug_summary_off">Debug logs are disabled</string>
|
||||
<!-- Custom settings -->
|
||||
<string name="revanced_custom_title">Custom</string>
|
||||
<string name="revanced_custom_reset_title">Reset Custom Settings</string>
|
||||
<string name="revanced_custom_reset_summary">Restore custom preferences to defaults</string>
|
||||
<string name="revanced_custom_force_amoled_title">Force AMOLED</string>
|
||||
<string name="revanced_custom_force_amoled_summary">Use true black in the YouTube UI</string>
|
||||
<string name="revanced_custom_pure_black_player_title">Pure Black Player</string>
|
||||
<string name="revanced_custom_pure_black_player_summary">Make player background pure black</string>
|
||||
<string name="revanced_custom_disable_ambient_mode_title">Disable Ambient Mode</string>
|
||||
<string name="revanced_custom_disable_ambient_mode_summary">Prevent Ambient Mode from activating</string>
|
||||
<string name="revanced_custom_hide_shorts_title">Hide Shorts</string>
|
||||
<string name="revanced_custom_hide_shorts_summary">Remove Shorts UI entries</string>
|
||||
<string name="revanced_custom_default_playback_speed_title">Default Playback Speed</string>
|
||||
<string name="revanced_custom_default_playback_speed_summary">Select default playback speed</string>
|
||||
<string name="revanced_custom_remember_playback_speed_title">Remember Playback Speed</string>
|
||||
<string name="revanced_custom_remember_playback_speed_summary">Remember speed across videos</string>
|
||||
<string name="revanced_custom_default_video_quality_title">Default Video Quality</string>
|
||||
<string name="revanced_custom_default_video_quality_summary">Select default video quality</string>
|
||||
<string name="revanced_custom_remember_video_quality_title">Remember Video Quality</string>
|
||||
<string name="revanced_custom_remember_video_quality_summary">Remember quality across videos</string>
|
||||
<string name="revanced_custom_force_highest_quality_title">Force Highest Available Quality</string>
|
||||
<string name="revanced_custom_force_highest_quality_summary">Prefer highest quality option</string>
|
||||
<string name="revanced_custom_debug_video_info_title">Debug Video Information</string>
|
||||
<string name="revanced_custom_debug_video_info_summary">Show technical video details</string>
|
||||
<string name="revanced_custom_app_name_title">Custom App Name</string>
|
||||
<string name="revanced_custom_app_name_summary">Change the visible application name</string>
|
||||
<string name="revanced_custom_startup_tab_title">Default Startup Tab</string>
|
||||
<string name="revanced_custom_startup_tab_summary">Select startup tab</string>
|
||||
<string name="revanced_custom_clean_urls_title">Clean YouTube URLs</string>
|
||||
<string name="revanced_custom_clean_urls_summary">Remove tracking parameters from shared links</string>
|
||||
</patch>
|
||||
</app>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user