diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b295a895c0b..bab73098860 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -95,12 +95,6 @@
android:exported="false"
android:label="@string/settings" />
-
-
-
Screen.About
+
SCREEN_ERROR -> Screen.Error
SCREEN_SETTINGS -> Screen.Settings.Home
@@ -60,12 +62,21 @@ class ComposeActivity : ComponentActivity() {
}
companion object {
+
+ const val SCREEN_ABOUT = "about"
+
const val EXTRA_SCREEN = "extra_screen"
const val EXTRA_ERROR_INFO = "extra_error_info"
const val SCREEN_ERROR = "error"
const val SCREEN_SETTINGS = "settings"
+ fun aboutIntent(context: Context): Intent {
+ return Intent(context, ComposeActivity::class.java).apply {
+ putExtra(EXTRA_SCREEN, SCREEN_ABOUT)
+ }
+ }
+
fun errorIntent(context: Context, errorInfo: ErrorInfo): Intent {
return Intent(context, ComposeActivity::class.java).apply {
putExtra(EXTRA_SCREEN, SCREEN_ERROR)
diff --git a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt b/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt
deleted file mode 100644
index 13e100c0a46..00000000000
--- a/app/src/main/java/org/schabi/newpipe/about/AboutActivity.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.schabi.newpipe.about
-
-import android.os.Bundle
-import androidx.activity.compose.setContent
-import androidx.activity.enableEdgeToEdge
-import androidx.appcompat.app.AppCompatActivity
-import androidx.compose.ui.res.stringResource
-import org.schabi.newpipe.R
-import org.schabi.newpipe.ui.components.common.ScaffoldWithToolbar
-import org.schabi.newpipe.ui.screens.AboutScreen
-import org.schabi.newpipe.ui.theme.AppTheme
-
-class AboutActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- enableEdgeToEdge()
- super.onCreate(savedInstanceState)
-
- setContent {
- AppTheme {
- ScaffoldWithToolbar(
- title = stringResource(R.string.title_activity_about),
- onBackClick = { onBackPressedDispatcher.onBackPressed() }
- ) { padding ->
- AboutScreen(padding)
- }
- }
- }
- }
-}
diff --git a/app/src/main/java/org/schabi/newpipe/navigation/NavDisplay.kt b/app/src/main/java/org/schabi/newpipe/navigation/NavDisplay.kt
index 94d5cdf6161..c70647233e8 100644
--- a/app/src/main/java/org/schabi/newpipe/navigation/NavDisplay.kt
+++ b/app/src/main/java/org/schabi/newpipe/navigation/NavDisplay.kt
@@ -22,6 +22,8 @@ import org.schabi.newpipe.ComposeActivity
import org.schabi.newpipe.R
import org.schabi.newpipe.error.ErrorInfo
import org.schabi.newpipe.error.ErrorReportHelper
+import org.schabi.newpipe.ui.components.common.ScaffoldWithToolbar
+import org.schabi.newpipe.ui.screens.AboutScreen
import org.schabi.newpipe.ui.screens.ErrorReportEvent
import org.schabi.newpipe.ui.screens.ErrorReportScreen
import org.schabi.newpipe.ui.screens.settings.debug.DebugScreen
@@ -55,6 +57,16 @@ fun NavDisplay(startDestination: NavKey) {
rememberViewModelStoreNavEntryDecorator()
),
entryProvider = entryProvider {
+ // About
+ entry {
+ ScaffoldWithToolbar(
+ title = stringResource(R.string.title_activity_about),
+ onBackClick = ::onNavigateUp
+ ) { padding ->
+ AboutScreen(padding)
+ }
+ }
+
// Error Report
entry {
val errorInfo = remember {
diff --git a/app/src/main/java/org/schabi/newpipe/navigation/Screen.kt b/app/src/main/java/org/schabi/newpipe/navigation/Screen.kt
index c2fe138fc87..dc183cd788d 100644
--- a/app/src/main/java/org/schabi/newpipe/navigation/Screen.kt
+++ b/app/src/main/java/org/schabi/newpipe/navigation/Screen.kt
@@ -11,6 +11,9 @@ import kotlinx.serialization.Serializable
@Serializable
sealed interface Screen : NavKey {
+ @Serializable
+ data object About : Screen
+
@Serializable
data object Error : Screen
diff --git a/app/src/main/java/org/schabi/newpipe/ui/screens/AboutScreen.kt b/app/src/main/java/org/schabi/newpipe/ui/screens/AboutScreen.kt
index 673a228928a..e09e7630d0e 100644
--- a/app/src/main/java/org/schabi/newpipe/ui/screens/AboutScreen.kt
+++ b/app/src/main/java/org/schabi/newpipe/ui/screens/AboutScreen.kt
@@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.SecondaryTabRow
import androidx.compose.material3.Surface
import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
@@ -44,7 +45,7 @@ fun AboutScreen(padding: PaddingValues) {
tabIndex = pagerState.currentPage
}
- TabRow(
+ SecondaryTabRow(
selectedTabIndex = tabIndex,
containerColor = MaterialTheme.colorScheme.primaryContainer
) {
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 e612e8efd49..ed6d721a95c 100644
--- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
+++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java
@@ -29,7 +29,6 @@
import org.schabi.newpipe.NewPipeDatabase;
import org.schabi.newpipe.R;
import org.schabi.newpipe.RouterActivity;
-import org.schabi.newpipe.about.AboutActivity;
import org.schabi.newpipe.database.feed.model.FeedGroupEntity;
import org.schabi.newpipe.download.DownloadActivity;
import org.schabi.newpipe.error.ErrorUtil;
@@ -635,7 +634,7 @@ public static void openRouterActivity(final Context context, final String url) {
}
public static void openAbout(final Context context) {
- final Intent intent = new Intent(context, AboutActivity.class);
+ final Intent intent = ComposeActivity.Companion.aboutIntent(context);
context.startActivity(intent);
}