The design asks for a new row in between the primary and the secondary text so
I went with making "ListItemTabSurface" public allowing for customizing the
content it will show but keeping the same layout and general UX.
PocketStoriesChange was called only once - to clean the shown stories when the
user gets to the homescreen and the Pocket feature is disabled - useful for the
situations in which the user returns after disabling the feature in settings.
Populating the store with recommended stories to show was already happening
based on 'PocketStoriesCategoriesChange' and sponsored stories will be added by
using 'PocketSponsoredStoriesChange' so renaming 'PocketStoriesChange' will
help on reducing any confusion in the future.
Also added documentation for all Pocket related actions from AppStore and
removed the 'UndocumentedPublicClass' detekt suppressions.
The default was already 8. This is now being moved closer to the source from
where the stories to be shown are emitted.
With the addition of sponsored stories at fixed positions having to support a
variable number of stories being returned from AppState#getFilteredStories
means increased complexity with no benefit.
- Added support for `localProperties.branchBuild.application-services`
and `localProperties.branchBuild.android-components`. These work like
the autoPublish properties. However, rather than
auto-building/publishing application-services/android-components as
part of the fenix build, we build it ahead of time with a specific
version name, then specify that version in `local.properties` as
`localProperties.branchBuild.application-services.version`.
- Added support for the `localProperties.branchBuild.fenix` gradle
property to set the version for fenito set the version for fenix
- Added support for the absolute paths when running the substutition
scripts.
The plan is to use this feature to build/test fenix using a particular
checkout of application-services and androd-components, with the
versions set to the git commit id.