17
17
import android .text .SpannableStringBuilder ;
18
18
import android .text .TextUtils ;
19
19
import android .text .style .BackgroundColorSpan ;
20
- import android .util .Pair ;
21
20
import android .util .TypedValue ;
22
21
import android .view .ViewGroup ;
23
22
import android .view .WindowInsets ;
40
39
import app .revanced .extension .shared .Logger ;
41
40
import app .revanced .extension .shared .Utils ;
42
41
import app .revanced .extension .shared .settings .BaseSettings ;
43
- import app .revanced .extension .shared .settings .EnumSetting ;
44
42
import app .revanced .extension .shared .settings .preference .AbstractPreferenceFragment ;
45
43
import app .revanced .extension .shared .settings .preference .NoTitlePreferenceCategory ;
46
44
import app .revanced .extension .youtube .ThemeHelper ;
47
- import app .revanced .extension .youtube .patches .playback .speed .CustomPlaybackSpeedPatch ;
48
45
import app .revanced .extension .youtube .settings .LicenseActivityHook ;
49
- import app .revanced .extension .youtube .settings .Settings ;
50
46
import app .revanced .extension .youtube .sponsorblock .ui .SponsorBlockPreferenceGroup ;
51
47
52
48
/**
@@ -83,56 +79,6 @@ public static Drawable getBackButtonDrawable() {
83
79
return Utils .getContext ().getResources ().getDrawable (backButtonResource );
84
80
}
85
81
86
- /**
87
- * Sorts a preference list by menu entries,
88
- * but preserves the first N entries in their current position.
89
- */
90
- @ SuppressWarnings ("SameParameterValue" )
91
- private static void sortListPreferenceByValues (ListPreference listPreference , int firstEntriesToPreserve ) {
92
- CharSequence [] entries = listPreference .getEntries ();
93
- CharSequence [] entryValues = listPreference .getEntryValues ();
94
- final int entrySize = entries .length ;
95
-
96
- if (entrySize != entryValues .length ) {
97
- // Xml array declaration has a missing/extra entry.
98
- throw new IllegalStateException ();
99
- }
100
-
101
- List <Pair <CharSequence , CharSequence >> firstPairs = new ArrayList <>(firstEntriesToPreserve );
102
- List <Pair <CharSequence , CharSequence >> pairsToSort = new ArrayList <>(entrySize );
103
-
104
- for (int i = 0 ; i < entrySize ; i ++) {
105
- Pair <CharSequence , CharSequence > pair = new Pair <>(entries [i ], entryValues [i ]);
106
- if (i < firstEntriesToPreserve ) {
107
- firstPairs .add (pair );
108
- } else {
109
- pairsToSort .add (pair );
110
- }
111
- }
112
-
113
- pairsToSort .sort ((pair1 , pair2 )
114
- -> pair1 .first .toString ().compareToIgnoreCase (pair2 .first .toString ()));
115
-
116
- CharSequence [] sortedEntries = new CharSequence [entrySize ];
117
- CharSequence [] sortedEntryValues = new CharSequence [entrySize ];
118
-
119
- int i = 0 ;
120
- for (Pair <CharSequence , CharSequence > pair : firstPairs ) {
121
- sortedEntries [i ] = pair .first ;
122
- sortedEntryValues [i ] = pair .second ;
123
- i ++;
124
- }
125
-
126
- for (Pair <CharSequence , CharSequence > pair : pairsToSort ) {
127
- sortedEntries [i ] = pair .first ;
128
- sortedEntryValues [i ] = pair .second ;
129
- i ++;
130
- }
131
-
132
- listPreference .setEntries (sortedEntries );
133
- listPreference .setEntryValues (sortedEntryValues );
134
- }
135
-
136
82
/**
137
83
* Initializes the preference fragment, copying the original screen to allow full restoration.
138
84
*/
@@ -141,16 +87,6 @@ protected void initialize() {
141
87
super .initialize ();
142
88
143
89
try {
144
- sortPreferenceListMenu (Settings .CHANGE_START_PAGE );
145
- sortPreferenceListMenu (Settings .SPOOF_VIDEO_STREAMS_LANGUAGE );
146
- sortPreferenceListMenu (BaseSettings .REVANCED_LANGUAGE );
147
-
148
- // If the preference was included, then initialize it based on the available playback speed.
149
- Preference preference = findPreference (Settings .PLAYBACK_SPEED_DEFAULT .key );
150
- if (preference instanceof ListPreference playbackPreference ) {
151
- CustomPlaybackSpeedPatch .initializeListPreference (playbackPreference );
152
- }
153
-
154
90
preferenceScreen = getPreferenceScreen ();
155
91
Utils .sortPreferenceGroups (preferenceScreen );
156
92
@@ -273,16 +209,6 @@ public void filterPreferences(String query) {
273
209
}
274
210
}
275
211
276
- /**
277
- * Sorts a specific list preference by its entries, but retain the first entry as the first item.
278
- */
279
- private void sortPreferenceListMenu (EnumSetting <?> setting ) {
280
- Preference preference = findPreference (setting .key );
281
- if (preference instanceof ListPreference languagePreference ) {
282
- sortListPreferenceByValues (languagePreference , 1 );
283
- }
284
- }
285
-
286
212
/**
287
213
* Sets toolbar for all nested preference screens.
288
214
*/
0 commit comments