Skip to content

[Explore Feed] Empty State "For You" screen#6601

Merged
dbrant merged 17 commits into
explore-feed-upgrade-designfrom
ef-for-you-empty-state
May 20, 2026
Merged

[Explore Feed] Empty State "For You" screen#6601
dbrant merged 17 commits into
explore-feed-upgrade-designfrom
ef-for-you-empty-state

Conversation

@Williamrai
Copy link
Copy Markdown
Collaborator

What does this do?

  • Handles For You empty states when user has not selected any interests and has no reading history (new user)
  • Skips home preference page when launching personalization from empty state CTA
  • Adds logic to open the swipe-to-explore dialog only when there is content available on the "For you" screen.

Phabricator:
https://phabricator.wikimedia.org/T426456

…any interests or has no reading history

- removes home preference from customization flow when adding new interset
Copy link
Copy Markdown
Collaborator

@cooltey cooltey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In some cases, if you load the feed without selecting interests first, and then disable the module, and then select interests, and finally enable the module, the feed will show the same "add interests" empty state, which seems incorrect to me.

And then, do we want to show the same message if I have no history, but I enable "Because you read" and "Continue reading", is this expected?

- adds ForYouEmptyState
- adds related string for empty state
…o ef-for-you-empty-state

# Conflicts:
#	app/src/main/java/org/wikipedia/feed/HomeFragment.kt
@Williamrai Williamrai requested a review from cooltey May 18, 2026 18:23
…o ef-for-you-empty-state

