refactor: add missing settings to xml files and rewrite SetingsFragment

This commit is contained in:
Joey Peter 2022-07-30 19:33:07 +02:00 committed by GitHub
parent b531dbd6ce
commit 68e7bdf2e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 294 additions and 318 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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) {

View File

@ -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;

View File

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="revanced_about_summary">" - xfileFIN (First creator) - oSumAtrIX (Patches, Patcher, Support) - TheJeterLP (Patches, Integrations) - bogadana (Patches, Support) - Sculas (Manager, Patcher) - baiorett (Manager)"</string>
<string name="revanced_about_title">About</string>
<string name="revanced_auto_repeat_button_summary_off">"Doesn't show auto-repeat button in the player overlay. Use the toggle below to control auto-repeat"</string>
<string name="revanced_auto_repeat_button_summary_on">Auto-repeat button is shown in the player overlay</string>
<string name="revanced_auto_repeat_button_title">Auto-repeat button</string>
@ -15,14 +13,13 @@
<string name="revanced_cast_button_summary_off">Cast button is hidden</string>
<string name="revanced_cast_button_summary_on">Cast button is shown</string>
<string name="revanced_cast_button_title">Cast button</string>
<string name="revanced_autoplay_button_summary_off">Autoplay button is hidden</string>
<string name="revanced_autoplay_button_summary_on">Autoplay button is shown</string>
<string name="revanced_autoplay_button_title">Autoplay button</string>
<string name="revanced_codec_override_title">Codec override</string>
<string name="revanced_current_override_manufacturer">Manufacturer override</string>
<string name="revanced_current_override_model">Model override</string>
<string name="revanced_debug_summary_off">Extra debug logging is disabled</string>
<string name="revanced_debug_summary_on">Extra Debug logging is enabled</string>
<string name="revanced_debug_title">Debug mode</string>
<string name="revanced_default_codec_summary">Tap to set your device\'s default codec</string>
<string name="revanced_default_codec_title">Default codec</string>
<string name="revanced_discord_summary">Tap to join ReVanced on Discord</string>
<string name="revanced_discord_title">Discord server</string>
<string name="revanced_hdr_full_brightness_summary_on">Video brightness will follow your device\'s brightness on HDR landscape videos</string>
@ -36,18 +33,11 @@
Default: 120000"</string>
<string name="revanced_maximum_buffer_title">Maximum buffer</string>
<string name="revanced_misc_title">Misc.</string>
<string name="revanced_override_resolution_summary_off">Video resolution is following your device screen resolution</string>
<string name="revanced_override_resolution_summary_on">Video resolution is being overridden to max</string>
<string name="revanced_override_resolution_title">Max resolution</string>
<string name="revanced_misc_title">Miscellaneous</string>
<string name="revanced_playback_start_summary">"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"</string>
<string name="revanced_playback_start_title">Playback start</string>
<string name="revanced_preferred_video_quality_mobile_summary">Select preferred video resolution on Cellular Network</string>
<string name="revanced_preferred_video_quality_mobile_title">Preferred video quality Cellular</string>
<string name="revanced_preferred_video_quality_wifi_summary">Select preferred video resolution on Wi-Fi Network</string>
<string name="revanced_preferred_video_quality_wifi_title">Preferred video quality Wi-Fi</string>
<string name="revanced_preferred_video_speed_summary">Select preferred video speed</string>
<string name="revanced_preferred_video_speed_title">Preferred video speed</string>
<string name="revanced_rebuffer_summary">"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 @@
<string name="revanced_shorts_button_title">Show shorts button</string>
<string name="revanced_shorts_button_summary_off">Shorts button is hidden</string>
<string name="revanced_shorts_button_summary_on">Shorts button is shown</string>
<string name="revanced_fullscreen_panels_title">Fullscreen panels</string>
<string name="revanced_fullscreen_panels_summary_off">Fullscreen panels are hidden</string>
<string name="revanced_fullscreen_panels_summary_on">Fullscreen panels are shown</string>
<string name="revanced_zoom_to_fit_vertical_title">Dynamic player</string>
<string name="revanced_zoom_to_fit_vertical_summary_off">Dynamic player is defined automatically</string>
<string name="revanced_zoom_to_fit_vertical_summary_on">Dynamic player is forced on square and vertical videos</string>
<string name="revanced_about_theme_summary">New official theme toggle is in the General settings. This theme toggle is \"Developer\" toggle</string>
<string name="revanced_about_theme_title">Theme info</string>
<string name="revanced_accessibility_seek_buttons_summary_off">Accessibility controls aren\'t displayed in the player</string>
<string name="revanced_accessibility_seek_buttons_summary_on">Accessibility controls are displayed in the player</string>
<string name="revanced_accessibility_seek_buttons_title">Accessibility player</string>
<string name="revanced_auto_captions_summary_off">Captions aren\'t enabled automatically at 0% volume </string>
<string name="revanced_auto_captions_summary_on">Captions are enabled automatically at 0% volume</string>
<string name="revanced_auto_captions_title">Auto captions</string>
<string name="revanced_swipe_padding_top_summary">Amount of pixels excluded from swiping at the top of the display to prevent swipe controls when dragging down notifications</string>
<string name="revanced_swipe_padding_top_title">Swipe padding</string>
<string name="revanced_swipe_threshold_summary">Amount of pixels you have to swipe until detecting starts to prevent unintended swiping</string>
<string name="revanced_swipe_threshold_title">Swipe threshold</string>
<string name="revanced_xfenster_brightness_summary_off">Swipe controls for brightness are disabled</string>
<string name="revanced_xfenster_brightness_summary_on">Swipe controls for brightness are enabled</string>
<string name="revanced_xfenster_brightness_title">Swipe controls for Brightness</string>
<string name="revanced_xfenster_screen_summary">Swipe controls for Brightness and Volume</string>
<string name="revanced_xfenster_title">Swipe controls</string>
<string name="revanced_xfenster_volume_summary_off">Swipe controls for volume are disabled</string>
<string name="revanced_xfenster_volume_summary_on">Swipe controls for volume are enabled</string>
<string name="revanced_xfenster_volume_title">Swipe controls for Volume</string>
<string name="revanced_auto_captions_title">Auto captions</string>-->
<string name="revanced_swipe_brightness_summary_off">Swipe controls for brightness are disabled</string>
<string name="revanced_swipe_brightness_summary_on">Swipe controls for brightness are enabled</string>
<string name="revanced_swipe_brightness_title">Swipe controls for Brightness</string>
<string name="revanced_swipe_screen_summary">Swipe controls for Brightness and Volume</string>
<string name="revanced_swipe_title">Swipe controls</string>
<string name="revanced_swipe_volume_summary_off">Swipe controls for volume are disabled</string>
<string name="revanced_swipe_volume_summary_on">Swipe controls for volume are enabled</string>
<string name="revanced_swipe_volume_title">Swipe controls for Volume</string>
<string name="revanced_swipe_pts_title">Press-to-Swipe</string>
<string name="revanced_swipe_pts_summary_off">Swipe controls are always active</string>
<string name="revanced_swipe_pts_summary_on">Swipe controls require a long-press before activating</string>
@ -107,6 +91,9 @@
<string name="revanced_swipe_overlay_bg_alpha_summary">Transparency value of the overlay background (0255)</string>
<string name="revanced_swipe_magnitude_threshold_title">Swipe Magnitude Threshold</string>
<string name="revanced_swipe_magnitude_threshold_summary">Minimum magnitude before a swipe is detected</string>
<string name="revanced_swipe_tablet_title">Tablet style</string>
<string name="revanced_swipe_tablet_summary_on">Tablet style is turned on. For example suggested videos are only partially working</string>
<string name="revanced_swipe_tablet_summary_off">Tablet style is turned off</string>
<string name="revanced_website_summary">Tap to open our website</string>
<string name="revanced_website_title">ReVanced website</string>
<string name="revanced_home_ads_summary_off">Home ADS are hidden</string>
@ -119,22 +106,9 @@
<string name="revanced_reel_summary_on">Stories are shown</string>
<string name="revanced_reel_title">YouTube stories</string>
<string name="revanced_ad_settings_title">AD settings</string>
<string name="revanced_credit_summary">Credits for people who have contributed</string>
<string name="revanced_credit_title">Credits</string>
<string name="souramoo_summary">Home ADS removing enhancement and showed other kinds of debugging methods</string>
<string name="souramoo_title" translatable="false">souramoo</string>
<string name="bawm_summary">SponsorBlock implementation</string>
<string name="bawm_title" translatable="false">JakubWeg</string>
<string name="cane_summary">Enhancements to SponsorBlock implementation</string>
<string name="cane_title" translatable="false">cane</string>
<string name="oizaro_summary">Bug fixing/helping out</string>
<string name="oizaro_title" translatable="false">Oizaro</string>
<string name="revanced_tablet_miniplayer_summary_off">Tablet miniplayer is not being used</string>
<string name="revanced_tablet_miniplayer_summary_on">Tablet miniplayer is being used</string>
<string name="revanced_tablet_miniplayer_title">Tablet miniplayer</string>
<string name="revanced_translators_title">ReVanced translators</string>
<string name="revanced_translators_summary">Link to Crowdin where you can contribute by translating ReVanced to your language</string>
<string name="enable_sb">Enable SponsorBlock</string>
<string name="enable_sb_sum">SponsorBlock is a crowd-sourced system for skipping annoying parts in YouTube videos</string>
<string name="enable_segmadding">Enable new segment adding</string>
@ -191,7 +165,7 @@
<string name="about">About</string>
<string name="about_api">This app uses the API from SponsorBlock</string>
<string name="about_api_sum">Tap to learn more, and see downloads for other platforms at: sponsor.ajay.app</string>
<string name="about_madeby">Integration made by JakubWeg</string>
<string name="about_madeby">Integration made by JakubWeg, recoded by oSumAtrIX</string>
<string name="tap_skip">Tap to skip</string>
<string name="submit_failed_unknown_error" formatted="false">Unable to submit segments: Status: %d %s</string>
@ -268,6 +242,30 @@
<string name="litho_movie_upsell">Movie upsell removal</string>
<string name="litho_movie_upsell_off">Movie upsell removal is turned off</string>
<string name="litho_movie_upsell_on">Movie upsell removal is turned on</string>
<string name="litho_emergency_box">Emergency box removal</string>
<string name="litho_emergency_box_on">Emergency box removal is turned on</string>
<string name="litho_emergency_box_off">Emergency box removal is turned off</string>
<string name="litho_info_panel">Info panel removal</string>
<string name="litho_info_panel_on">Info panel removal is turned on</string>
<string name="litho_info_panel_off">Info panel removal is turned off</string>
<string name="litho_medical_panel">Medical panel removal</string>
<string name="litho_medical_panel_on">Medical panel removal is turned on</string>
<string name="litho_medical_panel_off">Medical panel removal is turned off</string>
<string name="litho_paid_content">Paid content removal</string>
<string name="litho_paid_content_on">Paid content removal is turned on</string>
<string name="litho_paid_content_off">Paid content removal is turned off</string>
<string name="litho_suggested">Suggested for you removal</string>
<string name="litho_suggested_on">Suggested for you removal is turned on</string>
<string name="litho_suggested_off">Suggested for you removal is turned off</string>
<string name="litho_hide_suggestions">General Suggestions removal</string>
<string name="litho_hide_suggestions_on">General Suggestions removal is turned on</string>
<string name="litho_hide_suggestions_off">General Suggestions removal is turned off</string>
<string name="litho_latest_posts">Latest posts removal</string>
<string name="litho_latest_posts_on">Latest posts removal is turned on</string>
<string name="litho_latest_posts_off">Latest posts removal is turned off</string>
<string name="litho_channel_guidelines">Channel guidelines removal</string>
<string name="litho_channel_guidelines_on">Channel guidelines removal is turned on</string>
<string name="litho_channel_guidelines_off">Channel guidelines removal is turned off</string>
<string name="sb_settings">SponsorBlock settings</string>
<string name="sb_summary">Uses the sponsor.ajay.app API</string>
@ -282,6 +280,11 @@
<string name="revanced_seekbar_tapping">Seekbar Tapping</string>
<string name="revanced_seekbar_tapping_off">Seekbar Tapping (video progress bar) is disabled</string>
<string name="revanced_seekbar_tapping_on">Seekbar Tapping (video progress bar) is enabled</string>
<string name="revanced_minimized_playback">Background playback</string>
<string name="revanced_minimized_playback_off">Background playback is disabled</string>
<string name="revanced_minimized_playback_on">Background playback is enabled</string>
<string name="pref_subtitles_scale_normal">Normal</string>
<string name="litho_shorts_shelf">Shorts Shelf</string>
@ -347,7 +350,6 @@
<string name="api_url_reset">API URL reset</string>
<string name="api_url_invalid">Provided API URL is invalid</string>
<string name="revanced_video_ad_settings_title">Video ad settings</string>
<string name="revanced_videoadwhitelisting_title">Video ad whitelisting</string>
<string name="revanced_videoadwhitelisting_summary_off">Video ad whitelisting is turned off</string>
<string name="revanced_videoadwhitelisting_summary_on">Video ad whitelisting is turned on. Use the ADS button under the player to whitelist a channel</string>
@ -368,16 +370,4 @@
<string name="revanced_ryd_summary">Switch this on to see the dislike counts again</string>
<string name="revanced_ryd_attribution_title">Return YouTube Dislike Integration</string>
<string name="revanced_ryd_attribution_summary">This integration uses the RYD API from https://returnyoutubedislike.com. Tap to learn more</string>
<string name="revanced_xfenster_tablet_title">Tablet style</string>
<string name="revanced_xfenster_tablet_summary_on">Tablet style is turned on. For example suggested videos are only partially working</string>
<string name="revanced_xfenster_tablet_summary_off">Tablet style is turned off</string>
<string name="revanced_ryd">Return YouTube Dislike</string>
<string name="revanced_ryd_firstrun">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.</string>
<string name="revanced_sb">SponsorBlock</string>
<string name="revanced_sb_firstrun">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.</string>
<string name="revanced_learnmore">Learn more</string>
<string name="revanced_disable">Disable</string>
<string name="revanced_enable">Enable</string>
</resources>

View File

@ -6,67 +6,172 @@
<intent android:targetPackage="com.mgoogle.android.gms" android:targetClass="org.microg.gms.ui.SettingsActivity" />
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="@string/revanced_settings" />
<PreferenceCategory
android:layout_height="match_parent"
android:title="@string/revanced_settings" />
<PreferenceScreen android:title="@string/revanced_codec_override_title" android:key="revanced_override_codec">
<SwitchPreference android:title="@string/revanced_vp9_title" android:key="revanced_override_codec_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_vp9_summary_on" android:summaryOff="@string/revanced_vp9_summary_off" />
<Preference android:persistent="false" android:title="@string/revanced_default_codec_title" android:selectable="true" android:key="revanced_override_codec_default" android:summary="@string/revanced_default_codec_summary" />
<SwitchPreference android:title="@string/revanced_vp9_title" android:key="revanced_override_codec_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_vp9_summary_on" android:summaryOff="@string/revanced_vp9_summary_off" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_video_settings_title" android:key="video_settings">
<SwitchPreference android:title="@string/revanced_old_style_quality_settings_title" android:key="revanced_use_old_style_quality_settings" android:defaultValue="true" android:summaryOn="@string/revanced_old_style_quality_settings_summary_on" android:summaryOff="@string/revanced_old_style_quality_settings_summary_off" />
<SwitchPreference android:title="@string/revanced_override_resolution_title" android:key="revanced_override_resolution_max" android:defaultValue="false" android:summaryOn="@string/revanced_override_resolution_summary_on" android:summaryOff="@string/revanced_override_resolution_summary_off" />
<ListPreference android:title="@string/revanced_preferred_video_quality_wifi_title" android:key="revanced_pref_video_quality_wifi" android:summary="@string/revanced_preferred_video_quality_wifi_summary" />
<ListPreference android:title="@string/revanced_preferred_video_quality_mobile_title" android:key="revanced_pref_video_quality_mobile" android:summary="@string/revanced_preferred_video_quality_mobile_summary" />
<ListPreference android:title="@string/revanced_preferred_video_speed_title" android:key="revanced_pref_video_speed" android:summary="@string/revanced_preferred_video_speed_summary" />
<SwitchPreference android:title="Auto captions" android:key="revanced_pref_auto_captions" android:defaultValue="false" android:summaryOn="Auto captions are turned on" android:summaryOff="Auto captions are turned off" />
<!--<SwitchPreference android:title="Auto captions" android:key="revanced_pref_auto_captions" android:defaultValue="false" android:summaryOn="Auto captions are turned on" android:summaryOff="Auto captions are turned off" />-->
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_video_ad_settings_title" android:key="video_ad_settings">
<!--<PreferenceScreen android:title="@string/revanced_videoadwhitelisting_title" android:key="video_ad_settings">
<SwitchPreference android:title="@string/revanced_videoadwhitelisting_title" android:key="revanced_whitelist_ads_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_videoadwhitelisting_summary_on" android:summaryOff="@string/revanced_videoadwhitelisting_summary_off" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_ad_settings_title" android:key="ad_settings">
<SwitchPreference android:title="@string/revanced_home_ads_title" android:key="revanced_home_ads_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_home_ads_summary_on" android:summaryOff="@string/revanced_home_ads_summary_off" />
<SwitchPreference android:title="@string/revanced_video_ads_title" android:key="revanced_video_ads_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_video_ads_summary_on" android:summaryOff="@string/revanced_video_ads_summary_off" />
<SwitchPreference android:title="@string/litho_general_ad_removal" android:key="revanced_adremover_ad_removal" android:defaultValue="true" android:summaryOn="@string/litho_general_ad_removal_on" android:summaryOff="@string/litho_general_ad_removal_off" />
<SwitchPreference android:title="@string/litho_merchandise" android:key="revanced_adremover_merchandise" android:defaultValue="false" android:summaryOn="@string/litho_merchandise_on" android:summaryOff="@string/litho_merchandise_off" />
<SwitchPreference android:title="@string/litho_community_posts" android:key="revanced_adremover_community_posts_removal" android:defaultValue="false" android:summaryOn="@string/litho_community_posts_on" android:summaryOff="@string/litho_community_posts_off" />
<SwitchPreference android:title="@string/litho_compact_banner" android:key="revanced_adremover_compact_banner_removal" android:defaultValue="false" android:summaryOn="@string/litho_compact_banner_on" android:summaryOff="@string/litho_compact_banner_off" />
<SwitchPreference android:title="@string/litho_comments" android:key="revanced_adremover_comments_removal" android:defaultValue="false" android:summaryOn="@string/litho_comments_on" android:summaryOff="@string/litho_comments_off" />
<SwitchPreference android:title="@string/litho_compact_movie" android:key="revanced_adremover_movie" android:defaultValue="false" android:summaryOn="@string/litho_compact_movie_on" android:summaryOff="@string/litho_compact_movie_off" />
<SwitchPreference android:title="@string/litho_in_feed_survey" android:key="revanced_adremover_feed_survey" android:defaultValue="false" android:summaryOn="@string/litho_in_feed_survey_on" android:summaryOff="@string/litho_in_feed_survey_off" />
<SwitchPreference android:title="@string/litho_shorts_shelf" android:key="revanced_adremover_shorts_shelf" android:defaultValue="false" android:summaryOn="@string/litho_shorts_shelf_on" android:summaryOff="@string/litho_shorts_shelf_off" />
<SwitchPreference android:title="@string/litho_community_guidelines" android:key="revanced_adremover_community_guideline" android:defaultValue="false" android:summaryOn="@string/litho_community_guidelines_on" android:summaryOff="@string/litho_community_guidelines_off" />
</PreferenceScreen>-->
<PreferenceScreen
android:key="ad_settings"
android:title="@string/revanced_ad_settings_title">
<SwitchPreference
android:defaultValue="false"
android:key="revanced_home_ads_enabled"
android:summaryOff="@string/revanced_home_ads_summary_off"
android:summaryOn="@string/revanced_home_ads_summary_on"
android:title="@string/revanced_home_ads_title" />
<SwitchPreference
android:defaultValue="false"
android:key="revanced_video_ads_enabled"
android:summaryOff="@string/revanced_video_ads_summary_off"
android:summaryOn="@string/revanced_video_ads_summary_on"
android:title="@string/revanced_video_ads_title" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_ad_removal"
android:summaryOff="@string/litho_general_ad_removal_off"
android:summaryOn="@string/litho_general_ad_removal_on"
android:title="@string/litho_general_ad_removal" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_merchandise"
android:summaryOff="@string/litho_merchandise_off"
android:summaryOn="@string/litho_merchandise_on"
android:title="@string/litho_merchandise" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_community_posts_removal"
android:summaryOff="@string/litho_community_posts_off"
android:summaryOn="@string/litho_community_posts_on"
android:title="@string/litho_community_posts" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_compact_banner_removal"
android:summaryOff="@string/litho_compact_banner_off"
android:summaryOn="@string/litho_compact_banner_on"
android:title="@string/litho_compact_banner" />
<SwitchPreference
android:defaultValue="false"
android:key="revanced_adremover_comments_removal"
android:summaryOff="@string/litho_comments_off"
android:summaryOn="@string/litho_comments_on"
android:title="@string/litho_comments" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_movie"
android:summaryOff="@string/litho_compact_movie_off"
android:summaryOn="@string/litho_compact_movie_on"
android:title="@string/litho_compact_movie" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_feed_survey"
android:summaryOff="@string/litho_in_feed_survey_off"
android:summaryOn="@string/litho_in_feed_survey_on"
android:title="@string/litho_in_feed_survey" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_shorts_shelf"
android:summaryOff="@string/litho_shorts_shelf_off"
android:summaryOn="@string/litho_shorts_shelf_on"
android:title="@string/litho_shorts_shelf" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_community_guideline"
android:summaryOff="@string/litho_community_guidelines_off"
android:summaryOn="@string/litho_community_guidelines_on"
android:title="@string/litho_community_guidelines" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_emergency_box_removal"
android:summaryOff="@string/litho_emergency_box_off"
android:summaryOn="@string/litho_emergency_box_on"
android:title="@string/litho_emergency_box" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_info_panel"
android:summaryOff="@string/litho_info_panel_off"
android:summaryOn="@string/litho_info_panel_on"
android:title="@string/litho_info_panel" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_medical_panel"
android:summaryOff="@string/litho_medical_panel_off"
android:summaryOn="@string/litho_medical_panel_on"
android:title="@string/litho_medical_panel" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_paid_content"
android:summaryOff="@string/litho_paid_content_off"
android:summaryOn="@string/litho_paid_content_on"
android:title="@string/litho_paid_content" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_suggested"
android:summaryOff="@string/litho_suggested_off"
android:summaryOn="@string/litho_suggested_on"
android:title="@string/litho_suggested" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_hide_suggestions"
android:summaryOff="@string/litho_hide_suggestions_off"
android:summaryOn="@string/litho_hide_suggestions_on"
android:title="@string/litho_hide_suggestions" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_hide_latest_posts"
android:summaryOff="@string/litho_latest_posts_off"
android:summaryOn="@string/litho_latest_posts_on"
android:title="@string/litho_latest_posts" />
<SwitchPreference
android:defaultValue="true"
android:key="revanced_adremover_hide_channel_guidelines"
android:summaryOff="@string/litho_channel_guidelines_off"
android:summaryOn="@string/litho_channel_guidelines_on"
android:title="@string/litho_channel_guidelines" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_layout_settings_title" android:key="layout_settings">
<SwitchPreference android:title="@string/revanced_reel_title" android:key="revanced_reel_button_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_reel_summary_on" android:summaryOff="@string/revanced_reel_summary_off" />
<SwitchPreference android:title="@string/revanced_suggestion_title" android:key="revanced_info_cards_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_suggestion_summary_on" android:summaryOff="@string/revanced_suggestion_summary_off" />
<SwitchPreference android:title="@string/revanced_reel_title" android:key="revanced_reel_button_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_reel_summary_on" android:summaryOff="@string/revanced_reel_summary_off" />
<SwitchPreference android:title="@string/revanced_suggestion_title" android:key="revanced_info_cards_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_suggestion_summary_on" android:summaryOff="@string/revanced_suggestion_summary_off" />
<SwitchPreference android:title="@string/revanced_branding_watermark_title" android:key="revanced_branding_watermark_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_branding_watermark_summary_on" android:summaryOff="@string/revanced_branding_watermark_summary_off" />
<SwitchPreference android:title="@string/revanced_cast_button_title" android:key="revanced_cast_button_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_cast_button_summary_on" android:summaryOff="@string/revanced_cast_button_summary_off" />
<SwitchPreference android:title="@string/revanced_tablet_miniplayer_title" android:key="revanced_tablet_miniplayer" android:defaultValue="false" android:summaryOn="@string/revanced_tablet_miniplayer_summary_on" android:summaryOff="@string/revanced_tablet_miniplayer_summary_off" />
<SwitchPreference android:title="@string/revanced_autoplay_button_title" android:key="revanced_autoplay_button_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_autoplay_button_summary_on" android:summaryOff="@string/revanced_autoplay_button_summary_off" />
<!--<SwitchPreference android:title="@string/revanced_tablet_miniplayer_title" android:key="revanced_tablet_miniplayer" android:defaultValue="false" android:summaryOn="@string/revanced_tablet_miniplayer_summary_on" android:summaryOff="@string/revanced_tablet_miniplayer_summary_off" />-->
<SwitchPreference android:title="@string/revanced_create_button_title" android:key="revanced_create_button_enabled" android:defaultValue="false" android:summaryOn="@string/revanced_create_button_summary_on" android:summaryOff="@string/revanced_create_button_summary_off" />
<SwitchPreference android:title="@string/revanced_new_actionbar_title" android:key="revanced_new_actionbar" android:defaultValue="false" android:summaryOn="@string/revanced_new_actionbar_summary_on" android:summaryOff="@string/revanced_new_actionbar_summary_off" />
<SwitchPreference android:title="@string/revanced_shorts_button_title" android:key="revanced_shorts_button_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_shorts_button_summary_on" android:summaryOff="@string/revanced_shorts_button_summary_off" />
<SwitchPreference android:title="@string/revanced_fullscreen_panels_title" android:key="revanced_fullscreen_panels_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_fullscreen_panels_summary_on" android:summaryOff="@string/revanced_fullscreen_panels_summary_off" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_misc_title" android:key="misc_screen">
<SwitchPreference android:title="@string/revanced_auto_repeat_button_title" android:key="revanced_pref_auto_repeat_button" android:defaultValue="false" android:summaryOn="@string/revanced_auto_repeat_button_summary_on" android:summaryOff="@string/revanced_auto_repeat_button_summary_off" />
<SwitchPreference android:title="@string/revanced_auto_repeat_title" android:key="revanced_pref_auto_repeat" android:defaultValue="false" android:summaryOn="@string/revanced_auto_repeat_summary_on" android:summaryOff="@string/revanced_auto_repeat_summary_off" />
<ListPreference android:entries="@array/revanced_button_location_entries" android:title="@string/revanced_copy_video_url_timestamp_title" android:key="revanced_pref_copy_video_url_timestamp_button_list" android:entryValues="@array/revanced_button_location_entry_values" />
<ListPreference android:entries="@array/revanced_button_location_entries" android:title="@string/revanced_copy_video_url_title" android:key="revanced_pref_copy_video_url_button_list" android:entryValues="@array/revanced_button_location_entry_values" />
<!--<ListPreference android:entries="@array/revanced_button_location_entries" android:title="@string/revanced_copy_video_url_timestamp_title" android:key="revanced_pref_copy_video_url_timestamp_button_list" android:entryValues="@array/revanced_button_location_entry_values" />
<ListPreference android:entries="@array/revanced_button_location_entries" android:title="@string/revanced_copy_video_url_title" android:key="revanced_pref_copy_video_url_button_list" android:entryValues="@array/revanced_button_location_entry_values" />-->
<SwitchPreference android:title="@string/revanced_hdr_full_brightness_title" android:key="revanced_pref_hdr_autobrightness" android:defaultValue="true" android:summaryOn="@string/revanced_hdr_full_brightness_summary_on" android:summaryOff="@string/revanced_hdr_full_brightness_summary_off" />
<SwitchPreference android:title="@string/revanced_seekbar_tapping" android:key="revanced_enable_tap_seeking" android:defaultValue="false" android:summaryOn="@string/revanced_seekbar_tapping_on" android:summaryOff="@string/revanced_seekbar_tapping_off" />
<SwitchPreference android:title="@string/revanced_minimized_playback" android:key="revanced_enable_minimized_playback" android:defaultValue="false" android:summaryOn="@string/revanced_minimized_playback_on" android:summaryOff="@string/revanced_minimized_playback_off" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_xfenster_title" android:key="xfenster_screen" android:summary="@string/revanced_xfenster_screen_summary">
<SwitchPreference android:title="@string/revanced_xfenster_brightness_title" android:key="revanced_enable_swipe_brightness" android:defaultValue="false" android:summaryOn="@string/revanced_xfenster_brightness_summary_on" android:summaryOff="@string/revanced_xfenster_brightness_summary_off" />
<SwitchPreference android:title="@string/revanced_xfenster_volume_title" android:key="revanced_enable_swipe_volume" android:defaultValue="false" android:summaryOn="@string/revanced_xfenster_volume_summary_on" android:summaryOff="@string/revanced_xfenster_volume_summary_off" />
<PreferenceScreen android:title="@string/revanced_swipe_title" android:key="swipe_screen" android:summary="@string/revanced_swipe_screen_summary">
<SwitchPreference android:title="@string/revanced_swipe_brightness_title" android:key="revanced_enable_swipe_brightness" android:defaultValue="false" android:summaryOn="@string/revanced_swipe_brightness_summary_on" android:summaryOff="@string/revanced_swipe_brightness_summary_off" />
<SwitchPreference android:title="@string/revanced_swipe_volume_title" android:key="revanced_enable_swipe_volume" android:defaultValue="false" android:summaryOn="@string/revanced_swipe_volume_summary_on" android:summaryOff="@string/revanced_swipe_volume_summary_off" />
<SwitchPreference android:title="@string/revanced_swipe_pts_title" android:key="revanced_enable_press_to_swipe" android:defaultValue="false" android:summaryOn="@string/revanced_swipe_pts_summary_on" android:summaryOff="@string/revanced_swipe_pts_summary_off" />
<SwitchPreference android:title="@string/revanced_swipe_pts_haptic_title" android:key="revanced_enable_swipe_haptic_feedback" android:defaultValue="false" android:summaryOn="@string/revanced_swipe_pts_haptic_summary_on" android:summaryOff="@string/revanced_swipe_pts_summary_off" />
<EditTextPreference android:numeric="integer" android:title="@string/revanced_swipe_overlay_timeout_title" android:key="revanced_swipe_overlay_timeout" android:summary="@string/revanced_swipe_overlay_timeout_summary" android:defaultValue="0" />
<EditTextPreference android:numeric="decimal" android:title="@string/revanced_swipe_overlay_text_size_title" android:key="revanced_swipe_overlay_text_size" android:summary="@string/revanced_swipe_overlay_text_size_summary" android:defaultValue="0" />
<EditTextPreference android:numeric="integer" android:title="@string/revanced_swipe_overlay_bg_alpha_title" android:key="revanced_swipe_overlay_background_alpha" android:summary="@string/revanced_swipe_overlay_bg_alpha_summary" android:defaultValue="0" />
<EditTextPreference android:numeric="decimal" android:title="@string/revanced_swipe_magnitude_threshold_title" android:key="revanced_swipe_magnitude_threshold" android:summary="@string/revanced_swipe_magnitude_threshold_summary" android:defaultValue="0" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_swipe_overlay_timeout_title" android:key="revanced_swipe_overlay_timeout" android:summary="@string/revanced_swipe_overlay_timeout_summary" android:defaultValue="0" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_swipe_overlay_text_size_title" android:key="revanced_swipe_overlay_text_size" android:summary="@string/revanced_swipe_overlay_text_size_summary" android:defaultValue="0" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_swipe_overlay_bg_alpha_title" android:key="revanced_swipe_overlay_background_alpha" android:summary="@string/revanced_swipe_overlay_bg_alpha_summary" android:defaultValue="0" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_swipe_magnitude_threshold_title" android:key="revanced_swipe_magnitude_threshold" android:summary="@string/revanced_swipe_magnitude_threshold_summary" android:defaultValue="0" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_buffer_title" android:key="buffer_screen">
<EditTextPreference android:numeric="integer" android:title="@string/revanced_maximum_buffer_title" android:key="revanced_pref_max_buffer_ms" android:summary="@string/revanced_maximum_buffer_summary" android:defaultValue="120000" />
<EditTextPreference android:numeric="integer" android:title="@string/revanced_playback_start_title" android:key="revanced_pref_buffer_for_playback_ms" android:summary="@string/revanced_playback_start_summary" android:defaultValue="2500" />
<EditTextPreference android:numeric="integer" android:title="@string/revanced_rebuffer_title" android:key="revanced_pref_buffer_for_playback_after_rebuffer_ms" android:summary="@string/revanced_rebuffer_summary" android:defaultValue="5000" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_maximum_buffer_title" android:key="revanced_pref_max_buffer_ms" android:summary="@string/revanced_maximum_buffer_summary" android:defaultValue="120000" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_playback_start_title" android:key="revanced_pref_buffer_for_playback_ms" android:summary="@string/revanced_playback_start_summary" android:defaultValue="2500" />
<EditTextPreference android:inputType="number" android:title="@string/revanced_rebuffer_title" android:key="revanced_pref_buffer_for_playback_after_rebuffer_ms" android:summary="@string/revanced_rebuffer_summary" android:defaultValue="5000" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_support_title" android:key="support_screen" android:summary="@string/revanced_support_summary">
<Preference android:title="@string/revanced_discord_title" android:summary="@string/revanced_discord_summary">
@ -76,15 +181,5 @@
<intent android:action="android.intent.action.VIEW" android:data="https://revanced.app" />
</Preference>
</PreferenceScreen>
<PreferenceScreen android:title="@string/revanced_credit_title" android:key="credits_screen" android:summary="@string/revanced_credit_summary">
<Preference android:title="@string/souramoo_title" android:summary="@string/souramoo_summary" />
<Preference android:title="@string/bawm_title" android:summary="@string/bawm_summary" />
<Preference android:title="@string/cane_title" android:summary="@string/cane_summary" />
<Preference android:title="@string/oizaro_title" android:summary="@string/oizaro_summary" />
<Preference android:title="@string/revanced_translators_title" android:summary="@string/revanced_translators_summary">
<intent android:action="android.intent.action.VIEW" android:data="https://crowdin.com/project/vanced" />
</Preference>
</PreferenceScreen>
<SwitchPreference android:title="@string/revanced_debug_title" android:key="revanced_debug_enabled" android:defaultValue="true" android:summaryOn="@string/revanced_debug_summary_on" android:summaryOff="@string/revanced_debug_summary_off" />
<Preference android:persistent="false" android:title="@string/revanced_about_title" android:selectable="true" android:key="pref_about_field" android:summary="@string/" />
</PreferenceScreen>