Add profile sharing name entry and empty preview page#5299
Conversation
Generated by 🚫 Danger |
Project manifest changes for appThe following changes in the --- ./build/reports/diff_manifest/app/release/base_manifest.txt 2026-05-13 04:23:00.134857336 +0000
+++ ./build/reports/diff_manifest/app/release/head_manifest.txt 2026-05-13 04:23:02.374873092 +0000
@@ -853,6 +853,7 @@
<activity
android:name="au.com.shiftyjelly.pocketcasts.account.AccountActivity"
android:windowSoftInputMode="adjustResize" />
+ <activity android:name="au.com.shiftyjelly.pocketcasts.profile.sharing.ShareProfileActivity" />
<service
android:name="au.com.shiftyjelly.pocketcasts.profile.accountmanager.PocketCastsAuthenticatorService"Go to https://buildkite.com/automattic/pocket-casts-android/builds/16598/canvas?sid=019e1f90-c778-41b7-8f92-9187c44f2e73, click on the |
Project manifest changes for wearThe following changes in the --- ./build/reports/diff_manifest/wear/release/base_manifest.txt 2026-05-13 04:23:10.434931754 +0000
+++ ./build/reports/diff_manifest/wear/release/head_manifest.txt 2026-05-13 04:23:11.874942235 +0000
@@ -229,6 +229,7 @@
<activity
android:name="au.com.shiftyjelly.pocketcasts.account.AccountActivity"
android:windowSoftInputMode="adjustResize" />
+ <activity android:name="au.com.shiftyjelly.pocketcasts.profile.sharing.ShareProfileActivity" />
<service
android:name="au.com.shiftyjelly.pocketcasts.profile.accountmanager.PocketCastsAuthenticatorService"Go to https://buildkite.com/automattic/pocket-casts-android/builds/16598/canvas?sid=019e1f90-c778-41b7-8f92-9187c44f2e73, click on the |
Project manifest changes for automotiveThe following changes in the --- ./build/reports/diff_manifest/automotive/release/base_manifest.txt 2026-05-13 04:23:20.035000838 +0000
+++ ./build/reports/diff_manifest/automotive/release/head_manifest.txt 2026-05-13 04:23:21.755012810 +0000
@@ -181,6 +181,7 @@
<activity
android:name="au.com.shiftyjelly.pocketcasts.account.AccountActivity"
android:windowSoftInputMode="adjustResize" />
+ <activity android:name="au.com.shiftyjelly.pocketcasts.profile.sharing.ShareProfileActivity" />
<service
android:name="au.com.shiftyjelly.pocketcasts.profile.accountmanager.PocketCastsAuthenticatorService"Go to https://buildkite.com/automattic/pocket-casts-android/builds/16598/canvas?sid=019e1f90-c778-41b7-8f92-9187c44f2e73, click on the |
There was a problem hiding this comment.
Pull request overview
Adds the initial scaffolding for the Profile Sharing wizard (name entry + placeholder preview) under modules/features/profile/.../sharing, and wires the Profile header Share button to launch it. This mirrors the existing podcast list sharing flow structure and is intended to be feature-flagged behind Feature.PROFILE_SHARING.
Changes:
- Introduces
ShareProfileActivity/ShareProfileFragmenthosting a ComposeNavHostfor the wizard steps. - Adds
ShareProfileNamePage(display-name entry + Continue CTA) andShareProfilePreviewPage(placeholder preview rendering the entered name). - Adds a
ShareProfileViewModelwithStateFlow-backed state to persist the display name across navigation/config changes, plus new localized strings and the Profile entry point wiring.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| modules/services/localization/src/main/res/values/strings.xml | Adds new localized strings for the profile sharing wizard UI. |
| modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/sharing/ShareProfileViewModel.kt | Adds ViewModel state to retain the entered display name across steps. |
| modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/sharing/ShareProfilePreviewPage.kt | Adds placeholder preview page UI for the wizard. |
| modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/sharing/ShareProfileNamePage.kt | Adds the display name entry screen UI and Continue CTA. |
| modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/sharing/ShareProfileFragment.kt | Hosts the Compose navigation flow and connects pages to ViewModel + navigation. |
| modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/sharing/ShareProfileActivity.kt | Adds the activity shell that hosts the fragment. |
| modules/features/profile/src/main/java/au/com/shiftyjelly/pocketcasts/profile/ProfileFragment.kt | Wires the existing Profile header Share click to launch ShareProfileActivity. |
| modules/features/profile/src/main/AndroidManifest.xml | Registers ShareProfileActivity in the profile feature manifest. |
| RowButton( | ||
| text = stringResource(LR.string.navigation_continue), | ||
| enabled = trimmedName.isNotEmpty(), | ||
| onClick = { onContinueClick() }, | ||
| ) |
| onDisplayNameChange = { displayName -> | ||
| viewModel.setDisplayName(displayName) | ||
| }, | ||
| onContinueClick = { |
Description
This change adds a page for a user to set their display name for their shared profile. The idea is this doesn't have to be the user's actual name if they want to keep some privacy.
I will add the analytics events when the flow is finished.
Fixes https://linear.app/a8c/issue/POC-613/android-profile-sharing-add-display-name-page
Testing Instructions
Screenshots
Checklist
./gradlew spotlessApplyto automatically apply formatting/linting)modules/services/localization/src/main/res/values/strings.xmlI have tested any UI changes...