From 85e0617367ad261cfc274af9901050e13fc37fd3 Mon Sep 17 00:00:00 2001 From: Nick Bradbury Date: Fri, 28 Aug 2026 10:24:36 -0400 Subject: [PATCH] Mark the RS lists with a debug-only "(RS)" title suffix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The posts, pages, and comments screens each have two implementations — legacy FluxC and wordpress-rs — chosen at runtime by SiteUtils.canUseWpRs. They look alike, and several entry points bypass that branch and always open the legacy screen, so on one site you can reach both without knowing which is which. Add rsDebugTitle(), which appends "(RS)" to a title in debug builds only, and use it for the three RS list top app bars. No suffix means FluxC. --- .../screens/CommentsRsListScreen.kt | 3 ++- .../android/ui/compose/utils/RsDebugTitle.kt | 19 +++++++++++++++++++ .../ui/pagesrs/screens/PagesRsListScreen.kt | 3 ++- .../ui/postsrs/screens/PostRsListScreen.kt | 3 ++- 4 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 WordPress/src/main/java/org/wordpress/android/ui/compose/utils/RsDebugTitle.kt diff --git a/WordPress/src/main/java/org/wordpress/android/ui/commentsrs/screens/CommentsRsListScreen.kt b/WordPress/src/main/java/org/wordpress/android/ui/commentsrs/screens/CommentsRsListScreen.kt index 60ede41040cf..75174293b5ad 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/commentsrs/screens/CommentsRsListScreen.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/commentsrs/screens/CommentsRsListScreen.kt @@ -65,6 +65,7 @@ import org.wordpress.android.ui.commentsrs.CommentsTabUiState import org.wordpress.android.ui.commentsrs.PendingConfirmation import org.wordpress.android.ui.commentsrs.batchActions import org.wordpress.android.ui.commentsrs.isEnabledFor +import org.wordpress.android.ui.compose.utils.rsDebugTitle import org.wordpress.android.ui.postsrs.SnackbarMessage // Material's disabled-content alpha, used to dim batch-action icons that can't apply to the @@ -208,7 +209,7 @@ fun CommentsRsListScreen( } } TopBarMode.NORMAL -> TopAppBar( - title = { Text(text = stringResource(R.string.comments)) }, + title = { Text(text = rsDebugTitle(R.string.comments)) }, navigationIcon = { IconButton(onClick = onNavigateBack) { Icon( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/compose/utils/RsDebugTitle.kt b/WordPress/src/main/java/org/wordpress/android/ui/compose/utils/RsDebugTitle.kt new file mode 100644 index 000000000000..e21f44120411 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/ui/compose/utils/RsDebugTitle.kt @@ -0,0 +1,19 @@ +package org.wordpress.android.ui.compose.utils + +import androidx.annotation.StringRes +import androidx.compose.runtime.Composable +import androidx.compose.ui.res.stringResource +import org.wordpress.android.BuildConfig + +private const val RS_DEBUG_SUFFIX = "(RS)" + +/** + * Title for a wordpress-rs screen. Debug builds append an "(RS)" suffix so these screens can be + * told apart at a glance from their FluxC-backed counterparts, which are reachable from other + * entry points on the same site. Release builds get the unmodified title. + */ +@Composable +fun rsDebugTitle(@StringRes titleResId: Int): String { + val title = stringResource(titleResId) + return if (BuildConfig.DEBUG) "$title $RS_DEBUG_SUFFIX" else title +} diff --git a/WordPress/src/main/java/org/wordpress/android/ui/pagesrs/screens/PagesRsListScreen.kt b/WordPress/src/main/java/org/wordpress/android/ui/pagesrs/screens/PagesRsListScreen.kt index 02746383b833..80bff304735e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/pagesrs/screens/PagesRsListScreen.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/pagesrs/screens/PagesRsListScreen.kt @@ -79,6 +79,7 @@ import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.flow.withIndex import kotlinx.coroutines.launch import org.wordpress.android.R +import org.wordpress.android.ui.compose.utils.rsDebugTitle import org.wordpress.android.ui.pagesrs.PageRsConfirmationDialogState import org.wordpress.android.ui.pagesrs.PageRsListConfirmation import org.wordpress.android.ui.pagesrs.PageRsListTab @@ -197,7 +198,7 @@ internal fun PagesRsListScreen( modifier = Modifier.fillMaxWidth().focusRequester(focusRequester) ) } else { - Text(text = stringResource(R.string.my_site_btn_site_pages)) + Text(text = rsDebugTitle(R.string.my_site_btn_site_pages)) } }, navigationIcon = { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/postsrs/screens/PostRsListScreen.kt b/WordPress/src/main/java/org/wordpress/android/ui/postsrs/screens/PostRsListScreen.kt index cddc28399a88..2be4f838b5de 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/postsrs/screens/PostRsListScreen.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/postsrs/screens/PostRsListScreen.kt @@ -66,6 +66,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.launch import org.wordpress.android.R +import org.wordpress.android.ui.compose.utils.rsDebugTitle import org.wordpress.android.ui.posts.AuthorFilterSelection import org.wordpress.android.ui.postsrs.ConfirmationDialogState import org.wordpress.android.ui.postsrs.PendingConfirmation @@ -171,7 +172,7 @@ fun PostRsListScreen( modifier = Modifier.fillMaxWidth().focusRequester(focusRequester) ) } else { - Text(text = stringResource(R.string.my_site_btn_blog_posts)) + Text(text = rsDebugTitle(R.string.my_site_btn_blog_posts)) } }, navigationIcon = {