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