[Feature branch] Reading challenge widget#6367
Merged
Conversation
- adds StreakProgressBar and BoxedProgressBar component - adds helper xml components for widgets
…hallenge widget state
- lint fixes
- updates widgets size - adds unit test for ReadingChallengeWidgetRepository resolveState and recalculateStreakIfNeeded function - code fixes
- adds colors, gradient background - adds preview images - adds resources
* Reading challenge: code updates and renaming * Code fix * Code review comment * Lint * Use TestCase --------- Co-authored-by: williamrai <williamrai13@gmail.com>
- adds progress color
- ui fixes
… into reading-challenge-widget-design
… into reading-challenge-widget-design
- removes unused baby globe assets - code fixes
# Conflicts: # gradle/libs.versions.toml
…g challenge widget (#6519) * - adds start date for reading challenge dev settings - infinite loop fix * - test fix
… into reading-challenge-widget-design
…terized string in onboarding (#6530) * - adds parameter string for onboarding subtitle and make start and end date public function * - introduces an additional compact size variant to better support smaller height constraints. * - remove TODO * - aligns the same asset for the small widget
* - adds analytics for Reading Challenge Widget * - adds instrument to all widget states - adds "apps-open" instrument * - instrumentation fixes * - adds instrumentation for reading challenge widget - adds helper function to send events easily - code fixes to work with instrumentation - reading challenge dev setting performance fix * - code fixes * - adds action subtype * - adds proper instrumentation calls and removes from static object * - adds default action source * - remove funnel_name from heartbeat event - adds widget state name as element_id for heartbeat event * Tiny cleanup. --------- Co-authored-by: Dmitry Brant <me@dmitrybrant.com>
- establish single source of truth for small and large widget sizes - Introduce TINY size - Fine-tune widget UI element sizes per size tier - Add preview coverage across tier boundaries to verify edge cases - Fix GeneralLargeWidget layout to allow flexible mascot sizing - removes minResizeHeight which is not required as user cannot resize height
* - Fix reading challenge reward dialog not showing from widget when app is in background * - fix: shows reward dialog in activity tab * Have login logic in the shouldShowReward --------- Co-authored-by: Cooltey Feng <cfeng@wikimedia.org>
cooltey
approved these changes
Apr 27, 2026
dbrant
approved these changes
Apr 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this do?
Phabricator:
https://phabricator.wikimedia.org/T418634