-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Post-Signup Interstitial: Display interstitial screen #10976
Post-Signup Interstitial: Display interstitial screen #10976
Conversation
Generated by 🚫 dangerJS |
...WordPressMocks/src/main/assets/mocks/mappings/wpcom/reader/rest_v12_read_following_mine.json
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a few inline comments, and I want to add the following:
- I wonder if we should update the button styling, current style looks a bit off to me. Not directly related to this PR, but we could update the code in here. cf. Post-Signup Interstitial: Create interstitial screen #10933 (comment)
- There is an "end screen" at the end of the sign in step. I think we should remove it and only have the new interstitial for users who don't have any wordpress.com sites. See how weird the UX looks currently: https://bia.is/s/bez8/signin-interstitial.webm
WordPress/src/main/java/org/wordpress/android/ui/accounts/LoginEpilogueActivity.java
Outdated
Show resolved
Hide resolved
WordPress/src/main/java/org/wordpress/android/ui/accounts/SignupEpilogueActivity.java
Outdated
Show resolved
Hide resolved
...WordPressMocks/src/main/assets/mocks/mappings/wpcom/reader/rest_v12_read_following_mine.json
Show resolved
Hide resolved
The design spec for the button styling used to be like the one from the original blueprint, but it has been updated to the one you see implemented here. I think this change was made in preparation for dark mode, but I could be wrong. Maybe @SylvesterWilmott can give us a bit of context about this as well.
You're right, it does look weird. I think we can skip the |
…for users logging in with no sites
The pink colour is reserved for primary actions and should be used for one element on a screen. Since neither of the buttons in the interstitial is a primary action, both use the secondary style.
Agree |
I have replaced
Note: the empty login epilogue screen will still appear at the end of alternative login flows, like the one for deep links or reauthentication, for example. I personally don't think that's a problem, as the context is pretty different in these cases. |
Perfect, thanks for confirming. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
acbf579
into
wordpress-mobile:feature/10918-post-signup-interstitial
We had a bug with this implementation for login flows using Magic Link. It was later documented in this issue. |
Fixes #10969
For this PR, I have made the following changes:
SHOULD_SHOW_POST_SIGNUP_INTERSTITIAL
to control whether the screen has already been shown or not.UndeletablePrefKey
, since we want the screen to be shown only once per install.true
, which is changed tofalse
when the interstitial is created.ActivityLauncher
class to launch the interstitial activity.TaskStackBuilder
class and theFLAG_ACTIVITY_CLEAR_TOP
to guarantee the interstitial activity will always be launched on top ofWPMainActivity
.LoginActivity
andSignupEpilogueActivity
with a logic to check for the need to launch the interstitial activity.SiteStore
instance is now injected into those classes.LoginActivity
also checks for the newly created preference.To test
1. Signup
2. Login (account without sites)
3. Login (account with sites)
4. Once per app install
5. Site creation and site connection flows
Notes
LoginEpilogueActivity
seems to not only be shown at the end of the login flow itself, but also in other flows related to Jetpack and reauthentication.WPMainActivity
.PR submission checklist:
RELEASE-NOTES.txt
if necessary.