diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1127c55a4..ff78e44ed 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -77,6 +77,11 @@
android:exported="false"
android:label="@string/settings" />
+
+
+ Text(
+ text = "Settings",
+ modifier = Modifier.padding(padding)
+ )
+ }
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
index 5dee32371..bdd4b6ee6 100644
--- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
@@ -21,6 +21,7 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.PreferenceManager;
import com.jakewharton.processphoenix.ProcessPhoenix;
@@ -64,6 +65,7 @@ import org.schabi.newpipe.player.helper.PlayerHolder;
import org.schabi.newpipe.player.playqueue.PlayQueue;
import org.schabi.newpipe.player.playqueue.PlayQueueItem;
import org.schabi.newpipe.settings.SettingsActivity;
+import org.schabi.newpipe.settings.SettingsV2Activity;
import org.schabi.newpipe.util.external_communication.ShareUtils;
import java.util.List;
@@ -649,7 +651,13 @@ public final class NavigationHelper {
}
public static void openSettings(final Context context) {
- final Intent intent = new Intent(context, SettingsActivity.class);
+ final Class> settingsClass = PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean(
+ ContextCompat.getString(context, R.string.settings_layout_redesign_key),
+ false
+ ) ? SettingsV2Activity.class : SettingsActivity.class;
+
+ final Intent intent = new Intent(context, settingsClass);
context.startActivity(intent);
}
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 880fa92da..3c89757d1 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -245,6 +245,7 @@
crash_the_app_key
show_error_snackbar_key
create_error_notification_key
+ settings_layout_redesign_key
theme
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 281df95a4..6fdba4045 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -491,6 +491,7 @@
Crash the app
Show an error snackbar
Create an error notification
+ Enable the Redesigned Settings page
Import
Import from
diff --git a/app/src/main/res/xml/debug_settings.xml b/app/src/main/res/xml/debug_settings.xml
index 84bb281f3..87a33adf2 100644
--- a/app/src/main/res/xml/debug_settings.xml
+++ b/app/src/main/res/xml/debug_settings.xml
@@ -71,4 +71,11 @@
android:title="@string/create_error_notification"
app:singleLineTitle="false"
app:iconSpaceReserved="false" />
+
+