# Conflicts:
#	app/src/main/res/values-qq/strings.xml
#	app/src/main/res/values/strings.xml
listOf(
PersonalizationPage.INTERESTS,
PersonalizationPage.HOME_PREFERENCE
PersonalizationPage.INTERESTS
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change seems a bit off to me. The variable is EXTRA_SHOW_INTRO_PAGE but what you do here is only showing the interests screen without home_preference.

It would be better if we could send something clearer for different conditions.

Copy link
Copy Markdown
Collaborator Author

@Williamrai Williamrai May 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replaced EXTRA_SHOW_INTRO_PAGE with EXTRA_SHOW_INTERESTS_ONLY, since we are either showing all three or just one interest.

if (it.resultCode == RESULT_OK) {
selectTab(HomeTab.FOR_YOU)
Prefs.homeForYouModulesToday = ""
viewModel.selectTabWithoutLoadingContent(HomeTab.FOR_YOU)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of creating a new function for only skipping loading the content, could we add a parameter in the existing function for this purpose?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added selectTabWithoutLoadingContent because the existing function was both selecting the tab and reloading its content, which caused duplicate loading when the user returned from the interest selection screen.

Now I split the behavior into two separate functions: tab selection is now handled independently, and the reload logic has been moved to reloadCurrentTab(). I think later we can refactor this to observe the selectedTab.

selectedTab = selectedTab,
communityContentState = viewModel.communityState.collectAsState().value,
forYouContentState = viewModel.forYouState.collectAsState().value,
forYouContentState = forYouContentState,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the reason for this change? If this relates to the code formatting, would you please also do this for communityContentState?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason for this change was not related to code formatting, but to use it in a conditional check to determine whether the swipe-to-explore dialog should be shown. Updated for communityContentState as well.

Comment thread app/src/main/java/org/wikipedia/feed/HomeFragment.kt Outdated
onManageModulesClick = onManageModulesClick
onManageModulesClick = onManageModulesClick,
navigateToCommunityTab = navigateToCommunityTab,
onCustomizeInterestsFromEmptyStateClick = onCustomizeInterestsFromEmptyStateClick
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we reuse the existing onCustomizeInterestsClick instead of creating a new one?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can reuse the onCustomizeInterestsClick but we don't have an instrumentation for when empty feed is shown. For now i added a nullable to card parameter and skip the instrumentation until we have an instrumentation.

Comment thread app/src/main/java/org/wikipedia/feed/HomeFragment.kt Outdated

@Composable
fun HomeScreenEmptyState(
fun AllModulesHiddenView(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the conversation on Slack about the empty state for Community, it's more likely this should be named more generally.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you point out to that conversation? is it this one?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renamed to FeedEmptyStateView

}

@Composable
fun ForYouNoDataView(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be possible to name it FeedContentEmptyView or something more general?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This view is only applicable to For you Feed so would it be okay to name this ForYouFeedEmptView?

Comment thread app/src/main/java/org/wikipedia/feed/HomeFragment.kt Outdated
Comment thread app/src/main/java/org/wikipedia/feed/HomeViewModel.kt Outdated
@Williamrai Williamrai requested a review from cooltey May 19, 2026 20:24
Copy link
Copy Markdown
Collaborator

@cooltey cooltey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found an issue that if you have multiple app languages, the "add interests" does not work properly for the non-primary languages.

The same thing happens when you change the language order in the app languages list.

Screen_Recording_20260519_134336_Wikipedia.Dev.mp4

@cooltey
Copy link
Copy Markdown
Collaborator

cooltey commented May 19, 2026

Found an issue that if you have multiple app languages, the "add interests" does not work properly for the non-primary languages.

The same thing happens when you change the language order in the app languages list.
Screen_Recording_20260519_134336_Wikipedia.Dev.mp4

The issue is still here after merging #6610.

@dbrant dbrant merged commit 2201019 into explore-feed-upgrade-design May 20, 2026
1 check passed
@dbrant dbrant deleted the ef-for-you-empty-state branch May 20, 2026 18:38
dbrant added a commit that referenced this pull request May 21, 2026
* Feature branch: Explore Feed Redesign

* Add strings back

* New Explore feed onboarding nav (#6456)

* - adds navigation arch

* - simplify navigation

* Existing user new Explore feed announcement (#6447)

* - adds ExploreFeedUpdatePromptActivity
- adds strings for ExploreFeedUpdatePromptActivity
- adds preference for controlling ExploreFeedUpdatePromptActivity access
- adds icon resources

* - open explore feed update prompt from feed fragment
- code fixes

* - code fixes

* NewExploreFeed: Onboarding: Intro Screens and Context Setting (#6449)

* Explore Feed: Onboarding: Intro Screens and Context Setting

* Integrate with the initialOnboardingActivity

* Almost

* Optimize

* Code review comments

* Update asset, function and handle navigation bar correctly

* Fix test

* NewExploreFeed: the Feed building screen (#6460)

* NewExploreFeed: the Feed building screen

* Update asset and ready for design signoff

* NewExploreFeed: Languages pick screen (#6461)

* NewExploreFeed: Languages pick screen

* Callbacks

* Finishing up

* Language pick

* Add language selection to initialOnboarding screen

* Fix

* Update content description

* Framework for Home fragment in Compose. (#6458)

* Allow edge-to-edge for MainActivity, enabling full-bleed compositions.

* Remove redundant name.

* Initial exploration of HomeFragment.

* Yes.

* Remember snap fling state.

* Yep.

* Bunch of hacks for applying non-default theme colors to NavBar.

* Imports.

* Explicitly set LightSystemUiVisibility.

* Framework for Home fragment in Compose.

* Properly account for status bar inset.

* Refactor a bit.

* Further solidify.

* Break out ViewModel.

* Review comments.

* Remove annotation.

* Apply different themes when switching tabs, and fill out some more.

* OK...

* Wire up.

* Alright...

* Alright!

* Follow-up: add strings to strings.xml and adjust the order of functions (#6481)

* NewExploreFeed: rename "Explore" to "Home" (#6479)

* NewExploreFeed: rename "Explore" to "Home"

* update for strings that may not be used later

* add qq strings

* Code review comments

* Fix merge issue

* Fix reference

* NewExploreFeed: Top Read Module (#6484)

* Community Picks: Top Read Module

* Better paddings

* wire to home

* Clickable area:

* click behavior

* Adding trending up/down icons

* Update token

* Finalized

* Pull to refresh

* show localized name in the description

* Remove language text

* Properly wire up refresh box.

* Lint.

* Remove unused varaible and enum class

* Add text color for the list item title

* Home feed: Picture of the Day module. (#6485)

* Home feed: Picture of the Day module.

* Make image clickable.

* Wire up downloading image.

* Solidify.

* Properly wire up refresh box.

* Factor out module header.

* Whoops.

* Fine, make modifier be the first parameter.

* Add missing wiring.

* Make icon buttons be 48dp.

* Use proper contentDescription.

* Whoops.

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Home feed: Featured Article module. (#6488)

* Home feed: Picture of the Day module.

* Make image clickable.

* Wire up downloading image.

* Solidify.

* Properly wire up refresh box.

* Factor out module header.

* Whoops.

* Fine, make modifier be the first parameter.

* Flesh out featured article.

* Add missing wiring.

* Deduplicate.

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Update icon buttons and content descriptions

* NewExploreFeed: design tweak for onboarding screens (#6499)

* NewExploreFeed: design tweak for onboarding screens

* Fixed thumb height and resolve jumpling

* - center aligned title for ExploreFeedUpdatePromptScreen (#6504)

* Explore Feed interest (#6459)

* - adds PersonalizationScreen.kt
- adds interest onboarding related screens
- adds string resources

* - adds raw state for PersonalizationScreen to derive interest ui states
- adds state models
- adds viewModel and interest placeholder screen

* - adds click event on category and adds comments

* - adds personalization screen as activity
- code fixes

* - adds navigation

* - adds more UI for interest selection and business logic
- code fixes

* - adds shimmer effect

* - adds onboarding topics data and message api call

* - adds bottom selection bar
- moves view to its own composable functions
- adds string resource
- code fixes

* - dose not replace selected articles

* - adds proper api call to getArticlesByTopic
- adds topics
- code fixes

* - updates interest screen ui to be fully scrollable

* - adds interest entity, dao, and viewmodel logic
- code fixes

* - converts selectedTopics to list of onboarding for readability and access

* - adds preview

* - adds namespace to Interest entity
- adds deleteAllByType query
- adds viewModelFactory to PersonalizationViewModel.kt
- code fixes and cleanups

* - rename and moves re-usable interest selection components to compose/components

* fix lint

* - code fixes

* - renames articleTopics to queryTopicId

* - splits Interest.kt into ArticleInterest.kt and TopicInterest.kt
- writes DAO for article and topic interest
- update PersonalizationViewModel.kt and PersonalizationRepository.kt
- updates SelectionBottomBar to use count of both article and topics
- code fixes

* - maps one to many relationship between article and topic interest
- adds job in PersonalizationViewModel.kt
- code fixes

* - adds code to restore persisted interest for returning user
- update article and topic interest dao
- code fixes

* - adds showError
- code fixes

* - code fixes
- updates db entities and adds unit test

* - adds new db structure json file

* - fix migration

* - fix db unit test

* - code/ui fixes
- renames article and topic interest table

* - moves personalization to feed package, separate interest into its own package

* - rename repository to interestSelectionRepository

* - only show ExploreFeedUpdatePromptActivity for existing users

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Make sure the language screen is scrollable

* NewExploreFeed: In the news module (#6503)

* NewExploreFeed: In the news module

* Add to the feed

* Fix import

* Finish the implementation

* - db fixes (#6508)

* Update news design

* Verbiage.

* NewExploreFeed: Feed Layout & Framework (#6509)

* NewExploreFeed: Feed Layout & Framework

* Language Code box

* Wire up language picker to home feed.

* Minor adjustment

* Better clickable

* Fix lint

* Update module order

* show text based on the selected language

* Add preference for selected language

* Untangle viewModel from HomeScreen composable.

---------

Co-authored-by: Dmitry Brant <me@dmitrybrant.com>

* Fix other previews.

* Remove italic (pictured) parenthetical.

* Limit line count in featured image description and author.

* Tweaks to chip alignment and padding.

* Reorder topics.

* Home Feed: On This Day module. (#6518)

* Very basic scaffolding.

* Do it.

* Add dark overlay over images in Featured Article and News.

* Also bump opacity of text box to 92%.

* [Explore Feed] Preference Selection  (#6502)

* - adds PersonalizationScreen.kt
- adds interest onboarding related screens
- adds string resources

* - adds raw state for PersonalizationScreen to derive interest ui states
- adds state models
- adds viewModel and interest placeholder screen

* - adds click event on category and adds comments

* - adds personalization screen as activity
- code fixes

* - adds navigation

* - adds more UI for interest selection and business logic
- code fixes

* - adds shimmer effect

* - adds onboarding topics data and message api call

* - adds bottom selection bar
- moves view to its own composable functions
- adds string resource
- code fixes

* - dose not replace selected articles

* - adds proper api call to getArticlesByTopic
- adds topics
- code fixes

* - updates interest screen ui to be fully scrollable

* - adds interest entity, dao, and viewmodel logic
- code fixes

* - converts selectedTopics to list of onboarding for readability and access

* - adds preview

* - adds namespace to Interest entity
- adds deleteAllByType query
- adds viewModelFactory to PersonalizationViewModel.kt
- code fixes and cleanups

* - rename and moves re-usable interest selection components to compose/components

* fix lint

* - code fixes

* - renames articleTopics to queryTopicId

* - splits Interest.kt into ArticleInterest.kt and TopicInterest.kt
- writes DAO for article and topic interest
- update PersonalizationViewModel.kt and PersonalizationRepository.kt
- updates SelectionBottomBar to use count of both article and topics
- code fixes

* - maps one to many relationship between article and topic interest
- adds job in PersonalizationViewModel.kt
- code fixes

* - adds code to restore persisted interest for returning user
- update article and topic interest dao
- code fixes

* - adds showError
- code fixes

* - code fixes
- updates db entities and adds unit test

* - adds new db structure json file

* - fix migration

* - fix db unit test

* - code/ui fixes
- renames article and topic interest table

* - adds feed preference state, structure and base UI
- adds string resource
- adds autoSize parameter to HtmlText

* - feed screen architecture refinement

* - moves personalization to feed package, separate interest into its own package

* - moves feedPreference to its own package
- adds FeedPreferenceRepository and FeedPreferenceState

* - rename repository to interestSelectionRepository

* - adds DTO class ArticleWithTopic to query results from both entities using getArticlesWithTopic function
- adds loadFeedPreferenceScreen
- adds dev settings for selecting feed preference type
- code/ui fixes

* - lint fixes

* - adds empty state for personalized content
- removes db query to get articleWithTopic

* - adds API call for getting preview for getInterests
- code fixes

* - api call fixes

* - adds cache based preview for personalized content instead of api call
- cache is only applied for topics
- code fixes

* - renames "feed" to "home"
- code fixes

* - string fix

* - adds proper properties for displaying variant titles

* - adds language code to get proper string

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Rename FeedPreference to HomePreference

* Introduce alternate presentation when no image.

* Introduce alternate presentation when no image.

* Update spacings.

* Put picture of the day before News.

* Randomize colors with consistent seed.

* NewExploreFeed: Overflow menus (#6527)

* NewExploreFeed: Overflow menus

* No box

* Adding hide module menu to the header

* keep UI actions outside the view model.

* Wire for OTD

* Fix merge

* Better menu key instead of plain if statment

* Add module keys for hiding functionality

* Revert "Add module keys for hiding functionality"

This reverts commit 7a4aa11.

* Add padding to the onboarding buttons and extend delay to 1.7 seconds

* 2 seconds

* Refactor to reuse Card model classes.

* Make individual cards hideable!

* Refactor topics logic to use string resources.

* Untangle topics.

* Further untangle and simplify.

* Untangle even further, and simplify greatly.

* Don't show YiR dialog in the app onboarding

* Make use of fadeable images.

* Home Feed: Framework for For You cards. (#6546)

* Getting there.

* Home Feed: Framework for For You cards.

* Nail down design without lead image.

* Nail it down.

* Adjust top gradient.

* Use correct icon for hiding card.

* Untangle it!

* Right.

* Get all topics agnostically of language.

* Make hidden cards into a circular list.

* Correctly use msgKey from topic.

* Make card impressions instrumentable.

* Further factor out common logic.

* Also instrument Community cards.

* Refactor and improve impression detection.

* Adapt.

* Use fadeable image, and experiment with random search.

* Review.

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Max 5 interests from topics.

* Refactor to use common card pattern.

* Wire up Interests based on articles.

* Randomize at dao level.

* Wire up personalizing interests.

* NewExploreFeed: Tabs icon (#6542)

* NewExploreFeed: Tabs icon

* Update tab with the feed

* Create a toolbar and finalize

* Truly aligned to the center

* Update min font size to `5`.

* Use data class instead of pair

* Fix error

* Fix the merge error

* Refine API usage for Continue Reading.

* Design tweaks.

* Make on-this-day subitems dynamically sized to viewport.

* NewExploreFeed: Because you read (#6557)

* NewExploreFeed: Because you read

* Simplify because you read

* Reduce API calls

* send maxage manually

* show localized footer text

* Change if to when

* Simplify a bit.

* More cleanup.

* Add instrument to HomeFragment.

* Add instrumentation to UpdatePromptActivity.

* Add instrumentation to PersonalizationActivity.

* Add instrumentation to initial onboarding.

* Wire up card impression events.

* NewExploreFeed: Add "Hide modules" functionality (#6559)

* NewExploreFeed: Add "Hide modules" functionality

* format adjusted

* Fix error

* - adds data store (SettingsRepository) for hiding modules
- separates out all modules enum to community and for you modules
- removes hiddenModules preference
- code fixes

* Some code updates

* Lint errors fix

---------

Co-authored-by: williamrai <williamrai13@gmail.com>

* NewExploreFeed: Add Share and Save to the overflow menu in For you tab (#6568)

* Fix: show the correct tab after selection the tab preference (#6573)

* Fix: show the correct tab after selection the tab preference

* Make sure select the tab when finishing the onboarding

* Exploratory tweaks of API usage.

* [Explore Feed] top level settings screen (#6565)

* - adds top level home feed settings
- adds navigation arch for home feed settings
- adds sub screen for home feed settings
- adds string resource

* - adds settings row and settings section
- completes the top level settings screen for home feed settings

* - adds correct design tokens
- rename files

* - rename WhatsDrivingFeedModulesScreen to FeedConfigurationScreen

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Explorations of improved topic query.

* Update sort order and topic score.

* Notification bell (#6553)

* - adds Notification Bell component

* - Drive animation from unreadCount instead of external trigger
- adds a ripple `indication` with a `MutableInteractionSource` for proper touch feedback
- code fixes

* - code format

* - adds _unreadCount for listening to notification count from broadcast receiver
-

* - calls refresh when logged out to hide the notification bell
- code fixes

* - merge fixes

* - lint fixes

* - code fixes

* - reverts the update code for notification bell when user logs out

* - merge conflict fixes
- adds code to remove notification bell user logs out

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* - skips reading challenge onboarding dialog when in PersonalizationActivity (#6582)

* follow up

* Add contentPaddings for overflow menu items

* Update the order of the Community tab modules

* Update copy.

* Card order.

* Don't show "load more" at the bottom of For You.

* Tweak gradient.

* Refresh For You after updating interests.

* Towards serializing cards and modules.

* Persist current day's state of For You modules.

* Readjust strings.

* Greatly improve efficiency of fetching random items.

* Skip cache logic for design signoff temporarily

* Put back cache logic.

* Use device language for overflow menu

* [Explore Feed] Community and For You modules setting (#6581)

* - adds community module settings

* - adds for you module settings

* - creates a common toggle style setting screen called ToggleListScreen
- code fixes

* - adds link support to description in settings row
- adds proper naming
- ui/code fixes

* - code fixes

* - code fixes

* - string fixes

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Make the home setting screen scrollable

* Add confirmation dialog when disabling all modules.

* Right.

* NewExploreFeed: Show swipe onboarding to new "Home" feed users (#6596)

* Add strings for swipe-to-explore prompt in the new explore feed

* Add preference

* Finalized

* Simplified

* Home feed: Consistent proper spacing after DayHeader. (#6597)

* [Explore Feed] Empty state (#6591)

* - adds community module settings

* - adds for you module settings

* - creates a common toggle style setting screen called ToggleListScreen
- code fixes

* - adds link support to description in settings row
- adds proper naming
- ui/code fixes

* - code fixes

* - code fixes

* - string fixes

* - adds empty state

* - adds qq string

* - adds start route to HomeFeedSettingsActivity so that user can navigate directly to "For you" or "Community" tab

* - code fixes and adds missing string resource

* - adds proper top padding to empty state in For You screen

* - fix for you dialog confirmation

* - code fixes

* - code fixes

* Update default text alignment for title to `start`.

* Home Feed: instrumentation. (#6595)

* Home Feed: instrumentation.

* Moar instrumentation.

* Moar instrumentation.

* Instrument page overflow menu.

* Improve instrumentation of personalization.

* Instrument settings.

* Review fixes.

* Review comments.

* - adds missing padding and change the verticalAlignment to Top for Settings Row

* Fix triggering of setting navtab colors upon resumption.

* - fixes community modules settings order and user correct string

* Clear cached daily modules earlier (when selecting interests).

* [Explore Feed] Announcements should not interrupt Home feed onboarding (#6598)

* - adds AppAnnouncements for handling announcement activities
- blocks announcements while onboarding-related activities are on screen
- requires initial onboarding to be complete before any announcement fires
- requires ExploreFeedUpdatePrompt to be completed before announcements fire
  for existing users

* - adds announcement logic back to base activity

* - code fixes

* Fix: refresh the feed if the selected language is not in the list (#6604)

* Home feed: Clear "For you" cache upon toggling any interest. (#6610)

* [Explore Feed] Empty State "For You" screen (#6601)

* - adds code to handle the empty state when the user has not selected any interests or has no reading history
- removes home preference from customization flow when adding new interset

* - adds new design for "For you" empty state
- adds ForYouEmptyState
- adds related string for empty state

* - updates string

* - code fixes

* - strings update

* - string fixes

* - string fixes

* - adds "interest only" instead of "intro page only" for customizing interests
- hides skip and page indicator when there is only one page in interest selection onboarding flow
- code/ui fixes

* - split selectTab behavior into two separate functions (selectTab and reloadCurrentTab)

* - handles no data view for Community Feed
- code fixes

* - proper naming for empty view

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* A touch of cleanup of naming.

* [NewExploreFeed] Fix: use the proper wikiSite for the interests selection screen (#6613)

* Home feed: instrumentation for Empty states. (#6614)

* Home feed: instrumentation for Empty states.

* Set subtype only if card is not empty.

* [Explore Feed] whats driving your feed setting screen (#6607)

* - implements Feed Configuration screen
- empties Prefs.homeForYouModulesToday when user selects new interest from the Settings flow in order to fetch new content in the HomeFragment
- code/ui fixes
- adds new strings

* - adds flow queries to show dynamic subtitles in Feed Configuration based on user data
-

* - code fixes

* Wrap the content with Box

* - trigger for you reload via activity result instead of onResume

* - allow user to navigate back to setting screen

* - use proper file name

---------

Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>

* Instrument Driving-your-feed screen.

* [NewExploreFeed] Apply pull-to-refresh and a snackbar message (#6616)

* [Explore Feed] Fix localized topic and primary language display (#6619)

* - Shows the correct topic string based on the selected language
- displays the correct primary language in the Home tab bar.

* - code fixes

* - code fixes

* - code fixes

* Combine into or.

* - removes the code that automatically refreshes the “For You” content when interests are changed in Settings (#6618)

* - code fixes

* Fix extra qq strings.

---------

Co-authored-by: William Rai <48931640+Williamrai@users.noreply.github.com>
Co-authored-by: Dmitry Brant <dbrant@wikimedia.org>
Co-authored-by: Dmitry Brant <me@dmitrybrant.com>
Co-authored-by: williamrai <williamrai13@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants