From 68e7bdf2e1a912a30906e166de1328b9355ff80c Mon Sep 17 00:00:00 2001 From: Joey Peter Date: Sat, 30 Jul 2022 19:33:07 +0200 Subject: [PATCH] refactor: add missing settings to xml files and rewrite SetingsFragment --- .../integrations/settings/SettingsEnum.java | 14 +- .../ReVancedSettingsFragment.java | 296 ++++++------------ .../sponsorblock/SwipeHelper.java | 2 +- .../integrations/whitelist/WhitelistType.java | 3 +- app/src/main/res/values/strings.xml | 108 +++---- app/src/main/res/xml/revanced_prefs.xml | 189 ++++++++--- 6 files changed, 294 insertions(+), 318 deletions(-) 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