diff --git a/src/main/kotlin/app/revanced/patches/shared/settings/preference/ComponentsExtensions.kt b/src/main/kotlin/app/revanced/patches/shared/settings/preference/ComponentsExtensions.kt index 21207188b..7e13127f0 100644 --- a/src/main/kotlin/app/revanced/patches/shared/settings/preference/ComponentsExtensions.kt +++ b/src/main/kotlin/app/revanced/patches/shared/settings/preference/ComponentsExtensions.kt @@ -40,4 +40,9 @@ internal fun Element.addDefault(default: T) { } ) } +} + +internal fun CharSequence.removePunctuation(): String { + val punctuation = "\\p{P}+".toRegex() + return this.replace(punctuation, "") } \ No newline at end of file diff --git a/src/main/kotlin/app/revanced/patches/shared/settings/util/AbstractPreferenceScreen.kt b/src/main/kotlin/app/revanced/patches/shared/settings/util/AbstractPreferenceScreen.kt index 30402f5a7..1c38980b6 100644 --- a/src/main/kotlin/app/revanced/patches/shared/settings/util/AbstractPreferenceScreen.kt +++ b/src/main/kotlin/app/revanced/patches/shared/settings/util/AbstractPreferenceScreen.kt @@ -4,6 +4,7 @@ import app.revanced.patches.shared.settings.preference.BasePreference import app.revanced.patches.shared.settings.preference.impl.PreferenceCategory import app.revanced.patches.shared.settings.preference.impl.PreferenceScreen import app.revanced.patches.shared.settings.preference.impl.StringResource +import app.revanced.patches.shared.settings.preference.removePunctuation import java.io.Closeable abstract class AbstractPreferenceScreen( @@ -35,8 +36,8 @@ abstract class AbstractPreferenceScreen( return PreferenceScreen( key, StringResource("${key}_title", title), - preferences.sortedBy { it.title.value.lowercase() } + - categories.sortedBy { it.title.lowercase() }.map { it.transform() }, + preferences.sortedBy { it.title.value.removePunctuation().lowercase() } + + categories.sortedBy { it.title.removePunctuation().lowercase() }.map { it.transform() }, summary?.let { summary -> StringResource("${key}_summary", summary) } @@ -63,7 +64,7 @@ abstract class AbstractPreferenceScreen( return PreferenceCategory( key, StringResource("${key}_title", title), - preferences.sortedBy { it.title.value.lowercase() } + preferences.sortedBy { it.title.value.removePunctuation().lowercase() } ) } diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index d88ad6cd7..2199142c6 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -53,14 +53,14 @@ object HideLayoutComponentsPatch : BytecodePatch( ), SwitchPreference( "revanced_hide_join_membership_button", - StringResource("revanced_hide_join_membership_button_title", "Hide \"Join\" button"), + StringResource("revanced_hide_join_membership_button_title", "Hide \\\'Join\\\' button"), StringResource("revanced_hide_join_membership_button_summary_on", "Button is hidden"), StringResource("revanced_hide_join_membership_button_summary_off", "Button is shown") ), SwitchPreference( "revanced_hide_notify_me_button", - StringResource("revanced_hide_notify_me_button_title", "Hide \"Notify me\" button"), + StringResource("revanced_hide_notify_me_button_title", "Hide \\\'Notify me\\\' button"), StringResource("revanced_hide_notify_me_button_summary_on", "Button is hidden"), StringResource("revanced_hide_notify_me_button_summary_off", "Button is shown") ), diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonPatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonPatch.kt index 83321ce09..d9a0278e7 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonPatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonPatch.kt @@ -11,7 +11,7 @@ import app.revanced.patches.youtube.layout.hide.loadmorebutton.fingerprints.Hide import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @Patch( - name = "Hide \"Load more\" button", + name = "Hide \'Load more\' button", description = "Hides the button under videos that loads similar videos.", dependencies = [HideLoadMoreButtonResourcePatch::class], compatiblePackages = [ diff --git a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonResourcePatch.kt b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonResourcePatch.kt index ae2e7a8ed..65f733afe 100644 --- a/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonResourcePatch.kt +++ b/src/main/kotlin/app/revanced/patches/youtube/layout/hide/loadmorebutton/HideLoadMoreButtonResourcePatch.kt @@ -21,7 +21,7 @@ object HideLoadMoreButtonResourcePatch : ResourcePatch() { SettingsPatch.PreferenceScreen.LAYOUT.addPreferences( SwitchPreference( "revanced_hide_load_more_button", - StringResource("revanced_hide_load_more_button_title", "Hide \"Load More\" button"), + StringResource("revanced_hide_load_more_button_title", "Hide \\\'Load More\\\' button"), StringResource("revanced_hide_load_more_button_summary_on", "Button is hidden"), StringResource("revanced_hide_load_more_button_summary_off", "Button is shown") )