[Dependency Updates] Update googleMaterialVersion to 1.9.0#18433
[Dependency Updates] Update googleMaterialVersion to 1.9.0#18433
googleMaterialVersion to 1.9.0#18433Conversation
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.3.0
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.4.0
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.5.0
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.6.1 ------------------------------------------------------------------------ However, this update comes with a lot of breaking changes (see below). All those are going to be handled in subsequent commits. - Android resource linking failure on 'm3_sys_typescale_headline_xyz'. - [ChipsViewHolder] and the deprecated 'setOnCheckedChangeListener(...)'. - [WPDialogSnackbar] and the restricted 'setLayoutParams(..)' API.
The 'm3_sys_typescale_headline_large_text_size' is no longer available within the 'values/values.xml' file on this version of the 'Material' library (see error below). However, the value of this dimension was pointing to '32sp'. Thus, replacing that with 'text_sz_extra_extra_large' for 'textSize', which points to an equivalent dimension of '32sp' seems to be the right way to replace this resource. ------------------------------------------------------------------------ ERROR:/Users/.../build/intermediates/incremental/jetpackWasabiDebug /mergeJetpackWasabiDebugResources/stripped.dir/layout/ jetpack_powered_bottom_sheet.xml:52: AAPT: error: resource dimen/ m3_sys_typescale_headline_large_text_size (aka com.jetpack.android.beta:dimen/ m3_sys_typescale_headline_large_text_size) not found. ------------------------------------------------------------------------
The 'm3_sys_typescale_headline_medium_text_size' is no longer available within the 'values/values.xml' file on this version of the 'Material' library (see error below). The value of this dimension was pointing to '28sp'. However, this '28sp' value is not a value that is usually utilized across the app, that is, via the available 'text_sz_xyz' dimensions. The closest such value is '24sp' via the 'text_sz_double_extra_large' dimension. As such, replacing that with 'text_sz_double_extra_large' for 'autoSizeMinTextSize', which points to an the closest possible dimension of '28sp' seems to be the right way to replace this resource. ------------------------------------------------------------------------ ERROR:/Users/.../build/intermediates/incremental/jetpackWasabiDebug /mergeJetpackWasabiDebugResources/stripped.dir/layout/ jetpack_feature_removal_overlay.xml:47: AAPT: error: resource dimen/ m3_sys_typescale_headline_medium_text_size (aka com.jetpack.android.beta:dimen/ m3_sys_typescale_headline_medium_text_size) not found. ------------------------------------------------------------------------
Warning Message: "'setOnCheckedChangeListener (ChipGroup.OnCheckedChangeListener?): Unit' is deprecated. Deprecated in Java" Explanation: "This interface is deprecated. Use ChipGroup.OnCheckedStateChangeListener instead." ------------------------------------------------------------------------ Replacing 'setOnCheckedChangeListener(...)' with 'setOnCheckedStateChangeListener(...)', and then, iterating over the 'checkedIds', which in this case is always one anyway, is the recommended way to fix this deprecation warning. ------------------------------------------------------------------------ For more info see: - ChipGroup.OnCheckedChangeListener (Doc): https://developer.android.com/reference/com/google/android/material/ chip/ChipGroup.OnCheckedChangeListener - ChipGroup.OnCheckedStateChangeListener (Doc): https://developer.android.com/reference/com/google/android/material/ chip/ChipGroup.OnCheckedStateChangeListener
Error Message: "SnackbarBaseLayout.setLayoutParams can only be called from within the same library group (referenced groupId=com.google .android.material from groupId=WPAndroid)" Explanation: "This API has been flagged with a restriction that has not been met. Examples of API restrictions: * Method can only be invoked by a subclass * Method can only be accessed from within the same library (defined by the Gradle library group id) * Method can only be accessed from tests. You can add your own API restrictions with the @RestrictTo annotation." ------------------------------------------------------------------------ This Lint error is suppressed, that is, instead of being resolved, since a resolution would require a proper investigation. As such, it might be best to ignore this as out of scope, for now, and so as to not introduce any breaking changes with this update overall.
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.7.0 ------------------------------------------------------------------------ Minimum requirements: - Android Gradle Plugin (AGP) version 7.2.0 - Gradle version 7.3.3 - Java 8 (version 1.8) - Android Studio Chipmunk, version 2021.2.1 ------------------------------------------------------------------------ However, this update seems to comes with some UI changes, non-breaking and breaking included (see below). For the breaking UI changes, those are going to be handled in subsequent commits. - Non-breaking: New 'Switch' component. - Non-breaking: New 'Shape' system, used by all components. - Non-breaking: Redesigned 'BottomAppBar'. - Non-breaking: New 'Icon Button' support, which includes outlines, tonal and filled variants. - Breaking: Redesigned 'Checkbox', which supports indeterminate and error states.
Replacing the '<com.google.android.material.checkbox.MaterialCheckBox>' layout element with '<CheckBox>' fixes a breaking change where the checkbox related UI started misbehaving, that is, in terms of showing the wrong checkbox colors, on various themes (light/dark) and for various states (enabled/disable). For example, while testing on the 'Jetpack' app, using 'MaterialCheckBox' on a layout, which is on dark theme, will shown its 'disabled' state as total black (instead of it having a surrounding white square), and, its 'enabled' state as total black too (instead of it being a filled green square with a black tick icon). ------------------------------------------------------------------------ I am not 100% sure why that happens, and I tried various ways to overcome this UI related breaking change, including using a 'Widget.App.CheckBox' style via the '?attr/buttonTint' and ''?attr/buttonIconTint' (recommended by docs), that is, since inheriting the core app's theme (aka 'Base.Wordpress') from 'Theme.Material3.*' is a bigger undertaking anyway. This however didn't work, and as such, I tried something else, using the '<CheckBox>' directly, which is supposed to be auto-inflated as '<com.google.android.material.button.MaterialCheckBox>' via 'MaterialComponentsViewInflater' when using a 'Theme.Material3.*' theme (see docs). I understand that the core app's theme (aka 'Base.Wordpress') is not using the 'Theme.Material3.*' theme, but instead it is using the 'Theme.MaterialComponents.Light.DarkActionBar.Bridge', but this anyway, somehow worked. Also, the fact that the 'Checkbox' is already being used as such on various other layouts (like 'media_settings_activity.xml') gave me the confidence that this is the correct way forward. Another benefit of this fix is that the changes are also kept to a minimum. ------------------------------------------------------------------------ Explanation: "Checkbox has been redesigned and now supports indeterminate and error states! Check out the updated documentation." Doc: https://github.com/material-components/material-components-android/ blob/master/docs/components/Checkbox.md
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.8.0 ------------------------------------------------------------------------ Notable UI changes, all non-breaking it seems (see below): - Non-breaking: New 'Side Sheet' component, with included standard, modal and coplanar variants. - Non-breaking: New 'Search' component. - Non-breaking: Integrated tokens for multiple components.
Release Notes: https://github.com/material-components/ material-components-android/releases/tag/1.9.0 ------------------------------------------------------------------------ Notable UI changes, all non-breaking it seems (see below): - Non-breaking: New 'Carousel' component. - Non-breaking: Improved 'Badge' component.
|
| App Name | WordPress |
|
| Flavor | Jalapeno | |
| Build Type | Debug | |
| Version | pr18433-137eed8 | |
| Commit | 137eed8 | |
| Direct Download | wordpress-prototype-build-pr18433-137eed8.apk |
|
| App Name | Jetpack |
|
| Flavor | Jalapeno | |
| Build Type | Debug | |
| Version | pr18433-137eed8 | |
| Commit | 137eed8 | |
| Direct Download | jetpack-prototype-build-pr18433-137eed8.apk |
After updating the 'Material Component' library to its latest '1.9.0' version, this ignore configuration is not longer relevant for this library. FYI: Actually, this ignore configuration wasn't relevant for this library for some time now. This is because the 'Material Component' library was anyway pointing to '1.6.0-alpha01' for some time now, and that, due to transitive updates.
… into deps/update-google-material-to-1.9.0
FYI: As part of this dependency update, and since PS: I didn't test the below UI changes testing checklist items:
Good news! 🎉I identified nothing related to this Bad news! 🤷I identified a number of generic issues (of various weight), some known, while others not so much (maybe), still, none is related to this
|
|
Hey @ParaskP7 👋🏼
AFAIK I had introduced this value with design input from @osullivanchris. I would let @osullivanchris take this call. To let understand @osullivanchris better. @ParaskP7 is updating the material library and the reference to the material text style size is no longer avaiable, closest value is 24sp. So do we need to keep the min text size of the Jetpack powered title in jetpack feature overlay as 28sp or will 24sp do?. Below is a screenshot from the original PR with min text size as 28sp
|
|
@AjeshRPai that's ok to me 👍 |
|
Awesome, thanks you both for the confirmation on that, @AjeshRPai and @osullivanchris ! 🙇 ❤️ 🚀 |
… into deps/update-google-material-to-1.9.0
|
Found 1 violations: The PR caused the following dependency changes: +--- project :libs:image-editor
-| +--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01
-| | +--- androidx.annotation:annotation:1.2.0 -> 1.6.0 (*)
-| | +--- androidx.appcompat:appcompat:1.1.0 -> 1.6.1 (*)
-| | +--- androidx.cardview:cardview:1.0.0
-| | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
-| | +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
-| | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | +--- androidx.core:core:1.1.0 -> 1.10.0 (*)
-| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
-| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
-| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4 (*)
-| | +--- androidx.core:core:1.5.0 -> 1.10.0 (*)
-| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*)
-| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0
-| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*)
-| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
-| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0
-| | | +--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
-| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*)
-| | | +--- androidx.documentfile:documentfile:1.0.0
-| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
-| | | +--- androidx.loader:loader:1.0.0 (*)
-| | | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
-| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
-| | | \--- androidx.print:print:1.0.0
-| | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
-| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.3.0 (*)
-| | +--- androidx.fragment:fragment:1.0.0 -> 1.5.7 (*)
-| | +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.6.1 (*)
-| | +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.0 (*)
-| | +--- androidx.transition:transition:1.2.0 -> 1.4.1 (*)
-| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
-| | \--- androidx.viewpager2:viewpager2:1.0.0 (*)
+| +--- com.google.android.material:material:1.9.0
+| | +--- com.google.errorprone:error_prone_annotations:2.15.0
+| | +--- androidx.annotation:annotation:1.2.0 -> 1.6.0 (*)
+| | +--- androidx.appcompat:appcompat:1.5.0 -> 1.6.1 (*)
+| | +--- androidx.cardview:cardview:1.0.0
+| | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
+| | +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | +--- androidx.core:core:1.1.0 -> 1.10.0 (*)
+| | | +--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
+| | +--- androidx.constraintlayout:constraintlayout:2.0.1 -> 2.1.4 (*)
+| | +--- androidx.core:core:1.6.0 -> 1.10.0 (*)
+| | +--- androidx.drawerlayout:drawerlayout:1.1.1 (*)
+| | +--- androidx.dynamicanimation:dynamicanimation:1.0.0
+| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
+| | | \--- androidx.legacy:legacy-support-core-utils:1.0.0
+| | | +--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
+| | | +--- androidx.core:core:1.0.0 -> 1.10.0 (*)
+| | | +--- androidx.documentfile:documentfile:1.0.0
+| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
+| | | +--- androidx.loader:loader:1.0.0 (*)
+| | | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
+| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
+| | | \--- androidx.print:print:1.0.0
+| | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
+| | +--- androidx.annotation:annotation-experimental:1.0.0 -> 1.3.0 (*)
+| | +--- androidx.fragment:fragment:1.2.5 -> 1.5.7 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.6.1 (*)
+| | +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.0 (*)
+| | +--- androidx.transition:transition:1.2.0 -> 1.4.1 (*)
+| | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
+| | \--- androidx.viewpager2:viewpager2:1.0.0 (*)
| \--- androidx.navigation:navigation-ui:2.4.2
-| \--- com.google.android.material:material:1.4.0-beta01 -> 1.6.0-alpha01 (*)
+| \--- com.google.android.material:material:1.4.0-beta01 -> 1.9.0 (*)
+--- project :libs:editor
| +--- org.wordpress:aztec:{strictly v1.6.3} -> v1.6.3
-| | \--- com.google.android.material:material:1.0.0 -> 1.6.0-alpha01 (*)
+| | \--- com.google.android.material:material:1.0.0 -> 1.9.0 (*)
| +--- org.wordpress.aztec:wordpress-comments:{strictly v1.6.3} -> v1.6.3
-| | \--- com.google.android.material:material:1.0.0 -> 1.6.0-alpha01 (*)
+| | \--- com.google.android.material:material:1.0.0 -> 1.9.0 (*)
| +--- org.wordpress-mobile.gutenberg-mobile:react-native-gutenberg-bridge:v1.95.0
-| | +--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
+| | +--- com.google.android.material:material:1.2.1 -> 1.9.0 (*)
| | \--- org.wordpress-mobile.react-native-libraries.v1:react-native-screens:2.9.0
-| | \--- com.google.android.material:material:1.1.0 -> 1.6.0-alpha01 (*)
+| | \--- com.google.android.material:material:1.1.0 -> 1.9.0 (*)
-| \--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
+| \--- com.google.android.material:material:1.9.0 (*)
+--- org.wordpress:utils:{strictly 3.6.1} -> 3.6.1
-| \--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
+| \--- com.google.android.material:material:1.2.1 -> 1.9.0 (*)
+--- org.wordpress:login:1.3.0
-| \--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
+| \--- com.google.android.material:material:1.2.1 -> 1.9.0 (*)
+--- com.automattic:about:1.1.0
-| +--- com.google.android.material:material:1.4.0 -> 1.6.0-alpha01 (*)
+| +--- com.google.android.material:material:1.4.0 -> 1.9.0 (*)
| \--- com.google.android.material:compose-theme-adapter:1.1.1
-| \--- com.google.android.material:material:1.6.0-alpha01 (*)
+| \--- com.google.android.material:material:1.6.0-alpha01 -> 1.9.0 (*)
+--- com.automattic:stories:2.1.0
-| +--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
+| +--- com.google.android.material:material:1.2.1 -> 1.9.0 (*)
| \--- com.automattic.stories:photoeditor:2.1.0
-| \--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
+| \--- com.google.android.material:material:1.2.1 -> 1.9.0 (*)
-+--- com.google.android.material:material:1.2.1 -> 1.6.0-alpha01 (*)
++--- com.google.android.material:material:1.9.0 (*)
\--- com.zendesk:support:5.1.1
+--- com.zendesk:guide:1.0.9
| +--- com.zendesk:messaging:5.2.5
| | +--- com.zendesk:common-ui:4.0.5
| | | +--- com.zendesk.belvedere2:belvedere:3.0.5
- | | | | \--- com.google.android.material:material:1.2.0 -> 1.6.0-alpha01 (*)
+ | | | | \--- com.google.android.material:material:1.2.0 -> 1.9.0 (*)
- | | | \--- com.google.android.material:material:1.4.0 -> 1.6.0-alpha01 (*)
+ | | | \--- com.google.android.material:material:1.4.0 -> 1.9.0 (*)
- | | \--- com.google.android.material:material:1.4.0 -> 1.6.0-alpha01 (*)
+ | | \--- com.google.android.material:material:1.4.0 -> 1.9.0 (*)
- | \--- com.google.android.material:material:1.4.0 -> 1.6.0-alpha01 (*)
+ | \--- com.google.android.material:material:1.4.0 -> 1.9.0 (*)
- \--- com.google.android.material:material:1.4.0 -> 1.6.0-alpha01 (*)
+ \--- com.google.android.material:material:1.4.0 -> 1.9.0 (*)
Please review and act accordingly
|
AjeshRPai
left a comment
There was a problem hiding this comment.
Hey @ParaskP7 ,
Sorry for the delay in the review. The smoke testing took more time than expected. Everything works as expected. I have tested all the scenarios explained below.
Tested the following
- See the dependency tree diff result and verify correctness - ✅
- Thoroughly smoke test both, the WordPress and Jetpack apps, and see if everything is working as expected - ✅
- In addition to the above smoke test, I have tested the scenarios you have described in each section.
1.6.1 Update:
- Jetpack Feature Full Screen Overlay [JetpackFeatureFullScreenOverlayFragment.kt + jetpack_feature_removal_overlay.xml] - ✅
- Jetpack Powered Bottom Sheet [JetpackPoweredBottomSheetFragment.kt + jetpack_powered_bottom_sheet.xml] - ✅
- Jetpack Static Poster Screen [ChipsViewHolder.kt] ✅
- Dialog Snackbar Component [WPDialogSnackbar.java] ✅
1.7.0 Update:
- Activity Type Filter Screen [ActivityLogTypeFilterViewHolder.kt + activity_log_type_filter_item.xml] - ✅
- Restore/Download Backup Screen [JetpackCheckboxViewHolder.kt + jetpack_list_checkbox_item.xml] - ✅
- Related Posts Settings Dialog [RelatedPostsDialog.java + related_posts_dialog.xml] - ✅
Internal Libraries:
- Post Editing Flow [libs:editor] ✅
- Image Editing Flow [libs:image-editor] ✅
External Libraries:
- Login Flow [org.wordpress:login] - ✅
- Story Flow [com.automattic:stories] - ✅
- About App Screen [com.automattic:about] - ✅
- Contact Support Screen [com.zendesk:support] - ✅
Other:
- Snackbar + Snack Accessibility [org.wordpress:utils] - ✅
- WPTextInputLayout [org.wordpress:utils]
❓ From the looks of it, this layout is unused both, not only in the
WordPressandJetpackapps, but also in the [WordPress-Login-Flow-Android](https://github.com/wordpress-mobile/WordPress-Login-Flow-Android) library, which is were it was supposed to be used in anyway (see [here](#6776)). Also, see [this issue](#9905) on a related crash, which is an interesting thread to read, but I still can't figure out what happen to this layout and whether it was removed somehow/somewhere after all. Maybe it is time for us to remove it from the [WordPress-Utils-Android](https://github.com/wordpress-mobile/WordPress-Utils-Android) library, not sure...
Yup, am not sure either. I think we can safely remove the WPTextInputLayout. I couldn't find any usages. It looks like WPLoginInputRow is the view that's being used in login screen.
|
This is awesome @AjeshRPai , thank you SO MUCH for reviewing, testing and merging this, you are a rockstar! 🪨 + 🌟 x 🙇 ❤️ 🚀 |



Parent #17798
This PR updates
googleMaterialVersionto 1.9.0.PS: Since this library was anyway pointing to
1.6.0-alpha01(it seems for some time now), the below commits was for documentation purposes only and weren't causing any actual changes whatsoever:PS: @AjeshRPai I added you as the main reviewer, randomly so, since I just wanted someone from the WordPress team to be aware of and sign-off on that change for WPAndroid. I also added the @wordpress-mobile/apps-infrastructure team, but this in done only for monitoring purposes, as such, I am not expecting any active review from that team. Thus, feel free to merge this PR if you deem so.
App UI Fix List:
1.7.0)Compile Errors Fix List:
1.6.1)@dimen/m3_sys_typescale_headline_large_text_sizedimension and assigned it toandroid:textSizevia this PR [commit], let me know if this fix makes sense to you too.1.6.1)@dimen/m3_sys_typescale_headline_medium_text_sizedimension and assigned it toapp:autoSizeMinTextSizevia this PR [commit], let me know if this fix makes sense to you too. Or, if you would prefer this dimension to remain28spand be either hardcoded or extracted to a newlydimenresource. 🤔Compile Warnings Resolution List:
1.6.1)List Warnings Suppression List:
1.6.1)To test:
1.6.1Update:1. Jetpack Feature Full Screen Overlay [JetpackFeatureFullScreenOverlayFragment.kt + jetpack_feature_removal_overlay.xml]
ℹ️ This test applies to the
WordPressapp.My Sitetab ->Site Picker(down-arrow).plus(+) button to add a new site.Create WordPress.com sitewhen the dialog appears.Jetpack Feature Fullscreen overlay is shown and functioning as expected.2. Jetpack Powered Bottom Sheet [JetpackPoweredBottomSheetFragment.kt + jetpack_powered_bottom_sheet.xml]
ℹ️ This test applies to the
WordPressapp.My Sitetab ->MENUsub-tab.Managesection in the middle and click on itsActivity Logoption.Moving to the Jetpack app in a few days.bottom sheet, click on it.Jetpack Poweredbottom sheet is shown and functioning as expected.3. Jetpack Static Poster Screen [ChipsViewHolder.kt]
ℹ️ This test applies to the
Jetpackapp.My Sitetab ->MENUsub-tab.Trafficsection in the middle and click on itsStatsoption.Views & Visitorscard is shown and functioning as expected.Visitorschip (at the bottom of the card) and verify that the UI is updated to show visitors, then switch back by clicking on theViewschip and verify that the UI is updated to show views.VIEW MOREbutton (top right) and verify that theViews & Visitorsscreen is shown and functioning as expected. Click again the onVisitorsandViewschips to verify that everything is working as expected.4. Dialog Snackbar Component [WPDialogSnackbar.java]
ℹ️ This test applies to both, the
WordPressandJetpackapps.1.7.0Update:1. Activity Type Filter Screen [ActivityLogTypeFilterViewHolder.kt + activity_log_type_filter_item.xml]
ℹ️ This test applies to the
Jetpackapp.My Sitetab ->MENUsub-tab.Managesection in the middle and click on itsActivity Logoption.Activity Typefilter on top and click on it to navigate to theActivity Type Filterscreen.2. Restore/Download Backup Screen [JetpackCheckboxViewHolder.kt + jetpack_list_checkbox_item.xml]
ℹ️ This test applies to the
Jetpackapp.My Sitetab ->MENUsub-tab.Managesection in the middle and click on itsActivity Logoption.RESTOREandDOWNLOAD BACKUPbutton to navigate to theRestoreandDownload Backupscreen respectively.3. Related Posts Settings Dialog [RelatedPostsDialog.java + related_posts_dialog.xml]
ℹ️ This test applies to both, the
WordPressandJetpackapps.My Sitetab ->MENUsub-tab.Managesection at the bottom and click on itsSite Settingsoption.Writingsection in the middle and click on itsRelated Postsoption.Related Postsdialog will appear, enable theShow Related Postsoption. This will enablethe
Show HeaderandShow Imagescheckboxes.Show HeaderandShow Imagescheckboxes and verify that the UI is updatedaccordingly on both, the light and dark theme.
InternalLibraries:1. Post Editing Flow [libs:editor]
️ This test applies to both, the
WordPressandJetpackapps.❗️ This test makes sure that the
Post Editingflow, which comes from the libs:editormodule is also working as expected and that any transitive dependency changes aren't affecting
any
Materialrelated components.blogpost.paragraph,heading,image,video,separator,quote,gallery,columns,rowsblocks).Post Editingscreen, along with all the blocks you added, are shown andthat everything is functioning as expected.
2. Image Editing Flow [libs:image-editor]
ℹ️ This test applies to both, the
WordPressandJetpackapps.❗️ This test makes sure that the
Image Editingflow, which comes from the libs:image-editormodule is also working as expected and that any transitive dependency changes aren't affecting
any
Materialrelated components.blogpost.imageblock.imageblock.media optionsof this image (top right) and then clickedit.Edit Imagescreen is shown and functioning as expected.donemenu option (top right).ExternalLibraries:1. Login Flow [org.wordpress:login]
ℹ️ This test applies to both, the
WordPressandJetpackapps.❗️ This test makes sure that the
Loginflow, which comes from the com.wordpress:loginlibrary is also working as expected and that any transitive dependency changes aren't affecting
any
Materialrelated components.Loginscreen is shown and functioning as expected.2. Story Flow [com.automattic:stories]
ℹ️ This test applies to the
Jetpackapp.❗️ This test makes sure that the
Storyflow, which comes from the com.automattic:storieslibrary is also working as expected and that any transitive dependency changes aren't affecting
any
Materialrelated components.storypost.imagesto that story.texton top of any image you uploaded.3. About App Screen [com.automattic:about]
ℹ️ This test applies to both, the
WordPressandJetpackapps.❗️ This test makes sure that the
About Appscreen, which comes from the com.automattic:aboutlibrary is also working as expected and that any transitive dependency changes aren't affecting
this
Materialrelated components.My Sitetab and navigate to theMescreen (click on avatar at top-right).About Appitem on theMescreen you are currently at.About Appscreen is shown and functioning as expected.4. Contact Support Screen [com.zendesk:support]
ℹ️ This test applies to the
Jetpackapp.❗️ This test makes sure that the
Contact Supportscreen, which comes from the com.zendesk:supportlibrary is also working as expected and that any transitive dependency changes aren't affecting
this
Materialrelated components.My Sitetab and navigate to theMescreen (click on avatar at top-right).Helpitem on theMescreen you are currently at, and then theContact Supportitem within.Contact SupportZendesk related screen is shown and functioning as expected.Other:1. Snackbar + Snack Accessibility [org.wordpress:utils]
ℹ️ This test applies to the
Jetpackapp.❗️ This test makes sure that any and all
Snackbarrelated functionality, especially thegetSnackbarDurationaccessibility related one, which is used mainly via snackbar related classesand
SitePickerActivity, which comes from the org.wordpress:utils library is also working asexpected and that any transitive dependency changes aren't affecting this
Materialrelated components.My Sitetab ->HOMEsub-tab.Get to know the appcard and click on it.Get to know the appscreen should be shown. Start the flow by clicking on theCheck your site statsbutton.snackbaris shown and functioning as expected.2. WPTextInputLayout [org.wordpress:utils] 🤔
❓ From the looks of it, this layout is unused both, not only in the
WordPressandJetpackapps, but also in the WordPress-Login-Flow-Android library, which is were it was supposed to be used in anyway (see here). Also, see this issue on a related crash, which is an interesting thread to read, but I still can't figure out what happen to this layout and whether it was removed somehow/somewhere after all. Maybe it is time for us to remove it from the WordPress-Utils-Android library, not sure...Merge instructions
trunkand make sure everything is still working as expected.trunkand make sure everything is still working as expected.[PR] Not Ready For Merge]label.trunk.Regression Notes
Potential unintended areas of impact
Material Componentsis a library that is being used across many, if not all screens, since amongst others it is also driving thestyles.xmland the mainBase.Wordpressstyle/theme.What I did to test those areas of impact (or what existing automated tests I relied on)
To testsection.What automated tests I added (or what prevented me from doing so)
PR submission checklist:
RELEASE-NOTES.txtif necessary.UI Changes testing checklist: