Skip to content

fix: update secondary text color tokens#482

Open
edschema wants to merge 5 commits into
openedx:developfrom
Schema-Education:edschema/secondarytext-fix
Open

fix: update secondary text color tokens#482
edschema wants to merge 5 commits into
openedx:developfrom
Schema-Education:edschema/secondarytext-fix

Conversation

@edschema
Copy link
Copy Markdown

Description

Updates Android secondary color token to achieve minimum contrast requirements and to match the iOS secondary text cleanup in openedx/openedx-app-ios#658.

Android's existing textSecondary value was too light in light mode for normal secondary metadata text. This PR updates Android textSecondary to:

  • light: #3D4964
  • dark: #8E9BAE

The audit also found related semantic token issues where true secondary text was using textFieldHint, placeholders needed to remain on hint styling, empty-state icons were borrowing form/border/progress tokens, and one mixed icon+text secondary row needed a non-text semantic token.
Similar to the work in the iOS #658, this work required some misc cleanup.

Out of Scope

  • Does not add Android textTertiary (will need to determine whether we should add for parity with iOS)
  • Does not retokenize dividers, inactive navigation labels, helper/status icons, progress tracks, or raw vector XML colors.
  • Does not introduce a broad token architecture refactor.

fix: add secondary color theme tokens

Change Log

  • Updates Android textSecondary light and dark values.
  • Adds emptyStateIconColor and secondaryContentColor to AppColors.
  • Wires the new tokens through the light and dark theme palettes.

Notes

emptyStateIconColor and secondaryContentColor intentionally share the same light and dark values as textSecondary in this PR. Empty-state icons and mixed icon+text secondary content no longer need to use placeholder, border, divider, or progress tokens.

fix: retokenize placeholder colors

Change Log

  • Retokenizes shared search placeholder text from textSecondary to textFieldHint.

Notes

Actual form, search, discussion, and profile placeholders still use textFieldHint.

fix: retokenize secondary text colors

Change Log

  • Retokenizes accepted metadata and supporting text rows from textFieldHint to textSecondary.
  • Covers dashboard course metadata, discovery course org text, handout descriptions, download file-size metadata, storage dialog used/free storage text, calendar sync status text, and the offline downloads 0MB value.

Notes

These rows are text-only secondary content.

fix: retokenize empty state icon colors

Change Log

  • Retokenizes accepted empty-state icons to emptyStateIconColor.
  • Covers shared no-content screens, dashboard/course/download/date empty states, content-tab empty states, and courses-to-sync empty state.

Notes

Raw vector XML colors are unchanged; this PR only updates Compose tint callsites accepted by the audit.

fix: retokenize secondary content colors

Change Log

  • Retokenizes the offline downloads no-downloadable-blocks icon+label row to secondaryContentColor.

Notes

State/status icons such as downloaded/success indicators remain on their existing state colors.

Tests Done

  • git diff --check
  • Manual visual QA completed for affected Android screens

AI Disclosure

Codex was used to help catalog the current behavior, suggest an implementation shape, execute the fix, and generate the framework for the PR text based on Open edX guidances in the docs. Each step was manually review.

edschema and others added 5 commits May 27, 2026 17:40
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
@openedx-webhooks
Copy link
Copy Markdown

Thanks for the pull request, @edschema!

This repository is currently maintained by @openedx/openedx-mobile-maintainers.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.
🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads
🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.

Details
Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label May 27, 2026
@github-project-automation github-project-automation Bot moved this to Needs Triage in Contributions May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

open-source-contribution PR author is not from Axim or 2U

Projects

Status: Needs Triage

Development

Successfully merging this pull request may close these issues.

2 participants