diff --git a/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java
index ef0e8670c..c8fa3e392 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java
@@ -80,4 +80,22 @@ public class AppearanceSettingsFragment extends BasePreferenceFragment {
ActivityCompat.recreate(getActivity());
}
}
+
+ public void resetToDefault() {
+ final String themeKey = getString(R.string.theme_key);
+ final String startThemeKey = defaultPreferences
+ .getString(themeKey, getString(R.string.default_theme_value));
+ final String autoDeviceThemeKey = getString(R.string.auto_device_theme_key);
+ if (startThemeKey.equals(autoDeviceThemeKey)) {
+ applyThemeChange(startThemeKey, themeKey, autoDeviceThemeKey);
+ } else {
+ if (startThemeKey.equals(R.string.light_theme_key)) {
+ removePreference(getString(R.string.light_theme_key));
+ } else if (startThemeKey.equals(R.string.dark_theme_key)) {
+ removePreference(getString(R.string.dark_theme_key));
+ } else {
+ removePreference(getString(R.string.black_theme_key));
+ }
+ }
+ }
}
diff --git a/app/src/main/java/org/schabi/newpipe/settings/ResetSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ResetSettingsFragment.java
new file mode 100644
index 000000000..94936f6ca
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/settings/ResetSettingsFragment.java
@@ -0,0 +1,14 @@
+package org.schabi.newpipe.settings;
+
+import android.os.Bundle;
+
+public class ResetSettingsFragment extends BasePreferenceFragment {
+
+ private AppearanceSettingsFragment appearanceSettings;
+ @Override
+ public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
+ addPreferencesFromResourceRegistry();
+
+ appearanceSettings.resetToDefault();
+ }
+}
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 51abe14fb..de883420c 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -222,6 +222,8 @@
prefer_original_audio
prefer_descriptive_audio
last_resize_mode
+
+ reset_pref_screen_key
debug_pref_screen_key
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e5bbffaff..f83938139 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -151,6 +151,7 @@
History and cache
Appearance
Debug
+ Reset All Settings
Updates
Player notification
Configure current playing stream notification
diff --git a/app/src/main/res/xml/main_settings.xml b/app/src/main/res/xml/main_settings.xml
index 1b1c17e85..a569f391c 100644
--- a/app/src/main/res/xml/main_settings.xml
+++ b/app/src/main/res/xml/main_settings.xml
@@ -53,4 +53,12 @@
android:key="@string/debug_pref_screen_key"
android:title="@string/settings_category_debug_title"
app:iconSpaceReserved="false" />
+
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 2c3425d49..fcaba806a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,3 +1,4 @@
+#Fri Oct 21 13:32:17 AEDT 2022
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f
@@ -5,3 +6,4 @@ distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/settings.gradle b/settings.gradle
index 0338fde6c..a0aed9527 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,8 +4,8 @@ include ':app'
// We assume, that NewPipe and NewPipe Extractor have the same parent directory.
// If this is not the case, please change the path in includeBuild().
-//includeBuild('../NewPipeExtractor') {
-// dependencySubstitution {
-// substitute module('com.github.TeamNewPipe:NewPipeExtractor') using project(':extractor')
-// }
-//}
+includeBuild('../NewPipeExtractor') {
+ dependencySubstitution {
+ substitute module('com.github.TeamNewPipe:NewPipeExtractor') using project(':extractor')
+ }
+}