diff --git a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java
index 1fa40e9d..39bd18c3 100644
--- a/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java
+++ b/app/src/main/java/app/revanced/integrations/settings/SettingsEnum.java
@@ -17,12 +17,10 @@ public enum SettingsEnum {
//Video Settings
OLD_STYLE_QUALITY_SETTINGS("revanced_use_old_style_quality_settings", true, ReturnType.BOOLEAN),
- OVERRIDE_RESOLUTION_TO_MAX("revanced_override_resolution_max", false, ReturnType.BOOLEAN),
- PREFERRED_RESOLUTION_WIFI("revanced_pref_video_quality_wifi", -2, ReturnType.INTEGER),
- PREFERRED_RESOLUTION_MOBILE("revanced_pref_video_quality_mobile", -2, ReturnType.INTEGER),
PREFERRED_VIDEO_SPEED("revanced_pref_video_speed", -2.0f, ReturnType.FLOAT),
//Whitelist Settings
+ //ToDo: Not used atm, Patch missing
ENABLE_WHITELIST("revanced_whitelist_ads_enabled", false, ReturnType.BOOLEAN),
//Ad settings
@@ -30,14 +28,13 @@ public enum SettingsEnum {
VIDEO_ADS_SHOWN("revanced_video_ads_enabled", false, ReturnType.BOOLEAN),
ADREMOVER_AD_REMOVAL("revanced_adremover_ad_removal", true, ReturnType.BOOLEAN),
ADREMOVER_MERCHANDISE_REMOVAL("revanced_adremover_merchandise", true, ReturnType.BOOLEAN),
- ADREMOVER_COMMUNITY_POSTS_REMOVAL("revanced_adremover_community_posts_removal", false, ReturnType.BOOLEAN),
+ ADREMOVER_COMMUNITY_POSTS_REMOVAL("revanced_adremover_community_posts_removal", true, ReturnType.BOOLEAN),
ADREMOVER_COMPACT_BANNER_REMOVAL("revanced_adremover_compact_banner_removal", true, ReturnType.BOOLEAN),
ADREMOVER_COMMENTS_REMOVAL("revanced_adremover_comments_removal", false, ReturnType.BOOLEAN),
ADREMOVER_MOVIE_REMOVAL("revanced_adremover_movie", true, ReturnType.BOOLEAN),
ADREMOVER_FEED_SURVEY_REMOVAL("revanced_adremover_feed_survey", true, ReturnType.BOOLEAN),
ADREMOVER_SHORTS_SHELF("revanced_adremover_shorts_shelf", true, ReturnType.BOOLEAN),
ADREMOVER_COMMUNITY_GUIDELINES("revanced_adremover_community_guidelines", true, ReturnType.BOOLEAN),
- //ToDo: These Settings have to be added to revanced_prefs.xml
ADREMOVER_EMERGENCY_BOX_REMOVAL("revanced_adremover_emergency_box_removal", true, ReturnType.BOOLEAN),
ADREMOVER_INFO_PANEL_REMOVAL("revanced_adremover_info_panel", true, ReturnType.BOOLEAN),
ADREMOVER_MEDICAL_PANEL_REMOVAL("revanced_adremover_medical_panel", true, ReturnType.BOOLEAN),
@@ -52,7 +49,8 @@ public enum SettingsEnum {
INFO_CARDS_SHOWN("revanced_info_cards_enabled", false, ReturnType.BOOLEAN),
BRANDING_SHOWN("revanced_branding_watermark_enabled", false, ReturnType.BOOLEAN),
CAST_BUTTON_SHOWN("revanced_cast_button_enabled", false, ReturnType.BOOLEAN),
- AUTOPLAY_BUTTON_SHOWN("revanced_autoplay_button_enabled", false, ReturnType.BOOLEAN), //ToDo: Add to prefs
+ AUTOPLAY_BUTTON_SHOWN("revanced_autoplay_button_enabled", false, ReturnType.BOOLEAN),
+ //ToDo: Not used atm, Patch missing
USE_TABLET_MINIPLAYER("revanced_tablet_miniplayer", false, ReturnType.BOOLEAN),
CREATE_BUTTON_SHOWN("revanced_create_button_enabled", false, ReturnType.BOOLEAN),
USE_NEW_ACTIONBAR("revanced_new_actionbar", true, ReturnType.BOOLEAN),
@@ -60,7 +58,7 @@ public enum SettingsEnum {
FULLSCREEN_PANELS_SHOWN("revanced_fullscreen_panels_enabled", false, ReturnType.BOOLEAN), //ToDo: Add to prefs
//Misc. Settings
- AUTOREPEAT_BUTTON_SHOWN("revanced_pref_auto_repeat_button", false, ReturnType.BOOLEAN),
+ //ToDo: Not used atm, Patch missing
CAPTIONS_ENABLED("revanced_pref_captions", false, ReturnType.BOOLEAN),
PREFERRED_AUTO_REPEAT("revanced_pref_auto_repeat", true, ReturnType.BOOLEAN),
USE_HDR_AUTO_BRIGHTNESS("revanced_pref_hdr_autobrightness", true, ReturnType.BOOLEAN),
@@ -243,7 +241,7 @@ public enum SettingsEnum {
return path;
}
- private ReturnType getReturnType() {
+ public ReturnType getReturnType() {
return returnType;
}
diff --git a/app/src/main/java/app/revanced/integrations/settingsmenu/ReVancedSettingsFragment.java b/app/src/main/java/app/revanced/integrations/settingsmenu/ReVancedSettingsFragment.java
index fb20b49d..b2cdb0ed 100644
--- a/app/src/main/java/app/revanced/integrations/settingsmenu/ReVancedSettingsFragment.java
+++ b/app/src/main/java/app/revanced/integrations/settingsmenu/ReVancedSettingsFragment.java
@@ -23,135 +23,81 @@ import com.google.android.apps.youtube.app.YouTubeTikTokRoot_Application;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
+import app.revanced.integrations.utils.SharedPrefHelper;
import app.revanced.integrations.videoplayer.AutoRepeat;
-import app.revanced.integrations.videoplayer.Copy;
-import app.revanced.integrations.videoplayer.CopyWithTimeStamp;
public class ReVancedSettingsFragment extends PreferenceFragment {
- public static Context overlayContext;
public static Class homeActivityClass;
- private SharedPreferences sharedPreferences;
- private PreferenceScreen adsSettingsPreferenceScreen;
- private PreferenceScreen bufferSettingsPreferenceScreen;
- private Preference codecDefault;
- private PreferenceScreen codecPreferenceScreen;
- private Preference codecVP9;
- private PreferenceScreen layoutSettingsPreferenceScreen;
- private PreferenceScreen miscsPreferenceScreen;
- private SwitchPreference tabletMiniplayer;
- private PreferenceScreen videoAdSettingsPreferenceScreen;
- private PreferenceScreen videoSettingsPreferenceScreen;
- private SwitchPreference vp9Override;
- private PreferenceScreen xSwipeControlPreferenceScreen;
+ private PreferenceScreen[] screens;
+
private boolean Registered = false;
private boolean settingsInitialized = false;
- private final CharSequence[] videoQualityEntries = {"Auto", "144p", "240p", "360p", "480p", "720p", "1080p", "1440p", "2160p"};
- private final CharSequence[] videoQualityentryValues = {"-2", "144", "240", "360", "480", "720", "1080", "1440", "2160"};
private final CharSequence[] videoSpeedEntries = {"Auto", "0.25x", "0.5x", "0.75x", "Normal", "1.25x", "1.5x", "1.75x", "2x", "3x", "4x", "5x"};
private final CharSequence[] videoSpeedentryValues = {"-2", "0.25", "0.5", "0.75", "1.0", "1.25", "1.5", "1.75", "2.0", "3.0", "4.0", "5.0"};
- private final CharSequence[] buttonLocationEntries = {"None", "In player", "Under player", "Both"};
- private final CharSequence[] buttonLocationentryValues = {"NONE", "PLAYER", "BUTTON_BAR", "BOTH"};
+ //private final CharSequence[] buttonLocationEntries = {"None", "In player", "Under player", "Both"};
+ //private final CharSequence[] buttonLocationentryValues = {"NONE", "PLAYER", "BUTTON_BAR", "BOTH"};
SharedPreferences.OnSharedPreferenceChangeListener listener = (sharedPreferences, str) -> {
- if (str.equals(SettingsEnum.DEBUG.getPath())) {
- SettingsEnum.DEBUG.setValue(((SwitchPreference) findPreference(str)).isChecked());
- } else if (str.equals(SettingsEnum.HOME_ADS_SHOWN.getPath())) {
- SettingsEnum.HOME_ADS_SHOWN.setValue(((SwitchPreference) adsSettingsPreferenceScreen.findPreference(str)).isChecked());
+ for (SettingsEnum setting : SettingsEnum.values()) {
+ if (!setting.getPath().equals(str)) continue;
+ Preference pref = this.findPreferenceOnScreen(str);
+
+ if (pref instanceof SwitchPreference) {
+ SwitchPreference switchPref = (SwitchPreference) pref;
+ setting.setValue(switchPref.isChecked());
+
+ if (setting == SettingsEnum.PREFERRED_AUTO_REPEAT) {
+ AutoRepeat.changeSelected(setting.getBoolean(), true);
+ }
+
+ } else if (pref instanceof EditTextPreference) {
+ EditTextPreference editPref = (EditTextPreference) pref;
+ Object value = null;
+ switch (setting.getReturnType()) {
+ case FLOAT:
+ value = Float.parseFloat(editPref.getText());
+ break;
+ case LONG:
+ value = Long.parseLong(editPref.getText());
+ break;
+ case STRING:
+ value = editPref.getText();
+ break;
+ case INTEGER:
+ value = Integer.parseInt(editPref.getText());
+ break;
+ default:
+ LogHelper.printException(ReVancedSettingsFragment.class, "Setting has no valid return type! " + setting.getReturnType());
+ break;
+ }
+ setting.setValue(value);
+ } else if (pref instanceof ListPreference) {
+ ListPreference listPref = (ListPreference) pref;
+ if (setting == SettingsEnum.PREFERRED_VIDEO_SPEED) {
+ Float value = SettingsEnum.PREFERRED_VIDEO_SPEED.getFloat();
+ listPref.setDefaultValue(value);
+ listPref.setSummary(videoSpeedEntries[listPref.findIndexOfValue(String.valueOf(value))]);
+ SettingsEnum.PREFERRED_VIDEO_SPEED.setValue(value);
+ } else {
+ LogHelper.printException(ReVancedSettingsFragment.class, "No valid setting found: " + setting.toString());
+ }
+ /*
+ if ("pref_copy_video_url_timestamp_button_list".equals(str)) {
+ CopyWithTimeStamp.refreshShouldBeShown();
+ } else if ("pref_copy_video_url_button_list".equals(str)) {
+ Copy.refreshShouldBeShown();
+ }
+ */
+ } else {
+ LogHelper.printException(ReVancedSettingsFragment.class, "Setting cannot be handled! " + pref.toString());
+ }
+
if (ReVancedUtils.getContext() != null && settingsInitialized) {
rebootDialog(getActivity());
}
- } else if (str.equals(SettingsEnum.VIDEO_ADS_SHOWN.getPath())) {
- SettingsEnum.VIDEO_ADS_SHOWN.setValue(((SwitchPreference) adsSettingsPreferenceScreen.findPreference(str)).isChecked());
- if (ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(getActivity());
- }
- } else if (str.equals(SettingsEnum.REEL_BUTTON_SHOWN.getPath())) {
- SettingsEnum.REEL_BUTTON_SHOWN.setValue(((SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str)).isChecked());
- if (ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(getActivity());
- }
- } else if (str.equals(SettingsEnum.INFO_CARDS_SHOWN.getPath())) {
- SettingsEnum.INFO_CARDS_SHOWN.setValue(((SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str)).isChecked());
- } else if (str.equals(SettingsEnum.BRANDING_SHOWN.getPath())) {
- SettingsEnum.BRANDING_SHOWN.setValue(((SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str)).isChecked());
- } else if (str.equals(SettingsEnum.CAST_BUTTON_SHOWN.getPath())) {
- SettingsEnum.CAST_BUTTON_SHOWN.setValue(((SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str)).isChecked());
- } else if (str.equals(SettingsEnum.USE_TABLET_MINIPLAYER.getPath())) {
- SettingsEnum.USE_TABLET_MINIPLAYER.setValue(((SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str)).isChecked());
- if (ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(getActivity());
- }
- } else if (str.equals(SettingsEnum.CREATE_BUTTON_SHOWN.getPath())) {
- SwitchPreference switchPreference = (SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str);
- SettingsEnum.CREATE_BUTTON_SHOWN.setValue(switchPreference.isChecked());
- if (ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(getActivity());
- }
- } else if (str.equals(SettingsEnum.USE_NEW_ACTIONBAR.getPath())) {
- SettingsEnum.USE_NEW_ACTIONBAR.setValue(((SwitchPreference) layoutSettingsPreferenceScreen.findPreference(str)).isChecked());
- if (ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(getActivity());
- }
- } else if (str.equals(SettingsEnum.CODEC_OVERRIDE.getPath())) {
- SettingsEnum.CODEC_OVERRIDE.setValue(((SwitchPreference) findPreference(str)).isChecked());
- if (ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(getActivity());
- }
- } else if (str.equals(SettingsEnum.PREFERRED_RESOLUTION_WIFI.getPath())) {
- ListPreference listPreference2 = (ListPreference) videoSettingsPreferenceScreen.findPreference(str);
- int index = SettingsEnum.PREFERRED_RESOLUTION_WIFI.getInt();
- listPreference2.setDefaultValue(index);
- listPreference2.setSummary(videoQualityEntries[listPreference2.findIndexOfValue(String.valueOf(index))]);
- SettingsEnum.PREFERRED_RESOLUTION_WIFI.setValue(index);
- } else if (str.equals(SettingsEnum.PREFERRED_RESOLUTION_MOBILE.getPath())) {
- ListPreference listPreference2 = (ListPreference) videoSettingsPreferenceScreen.findPreference(str);
- int index = SettingsEnum.PREFERRED_RESOLUTION_MOBILE.getInt();
- listPreference2.setDefaultValue(index);
- listPreference2.setSummary(videoQualityEntries[listPreference2.findIndexOfValue(String.valueOf(index))]);
- SettingsEnum.PREFERRED_RESOLUTION_MOBILE.setValue(index);
- } else if (str.equals(SettingsEnum.PREFERRED_VIDEO_SPEED.getPath())) {
- ListPreference listPreference4 = (ListPreference) videoSettingsPreferenceScreen.findPreference(str);
- Float value = SettingsEnum.PREFERRED_VIDEO_SPEED.getFloat();
- listPreference4.setDefaultValue(value);
- listPreference4.setSummary(videoSpeedEntries[listPreference4.findIndexOfValue(String.valueOf(value))]);
- SettingsEnum.PREFERRED_VIDEO_SPEED.setValue(value);
- } else if (str.equals(SettingsEnum.MAX_BUFFER.getPath())) {
- EditTextPreference editTextPreference3 = (EditTextPreference) bufferSettingsPreferenceScreen.findPreference(str);
- if (editTextPreference3 != null) {
- editTextPreference3.setSummary(editTextPreference3.getText());
- SettingsEnum.MAX_BUFFER.setValue(Integer.parseInt(editTextPreference3.getText()));
- }
- } else if (str.equals(SettingsEnum.PLAYBACK_MAX_BUFFER.getPath())) {
- EditTextPreference editTextPreference4 = (EditTextPreference) ReVancedSettingsFragment.this.bufferSettingsPreferenceScreen.findPreference(str);
- if (editTextPreference4 != null) {
- editTextPreference4.setSummary(editTextPreference4.getText());
- SettingsEnum.PLAYBACK_MAX_BUFFER.setValue(Integer.parseInt(editTextPreference4.getText()));
- }
- } else if (str.equals(SettingsEnum.MAX_PLAYBACK_BUFFER_AFTER_REBUFFER.getPath())) {
- EditTextPreference editTextPreference5 = (EditTextPreference) ReVancedSettingsFragment.this.bufferSettingsPreferenceScreen.findPreference(str);
- if (editTextPreference5 != null) {
- editTextPreference5.setSummary(editTextPreference5.getText());
- SettingsEnum.MAX_PLAYBACK_BUFFER_AFTER_REBUFFER.setValue(Integer.parseInt(editTextPreference5.getText()));
- }
- } else if (str.equals(SettingsEnum.USE_HDR_AUTO_BRIGHTNESS.getPath())) {
- SettingsEnum.USE_HDR_AUTO_BRIGHTNESS.setValue(((SwitchPreference) miscsPreferenceScreen.findPreference(str)).isChecked());
- } else if (str.equals(SettingsEnum.ENABLE_SWIPE_BRIGHTNESS.getPath())) {
- SettingsEnum.ENABLE_SWIPE_BRIGHTNESS.setValue(((SwitchPreference) xSwipeControlPreferenceScreen.findPreference(str)).isChecked());
- } else if (str.equals(SettingsEnum.ENABLE_SWIPE_VOLUME.getPath())) {
- SettingsEnum.ENABLE_SWIPE_VOLUME.setValue(((SwitchPreference) xSwipeControlPreferenceScreen.findPreference(str)).isChecked());
- } else if ("revanced_ryd_enabled".equals(str) && ReVancedUtils.getContext() != null && settingsInitialized) {
- rebootDialog(ReVancedSettingsFragment.this.getActivity());
- } else if (str.equals("pref_auto_repeat_button")) {
- AutoRepeatLinks();
- } else if ("pref_auto_repeat".equals(str)) {
- AutoRepeat.changeSelected(sharedPreferences.getBoolean("pref_auto_repeat", false), true);
- } else if ("pref_copy_video_url_timestamp_button_list".equals(str)) {
- CopyWithTimeStamp.refreshShouldBeShown();
- } else if ("pref_copy_video_url_button_list".equals(str)) {
- Copy.refreshShouldBeShown();
}
};
@@ -159,78 +105,33 @@ public class ReVancedSettingsFragment extends PreferenceFragment {
@Override // android.preference.PreferenceFragment, android.app.Fragment
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
- getPreferenceManager().setSharedPreferencesName("youtube");
+ getPreferenceManager().setSharedPreferencesName(SharedPrefHelper.SharedPrefNames.YOUTUBE.getName());
try {
int identifier = getResources().getIdentifier("revanced_prefs", "xml", getPackageName());
-
addPreferencesFromResource(identifier);
- String stringByName = getStringByName(getActivity(), "quality_auto");
- this.videoQualityEntries[0] = stringByName;
- this.videoSpeedEntries[0] = stringByName;
- String stringByName2 = getStringByName(getActivity(), "pref_subtitles_scale_normal");
- if (stringByName2.equals("")) {
- this.videoSpeedEntries[4] = "Normal";
- } else {
- this.videoSpeedEntries[4] = stringByName2;
- }
+
SharedPreferences sharedPreferences = getPreferenceManager().getSharedPreferences();
- this.sharedPreferences = sharedPreferences;
this.settingsInitialized = sharedPreferences.getBoolean("revanced_initialized", false);
- this.sharedPreferences.registerOnSharedPreferenceChangeListener(this.listener);
+ sharedPreferences.registerOnSharedPreferenceChangeListener(this.listener);
this.Registered = true;
- this.codecPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("codec_override");
- this.videoSettingsPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("video_settings");
- this.videoAdSettingsPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("video_ad_settings");
- this.adsSettingsPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("ad_settings");
- this.layoutSettingsPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("layout_settings");
- this.bufferSettingsPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("buffer_screen");
- this.miscsPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("misc_screen");
- this.xSwipeControlPreferenceScreen = (PreferenceScreen) getPreferenceScreen().findPreference("xfenster_screen");
- this.vp9Override = (SwitchPreference) this.codecPreferenceScreen.findPreference("revanced_vp9_enabled");
- this.codecDefault = this.codecPreferenceScreen.findPreference("pref_default_override");
- this.codecVP9 = this.codecPreferenceScreen.findPreference("pref_vp9_override");
- this.tabletMiniplayer = (SwitchPreference) this.layoutSettingsPreferenceScreen.findPreference("tablet_miniplayer");
- AutoRepeatLinks();
- final ListPreference listPreference = (ListPreference) this.videoSettingsPreferenceScreen.findPreference("pref_preferred_video_quality_wifi");
- final ListPreference listPreference2 = (ListPreference) this.videoSettingsPreferenceScreen.findPreference("pref_preferred_video_quality_mobile");
- setListPreferenceData(listPreference, true);
- setListPreferenceData(listPreference2, false);
+ this.screens[0] = (PreferenceScreen) getPreferenceScreen().findPreference("codec_override");
+ this.screens[1] = (PreferenceScreen) getPreferenceScreen().findPreference("video_settings");
+ this.screens[2] = (PreferenceScreen) getPreferenceScreen().findPreference("video_ad_settings");
+ this.screens[3] = (PreferenceScreen) getPreferenceScreen().findPreference("ad_settings");
+ this.screens[4] = (PreferenceScreen) getPreferenceScreen().findPreference("layout_settings");
+ this.screens[5] = (PreferenceScreen) getPreferenceScreen().findPreference("buffer_screen");
+ this.screens[6] = (PreferenceScreen) getPreferenceScreen().findPreference("misc_screen");
+ this.screens[7] = (PreferenceScreen) getPreferenceScreen().findPreference("swipe_screen");
- listPreference.setOnPreferenceClickListener(preference -> {
- ReVancedSettingsFragment.this.setListPreferenceData(listPreference, true);
- return false;
- });
-
- listPreference2.setOnPreferenceClickListener(preference -> {
- ReVancedSettingsFragment.this.setListPreferenceData(listPreference2, false);
- return false;
- });
- final ListPreference listPreference3 = (ListPreference) this.videoSettingsPreferenceScreen.findPreference("pref_preferred_video_speed");
+ final ListPreference listPreference3 = (ListPreference) screens[1].findPreference("pref_preferred_video_speed");
setSpeedListPreferenceData(listPreference3);
listPreference3.setOnPreferenceClickListener(preference -> {
- ReVancedSettingsFragment.this.setSpeedListPreferenceData(listPreference3);
- return false;
- });
- Preference findPreference = findPreference("pref_about_field");
-
- this.codecDefault.setOnPreferenceClickListener(preference -> {
- SettingsEnum.CODEC_OVERRIDE.saveValue(false);
+ setSpeedListPreferenceData(listPreference3);
return false;
});
- this.codecVP9.setOnPreferenceClickListener(preference -> {
- SettingsEnum.CODEC_OVERRIDE.saveValue(true);
- return false;
- });
-
- if (ReVancedUtils.isTablet(ReVancedUtils.getContext())) {
- if (this.layoutSettingsPreferenceScreen.findPreference("tablet_miniplayer") != null) {
- this.layoutSettingsPreferenceScreen.removePreference(this.tabletMiniplayer);
- }
- }
-
- this.sharedPreferences.edit().putBoolean("revanced_initialized", true);
+ sharedPreferences.edit().putBoolean("revanced_initialized", true);
this.settingsInitialized = true;
} catch (Throwable th) {
LogHelper.printException(ReVancedSettingsFragment.class, "Unable to retrieve resourceId for xfile_prefs", th);
@@ -240,33 +141,38 @@ public class ReVancedSettingsFragment extends PreferenceFragment {
@Override // android.preference.PreferenceFragment, android.app.Fragment
public void onDestroy() {
if (this.Registered) {
- this.sharedPreferences.unregisterOnSharedPreferenceChangeListener(this.listener);
+ getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this.listener);
this.Registered = false;
}
super.onDestroy();
}
- protected void setListPreferenceData(ListPreference listPreference, boolean z) {
- listPreference.setEntries(this.videoQualityEntries);
- listPreference.setEntryValues(this.videoQualityentryValues);
- String string = this.sharedPreferences.getString(z ? "pref_preferred_video_quality_wifi" : "pref_preferred_video_quality_mobile", "-2");
- if (listPreference.getValue() == null) {
- listPreference.setValue(string);
+ private Preference findPreferenceOnScreen(CharSequence key) {
+ if (key == null) {
+ LogHelper.printException(ReVancedSettingsFragment.class, "Key cannot be null!");
+ return null;
}
- listPreference.setSummary(this.videoQualityEntries[listPreference.findIndexOfValue(string)]);
+ Preference pref = null;
+ if (this.findPreference(key) != null) {
+ pref = this.findPreference(key);
+ } else {
+ for (PreferenceScreen screen : this.screens) {
+ Preference toCheck = screen.findPreference(key);
+ if (toCheck == null) continue;
+ pref = toCheck;
+ }
+ }
+
+ return pref;
}
- protected void setSpeedListPreferenceData(ListPreference listPreference) {
+ private void setSpeedListPreferenceData(ListPreference listPreference) {
listPreference.setEntries(this.videoSpeedEntries);
listPreference.setEntryValues(this.videoSpeedentryValues);
- String string = this.sharedPreferences.getString("pref_preferred_video_speed", "-2");
- if (listPreference.getValue() == null) {
- listPreference.setValue(string);
- }
- listPreference.setSummary(this.videoSpeedEntries[listPreference.findIndexOfValue(string)]);
}
- protected void setCopyLinkListPreferenceData(ListPreference listPreference, String str) {
+ /*
+ private void setCopyLinkListPreferenceData(ListPreference listPreference, String str) {
listPreference.setEntries(this.buttonLocationEntries);
listPreference.setEntryValues(this.buttonLocationentryValues);
String string = this.sharedPreferences.getString(str, "NONE");
@@ -275,6 +181,7 @@ public class ReVancedSettingsFragment extends PreferenceFragment {
}
listPreference.setSummary(this.buttonLocationEntries[listPreference.findIndexOfValue(string)]);
}
+ */
private String getPackageName() {
Context context = YouTubeTikTokRoot_Application.getAppContext();
@@ -288,21 +195,6 @@ public class ReVancedSettingsFragment extends PreferenceFragment {
return PACKAGE_NAME;
}
- private void AutoRepeatLinks() {
- boolean z = this.sharedPreferences.getBoolean("pref_auto_repeat_button", false);
- SwitchPreference switchPreference = (SwitchPreference) this.miscsPreferenceScreen.findPreference("pref_auto_repeat");
- if (switchPreference == null) {
- return;
- }
- if (z) {
- switchPreference.setEnabled(false);
- AutoRepeat.isAutoRepeatBtnEnabled = true;
- return;
- }
- switchPreference.setEnabled(true);
- AutoRepeat.isAutoRepeatBtnEnabled = false;
- }
-
private void reboot(Activity activity, Class homeActivityClass) {
int intent;
intent = PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE;
diff --git a/app/src/main/java/app/revanced/integrations/sponsorblock/SwipeHelper.java b/app/src/main/java/app/revanced/integrations/sponsorblock/SwipeHelper.java
index 42159a9c..37cfb90c 100644
--- a/app/src/main/java/app/revanced/integrations/sponsorblock/SwipeHelper.java
+++ b/app/src/main/java/app/revanced/integrations/sponsorblock/SwipeHelper.java
@@ -22,7 +22,7 @@ public class SwipeHelper {
try {
_frameLayout = (FrameLayout) obj;
Context appContext = ReVancedUtils.getContext();
- if (ReVancedUtils.isTablet(appContext) || SharedPrefHelper.getBoolean(appContext, SharedPrefHelper.SharedPrefNames.YOUTUBE,"pref_xfenster_tablet", false)) {
+ if (ReVancedUtils.isTablet(appContext) || SharedPrefHelper.getBoolean(appContext, SharedPrefHelper.SharedPrefNames.YOUTUBE,"pref_swipe_tablet", false)) {
isTabletMode = true;
}
} catch (Exception e) {
diff --git a/app/src/main/java/app/revanced/integrations/whitelist/WhitelistType.java b/app/src/main/java/app/revanced/integrations/whitelist/WhitelistType.java
index da1e2c1d..4e34e70b 100644
--- a/app/src/main/java/app/revanced/integrations/whitelist/WhitelistType.java
+++ b/app/src/main/java/app/revanced/integrations/whitelist/WhitelistType.java
@@ -2,10 +2,11 @@ package app.revanced.integrations.whitelist;
import static app.revanced.integrations.sponsorblock.StringRef.str;
+import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.SharedPrefHelper;
public enum WhitelistType {
- ADS(SharedPrefHelper.SharedPrefNames.YOUTUBE, "revanced_whitelist_ads_enabled"),
+ ADS(SharedPrefHelper.SharedPrefNames.YOUTUBE, SettingsEnum.ENABLE_WHITELIST.getPath()),
SPONSORBLOCK(SharedPrefHelper.SharedPrefNames.SPONSOR_BLOCK, "revanced_whitelist_sb_enabled");
private final String friendlyName;
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 82cb866c..a44ced44 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,7 +1,5 @@
- " - xfileFIN (First creator) - oSumAtrIX (Patches, Patcher, Support) - TheJeterLP (Patches, Integrations) - bogadana (Patches, Support) - Sculas (Manager, Patcher) - baiorett (Manager)"
- About
"Doesn't show auto-repeat button in the player overlay. Use the toggle below to control auto-repeat"
Auto-repeat button is shown in the player overlay
Auto-repeat button
@@ -15,14 +13,13 @@
Cast button is hidden
Cast button is shown
Cast button
+ Autoplay button is hidden
+ Autoplay button is shown
+ Autoplay button
Codec override
- Manufacturer override
- Model override
Extra debug logging is disabled
Extra Debug logging is enabled
Debug mode
- Tap to set your device\'s default codec
- Default codec
Tap to join ReVanced on Discord
Discord server
Video brightness will follow your device\'s brightness on HDR landscape videos
@@ -36,18 +33,11 @@
Default: 120000"
Maximum buffer
- Misc.
- Video resolution is following your device screen resolution
- Video resolution is being overridden to max
- Max resolution
+ Miscellaneous
"The duration of media that must be buffered for playback to start or resume following a user action such as seeking (in milliseconds)
Default: 2500"
Playback start
- Select preferred video resolution on Cellular Network
- Preferred video quality Cellular
- Select preferred video resolution on Wi-Fi Network
- Preferred video quality Wi-Fi
Select preferred video speed
Preferred video speed
"The duration of media that must be buffered for playback to resume after a rebuffer (in milliseconds). A rebuffer is defined to be caused by buffer depletion rather than a user action
@@ -70,29 +60,23 @@
Show shorts button
Shorts button is hidden
Shorts button is shown
+ Fullscreen panels
+ Fullscreen panels are hidden
+ Fullscreen panels are shown
Dynamic player
Dynamic player is defined automatically
Dynamic player is forced on square and vertical videos
- New official theme toggle is in the General settings. This theme toggle is \"Developer\" toggle
- Theme info
- Accessibility controls aren\'t displayed in the player
- Accessibility controls are displayed in the player
- Accessibility player
Captions aren\'t enabled automatically at 0% volume
Captions are enabled automatically at 0% volume
- Auto captions
- Amount of pixels excluded from swiping at the top of the display to prevent swipe controls when dragging down notifications
- Swipe padding
- Amount of pixels you have to swipe until detecting starts to prevent unintended swiping
- Swipe threshold
- Swipe controls for brightness are disabled
- Swipe controls for brightness are enabled
- Swipe controls for Brightness
- Swipe controls for Brightness and Volume
- Swipe controls
- Swipe controls for volume are disabled
- Swipe controls for volume are enabled
- Swipe controls for Volume
+ Auto captions-->
+ Swipe controls for brightness are disabled
+ Swipe controls for brightness are enabled
+ Swipe controls for Brightness
+ Swipe controls for Brightness and Volume
+ Swipe controls
+ Swipe controls for volume are disabled
+ Swipe controls for volume are enabled
+ Swipe controls for Volume
Press-to-Swipe
Swipe controls are always active
Swipe controls require a long-press before activating
@@ -107,6 +91,9 @@
Transparency value of the overlay background (0–255)
Swipe Magnitude Threshold
Minimum magnitude before a swipe is detected
+ Tablet style
+ Tablet style is turned on. For example suggested videos are only partially working
+ Tablet style is turned off
Tap to open our website
ReVanced website
Home ADS are hidden
@@ -119,22 +106,9 @@
Stories are shown
YouTube stories
AD settings
- Credits for people who have contributed
- Credits
- Home ADS removing enhancement and showed other kinds of debugging methods
- souramoo
- SponsorBlock implementation
- JakubWeg
- Enhancements to SponsorBlock implementation
- cane
- Bug fixing/helping out
- Oizaro
Tablet miniplayer is not being used
Tablet miniplayer is being used
Tablet miniplayer
- ReVanced translators
- Link to Crowdin where you can contribute by translating ReVanced to your language
-
Enable SponsorBlock
SponsorBlock is a crowd-sourced system for skipping annoying parts in YouTube videos
Enable new segment adding
@@ -191,7 +165,7 @@
About
This app uses the API from SponsorBlock
Tap to learn more, and see downloads for other platforms at: sponsor.ajay.app
- Integration made by JakubWeg
+ Integration made by JakubWeg, recoded by oSumAtrIX
Tap to skip
Unable to submit segments: Status: %d %s
@@ -268,6 +242,30 @@
Movie upsell removal
Movie upsell removal is turned off
Movie upsell removal is turned on
+ Emergency box removal
+ Emergency box removal is turned on
+ Emergency box removal is turned off
+ Info panel removal
+ Info panel removal is turned on
+ Info panel removal is turned off
+ Medical panel removal
+ Medical panel removal is turned on
+ Medical panel removal is turned off
+ Paid content removal
+ Paid content removal is turned on
+ Paid content removal is turned off
+ Suggested for you removal
+ Suggested for you removal is turned on
+ Suggested for you removal is turned off
+ General Suggestions removal
+ General Suggestions removal is turned on
+ General Suggestions removal is turned off
+ Latest posts removal
+ Latest posts removal is turned on
+ Latest posts removal is turned off
+ Channel guidelines removal
+ Channel guidelines removal is turned on
+ Channel guidelines removal is turned off
SponsorBlock settings
Uses the sponsor.ajay.app API
@@ -282,6 +280,11 @@
Seekbar Tapping
Seekbar Tapping (video progress bar) is disabled
Seekbar Tapping (video progress bar) is enabled
+
+ Background playback
+ Background playback is disabled
+ Background playback is enabled
+
Normal
Shorts Shelf
@@ -347,7 +350,6 @@
API URL reset
Provided API URL is invalid
- Video ad settings
Video ad whitelisting
Video ad whitelisting is turned off
Video ad whitelisting is turned on. Use the ADS button under the player to whitelist a channel
@@ -368,16 +370,4 @@
Switch this on to see the dislike counts again
Return YouTube Dislike Integration
This integration uses the RYD API from https://returnyoutubedislike.com. Tap to learn more
-
- Tablet style
- Tablet style is turned on. For example suggested videos are only partially working
- Tablet style is turned off
-
- Return YouTube Dislike
- Want to enable Return YouTube Dislikes to see dislikes again? Your likes/dislikes will be sent to RYD API (anonymously) after enabling RYD integration. You can enable/disable this in the settings at any time.
- SponsorBlock
- Are you aware of the SponsorBlock integration in Vanced? With it you can skip sponsored segments in the videos. You can enable/disable this in the settings at any time.
- Learn more
- Disable
- Enable
diff --git a/app/src/main/res/xml/revanced_prefs.xml b/app/src/main/res/xml/revanced_prefs.xml
index 7f838c97..3fe2a52e 100644
--- a/app/src/main/res/xml/revanced_prefs.xml
+++ b/app/src/main/res/xml/revanced_prefs.xml
@@ -6,67 +6,172 @@
-
+
-
-
+
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
@@ -76,15 +181,5 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file