Jetpack focus: Show full screen overlay for Jetpack Features#17432
Jetpack focus: Show full screen overlay for Jetpack Features#17432
Conversation
…helper' into issue/17330-jetpack-focus-create-generic-fullscreen-overlay
Adds: new utility class for handling the feature overlay logic Adds: logic to the JetpackFeatureOverlayShownTracker for handling different phases
Removes redundant functions
|
|||||||||||
| 💡 Scan this QR code with your Android phone to download and install the APK directly on it. | ||
| App | Jetpack | |
| Build Flavor | Jalapeno | |
| Build Type | Debug | |
| Commit | eb837a0 | |
|
|||||||||||
| 💡 Scan this QR code with your Android phone to download and install the APK directly on it. | ||
| App | WordPress | |
| Build Flavor | Jalapeno | |
| Build Type | Debug | |
| Commit | eb837a0 | |
1.Updates the Jetpack overlay xml name 2.Adds the click logic to jetpack overlay
1. Updates Jetpack connected feature enum class 2. Adds Overlay screen type to keep track of which screen to be shown 3. Updates the References of Screen type in viewmodel and tests 4. Adds logic for storing the timestamp in which the feature was shown
…llscreen-overlay # Conflicts: # WordPress/src/main/res/values/strings.xml
There was a problem hiding this comment.
👋 @AjeshRPai - I took a first pass at the code and have a few small comments. I need to dig in deeper into the "shown" logic and dates. I'll give that a go during my next review, but wanted to give you enough to keep moving.
I'm impressed with the work so far. 👏 ❤️
See below for preliminary comments
- Should
.idea/checkstyle-idea.xmlbe checked in or should this be removed from the PR? - Nit: Run a reformat code on the android:id="@+id/caption" TextView in
jetpack_feature_removal_overlay - In
JetpackFeatureFullScreenOverlayFragmenthow do you feel about replacing
private val binding get() = _binding!!.
with
private val binding get() = _binding ?: throw NullPointerException("_binding cannot be null")
to eliminate the double bang (!!) - Also in
JetpackFeatureFullScreenOverlayFragment, wdyt about making thertlLayoutfun name a little bit clearer. The fun is not only checking the rtl is true/false, but also is setting the layoutDirection of the view. BTW: There is aRtlUtilsthat has a static method calledisRtl. Hard to test without a wrapper and may not be worth it to change, but just thought I'd mention it. - In
JetpackBrandingUtils- I don't think you added any changes other than the "," at the end of theprivate val analyticsTrackerWrapper: AnalyticsTrackerWrapper,. Did you intend to add something here? If not, want to revert this file.
Removes: Bottom sheet handle UI from the removal overlay fragment Adds: Close button to the top of the view
Generated by 🚫 dangerJS |
|
@JB184351 @shaunandrews @zwarm 👋🏼 👀 This PR is ready for a re-review now. I have
@JB184351 In addition to the PR, the tests for the frequency logic exist in the class cc:@zwarm |
|
With the "X" close button added, I noticed that it doesn't line up with the rest of the screen: I also looked a little closer at the colors for the button, and it seems they're using a lighter green which produces a contrast issue: In the designs we're using |
|
@AjeshRPai |
|
@shaunandrews Thanks for reviewing the PR. @enejb Thanks for providing the I have updated the UI with
Commit - 1ce8fe5 In case anyone is wondering how I checked the alignment and colour of the elements in the UI - I am using this app on my physical device to check the alignment and colour of the elements as shown on the screenshot. |
zwarm
left a comment
There was a problem hiding this comment.
@AjeshRPai - with the exception of landscape mode, all is working as expected.
I ran all the unit tests + manual testing on a device (WP & JP)
Thanks for all the great work 👍
|
Alignment and color looks good in the updated screenshots, thanks @AjeshRPai 👍 |
…llscreen-overlay # Conflicts: # WordPress/src/main/res/values/strings.xml







Fixes #17330 and #17333
This PR adds a feature-specific overlay for the Feature Removal Phase one. Screenshot of the feature-specific overlays is shown below in dark as well light mode.
Known issues and Improvements
Testing Instructions
1. Make sure that the Overlay is not shown
If the site is a Self-hosted site
No shown on the Jetpack app
2. Jetpack overlay is shown when Phase one is started
The logic for testing whether the overlay is shown according to feature-specific overlay frequency or global-specific overlay frequency is implemented in
JetpackFeatureRemovalOverlayUtilTest.jp_removal_oneStats
Navigate to Stats either through dashboard/widget/notifications
Verify that the feature-specific overlay is shown
Turn on dark mode
Verify that the overlay is shown in Dark mode
Click on Try the new jetpack app button
Verify that the user is redirected to the Jetpack app on the play store
Navigate to Stats either through dashboard/widget/notifications
Verify that the feature-specific overlay is shown
Click on Continue to Stats button
Notice that the overlay is dismissed and Stats are visible
Notifications feature
Navigate to the Notifications tab either through the dashboard/system notifications
Verify that the feature-specific overlay is shown
Turn on dark mode
Verify that the overlay is shown in Dark mode
Click on Try the new jetpack app button
Verify that the user is redirected to the Jetpack app on the play store
Navigate to the Notifications tab either through the dashboard/notifications
Verify that the feature-specific overlay is shown
Click on Continue to Notifications button
Notice that the overlay is dismissed and Notifications are visible
Reader
Navigate to Reader either through the dashboard/notifications
Verify that the feature-specific overlay is shown
Turn on dark mode
Verify that the overlay is shown in Dark mode
Click on Try the new jetpack app button
Verify that the user is redirected to the Jetpack app on the play store
Navigate to Reader either through the dashboard/notifications
Verify that the feature-specific overlay is shown
Click on Continue to Reader button
Notice that the overlay is dismissed and Notifications are visible
3. Make sure that the Unit tests logic is correct
Regression Notes
Potential unintended areas of impact
Overlay is not shown properly
What I did to test those areas of impact (or what existing automated tests I relied on)
Manual testing and Automated tests
What automated tests I added (or what prevented me from doing so)
Added unit tests in JetpackFeatureRemovalOverlayUtilTest, ReaderViewModelTest and StatsViewModelTest
PR submission checklist:
RELEASE-NOTES.txtif necessary.